Photography, Cycling and the Internets


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


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.

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.