Two presentations on the web, mobile and the digital divide

September 15, 2010 | 1 comment

Power couple Bryan and Stephanie Rieger – who also happen to be two of the nicest people you could hope to talk to – have released a couple of presentations on how the web has changed. They are excellent, should be considered required reading in my opinion, and together suggest a sort of manifesto for web application development.

Bryan on rethinking the mobile web:

Stephanie on mobile use in poorer regions of the world:

So why do we need apps anyway?

April 29, 2010 | 3 comments

Ebooks don’t cut it: everyone wants an app

NB (May 20, 2010): A lot of my suggestions for web-based apps are part of the Google Chrome Web App Store. In fact, the .crx file used there is a zip file with very similar characteristics to epub. (I assume, as Chromium is open source, that .crx files are also open source – so the web app store is not limited to Google.) This post can be reread as an argument for building for the Web App Store.

At Intersection: Publishing in London the other week, there was a lot of discussion from publishers looking at mobile apps as their mobile publishing solution. Rather than creating ebooks, there seemed to be a general feeling that dedicated applications presented more of an opportunity for richer content, while closing the door to pirates and ensuring that publications remained a paid commodity.

The piracy argument is kind of spurious: although app stores tend to be locked down, this presents a false security blanket for publishers. It only takes one person to crack a store for piracy to be generally possible; technology only ever becomes less secure over time. A cynical person might suggest that the piracy argument is largely spread by the people who own the app stores or provide related services. The people who will suffer are authors and publishers.

Why apps rock

However, there’s definitely an argument for using apps – not just for publishers, but for anyone who wants to create dynamic content. Anyone who’s ever owned an iPhone will tell you that native applications can still provide a smoother, more consistent experience than a web app, without the hassle of remembering website addresses or waiting for pages to load. Tweetie is a million miles better than Twitter’s mobile website – something they themselves acknowledged when they acquired the iPhone application last month.

Mobile vs app

Above, mobile Twitter is on the left; Tweetie is on the right.

  • The app doesn’t need to load its interface from the web; only the underlying data is downloaded, meaning the app can appear instantaneously, loads data faster, and provides a better user experience.
  • The mobile web app needs to sit within the browser chrome (URL and search boxes, browser buttons on the bottom, and in my case, a debug toolbar). The app, on the other hand, has a full-screen UI dedicated to Twitter.

Why the web rocks

The mobile landscape right now is a bit like the personal computing landscape circa 1985. There are a bunch of different platforms to code for:

  • Apple iPhone and iPad
  • Android
  • Symbian
  • Windows Phone
  • Blackberry
  • WebOS (now more important in the wake of HP’s acquisition)

Each of these platforms is different under the hood, and must be developed for separately. Most developers and publishers can’t afford to do this – there isn’t a way to write once and cross-compile to many platforms at once. In fact, Apple recently specifically forbade this: if you’re developing an Apple app, you’re doing so natively, or you’re violating that platform’s terms of use.

However, each of these platforms have one thing in common: they support the web.

HTML5 and ePub: a new platform for apps

As you’re probably aware already, the upcoming HTML5 standard revises the web platform to become far more suitable for apps. Improvements include:

  • Methods for offline and cached usage (so interfaces can load immediately)
  • Built-in databases and storage (so web pages can natively store their own data)
  • A paintable canvas element and WebGL 3D graphics functionality (so web pages can display interfaces more like real applications; the 3D shooter Quake II has already been ported to native HTML)
  • Native video and audio support (no Flash required)
  • Websockets (a more efficient way to connect to Internet data from web pages)
  • Built-in support for advanced functionality like geolocation

This is a big deal. Compliant browsers like Firefox, Safari, Chrome and even the upcoming Microsoft Internet Explorer 9 will be able to run applications that look and feel like native software but are powered by web standards. Between those browser engines, that’s most of the mobile platforms covered: those that don’t have an HTML5 browser built in by default should have one available to download. What’s more, both Firefox’s Gecko HTML rendering engine and the WebKit engine that powers both Chrome and Safari are open source, so anyone can pick them up and build software around them.

So sites on the wider web can be more like applications. That’s fantastic news in itself, but what about the app store model? A lot of people depend on that for revenue, and there’s no reason why that should be incompatible with using web standards.

Luckily, it turns out that ePub – the ebook standard – is really just a bunch of XHTML 1.1 pages drawn together in a specialized way and bundled up in a modified zip file. There are already established best practices for buying and selling ebooks.

If the ePub standard was updated to allow HTML5, it would evolve into a format for self-contained, multi-platform apps that could be sold in the same way as ebooks, music, videos, or apps in something like the iTunes App Store. Except app publishers would only need to build once to support many different kinds of mobile platform, thereby reducing the barrier to entry and allowing their budgets to be concentrated on building just one really awesome piece of software instead of spread across multiple devices.

This would be in a lot of peoples’ interests: app publishers, device manufacturers, browser vendors and consumers alike. There’s a lot of money tied up in a venture like this. The only question is, will the International Digital Publishing Forum, which controls the ePub standard, be foresighted enough to see this opportunity?

Update: Steve Jobs weighs in

Apple’s CEO has written a little about why HTML5 is the future of mobile apps (albeit in the context of his platform’s refusal to support Flash):

HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.

[…] Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.

[…] New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

Make no mistake: HTML5 is the platform to bet on.

Reflecting on 2009

December 20, 2009 | 1 comment

The Christmas period is traditionally when I take a step back and consider what I’m going to do over the next year. For me, it’s a time for family, for quiet reflection and for evaluation. What have I done well? What will I do better next year?

During 2009, I left Elgg, the project I’d been developing for five years, and concentrated on real-world contracts and projects. I spoke at the John F. Kennedy School of Government at Harvard University, and met some very interesting people who are going to provide a new model for news reporting in America. I’ve been working with them for the rest of the year, and look forward to writing some more about that project soon.

I’ve also been working with a local publisher in Oxford, creating GeoRSS feeds for their content and paving the way for a mashup with the official University of Oxford mobile site. Imagine walking around your hometown, seeing rooms and apartments for rent displayed on an augmented reality browser, superimposed on the streets themselves. It’s just one way that the web is meeting simple, real-world needs with innovative approaches that are quickly beginning to resemble science fiction. Data is being mashed up and made available in increasingly sophisticated ways.

I expect mobile to come into its own in 2010, particularly now that the mobile Internet market is projected to be twice the size of its desktop cousin. Augmented reality and applications like RedLaser are the more obvious manifestations of this, but I expect the nature of web publishing as a whole to subtly morph. Platforms like WordPress are beginning to recognize this in small ways, such as adding native support for the Twitter API, but expectations are being set far higher than this.

Hardware like the iPhone, the assorted Android handsets and smartphones like the Palm Pre are very affordable multimedia all-rounders which have turned ubiquitous connectivity into a mass-market feature. People are going to expect to be able to save any digital content from anywhere, and share it with anyone. In 2010, I intend to help them.

Twitter: lessons on getting your web app out there

May 1, 2009 | 2 comments

Twitter is the darling of the tech scene, much as Facebook was a couple of years ago and Flickr and MySpace before that. Many would probably argue that it’s had more attention than it deserves: all it does is let you post, share and read 140-character messages. Despite this, there’s been more talk about why it succeeds than why it doesn’t, as well as finding flaws in its play to become mainstream: despite being featured on Oprah, from month to month only 40% of users come back to the site. (I’m one of them.)

I’m surprised to see how few people have mentioned what I think is Twitter’s real killer feature: it integrates with your real life in a way that no other web app comes close to matching. Sure, people post to Twitter from their desktop PC, but they also post from the park, on the plane, and even from space. With the increasing popularity of truly Internet-capable mobile devices, it’s no surprise that everyone’s copying the Twitter model, from big players like Facebook and LinkedIn down to newcomers like Yammer.

The genius of web applications really lies in the ability to access them from any connected device. As the Internet moves away from the desktop and becomes a ubiquitous part of life, web applications need to adapt to be able to cope with the varied changes in context that we deal with every day. Life is complicated; to cope, web applications need to get simpler.

Let’s take a quick look at how Twitter does this:

  • Tiny barrier to entry, with recognizable touchstones. Twitter is designed around an existing method of communication that people are already familiar with. SMS messages, sent back and forth on cellphones, are 160 characters long; Twitter messages are 140 characters long to fit comfortably inside this limit, along with 20 characters of contextual information. (Like, for example, the username of the person whose message you’ve just received on your phone.) You don’t need to learn any new techniques to learn how to use Twitter, although @replies and #hashtags are there for more advanced users. The short updates also encourage people to post more often, as it takes them a matter of seconds.
  • People are the feature. The Twitter team understand that their biggest feature is the userbase themselves. People use Twitter for all sorts of things, and although newcomers are often a bit bemused or even repulsed by the lack of functionality, it’s exactly this that allows people to harness it for whatever makes sense to them. As I’m fond of saying, the Internet is people: Twitter simply acts as a low-friction conduit to allow them to talk to each other.
  • An open, welcoming business ecosystem. The API – a way for third parties to build new interfaces for the service, for example for cellphones or iPods – is almost as simple to use as the site itself. As a result, it’s been said that around 80% of Twitter’s traffic is through API-based third-party clients. I use Tweetie on the iPhone and TweetDeck on my PC; I paid for the former, while the latter is free. Neither pays any royalty to Twitter; companies are free to build business on the back of the service. In return, Twitter gets interfaces that cater to use cases they didn’t think of.

There is always going to be a place for all-encompassing desktop applications. I have no need or desire to use Photoshop on my phone, for example – but mobile devices are a perfect platform for everything from simple searching, low-barrier accounting like Quicken Online, and the kind of distributed data-gathering we’re building at OutMap.

This doesn’t mean that copying Twitter is a smart business model at all. Instead, it’s worth looking at the factors that made them successful and then analysing which core features will work for you.