SaaS

The iPad is Awesome, but the Web Can Do Better

Journalists and bloggers seem divided when it comes to Apple's recently announced "iPad". Some seem disappointed that after all the hype leading up to the launch of the so-called "Jesus Tablet" it didn't turn out to be an event akin to the coming of the Messiah! Many have passed it off as just "an oversized iPod touch" or "a laptop without a keyboard" or highlighted its shortcomings such as a lack of multi-tasking and Adobe Flash support. On the other side of the fence loyal followers of the Cult of Apple are quick to evangelise the product, hailing the beginning of a new era.

Now that the dust has settled a little I'd like to take my seat on the fence between these two camps and share some opinions about what I think is great about the iPad and ultimately what I'd like to see replace it.

Beautiful Hardware

The first thing you might notice about the iPad is that it demonstrates exactly the kind of minimalist design and engineering excellence we've come to expect from Apple products. This beautiful device is thin and light and is made from an aluminium unibody case and high quality glass multi-touch screen. Apple has developed its own custom components like the ARM-based "A4" CPU and a lithium-polymer battery to squeeze out every last drop of performance and battery life.

Intuitive Software

Something I find very interesting is the way in which Apple has re-designed the user interface of practically its entire Mac software suite to be better suited to this new form factor. Photos are presented in stacks which can be exploded with a pinching action, eBooks are stored in a bookcase and can have their pages turned with a natural dragging action and the address book is presented as an actual book. The user interface uses real world objects as design metaphors much more successfully than we've seen before.

The incredibly tactile nature of this new mode of interaction certainly makes for impressive demos and initial reactions from people who have used the device indicate it's just as impressive to use in real life. For the first time it's really feasible to reach out and touch your media directly on the screen rather than being separated from it by a perpendicular plane of interaction on your desktop or laptop keyboard and pointing device.

If nothing else, I think the iPad is going to change how we think about user interface design. Apple's UX design guidelines for the iPad talk about styling UI components to be an integral part of the graphical design of software to make them less conspicuous and more of an integral part of the "physical dimension" of the application. They also discourage modality and full-screen transitions, suggesting designers flatten their "information hierarchy".

Appliance, not Desktop

Of course tablet PCs have been around for many years, but the iPad really comes across as more of a versatile information appliance than a desktop PC. Microsoft tried to adapt their desktop environment to the tablet PC, but Apple has instead started from the base of the iPhone platform. The iPad is not a desktop computer but a tablet which can be instantly transformed into a wide range of tools for different types of information or task. User interfaces are not composed of "windows" of conventional UI elements like menus and buttons, they tend to more heavily use design metaphors of real-world objects which directly represent the content or task, with a single tool filling the screen at any one time.

The Ultimate Proprietary

I think the exceptional user experience achieved by Apple is down to the tight vertical integration of proprietary hardware, software and services. Apple makes their own components, develops their own software and delivers apps and content via their own services. They control nearly every part of the chain between the design, implementation and delivery of their products - including the content and apps consumed on them.

The downside of this tightly integrated approach is that it's an incredibly closed environment. If a software developer wants to develop software for the iPad, that software will not run on any device from any other manufacturer and will only be allowed to run on the iPad if Apple approves its inclusion in their own App Store. If a consumer wants to use a service from one of Apple's competitors, they may find that it's not possible because Apple has blocked apps from that provider. In other words, the iPad is ultimate proprietary computer.

If the iPhone is anything to go by, the app store model will be very successful for Apple in the medium term. People will flock to the iPad and its related services because of the superior user experience, and of course because they have Apple's name on them!

Why the Web can do Better

In the longer term lots of devices will inevitably emerge which imitate the iPad, in fact it has already begun. I think companies who attempt to a shoehorn a desktop environment into these devices will meet the same limited success of the Windows tablet PCs of old. However, I think a new breed of tablet devices descended from netbook and nettop form factors will eventually show more success. Mockups have already surfaced which hypothesise what a Google tablet running Chrome OS might look like for example. There will probably be a range of different devices based on a Linux kernel, but ultimately the user won't care what underlying OS they're using.

Emerging web standards like HTML5, SVG and X3D are going to make it possible in future to create web applications with the same kind of experience of Apple's iPad software suite. I think eventually this standards-based world and a Software-as-a-Service model will displace Apple's proprietary app store model. As seamless as they have made the experience, the app store model still fundamentally relies on users downloading and installing software on their local device. If they want to use the same app on three different devices they will have to install three times, and potentially pay three times as well!

Web applications have the advantage that they can be used from any web-enabled device and developers only need to write once, run anywhere. With the offline capabilities of HTML5 applications will work offline without needing to be installed and data will seamlessly be synced between the local device and the cloud.

Conclusions

In conclusion then, the iPad is an awesome device even if it is only a evolution rather than a revolution. In part due to Steve Jobs' "reality distortion field" and the preaching of the Cult of Apple, the iPad could be as successful as the iPod and the iPhone have been. Lagging behind their competitors in terms of raw features never hurt either of these devices, and with the apparent exceptional user experience of the iPad it's reasonable to think the same will be true of this latest addition to Apple's product line. New versions of the iPad will probably fill in these gaps anyway, once it becomes feasible to pack extra hardware in whilst retaining the low price point.

Once currently emerging web standards become widely supported and web application developers catch on to this new style of UI design, web applications may displace the app store model currently used by Apple. At this point the tablet computer itself could become more of a commodity, turning into a web client rather than a platform for local applications.

I look forward to a time when the web can provide an experience as rich and intuitive as Apple has made the iPad.

tola – Fri, 2010 – 01 – 29 10:36

Facebook buys Parakey

Facebook has bought the Internet startup Parakey which was founded by two co-creators of the Firefox web browser.

This is going to be an interesting combination, I've been waiting to see what comes out of Parakey since the article about them in the IEEE Spectrum magazine in November.

tola – Sun, 2007 – 07 – 22 15:18

LugRadio Live 2007

LugRadio is now finished for another year. I met lots of really interesting new people at LugRadio Live and caught up with some old friends.

I had quite a long chat with Aaron Seigo from the KDE project about Software as a Service (he's not a fan). I realised that we're interested in solving the same problems, but have very different views on how to solve them. I commented that I'd love to see him have a discussion with Chris DiBona from Google about it (he was also at the event). I then wandered into the cafe and spotted Chris sitting in the corner on his laptop so I stopped to say hello. I mentioned my conversation with Aaron, and Chris said to invite him in for a chat. I went and fetched Aaron, bought them both a drink and then tried to keep quiet while they discussed the issue amongst themselves.

It was really quite interesting to see two people, both from the open source community but with differing views have a productive conversation. I actually thought this little encounter was a microcosm for the whole weekend. A diverse community of people with common goals but differing views all together in one building, having informal, intelligent debates about the issues they consider to be important in the software community.

There were representatives from lots of companies like Canonical, Google, Neuros and the BBC and particularly brave attendees from Novell and Microsoft. There were also people from community projects, notably the youthful Bongo Project and MythTV.

On Sunday I had lunch with Elliot from OpenAdvantage (and his friend whose name I've forgotten but would like to keep in touch with) and we must have been having interesting conversations because an hour seemed to vanish in a blink

Also, I think I found a hosting company for Krellian, the Linux friendly Bytemark Hosting.

So well done to the LugRadio team and the event crew who pulled off another great event.

Oh, and hi to all the Wolves LUG people who I had a few drinks with on Saturday night, they were a very friendly bunch!

tola – Mon, 2007 – 07 – 09 19:26

Is "The RADAR Architecture" trying to solve a problem which should be solved in the browser?

Designing web applications in a RESTful way from the User Interface perspective can be very challenging and many people argue that REST just isn't suited to user interfaces and should be restricted to Application Interfaces. I've come across this recently when trying to understand why the Bongo Project uses a separate URI scheme for the user interface to the application interface. I've always thought that a resource is a resource, regardless of whether you're a man or a machine. Different people and different machines want different representations of the resource, but it is still the same resource.

Dave Thomas is a pragmatist with knowledge and experience behind him. But in reply to Dave's insightful blog post, The RADAR Architecture: RESTful Application, Dumb-Ass Recipient, I play devil's advocate and put forward an idealistic alternative argument:

From a pragmatic point of view this makes an awful lot of sense because it's easier to bend your server application to the will of millions of existing web browsers than to change the way browsers work.

However, I wonder whether from an idealistic point of view this would be better addressed in the design of the "dumb browsers" you talk about. The dumb browser doesn't need to be quite as dumb if we don't want it to.

What if XHTML forms and Web Browsers *did* support the PUT and DELETE verbs? I'm not familiar with the reasons that browsers do not already support these HTTP methods, but I do know that the original vision Tim Berners-Lee had of a web browser was of an application which could write data as readily as it could read it.

Maybe it is a user interface problem.

Asbjørn Ulsberg asked what a request/response would like if a web browser wants to GET a resource represented as an HTML form so it can edit the information and then PUT it back to the same URI. In answer to his question, I don't believe we should have a MIME type to put into an Accept header specifically for an HTML form view. It's still HTML after all!

Perhaps the answer is that when HTML is displayed in a browser, if the user has write permission, it is editable in the same way that a document in a word processor is editable, rather relying exclusively on forms for user input. If you've ever used Google Docs you may have noticed that if you click on the title of a document, it becomes editable using JavaScript. There is no separate "edit" and "view" mode, it's all one thing so you don't need to tag ;edit to the end of the URI. The reason web browsers themselves don't work this way is probably because the HTML view is only one representation of a resource and it might be hard to translate changes made by the user to this presentation of the information into changes in the underlying data model. Using forms allows the application designer to restrict user input to specific fields in the underlying data model. This is something which needs more thought because I believe it's also the core reason behind the "offline problem", but that's a different story.

roberthahn writes that "The dumb browser doesn't provide the user with a way of submitting requested Mime types." Well, again, maybe this is a user interface issue with the browsers, maybe they should! Remember that the web is just a collection of resources, HTML is only one representation of those resources.

If "smart" client interface can specify which representation it wants, why can't a user? Maybe a user should be able to choose whether they want to browse the web in plain text, formatted text, or even 2D or 3D vector graphics or a voice representation of a resource. The user agent could allow the user to choose a particular mode in which to browse the web depending on their current environment, and offer alternative representations where they are available. For devices that are only capable of certain modes of interaction with the user (e.g. a voice interface), this could be fixed by the user agent.

We shouldn't entirely dismiss the idea of changing web user agents themselves, just because it is a difficult option.

tola – Sun, 2007 – 04 – 01 20:36

"Megafreeze" development broken, Abstract User Interfaces

Melt the Megafreeze, let it trickle

Tuomo Valkonen writes that The megafreeze development model is broken in GNU/Linux distributions. He argues for a very long release cycle for an extremely stable base system (in line with Kernel releases) and then separate repositories for applications which are constantly upgraded.

I've often thought that in a world where security updates can be trickled over the Internet as they become available, it's odd that new features come in big chunks with each new release of a distribution. With Ubuntu, I upgrade every 6 months to see new features, why can't the features just appear as they become available like we're used to with Software as a Service?

Sam has tried to explain the reasons for the status quo to me on numerous occasions (him knowing a lot more about building Linux distributions than I), but like Valkonen I still remain unconvinced that the Megafreeze is the best approach.

Abstract User Interfaces: "Plasticity"

While I was on Tuomo Valkonen's homepage I noticed the Ion window manager that he developed. I found the UI ideas very interesting because they're very similar to a lot of things I'm trying to achieve with Webscope.

Ion has "tiling workspaces with tabbed frames" and the screen is always filled at any one time, like the multi-level resource tabs I want to create.

Ion also has a "query module" which "implements a line editor similar to mini buffers in many text editors. It is used to implement many different queries with tab-completion support: show manual page, run program, open SSH session, view file, goto named client window or workspace, etc." which is a similar concept to the Natural Language Command Line I am trying to develop.

In a paper entitled Vis/Vapourware Interface Synthesiser Valkonen describes a system for describing user interface semantics and then automatically generating actual interfaces based on user's preferences with the use of stylesheets. This seems very much like a transform view in a Model View Controller design pattern and he's essentially talking about doing for the desktop what I want to do for the multimodal web. Starting with a semantic description of a user interface (e.g. using DIAL) and then transforming that semantic description into various different presentations using XSL stylesheets.

In his bibliography, he links to papers which use the term "Plasticity" in user interfaces, which I might explore further. User interfaces these days have to go "above the level of a single device" -- O'Reilly.

tola – Wed, 2007 – 03 – 14 12:15

Open Standards and Free Software are making me OS-agnostic

I use three different operating systems on a daily basis - Windows, Mac and GNU/Linux - yet my data is always the same and I often use the same applications. Here's what I use on a regular basis:

Task Open Standard(s) Free Software Application(s)
Email IMAP Thunderbird
Calendar iCalendar over WebDAV Mozilla Calendar
Contacts LDAP Thunderbird address book
Documents OpenDocument Open Office
Music Ogg & MP3 over HTTP VLC Media player
Pictures SVG, PNG, JPEG The GIMP, Inkscape
Code Subversion Eclipse & Subclipse
News OPML, RSS, Atom Thunderbird news reader
Chat Jabber & IRC Gaim

Sometimes I'll use an OS-specific app if it provides a better experience, but still uses open standards. For example, I use iCal, iChat, iTunes and Address Book on the Mac with iCalendar, Jabber, MP3 and LDAP respectively (I know, MP3 isn't entirely open). I can easily chop and change which application I use, or even use different ones at the same time because my data is stored in such an accessible way.

Although I believe that desktop Linux is very important and Ubuntu is my first choice of OS, what's more important is the open standards it uses for managing data. Free software won't fend off proprietary software by building a better desktop, it will win by making the operating system a user is running almost irrelevant.

What I'm working towards at the moment is hosting all of my data across web servers and having a web application to manage each type of data. That way I can access my data on any device with a web browser - including my phone and Internet tablet. I've had a web server at home for a couple of years now which I store some of my data on.

Web applications I've been using include:

  • Horde IMP
  • GMail
  • PHPiCalendar
  • Google Calendar
  • Google Docs & Spreadsheets
  • Ampache
  • Flickr
  • Gliffy
  • Trac
  • Gregarius
  • Google Reader

Some of these are hosted by companies, some are hosted on my own server, but what's important is that they use the same open standards.

One of the aims of Moya is to create a home server which manages all of these types of data and provides a web interface, making the client operating system irrelevant.

tola – Mon, 2007 – 01 – 08 11:58

Wiki Farm

I've just set up a wiki farm with MediaWiki for the new hippygeek.co.uk. This means running multiple instances of MediaWiki from a single installation, to reduce the amount of work needed to perform upgrades on multiple wikis.

Basically it involves symlinking the entire contents of the mediawiki directory for each instance, with a few exceptions. I'm not sure how well this will scale if I automate creating wikis in this way and I'm yet to attempt an actual upgrade, I'll write about my experiences here.

tola – Tue, 2006 – 10 – 17 18:49

Spotting shapes in information clouds

A creatively written article from Wired describes the "Internet cloud, where massive facilities across the globe will store all the data you'll ever use."

The article describes Google's search for cheap power for their giant data centres and touches on others like Sun and Ask.com. It raises some interesting new paradigms in computing, such as electrical power being more scarce than processing power and time being more precious than money.

It's perhaps interesting to include a mention of Amazon's own EC2 or "Elastic Compute Cloud" and S3 or "Simple Storage Service" which allow you to pay for remote storage and bandwidth. It's also interesting to note Microsoft's shift towards the new "Live" brand and their move into Software as a Service, all before Vista is even out of the door.

This could all be passed off as just another spin on "the network is the computer", but things certainly seem to be speeding up around here. You have to wonder whether the concept was just before its time, and now the infrastructure is catching up, the real fun is starting.

An aside...

With all these clouds around, I've created an experimental "tag cloud" of my own. It sits on the right hand side of my homepage and represents the topics I'm currently writing about.

tola – Tue, 2006 – 10 – 10 00:12
Syndicate content