Barcamp Presentation


17
Feb
2007

Great day at Barcamp London 2. For those who wish to download the offline web apps presentation, it’s available as either a pdf or on sildeshare.

New Demos


16
Feb
2007

Check out some screenshots of two new Web2OS demos, which show the offline / online capability of the proxy, and how to connect local APIs with web APIs

Where is Java in Web Applications?


12
Feb
2007

An excellent article by Bruce Eckel on “How and Why AJAX, Not Java, Became the Favored Technology for RIAs”

Key points? - How important cross-platform consistency and the installation problem are in the adoption of a new technology.

Barcamp London 2


12
Feb
2007

Looks like I’ll be attending Barcamp in London this weekend, which should be lots of fun. Looking forward to the discussions on web technologies, particularly on how they relate to web apps.

BarCampLondon2 Feb 17-18

The barrier to online applications


12
Feb
2007

I’ve just come across an interesting post by mockriot on why he dosen’t use any online web applications. The problems he states are key barriers to real adoption, and include, to quote:

  • Unreliable - Whether right or wrong, I am skeptical about the reliability of online applications. With Office (or any application installed on my computer), I know it will always be there when I turn on my computer. I don’t have to worry about having a connection to the Internet, or if my connection is fast enough, or that my browser has the proper plug-ins (like Flash) or features turned on (like Javascript). It just works.
  • Offline - Similarly, I want to be able to work offline (what if I lose my net connection in the middle of working on an important document?). Some of these apps already, or will soon, offer you the option to work offline–but you still need to go online, sign onto the application, and THEN go offline. If you’re somewhere unconnected when you fire up your laptop, you’re out of luck.
  • Permanence - The Internet is transient by nature. Websites and companies come and go. Why should I trust my important documents with an application that disappears if the company goes under? (Even Google has been known to kill-off apps, e.g., Google Answers.) I can be fairly confident that Microsoft isn’t going anywhere, and their Office line won’t be getting the axe. But even if those two unlikely events did occur, I still have my copy and it will continue to work the way I expect for as long as I need it to.
  • Security - Why should I trust another company to keep my private documents secure when I can do that myself on my own computer? What assurance can Zoho give me that my tax spreadsheet will be as secure on their server as it is on a CD in my filing cabinet? (The answer is none.)
  • Control - I want complete control over my files. I’m not sure an online application can ever truly offer that because by nature the service provider is in control of the application.
  • Features - Though the online office suites out there are getting better every day, they still can’t match Office for features and ease of use.

Addressing these concerns will be a big win for the next generation of web applications. Offline support is one aspect, but equally important is control and local storage of data.

Firefox 3 to get offline support


12
Feb
2007

An interesting post at Read/WriteWeb on the upcoming support for offline web applications in Firefox3.

The approach will seem to combine WHATWG client-side storage with online/offline sensing, combined with the ability to ‘pin’ pages to be persistent in the browser’s cache. This is similar to the approach taken by the Dojo Offline Toolkit, but DOT uses a small proxy application as the offline page cache.

To operate effectively offline, you will need a local copy of your data, and be able to perform a subset of the work that the server normally does. Take a web email app as an example - when you’re internet goes down, you want to be able to retrieve that important email. Normally you would just search for the email, but what happens now? This is a good test case for the different approaches being taken to support offline web applications.

Dojo Offline takes the local proxy approach


3
Jan
2007

It’s great to hear of Dojo introducing a new local storage solution using a local proxy:

http://www.sitepen.com/blog/2007/01/02/the-dojo-offline-toolkit/

Adobe Apollo demos


3
Jan
2007

Adobe Apollo looks to be a very interesting platform for bridging the gap between online and offline web applications.

There’s an interesting demo by Christian Cantrell here:

http://video.google.com/videoplay?docid=2840522561992638726

(also 100Mb mp4 from Chrisitan’s blog here)

The video gave me the idea of trying the same thing on Web2os, and coded up the local address book mashup with google maps. My approach differes in using Applescript calls rather than local file access parsing vcards, but the concept is the same. I also went for a pure HTML view, after discovering how to do semi-transparent backgrounds in CSS.

Take a look:
http://www.web2os.com/screenshots.html

An introduction


6
Dec
2006

With the opening up of the site, it’s probably best to start with an introduction.

Having followed the developments of rich internet applications, I became interested in seeing how well they would develop to mirror and go beyond their desktop equivalents. There are tough technological constraints in getting applications to run well within a browser’s javascript environment, but the instant-on zero-install benefits of web applications and their natural collaborative potential are such big benefits, that what seem like drawbacks in today’s web apps will be overcome.

Jason Kottke’s past blog post on WebOS started a process of thinking about what would underpin the process of change in web applications. Ubiquitous Javascript in the browser, and asynchronous http requests (AJAX) has given the first step change, leading to the current wave of applications such as Google Mail and Google Maps.

Further developments of javascript in the browser are helped by various toolkits and design patterns, but we’re currently pushing the boundaries of what’s possible in the javascript environment present in today’s browsers, and I believe it’s going to be interesting to see what further options develop and take hold.

The browser javascript environment itself is undergoing updates in each new release of Firefox and IE, and will probably get to the point of broad support for offline execution, local data storage, and fine-grained security permissions. Browser plugins have been the traditional way of extending browser functionality, with Flash being the most prevalent by far. Could Flash develop into the next web application platform? This is the aim of the Apollo project, which will give a rich html+flash+javascript platform for what Adobe hopes will be the next wave of web apps.

Then there’s the question of who will be developing the next lot of web applications - can today’s greasemonkey scripts become the basis of collaborative development of web apps, even without the involvment of the original application author or his company?

Control and ownership of data is another unanswered question with today’s web applications. How do I backup my data if the data resides in an online company’s database? How at risk am I to that company disappearing, along with my data? Am I dependent on their APIs to get my data out? When will there be a standard that will hold my data without holding me to ransom?

In part to play around with different answers and options to these questions, I came up with Web2OS - an intelligent proxy that runs javascript in-between the browser and server. It’s designed to allow different approaches to be taken to web applications - giving the user a bit of the server code to run themselves, or storing some data elsewhere, or even keep on running when offline. Being in the middle between the browser and the server also allows it to manipulate existing web applications in a similar way to greasemonkey, so new things can be tried out on existing internet applications.

I’ll expand further on Web2OS over the next few weeks, and open up its use to others who’d like to explore what’s possible in pushing the web as a platform for applications.