Photography, Cycling and the Internets


Presenting at the UIE Web App Summit

WebAppSummitOn 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!




ASP is not for me.

ASP is not for me. I do not like it. Can’t you see?

Keep it away.

Keep it far.

It cannot work in a JAR.

It cannot drive my car.

It is not good for me. I do not like ASP.

—- So I’ve been reading the kids some Dr. Seuss 🙂

Usability 2.0

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.

For futher reading: Announcing Protoscript. Why Protoscript.

Long Pages Work? It’s all About Context

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.

Three Days of Everything Ajax

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.

Some of my favorite sessions included both talks from Bill ScottJoe Hewitt’s talk on IUI,  Doug Crockford’s talk on the good parts of JavaScript, and Steve Souder’s talk on YSlow.

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. 🙂

The panel discussions were pretty good, and very deep on the future direction of JavaScript, complete with strong disagreements on how things should move forward.  It makes me wonder, at what point should I really worry about how JavaScript will work in 8 years.  How different will the web be at that point, and will a proprietary technology such as Silverlight change the game again?  Doug did make it clear that the group of people gathered in the main room at TAE were working to change the web, and the work is important.  I wish the rest of the conference was able to carry that same message.

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.

Presenting this Friday

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!

Thanks for the great time at BayCHI

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.

Development Methodologies pt. 1

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?