Thursday, October 18, 2007

Social address books

Over the last few months or so, Silicon Valley has finally cottoned on to the power of the address book. They've figured out that social networking sites are really glorified address boooks.

Mark Zuckerberg of Facebook was the first to really get it - his term is the social graph, an online resource of people and relationships between them. He turned this data on people and their relationships into an online platform, and allowing third parties to access it has turned out to be an incredible success.

The logic of Google's purchase of GrandCentral and Jaiku, not to mention Myspace's deal with Skype, points firmly in the same direction.

After all, the most important thing in our lives is our relationships with other people and with the communities we belong to. These relationships are what drives us, what makes us laugh or cry, what makes our lives rewarding or successful. Any tool that helps us maintain and develop these relationships is incredibly valuable - the address book was the start, and social networking is another advance.

Currently, everything is tailored around the technology: we have a paper address book for house addresses, an email contacts list for email addresses, a phone address book for phone numbers, an IM address book for IM addresses, etc.

Let's focus on people instead; it's far more natural! So there should be just one address book, integrated with all of these technologies. I could find my sister's homepage, and click to call her, text her, or email her, all within the same application.

That's just the start, because the details for each contact should be maintained by them, rather than me. So I could also look up the friends of my friends, or where they are today. I could post messages, or pictures to my address book entry, to keep everyone up to date. So could anyone else!

And I could create an organization home page, linking all the people into it and giving them immediate access to common photos, documents, and chat.

There are several themes here

  • Extra data: friends of friends, communities
  • Convergence of communications methods into a single web application
  • Convergence of collaboration and communication - the social network IS my photo editing application

Initially, I thought social networks had a touch of "fad". In fact, they're the next great phase in software: applications that enrich our relationships. And that can only be a good thing!

Sunday, October 07, 2007

URL syntax and folders

The directory, or folder, is a central feature of every operating system. Windows Explorer is one of the most used applications on the planet, showing the contents of each folder and allowing document navigation.

And yet, on the web there is no such thing as a "folder". Click on "www.yahoo.com/finance/" and you don't see a list of all the documents in the finance folder - you see a webpage. If you're looking for a particular item, you don't navigate a hierarchy - you type a search.

The only enforced hierarchy is in the domain name - "www" is part of the "yahoo" domain inside the "com" top level domain. This hierachy is part of DNS, and is used so that the correct server responds to your browser.

"/" is just another character

Check out the URL http://blog.jonudell.net/2007/05/24/restful-web-services/. Do you think that on Jon's server, there is a "2007" directory, under which there is a "05" directory? No - the complete path "2007/05/24/restful-web-services/" is just a string parsed by the server, so the relevant resource can be displayed programmatically.

"/" is just another character in the URL path. Jon could have used "." instead, or even removed it altogether: "20070524restful-web-services". Everything is flat on the web.

The only reason why Jon added the "/" is convention - when people see the URL, it helps them understand what they might get if they click on it. "/" is a common convention to indicate hierarchy.

So the "/" does NOT represent directory structure.

What if I want web folders?

The main thing that folders provide is the ability to view the set of documents in a collection (e.g. all the pictures in an "images" folder).

On the web, there's a technology that solves just this problem: RSS. And it's far more flexible than a one-dimensional directory hierarchy; you can have RSS feeds for

  • all photos of green flowers
  • all photos of any green objects (including flowers)
  • all photos of flowers of any colour
Try doing this with folders - it's impossible!

In that respect, the URL and RSS feeds can support every navigation method: search, tagging, and hierarchy.

No more folders?

There are two major issues with folders. The first has already been mentioned: they are one dimensional, and therefore don't support modern techniques such as search and tagging. The second issue is that they're not scalable; if you've got a million (or even a billion) documents, navigating up and down the hierarchy to find your file takes way too long.

So it's a great thing that web was designed without folders. Instead, a combination of URL syntax conventions and RSS provides far better flexibility and power.

Friday, October 05, 2007

Adobe revisited

Six months ago, I said Adobe had better put together an internet strategy quickly, or risk going under. They delivered.

Adobe have a new internet strategy, and very impressively managed it is - they're driving pretty aggressively to use their new AIR / Flex platform to build an array of online services. Just this last month we've had announcements about online Photoshop Express, Online visual programming, online word processing, online file sharing, and online voice, messaging and presence.

Apart from the sheer breadth and depth of these developments, they're impressive for being cleverly tailored to expose specific browser weaknesses: animation, pagination, and realtime communications.

The browser within the browser

Most people see Microsoft's Silverlight and Sun's JavaFX as Adobe's chief competition. But they'll have a hell of a job catching up with Adobe's 93% market share, not to mention their best in class development and design tools.

No, the real competition for Flash is the browser itself. Adobe have two to three years until most browsers come with native video and audio players, and increasingly powerful layout and programming engines. They're rushing to fill this gap with their own proprietary technology, hoping to sell design and programming tools, not to mention Flash-based web applications.

Flash is the browser within the browser - displaying text and images, in addition to diagrams, sound and videos. Some websites - e.g. Sony Ericsson - leave little room for HTML.

So Adobe look to be winning the "Rich Internet Application" market. The question is, how will RIAs fare against straight HTML / javascript?

Betting against the internet?

Adobe claims to be betting that the internet will beat client applications. Technically, they're correct - they're relying on TCP/IP, HTTP and the URI. But they're not betting on the web, because the web is about HTML and CSS, not proprietary Flash plugins.

HTML/CSS vs Flash will be a fascinating race. It'll take about two years to know the winner; will Ogg/Theora beat Flash video? Can SVG ever compete for vector graphics? Can browsers handle animation natively? Will flash text and layout ever displace HTML?

My heart says HTML/CSS will win; my head says it will come down to the wire.