I hate email. I get hundreds of email a day. At work, email = work to be done. So, of course, I have created a natural aversion to the archaic form of communication. Whenever possible I prefer RSS/Atom, the Delicious for link, Digging, Remember The Milk, Joomla, or any other communication tool I can use instead of yet another email message with embedded content. Then I read a recent Subtraction post:

Subtraction: Email As a Bridge or a Wall

If there’s one skill we can count on in this medium where we can count on virtually nothing, it’s that people know how to send an email

What?!? Have we, as netizens, not evolve?

Read the rest of this entry »

A couple of weeks have pasted since my trip to JavaOne 2008. Although the trip was overall informative, only a few session continue to resonate. The few sessions I commented on have either personal or professional relevance; more so, they are worth futher discussion long after the excitement of the conference has faded. Compelling User Experiences by Ben Galbraith is one such session.

The Compelling User Experience presentation provided a rule set for delivering high quality user applications. Ben outlined his own methodology for managing high user expectations. He cited various industry experts to support his criteria. Examples of good and bad applications were shown. The plot of the presentation was very traditional. However, the presentation itself was remarkable.

Ben’s presentation was the only presentation, in all of my sessions, where I wanted the deck itself. The presentation echoed the rules he puts forth. Ben did not simply put a bunch of bullets with text on the screen. His discussion expanded upon the slides. He did not simply read what was shown. He used images and appropriate visual effects to reinforce information. He did overburden attendees with huge amount of text on a slide. His presentation lends much credence to his talk.

This is very different than the other technical talks I attended. Most of the presentations gave a bunch of bullet snippets and a demo slide. Talk, blah, blah, demo, blah, conclusion. If you want to inspire me to use your library, platform, or tool, then give an inspirational presentation. Show me the appeal. end-of-rant.

From my notes on the session, Ben has 4 rules to creating a compelling user experience.

#1 Get to Know Your Users

What are the user’s expectation for the application? Understand, a user may change their expectation during the course of development or the product’s life cycle. Different users may have different expectations. A back office clerk has totally different expectations than a Senior VP. Key to knowing your users is to focus on their tasks? What are they trying to accomplish by using your software?

#2 Ignore Your Users

Pay attention to your user base but don’t let them design the software. Ben cited 37Signals mantra of ignoring users until you see a reoccuring and persistent compliant. Instead of directing all your effort in making the application work for the few “squeaky wheels”, focus on improving the application to serve the intended purpose.

#3 Visual Design and Interaction Design are distinct, related, and important

“Attractive things work better”. Ben stressed this point. All industry experts will tell you the universal fact: sex sells. Even with the applications, a more visual appealing interface is used more often than a more feature full app. He gave a trival reference to a study conducted showing users prefer a less stable but more appealing application to another more stable app. The reason is an intate human characteristic. Appealing applications make people feel good about using them. Look at Apple for a case study.

#4 Aesthics matter

I have little notes on this item. Hopefully, I’ll get the deck and can expand on this subject.

The remain portion of his presentation discussed tips and rules for building an appealing application.

Visual Design Tip

Hire a designer. A true application designer, not a programmer who fills the role. Fashion matters and designer live and breathe fashion trends.

Interaction Design Tips

Don’t make the user wait! Response time should be 0.1 seconds for most interactions. At 1 second, users become distracted.

Input is sacred. Auto save user data in every scenario possible. Prefer undos to warning dialogs. With a web application this is difficult to accomplish. However advances are being made in audit table constructs to show previous states of form inputs and session states. The audit table is similar to the Time Machine implementation in Apple OS X. A user should be able to go back to any previous state via a timeline.

Conclusion/Mantra

“Best to market is not first to market” Applications selling are not often the first to market. This is not to say you can wait 6 months to launch. But, developers should strive to build the best, most appealing, application to achieve sucess.

I was very impressed by Ben. I hoping I can arrange a net meeting/presentation to my team at work. His topic echoes some of my same sediments and discussion with my team. Enterprise IT lags extremely behind in building compelling applications. Our development groups are faced with incredibly agressive timelines that do not support aesthics. But, if I can instill some of Ben’s ideals perhaps we can slide a few tips and impress our users.

The presentation was a bit stale and rushed. The speaker, Todd Fast, acknowledged his presentation was too long for the time slot by speaking quickly through the slides with a forced barrage of opinionated facts. His humor broke up the repetition, but still I felt easily distracted because of the mono-toned speech. Simply put the presenter lectured his way through the time on an overly rehearsed argument. That said, his well described argument stayed with me even after I watched the new Speed Racer movie.

The conclusion Todd draws is software engineers will soon be replaced by the masses. The current trend of Facebook, OpenSocial, and other social platforms are making true development a commodity. His case example shows a teenager in his spare time developed a Facebook app/widget which was used by 250,000 people a day. A company spawned by this type of widget development is worth $500 million. The software programmers of today are genetic monstrosities of a dying breed. We develop applications that lack a 1/100th of the popularity being seen by Facebook. And, the social networking phenomenal is only beginning.

The talk gave no time for questions. To be quite honest, I am not sure anyone in the audience would have disputed his claims. The developers at JavaOne are in full support of the “new”. They spent lots of money to hear of how their jobs are changing. How can I become apart of the revolution?

Yet, all of this talk seems very familiar. If a widget is downloaded and used by 14+ million users, obviously they are on the road to riches and fame. Actually, no. Just like the previous web bubble, these applications lack any true business plan for revenue. If umpteen millions of people are using your product for free, then you don’t get paid anything (umpteen million * 0 = 0).

Of course fame has it value. Kevin Rose with Digg is making a living. But Revision3 is still waiting on the big payout. 37Things has a noble idea. Charge a fee for your product. Don’t rely on advertising to drive your business. If you build a worthy product, then you should charge for its usage. However, this old school of thought is in the minority these days. More and more online business focus on the sellout or how to make money once they have a million users. However, the truth is having a couple thousand of paying users can generate sufficient revenue to support giving the service away for free to the others. A point echoed in Chris Anderson’s recent article on the free market in Wired.

Yet, the presenter did bring up lasting thoughts. How will application development evolve? Where will social and semantic idealogy take us? Most importantly, when will a innovative business model for the web be revealed? Stay tuned.

JavaOne 2008 is different. It’s different from the last time I was here in many ways. First, I am not alone. AT&T has around twelve employees attending sessions. We are also accompanied by Sun sales and technical staff. With a large group we tend to have a different agenda than the individual goals I had back in 2004. Day One at JavaOne 2008 was more a intellectual social event.

AT&T is a Java Licensee. As such we get free cookies and drinks in the Pavillion. Cushy chairs are available to relax after our long walks around the Pavillion vendor stands. The vendors are in full force. AT&T even has a both promoting a device development framework. The booths are great for getting quick information on upcoming products. Sun is pimping GlassFish wholeheartedly. JBoss was present. As where booth babes. Although the dress attire is more business casually than gamer slutty as you expect at GamerCon.

I only attended two sessions today. I was having a fierce allergy attack and the time change was catching up on me. The JRuby discussion was very introductory. In fact, I did not learn anything except the agendas of the following sessions where they plan to cover actual technical information. The second session concerned Ajax use. This, too, was a introductory course with nothing eventful to report.

The pinnacle of the day was a private session with James Gosling. Myself and five other AT&T members had the honour to meet with him for a half hour or so in private. Since I just saw him at our location only a few months ago I did not have many questions to ask. But, as a true geek, Gosling gave us his own opinions on JavaFX demo failures, AppleTV, and what is wrong with AT&T mobile service. I’ll refrain from quotes or paraphrasing as I did not take notes. But, his opinions remain inline with statements he’s made in other trade magazines. With the exception: the JavaFX demo failure was due to network issues. They had thought to cache the flickr images but opt’d for a live demostration.