Sunrise through the mist at Buena Vista Park

Sunrise through the mist at Buena Vista Park

The free Picasa Hello client provides direct photo uploads to Blogger. Interesting feature to add to an online photo-sharing client. Interesting marketing alliance too, announced May 10, 2004. Picasa provides free image hosting for users of free Blogspot accounts, and ostensibly hopes these bloggers will purchase the Picassa photo-organizing software at a sufficient rate to make a profit. Google’s Blogger gets to provide yet another free premium feature, on top of built-in commenting and Atom XML feeds – passing along the hosting costs to a hungrier startup. It feels like 1997 all over again. 🙂

Epilogue: Google acquires Picassa.

Looking east to Buena Vista Park in San Francisco at sunrise.

A Complete History of Software ;-)

A Complete History of Software 😉

Noticed a post by David Temkin on “The lost art of user interface programming”. Got me thinking about my own direct experience with the evolution of software, and what I’ve observed about the user experience along the way. Being fond of 2×2 matrices, here’s my four quadrant history of software, based on producer-consumer relationships:

I. When software was for organizations serving organizations

My first job out of college was with Andersen Consulting, now known as Accenture. Andersen originated in the world of mainframe information systems, that typically served the needs of institutions rather than individuals. I still have a coffee mug commemorating my work on the Tax Accounting System for the Employment Development Department of the State of California. The design center of such systems was the flow and processing of data records through an organization, rather than the task goals of an individual user. The user interface was relatively crude — here it was the user’s job to interact with the system, and periodically give user-friendly reports to superiors, who would rarely seek to interact with such systems themselves.

II. When software was for individuals serving organizations

When the personal computer came along, suddenly software served the needs of individuals on a mass scale, and the shrink-wrap software industry was born. New categories of staple products emerged, including spread-sheets, desktop publishing tools, word processors, image editors and even complete accounting systems. Those accounting systems were availabe for the equivalent of less than an hour of consulting time by an Andersen partner — what a deal!

These products needed to be accessible to an individual rather than to numerous operatives within multiple departments of an organization. It was all part of the productivity revolution of desktop computing. Extensive system manuals needed to be eliminated along the way — and to the greatest extent possible replaced by self-documenting user interfaces. Today, few of us fully appreciate how many people were once required to accomplish what one person with Quicken, Photoshop, Excel or PageMaker can get done. We forget that there were generations of people who actually had someone else type their correspondence, and relied on entire departments to produce presentations.

III. When software was for organizations serving individuals

While productivity tools for individuals garnered most of the attention, the needs of organizations did not disappear. Data processing systems also advanced by combining server-based business processing with the superior GUI capabilities of personal computers. In most of these cases, the user experience could be simpler than what was required for personal productivity software, but still leveraged the GUI paradigm to make the IT system more accessible to non-specialists. The only problem was there was a lot of desktop client software that had to be distributed and updated every time a system was launched or modified. Deploying and maintaining distributed client-server apps was a hassle.

The Web came along and changed everything, mostly for the better. Deployment became instantaneous on a global scale. A new generation of data processing service providers emerged to expose information systems to the public at large rather than only serve internal constituents. These new “Dot-com’s” also needed to deliver self-documenting user experiences, and had an interest in making their offerings as broadly accessible as possible. What they lost in capability with the Web browser, they compensated for with the value of instant global reach.

IV. When software is for individuals serving individuals

But the Web browser is not the end-all. Under some circumstances, software creators need to deploy desktop client software. The quality of the user experience seems to rise to the extent that software considers the needs of individuals over organizations. A new category of software enables individuals to serve each other directly without any organizational or instititutional intermediaries. One of the more stunning examples is Internet file-sharing software. Here the concerns of individuals outweigh the needs of not just organizations, but entire industries — and governments must step in to arbitrate.

This last quadrant of activity is quite new, and in some cases is referred to as “social software”. Individuals now routinely serve each other in a growing variety of online activities. While there are risks associated with these ‘unmoderated’ interactions, there are also potentially great efficiencies. Surprisingly, the creators of these systems sometimes opt to distribute client software rather than rely on Web interfaces.


From these observations I surmise that institutional incentives impact the quality of the user experience — the broader the scope of a software solution, the greater the impact of these institutional dynamics, and the more challenging the task of creating an effective user experience. Usability matters. Technology matters. Economics matters. The path of progress can be indirect, though we tend to find it eventually.

PhotoBlox Unleashed

PhotoBlox Unleashed

Last week, we unveiled the sequel to SoundBlox — the PhotoBlox, a viral, highly customizable Internet image slideshow application. Here’s an example that launches in a pop-up window:

Like every ‘blox’ in the series, PhotoBlox can be embedded in a personal blog or web page, customized extensively via an external XML data configuration file, and viewed via any modern Web browser while delivering the type of user experience normally associated with desktop client software.

Time will tell how PhotoBlox is received. To date, the SoundBlox has been put to use by EFF co-founder John Perry Barlow, by the Internet Archive and numerous others. It also garnered a favorable reaction from Dan Gilmor of the San Jose Mercury News. PhotoBlox is a much more feature-rich application, and should appeal to an even broader audience — let’s see if my hunch is correct.

Laszlo SoundBlox

Laszlo SoundBlox

An MP3 playing embeddable blog widget

Launched the Laszlo SoundBlox recently in collaboration with Grig Bilham, Peter Andrea, Max Carlson, Marc Canter and Bret Simister. It’s embedded in my blog gutter on the right. Details on setting one up for yourself are available at this informal ‘product page’:

The app can be extensively customized via an external XML file… a precursor of the Web to come. Hopefully, the blog-o-sphere will agree!



My latest small contribution to the Laszlo widget universe

A miniSlideshow Laszlo widget is now incorporated in my blog gutter on the right. This widget displays a sequence of small photo thumbnails defined in an external XML file. Just click on the widget to start the show.

The widget is built with Laszlo’s XML language. The source code, default XML configuration file and default slideshow images are hosted for free at

Given the location of an XML configuration list and associated 120×90 pixel JPG images, this widget can play any externally defined slideshow. This is accomplished by passing a ‘slideshow_url’ parameter to the widget in the form:[URL of xml list]

See for example this slideshow that invokes the miniSlideshow app on with an XML file and images hosted at GeoCities:

Slideshow Assets | Widget invoked with slideshow_url

Laszlo Blogbox

Laszlo Blogbox

Nudging the World Wide Web forward ever so slightly

Last night, Sarah Allen and a merry band of collaborators including Mark Davis, Yossie Silverman, Marc Canter and myself launched a first incarnation of a simple ‘widget’ that the world at large could customize and add to their personal blogs and web pages. It was an honor, really, to be invited to assist such a stimulating crew (I was the best HTML designer available for the project…don’t laugh, my services were free :-).

The technical implementation of the Blogbox is of note. The entire app, currently sitting in my blog gutter, contains a mere 113 lines of code comprised entirely of XML tags and JavaScript. This app is deployed and thus centrally updated from a server, and works within any Web browser enabled with the Flash Player (version 5 and above).

What do users get as a result? They get an app that can be discretely added to any web page, accessed from over 95% of the world’s deployed Web browsers, and can be customized to suit by editing a simple xml file hosted anywhere on the Web (mine is on Yahoo GeoCities). For the hacking inclined, by generating that xml file dynamically with a CGI, the Blogbox’s list of links can change at will. Perhaps some creative souls out there may spot in all this new opportunities to make the Web an ever more integral part of all of us.

Artificial Stupidity :-)

Artificial Stupidity 🙂

A gripping read on about some of the colorful characters behind the ‘AI Bubble’

After working professionally with John Sundman for several months, I recently discovered a slice of his literary life. John’s essay, “ Artificial Stupidity” introduces some of the colorful, esteemed and wacky characters behind one of the other great technology “bubbles” of the 20th Century, the “AI Bubble”. Beneath the amusing exterior of the essay lies a near-epic drama on human ambition, folly and the unpredictable path of progress.