On March 28th in Coronado, CA, I will be giving a talk on applying best practices in web development and design to a ground-floor startup. This presentation will detail several contributors to both developing and designing a world-class web experience. This will touch on everything from resources, team-building, to design research and testing. Being in an early-stage startup demands everyone to do a bit of everything, but executing properly can get you a long-way quickly. This presentation is a bit of an experiment since I have not crossed my own finish-line yet. However, it does draw on all of my experiences (starting in 1998 at AltaVista) in developing world-class web applications and how they are being applied at GetListed with several examples; including a few from my most recent experience at Netflix.
Promotion Discount: If you sign up at the UIE Web App Summit with the promotion code of KANE, you will receive $30 off each single day registration. If you sign up for all three days, you will also receive an iPod Nano.
See you there, it’ll be fun!
Way back in April I had the privilege of participating on the Usability 2.0 panel over at Google for the Silicon Valley Web Guild with Luke Wroblewski and Jon Wiley. I think I am the last person in the world to mention this in a blog, but it’s better late than never :).
Bill Scott has been hard at work developing a pretty cool rapid prototyping tool, which he calls Protoscript, for easily proving complex web interactions. This is going to be very useful for helping designers, product managers, and anyone else that isn’t a hard-core developer to easily communicate their ideas to other people involved in a project.
All too often there are challenges for anyone that isn’t a user interface engineer to clearly communicate their ideas and get buy-in from other stakeholders. I have personally found in my career, developing a functional prototype has always made it easy to get buy-in on my UI ideas. This is because all of the subtleties of the interaction, including design, animations, timings, etc, are all present in the prototype. Since I know how to take full advantage of the sever and client, this has been something that has always been at my disposal as a developer that dabbles in design. For designers and product managers, the communication tools are things like Word, Photoshop, and Powerpoint (yes there are more but those are the common ones). None of these things end up making the prototype feel like it is actually part of the web page. None of them allow a third party to use it on their own computer, on their own browser. Often, this is key in getting a message across clearly.
I am hoping that as Protoscript matures, and as a GUI interface is built on top of it, the barriers for non-developers to get ideas across on real web pages should get smaller. This may be a wonderful tool for bringing down the cost of doing great web development.
Yesterday Peter Van Dijck wrote an interesting article that got me thinking. In it he states that Long Pages Work. In many cases they do. In many cases they don’t. I totally agree that for article, comments, reviews, a long page is something that will result in a better user experience for a specific site and/or group of people. Yes, with more emphasis on pay-per-click advertising, this helps to bring down the barriers of arbitrary pagination. This idea shouldn’t be applied to all content and all pages all the time.
There are many cases where the inclination is to add more and more content to a page and make it longer to add more value. It is very likely that the reality will be the value of any one page is diminished. The real value all depends on what the business goals, user context, and content utility are on the page. I can think of three very different examples to quickly illustrate my point.
Let’s start with a page that has a primary goal of describing a product. The basic requirements for this page probably include the most important details of the product, some technical specifications, description, and a photo. Other things that are probably very valuable are reviews from other owners, ratings, and professional reviewers. From a business perspective, showing similar or related items will provide incremental value. This will result in a long page, but there is still quite a bit of information that should still be discoverable; most likely either pulled up from a hidden layer on the page, or going to an entirely different page. It is important in this case to keep in mind the most valuable information that will help someone make a decision and not confuse the issue with tons of data that isn’t relevant for the majority of the people. It is important to make sure that data is accessible for those that want to find it. However, having one page listing every possible data point isn’t the answer here.
Second, consider a page that has to sell and idea and grab someone’s attention in a short amount of time. For example, someone is visiting a website for the first time, especially if that site doesn’t have extremely strong brand recognition. The goal of this page is to quickly and succinctly communicate what the business is about and why someone should sign up. A long page with important messaging below the fold in this case could hurt sign-up rates.
Finally, a page with a news or content article is probably the best-case-scenario for very long pages. However, target audience should still be front-and-center here. It would be less valuable to see an ongoing discussion about a news article on CNN that is intended for a mass audience compared to the responses to an article on a technology blog or niche content site. In both of these niche scenarios, the readers are more specifically engaged in both the content and the discussion and both are probably equally as valuable since in theory, the author is an expert and the readers are also probably experts. Whereas in the CNN example, the majority of people probably want to just stay informed and the opinions of other random people who are not as valuable.
So yes, people scroll, but that doesn’t mean that every bit of content should be on every page. Page length still depends on the context and goals of any one page.
Outlook doesn’t want me to click on the block that highlights when the mouse moves over it. I really don’t understand what this message is trying to tell me other than “Try me!”
After three days of the web development community talking about anything and everything Ajax, the Ajax Experience conference came to a close. Overall, it was a good time, and it was fun to catch up with everyone from the last couple TAEs.
The conference was held at The Grand Hyatt on Union Square in San Francisco. The rooms were quite nice, however the layout of the social areas of the hotel made it difficult to meet up with people by chance. This is something that the Boston TAE was awesome at. Luckily I run into Brent Ashley on the night before the conference, and I had a chance to get a drink and find out about the projects he has been working on. I think this was the only chance meeting that I had outside the main conference area and in the hotel. I did run into Brent again the following night while a few of us were at the Starlight Room on Wed. night following the TAE cocktail reception.
The conference got into swing with Ben and Dion’s State of Ajax talk that highlighted the growth that Ajax has seen over the past year. It was a good talk, but it was missing some of the great back and forth that Ben and Dion are masterful at delivering.
Bill Scott’s Anti-Patterns talk had some great points. One of my favorites was the Borg Idiom pattern that cautioned on having one strong pattern, such as a tree structure or drag-and-drop could set an expectation with users that the pattern be carried across the entire site. This could unintentionally start driving the way other pages are designed, and if not carefully thought out, could end up painting a web UX architecture into a corner. Bill’s experiment that he is calling ProtoKit looks promising for doing quick interactive prototyping.
While I was leaving Bill’s Anti-Pattern talk, I did come across on one of the tables, a note. Apparently Bill has some serious fans out there. 🙂
Steve Souder’s YSlow talk was my favorite of the conference. It has been a long time coming for a book devoted entirely to front-end performance and it was exciting to hear that High Performance Web Sites will do just that. It details 14 best practices for making web pages faster. Also, the new YSlow FireBug plugin gives one-stop shopping for monitoring the 14 client-side performance indicators. I hope that this tool will help the web get faster by making performance techniques front-and-center to daily development, and not just occasional checkups.
About two weeks ago I got my team an iPhone so that we could fix some web bugs, mess around with it some and see what neat things it could do. I knew that when I first turned it on I’d want to share my thoughts here, but instead I tried to see how it would possibly fit within my daily life first, and find the real wins and/or frustrations.
Everything about the experience of buying the iPhone, opening it up and activating it was painless. There were no lines at the Apple store and during my ten minutes in the store, nobody else was buying an iPhone, even with a pretty good crowd in the store overall.
Once I brought it home and opened it, the iPhone was the first thing to be seen; no install cheat-sheet, foam insert, or anything else; just the phone. The only stumble along the way for me came after activating the phone, the AT&T Edge network wasn’t available for data transmission for the first 10 hours or so.
As expected, the touchscreen features were very cool, and for the most-part, very intuitive. Using the menu navigation felt natural with nothing more than a couple nit corners that will never affect any sort of daily iPhone use. The only feature that would really be nice is some sort of application switching functionality. Moving between the web, mail, ipod and anything else requires returning to the home screen first.
During the two-week test run, it became clear that the best parts of the iPhone are the iPod, the web browsing and the video quality. Checking email on Yahoo! Mail is pretty painless. Overall, anything that is read-only or point-and-navigate all work wonderfully. It definitely provides a “this is easy and fun” first impression.
It gets a bit more challenging when trying to type on the keyboard. I much prefer typing on the keyboard in the landscape mode that is available in the web browser. The “keys” are a bit further apart and the amount of typos is minimized. The landscape mode is not available when sending emails. Also, once the keyboard is launched in portrait mode, it doesn’t do that oh-so-cool rotation when the iPhone is turned 90-degrees. In comparison to a BlackBerry, I find typing to be much easier with a physical keyboard. Switching between text, numbers and special characters doesn’t seem as challenging on the Blackberry, even though it is the same amount of keystrokes to make it happen on both devices.
Using the Safari web browser is as close to a PC experience as I have ever seen on a handheld device. Double-tapping to zoom a text block or picture, or doing the dough-stretching behavior is very intuitive, and makes reading the web pages a breeze. Using wifi makes it pretty quick as well. Occasionally I find myself browsing the web on the iPhone instead of getting up to go across the room to my PC. This will certainly change the mobile web landscape forever.
While sitting at the airport browsing the web, I found a great article on the New York Times website that I wanted to email a friend of mine. Cut-and-paste the URL. Oops, there isn’t a cut-and-paste feature! My Blackberry, with it’s primitive web browser can do this fairly painlessly. I couldn’t do it on the iPhone and which was both surprising and disappointing. For it to be a serious productivity device, that will need to be added.
Since the iPhone is not really my mobile phone, I have had limited use of it as a phone. I have made a couple calls with it and found that the speaker phone is really lacking as it is incredibly quiet. It can’t be used with any sort of ambient noise, such as in my backyard that is directly adjacent to the freeway with only a sound wall for noise protection. The proximity sensor near the ear piece turns off the display when it is held to your ear. This is pretty slick. Looking at the display again turns it on without pressing any buttons. Very nice.
The video quality of watching The Office downloaded off iTunes was amazing. Keeping a couple shows on the iPhone for those commutes on the train, or quick plane hops across the state is something I could see myself doing. I just need to remember to bring the actual iPhone earbuds next time since my noise-cancelling headphones didn’t fit into the jack on the iPhone.
Overall, I think the iPhone is a slick consumer device. For the occasional email and heavy ipod and web browsing I think it’s great. For other professional-type applications and heavy data use that requires typing, the next rev is worth holding out for. It is a device that can easily fit within a device lover’s lifestyle, and it is the first time I have ever found browsing the web on a phone enjoyable.
I do wonder when the first iPhone cold weather gloves will come out with a flip open thumb/index finger for all those new owners in New York.
I’ll probably have more to review in the next few weeks, more on the developer side of the coin.
The Ajax Experience conference is going on this week in San Francisco, and it should be a great time! The last couple were great for getting developers, framework authors and luminaries from places like Yahoo, Mozilla, and Microsoft together. The caliber of speakers has always been incredible, and I have met many very talented folks in the Ajax community both times.
Friday I’ll be presenting at the conference with an updated version of the talk I gave in Boston. I’ll still be discussing the development process, with a focus on qualitative and quantitative testing. It details some of the challenges that we have had in developing some of the Ajax features on the Netflix site and shows some very current examples. It’s a great talk for anyone that is looking to find out a bit more about Netflix and see how our data-driven approach to development shapes the user experience. I hope to see you there!
Tonight I had a great time talking at BayCHI. I was surprised to see a full house for my presentation. I was encouraged by the enthusiasm from everyone and for asking such great questions. Daniel Russell’s talk on how people search at Google and use search engines in general was also very fascinating. The two talks had a great synergy for an evening on the similar and yet distinctly unique development approaches of Netflix and Google. Again, thanks everyone for the great time.
I have spent quite a bit of time lately thinking about how development style, process, and company culture help to foster great design or hinder it. Small companies have a great ability to be very creative and move quickly on concepts since all of the stakeholders are in the same room all the time. Anyone that has worked in a larger company, or even a small company that has simply grown to the point where there are separate departments, finds that process must be put into place to keep things running smoothly.
The resulting process comes out of the culture of the company. This process can be very restrictive, or very loose. The process itself has direct bearing on the overall creativity and understanding of design.
I have many ideas on this topic and will be posting a few more articles on it. However I am wondering aloud (and encouraging comments), how has the process and company culture enabled or hindered the ability for you and your teams to implement great design?