Photography, Cycling and the Internets

UI

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!


Hiring My Core Development Team

As many of you know, I am co-founding a new company called GetListed. I am currently building the core development team consisting of a couple middle-tier and front-end developers in Sunnyvale, CA.

GetListed is a very early-stage startup with a solid business model with 40 launch partners. We are looking to hire incredible engineers with a desire to have a major impact on developments in our fast-paced environment. Candidates should expect to wear many hats and hit the ground running. Experience with early-stage startups is a big plus.

We’re looking for incredible talent to join the team. The core team will receive sizable equity and solid pay. If these positions look like you, please contact me either through LinkedIn, or email me at: my first-initial last-name at getlisted dot com.

Web Application Engineer

As one of the first Web Application Engineers you will be building out the initial systems and business logic of the GetListed application. This involves everything such incorporating search, personalization, transaction systems and more. These roles require a broad range of skills to help get everything from the servers, database and Java code up and running.

  • Experience designing and developing with Java, J2EE and SQL (5+ years)
  • Experience working with development and testing tools such as JUnit, IDEs, ant, etc.
  • Experience developing software using MySQL
  • Complete understanding of full-lifecycle development (design, development and testing)
  • Desire to work in a fast-paced, early stage environment
  • Ability to learn new technologies quickly, and do a bit of everything
  • Enjoy technical challenges
  • Self-motivated, self-starter
  • BS/MS in Computer Science or equivalent

User Interface Engineer

As the first User Interface Engineer at GetListed you will be building out the initial architecture and pages of the GetListed website. This is everything from the initial templates to the testing and helping to guide the feature designs.

  • Experience designing and developing with Java, JSP and web frameworks
  • Expert-level knowledge of HTML, CSS, and JavaScript (Ajax)
  • Experience with Ajax frameworks
  • Experience developing and designing user interfaces
  • Deep understanding of cross-browser and accessible development techniques
  • Complete understanding of full-lifecycle development (design, development and testing)
  • Desire to work in a fast-paced, early stage environment
  • Ability to learn new technologies quickly, and do a bit of everything
  • Enjoy technical challenges
  • Self-motivated, self-starter
  • BS/MS in Computer Science or equivalent

Please contact me via email at my first-initial last-name at getlisted dot com.


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 :).


Protoscript

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.


Outlook is Taunting Me

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

Outlook


Live The Rich Web Experience

This must be Web 2.0 season because web conferences are in full swing. I will be speaking at The Rich Web Experience in San Jose in September. My talk currently steps through a few key UI elements on the Netflix site and goes through the history and realities of how they came to be. I’m thinking about changing up the talk for RWE to step through more design pattern examples than before and highlight the pros and cons of the various approaches. This will still focus primarily on the data-driven development practices, but it will also shed some light on the more subtle aspects of good (and bad) design principles. It’s a 90 minute session, so there is plenty of time to experiment a bit. I’ll post more once I actually have some slides done :).

Register using the code: nfjs2007speaker200 and you will get a $200 discount.


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.


iPhone Review – Two Weeks In

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.