Saturday, March 14, 2009

Telephony and the web

In the last few weeks, the web has finally started to encroach on the last holdout communications medium: the telephone. One day soon, most telephone calls will take place via Facebook, Twitter and Gmail, instead of your phone's inbuilt address book.

Internet telephony has already been through one massive hype cycle without great results:

  • Skype is only real global success with consumers. Not web-based. Proprietary.
  • Back-end infrastructure has been converted to IP, especially for business use and internally in telcos. But from the consumer's perspective it's still a separate network.
  • Endless Voice over IP start-ups have now failed. There was clearly a missing ingredient - they focused on back-end technology e.g. SIP, not the consumer side, and they couldn't take advantage of network effects. Also, what advantages did they provide from a consumer perspective except reduced cost?

Most revealing for me is the phrase 'unified communications' in the telephony industry - it's been a mirage because they never unified with the web, surely the most important communications medium of all!

A new wave of innovation has started in Silicon Valley and this time I think they're on the right lines. Recent news includes:

  • Native browser support for audio and video, in Safari 4.0, Firefox 3.5 and Chrome 2.0 is coming very soon. This enables browser-based conversations without plugins such as Flash.
  • Phweet - integrates phone calls with Twitter
  • Mikz - web-based access to your mobile phone call data
  • Twilio - web platform for making & receiving calls, suitable for integrating into websites.
  • Google Voice - web-based call management tool, due to be integrated with Gmail

You can see where this is going. The web is taking over most other communications mediums (TV, newspapers, letters, email) and telephony is up next. Telcos were never able to deliver the vision of a unified suite, centered on the address book, where customers could communicate with each other. It's now the turn of the web and its social networks.

Saturday, February 28, 2009

Browser competition

Of all applications, the browser is now by far the most competitively fought over. Four major organisations are each spending around $50-100 million annually on a free product, with regular upgrades due in the next few months:

  • Microsoft: Internet Explorer 8 with a totally re-written browser engine
  • Mozilla: Firefox 3.1 with fast performance and new functionality like native audio and video, plus the release of Firefox for Mobile.
  • Apple: Safari 4 with new standards support such as a native database and fast performance
  • Google: Chrome 2.0 with a streamlined interface and fast performance

Somehow the browser market has avoided the featuritis that burdened office applications with endless menu options. In fact, browsers have got much simpler; three of the those above don't even have menus. Instead the focus has been on turning the browser into a great platform for developers: javascript performance may soon approach Java in speed, and support for new developer features such as advanced CSS styling and APIs such as geo-location enable new applications.

Most of the browsers above are open source - the only exceptions are Internet Explorer and the user interface of Safari. Browser vendors have cooperated over the HTML5 and CSS3 standards. They also have common test suites and performance tests such as SunSpider. But they haven't cooperated as much as they could.

For example, Firefox and Safari have produced competing web developer tools (starting with Firebug for Firefox, and Web Inspector for Safari). They are writing competing javascript engines and debuggers.

Perhaps a bit more cooperation would help them both move forward faster. Why not agree on a standard tool for developer help (perhaps based on Mozilla's documentation), or a standard text editor (based on Mozilla's Bespin)? Perhaps Google could take the lead with process separation, and Apple with profiling tools. None of this would prevent further competition in the main browser engine, but it would ensure rapid progression for everyone.

Sunday, February 15, 2009

Mozilla's web developer tools

Mozilla are best known for their browser Firefox but they're creating a steady stream of great web development tools, the latest of which was unveiled last week. Bespin is a new web-based extensible code editor with integrated command line. Although it's a very early version and lots of kinks remain (including too much inaccessible HTML5 Canvas usage), the team have already accomplished one of their first objectives, which is to prove how capable browsers now are. Could web development tools one day provide the second 'arm' of Mozilla?

Other development tools managed by Mozilla include:

  • Firebug, for inspecting and editing CSS, javascript and HTML
  • Bugzilla, for release planning and maintaining issues lists
  • Mozilla Developer Center, for documenting web standards such as HTML and the DOM
  • jQuery, a javascript library for cross-browser web development

Tools for web development fit naturally into Mozilla's goals for extending the reach of the open web. In fact it seems strange that Mozilla don't have more competition in this area - there is a surprising lack of offerings from Yahoo, Microsoft, Amazon and even Google, especially considering how tools can be used to bind developers towards vendors.

I hope that Mozilla's plans for Bespin are ambitious, because I see it as the centrepiece for all their development tools. Imagine if you while editing your code you could click once to find help in Mozilla Developer Center, again to visualise the results via Firebug, another time to track your bugs in Bugzilla and finally to resolve DOM issues using jQuery. In this way, Bespin can integrate all Mozilla's tools together.

I would also add additional tools to the slate, all of which should integrate back with Bespin. For example:

  • Version Control System (e.g. hg, git) integration - create a fork or merge at the click of a hyperlink
  • Validation / Best Practices - automatically check all your code against standards or best practices such as jslint
  • Web design - online tool for visualising and editing site design
  • Security - automatic checks for common flaws such as XSS

Such a suite would constitute a second 'arm' of Mozilla. It would perhaps also provide a second source of funding for the organisation, with the support of web companies that use the tools. It could certainly improve the productivity of hundreds of thousands of web developers, while spreading standards and best practices. It's a very ambitious goal, but Mozilla has already proven capable of delivering great tools like jQuery and Firebug that now dominate their markets.

I believe it's time for Mozilla to take a step up and treat development tools as a priority alongside Firefox itself.