Tim O'Reilly about
network aware software
Tim O'Reilly wrote some thoughts about network aware software.
Good sumup and nice ideas, why not only blogs should be net-aware
(and where even blogs can be improved ;) )
"For the desktop, my personal vision is to see
existing software instrumented to become increasingly web aware. It
seems that Apple are doing a good job with this. (What does web
aware mean for me? Being able to grok URIs, speaking WebDAV, and
using open standard data formats.)" -- Edd
Dumbill
I agree, but you do have to add Open Data Access
formats (such as ODBC and to some degree JDBC) to this mix
otherwise the you will need to create data for Open Standard Data
Formats from sratch (tough for any enterprise irrespective of
size).
Tim O'Reilly added the following items to Edd's
list:
-
Rendezvous-like functionality for automatic discovery of and
potential synchronization with other instances of the application
on other computers. Apple is showing the power of this idea with
iChat and iTunes, but it really could be applied in so many other
places. For example, if every PIM supported this functionality, we
could have the equivalent of "phonester" where you could
automatically ask peers for contact information. Of course, that
leads to guideline 2.
Another application is discovery of
ODBC data sources, and database servers. Rendezvous can also
simply security and administration of data sources accessible by
either one of these standards data access mechanisms. It can also
apply to XML databases and data sources exposed by XML
Databases.
- If you assume ad-hoc networking, you have to automatically
define levels of access. I've always thought that the old Unix ugo
(user, group, other) three-level permission system was simple and
elegant, and if you replace the somewhat arbitrary "group" with "on
my buddy list", you get something quite powerful. Which leads me
to...
-
- Buddy lists ought to be supported as a standard feature of many
apps, and in a consistent way. What's more, our address books
really ought to make it easy to indicate who is in a "buddy list"
and support numerous overlapping lists for different
purposes.
- Every application ought to expose some version of its data as
an XML feed via some well-defined and standard access mechanism. It
strikes me that one of the really big wins that fueled the early
web was a simple naming scheme: you could go to a site called
www.foo.com, and you'd find a web server there. While it wasn't
required, it made web addresses eminently guessable. We missed the
opportunity for xml.foo.com to mean "this is where you get the data
feed" but it's probably still possible to come up with a simple,
consistent naming scheme. And of course, if we can do it for web
sites, we also need to think about how to do it for local
applications, since...
The very point I continue to make about Internet Points of
Presence beingactual data acces points, in short these end points
should be served by database serverprocesses. This is the very
basis of Virtuoso,
the inevitability of this realization remains the undepinings of
this product. There are other products out there that have some
sense of this vision too, but there is a little snag (at least so
far in my research efforts), and that is the tendency to create
dedicated independent server per protocol (an ultimate integration,
administration, and maintenance nightmare).
- We ought to be able to have the expectation that all
applications, whether local or remote (web) will be set up for
two-way interactions. That is, they can be either a source or sink
of online data. So, for example, the natural complement to amazon's
web services data feeds is data input (for example, the ability to
comment on a book on your local blog, and syndicate the review via
RSS to amazon's detail page for the book.) And that leads to:
- We really need to understand who owns what, and come up with
mechanisms that protect the legitimate rights of individuals and
businesses to their own data, while creating the "liquidity" and
free movement of data that will fuel the next great revolution in
computer functionality. (I'm doing a panel on this subject at next
week's Open Source Convention, entitled "We
Need a Bill of Rights for Web Services.")
- We need easy gateways between different application domains. I
was recently in Finland at a Nokia retreat, and we used
camera-enabled cell phones to create a mobile photoblog. That was
great. But even more exciting was the ease with which I could send
a photo from the phone not just to another phone but also to an
email address. This is the functionality that enabled the blog
gateway, but it also made it trivial to send photos home to my
family and friends. Similarly, I often blog things that I hear on
mailing lists, and read many web sites via screen-scraping enabled
email lists. It would be nice to have cross-application gateways be
a routine part of software, rather than something that has to be
hacked on after the fact.
The wish list is pretty much a clear articulation
of key items that should matter most to decision makers (CTOs and
CIOs) ; in particular those that continue to wrestle with the
identification and isolation of relevantcomponentsfor their
enterprisearchitectures.