In association with heise online

The GIMP

Some of the first to do so were Spencer Kimball and Peter Mattis, who started work on what became the The GIMP (GNU Image Manipulation Program) in 1995. As Mattis told me a decade ago:

I was in my second semester of my sophomore year, studying computer science. We were thinking about [doing] some project. I was just getting into doing stuff with the World Wide Web, and I wanted to make Web pages. I had been a Mac fanatic in high school and I had Photoshop for Mac. I'd gone to college, I switched over to Unix and I couldn't do cool graphics under Unix at the time. So I said, I just want to be able to do the same things that Photoshop did. It didn't seem that complicated at the time. It was very ambitious, but we were pretty naive about that.

The GIMP remained something of a one-off, but others were looking to tackle desktop applications in a more thoroughgoing way by creating a complete graphical environment for GNU / Linux that was as attractive and easy to use as the, then recently released, Windows 95. The first person to address this issue was Matthias Ettrich, who developed the K Desktop Environment (KDE). Because of the various licensing issues around KDE (later resolved), others then set about creating a rival environment, GNOME, based on the Gtk+ toolkit that Peter Mattis had created for The GIMP.

Of course, this did not mean that work on the lower levels of free software ceased. Quite the contrary: the Linux kernel and other infrastructural programs continued to advance, and soon came to dominate areas like supercomputing, where 91% of the top 500 machines run some form of Linux, and enterprise systems, where GNU/Linux is now widely deployed in mission-critical roles.

One particularly important development in free software on the desktop was the appearance of Mozilla, and then Firefox. This reflected the corresponding rise of the internet as the principal motor of computing innovation. Aside from the respectable market share that Firefox now holds, its main effect has been to force Microsoft to support more open Web standards. This creates a level playing field for Web applications, whether or not people are using Firefox.

The most recent shift in the free software world has been the rise of Android. And here the clouds begin to gather. Although Android is based on Linux, and is nominally open source, it is becoming clear that it's open source more in name than reality. Code licensed under the GNU General Public Licence (GPL) is often released long after the phones appear; carriers are using the open nature of the platform to add proprietary front-ends and even lock-down the underlying free code too; and it now appears that Google can remotely install or delete apps from your phone. This is not a healthy development for free software.

The only consolation is that things are even worse in the Apple camp, where it looks like the iPhone App Store will not be hosting any GPLv2 code, since the terms of the former clash with the latter. News that Apple is creating an app store for the Mac is likely to magnify this problem.

As noted above, thanks largely to Firefox, the Web is now more open than it has ever been. It remains indispensable to modern life, despite attempts to move people from the Web to apps. This means that even the most closed platforms like the iPhone will need to offer access to the open Web. The solution to the closing of mobile and the desktop is to exploit this fact.

And just in time, Mozilla has announced a new project to do precisely that:

This proposal defines an Open Web Application in terms of the existing web technology stack. These applications leverage the HTML5 specification, which describes how a web browser can provide local storage, off line access to applications and data, geolocation services, and rich 2D and 3D graphics capabilities.

Open Web Applications build upon this HTML5 foundation by adding easy launching, an explicit installation flow, and verification of user registration between stores and applications (enabling proof of purchase). This basic set of interactions requires no new browser features and should work in any modern web browser. Richer interactions are also described which would be made possible by native browser support (that may be built-in, or supplied via browser extensions).

Using this system, a user can navigate through a collection of applications in a store or directory, select one to install, provide payment information if needed, and receive the installed application into a "dashboard" that holds all of his or her applications. When the user subsequently launches the application (by mouse, keyboard, or followed link), the application should be able to verify the user's ownership immediately, so that the user experiences a "one click" launch into a personalised application.

As this makes clear, all the options of proprietary apps can be mimicked with this new system, including the ability to charge for them. But unlike the mobile apps on the iPhone, say, there will be multiple app stores offering such open web apps: no one company will be able to dictate terms for inclusion. Even better, these new kinds of apps will be cross-platform, thus reversing the tendency to lock users into one particular hardware choice.

Such open web apps should move out of the labs stage as soon as possible to become a primary focus for the whole free software community. They will meet the increasing demand for easy-to-install applications on a range of platforms. They will prevent any one company from developing a monopolistic grip on modern end-user computing, be it for desktops, mobiles or tablets. And they will also provide a huge “free” boost to GNU / Linux, which at a stroke will acquire thousands of new applications. As such, open web apps represent a natural next stage in the evolution of free software, while building on, and providing continuity with, the extraordinary achievements of the last two and half decades.

Follow me @glynmoody on Twitter or identi.ca. For other feature articles by Glyn Moody, please see the archive.

Print Version | Permalink: http://h-online.com/-1125929
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit
 


  • July's Community Calendar





The H Open

The H Security

The H Developer

The H Internet Toolkit