The following is republished from the Tech Times #129.
The holiday break gave me a chance to get into some new products and services that had been on my "try that" list for awhile. Although I’m excited about them all, I’m frustrated by how separate they are.
With "Web 2.0" on everyone’s lips, it seems like every bright mind on the Web is focused on building the next killer app. Small and focused seems to be the flavour of the month: Gmail is great at email, Flickr nails photos, and CalendarHub and its ilk have got calendars just about licked. But as we embrace each of these disparate services, we further segment the data we rely on day-to-day, making it more difficult to use them together when we need to.
If you believe the pundits (yours truly included), openness and standards compliance are two of the characteristics that should define any true member of the Web 2.0 stable. Any data you put into a Web application should be available to pull out again in a portable format, and should be accessible to other applications through well-documented APIs.
In the wild, the open API thing seems to be happening, at least. Some of these interfaces aren’t as well documented as they should be, but they’re usually there if you dig deep enough. The culture of "Web mash-ups", seen most commonly in the form of third-party applications based on Google Maps, is a prominent example of this. But how many of the commercial-grade applications and services are embracing this interoperability? All the big players seem to be focused on building new services, rather than finding better ways to use existing services together.
This is the biggest challenge I see on the horizon for Web developers. Could 2006 be the year to tackle it? Here are just a few of the areas that come to mind as having room for much greater connectedness than we are
Your Digital Identity
How many accounts do you have on various websites? If you’re like me, you lost count long ago. Despite my best efforts, I still routinely happen across sites where my user profile contains details from a home address that is now four years out-of-date. For me, it’s getting to the point where I can’t even remember if I have an account on some sites, let alone remembering the login details.
This is getting to be an old problem, and big companies have tried to solve it before. Microsoft’s Passport fell victim to licensing fees and platform lock-in, which forced the service to retreat to being used only on Microsoft websites.
But this problem is about to get a whole lot more important. As you invest more and more of your personal data into online services, you’re going to want to be able to share them between these services without sharing them with the rest of the world. It would be nice, for example, if you and your spouse could view each other’s calendars even though they are hosted by two different online services without having to expose that calendar data to the Web at large.
Unified authentication, and a framework for permitting services to access each other’s private data when appropriate, is key to the practical usability of many of the services. The need will shortly reach a critical mass, which I hope will help push forward one of the fledgling solutions that are waiting in the wings.
Far from becoming the purely commercial mecca that many feared it would at the start of the decade, the Web has blossomed as a platform for individual expression. Blogs are reaching the hands of mainstream Internet users, forums are available on every subject imaginable, and a raft of social networking applications are providing new ways for people to express themselves through photos, music, links and more.
And while each of these forms of personal online publishing finds mainstream adoption, the ability to bring these various forms of expression together in a cohesive way has so far remained couched in Web developer voodoo.
If someone reads an article of mine that he likes, he should be able to click over to my personal website and see everything that I’ve written publicly, to the extent that I would like him to be able to. My personal blog entries, my work blog entries, my last.fm journal entries, my posts on public forums across the Web, my del.icio.us bookmarks, my Flickr photos… all should be accessible in one "stuff I’ve published" view.
Now, if you’re a Web developer like me, you can see that this is mostly possible today with a combination of RSS feeds, Web services, and extensions to blogging software. But everyone should be able to have a hub of personal expression like this, and I expect it won’t be long until a sleek solution puts this kind of thing within reach of non-technical users.
Sharing Data (and Metadata)
I’ve already mentioned that, as of right now, online services aren’t very good at sharing data with each other. The groundwork is there in the form of a quickly growing galaxy of open APIs, but new applications are springing up a lot more quickly than solutions for using them together. Nevertheless, I’m sure the problem of data sharing will slowly be solved. I’m less sure about metadata.
Tagging is a great example, here. Rather than building rigid category hierarchies or folder structures to store your data, newer services let you assign multiple tags to your data items. I’ve got tags everywhere. I tag my bookmarks in del.icio.us. I tag my email in Gmail. I tag my photos in Flickr. I tag my music in last.fm. But in every case those tags are locked into their respective applications. I may tag both bookmarks and email with ‘techtimes’ on del.icio.us and Gmail respectively when they have to do with my newsletter, but there is no place that I can go to see everything that I’ve tagged with ‘techtimes’.
Many of the successful new Web applications out there make it easy to breathe life into our static data by decorating it with all sorts of metadata. But by and large, when you take your data out of an application, you lose that metadata. As the metadata in our lives becomes as valuable as the data it describes, openness and portability will be equally valuable for our metadata as it is for our data.
Again, in most cases this is a problem solvable by a Web geek with a lot of spare time, but a clean solution for mainstream users will be needed before long.
So before you go looking for the next killer app, stop and think about some of the problems with existing killer apps that you might be able to solve instead. My bet is that the solutions to these problems will be killer apps in and of themselves.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers
Form Design Patterns