Monday, October 29, 2007

Future of IT: the business view

IT is getting more and more important to every business. It not only automates their operations, but also defines the face of the company to its customers, via its website. Whether executives want to squeeze more productivity out of the workforce, or move into new product areas and geographies, IT is the basic enabler. Many businesses are now in fact IT companies; think of your basic current account bank, which sells an online application for financial management.

So what will corporate IT look like, in ten years time? Here are some predictions

  • There will be three shapes of computer: mobile, portable, and office; but all will consist of a browser and fast internet connection.
  • Everything will be web-based. That means you will be able to connect to anything (your office phone, documents, email, business applications, etc) from anywhere in the world, by simply typing in the relevant URL.
  • Everyone will procure an online communications, collaboration and office suite from a third party. That includes voice, email, wiki, document editing, and social networking. Google Apps will be used to create more documents than Microsoft Office and to access more voicemails than AT&T.
  • 80% of software (e.g. HR, CRM, ERP) will be online services procured from third parties. Salesforce's revenues will go up by 50% annually for ten years.
  • The other 20% will be online applications developed in-house, to provide a competitive advantage.

Sunday, October 28, 2007

SVG effects in CSS: Webkit transformations

Amazing news from webkit - they've implemented CSS transformations on their nightly builds!

The web's inability to do transformations - especially rotations - has been an embarrassing failure for years now. I believe the fact that vertical text is not possible has been a major driver behind proprietary "rich internet applications" like Flash.

What's more, the Safari folk seem to have done it properly. They're not relying on SVG foreignobject support, like Firefox; they haven't restricted themselves to simple rotations, instead allowing general affine transformations; and they've started with a simple approach that doesn't affect layout.

Cherry-picking SVG

No doubt they were able to implement this quickly because they've already done it once, in SVG. SVG is great as an image format, and for complicated shapes and paths; but there are surely parts of it that can be brought to the web, via CSS.

For example, how about colour gradients - why not extend the CSS3 color spec to enable the following:

background-color: gradient(red 5%, green 55%, yellow 95%)
which would color the relevant HTML elements with a gradient starting (left to right) with red at an offset of 5%, green at an offset of 55%, etc.

All this would take is to define a new color type in the CSS3 spec, which takes other colors (including opacity via hsla and tbga) as parameters. It could then be used for background colors, border colors, and wherever color is used elsewhere in CSS.

Cherry-picking SVG and putting it in CSS is a great approach. First, it adds style to the web, in a way that properly separates content from presentation. Second, it's tried and tested, so there should be less arguing about the specs. Third, it builds skills and knowledge of key SVG features, building momentum behind the full SVG spec.

Well done, Safari - may the other browser makers learn from your approach.

Thursday, October 25, 2007

Blogs and online word processors

What's the difference between Google's Blogger and Google's Docs?

After all, they're both online text editors. They're also both document publishers, though by default Docs doesn't display your document to the world. They both have general document management, including tagging, though Docs also has version control. They both allow collaboration, though Blogger does it through comments and Docs through 'sharing'. They both allow insertion of images and hyperlinks, though in addition Blogger allows videos and Docs allows tables.

None of these differences are major - in fact, I can see most of them being eliminated at some point through general upgrades.

So why do Google have two different applications?

Different uses, same app

They're different because of their history - they're from different cultures. Word processing comes from years of office work, with deeply embedded notions like folders, separate files, and the A4/letter paper size. Blogging comes from an online free-flowing diary format, technically minimalist, constantly added to, and aligned to the computer screen.

That doesn't excuse the basic user interface confusion between the two systems, for example the different ways to edit the underlying HTML. At some point, surely, the solutions must converge.

I can't see that the functionality requirements are different - it's just there are two different uses. Perhaps it's fine they're branded differently, like Proctor & Gamble owning several major washing powder lines to segregate the market.

While blogging tools start to take on advanced word processing features, document tools like Google Docs will improve in "content management" - versioning, publishing, collaboration, tagging, etc.

Surely one tool that can handle both blogging and word processing will emerge soon.

Monday, October 22, 2007

SVG in browsers

A call to arms today from Mark Pilgrim - improving the level of SVG support in Firefox 3, the forthcoming browser. The features in focus include the use of SVG in img elements.

If taken up, this would be excellent news. SVG still has a chance of becoming the most popular vector graphics language, which would be remarkable given the level of investment in Flash, Silverlight and JavaFX.

It would be truly wonderful if SVG became a first class web citizen. There are some important, but technical debates about exactly how it could fit in, especially in the non-XML HTML 5 world. I feel that, much as CSS can be placed inline with HTML but is best positioned in a separate document, the same applies to SVG. That's because of the principle of separation of content from presentation - SVG is fundamentally about presentation (in fact much of SVG, for example rotation, gradients and filters, should be incorporated into CSS so it can be applied to any element).

Regardless of the technical details, it is great to see the defenders of open standards rise to the challenge of proprietary competition, and enable the next cycle of web innovation.

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 "" 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 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.