Services Versus Software

I found out about start.com last
week and I’ve been playing with it (even though it is written by MS,
boo). I think it compares very favorably to older “newspaper”
applications like My Yahoo. For one thing, the UI is notably cooler
— nice clean design. It seems to be a new-style Ajax application,
though as an end user I don’t really care much about its
implementation, just the result; namely that it is much more
interactive than Yahoo. I can click and rearrange things and it
happens immediately, rather than taking me to an intermediate edit
page. Also, with start.com it is immediately obvious how to go about
adding random RSS feeds — I didn’t even notice this feature of Yahoo
until writing this entry.

In addition to the UI improvements, it is better than My Yahoo in
another important way. start.com supplies a way to write gadgets,
which I gather are non-passive ways to integrate new feeds. And, as
gadgets are themselves just web entities of some kind, you can use
ones supplied by third parties.

So, that is cool.

The Problems

However, it occurs to me that this mode of deploying applications
has a major flaw: it can still only show me the world as viewed from
the server — but this is noticeably different from the world as
viewed from my machine. For instance, start.com can’t access the Red
Hat intranet. Nor can it access my bank accounts, or whatever
feed-like things I might happen to run privately (nightly test results
come to mind).

I see this as somewhat of an analog to the programming rule that
says that the structure of a program is a model of the structure of
the group that wrote it. In this case, my view is determined by the
relationships that start.com has, not by the relationships I have.

Analogies

Another analogous case is Google. Google does a great job of
searching the web and as a result we all use it dozens of times a day.
Rock on! But google.com only knows the public web, which is not the
same as my web.

Google-the-company, being smart, tries to solve this problem too,
by providing Google
Appliances
and Google Desktop Search.

But… once you accept this you’ve crossed that magical boundary
between services and applications, and all the usual rules for
software once again apply. In particular, why install some random box
on your internal network unless it is running free software under your
control? We just spent the last 15 years getting away from that!

Differentiate And Abstract

I think we need to clearly differentiate between data sources,
presentation, and UI implementation.

Data sources are the classic kind of “service”, and that is really
all I want from the web. In particular I don’t want a UI mixed in
with a service, as it is not going to be able to integrate all the
data sources I need.

What this means is that the presentation must be local, not
remote. So, the aggregator has to be a local program under my
control.

However, this does not necessarily mean that this program’s has to
be some typical C/Gtk thing. Ajax is perfectly fine — provided it
meets the usual user expectation requirements. I don’t see any reason
why the aggregator couldn’t be running inside a local web server.

Be the first to leave a comment. Don’t be shy.

Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.