Honey Web

about all things sweet and web-ish

Research and my computer woes

with 2 comments

I really hate my name. I have two surnames, sometimes spelled with a hyphen, sometimes without. Even fellow Romanians often have trouble understanding my name, let alone Brits. It was sooo hard to get the insurance company to admit I had payed for the insurance.

My laptop was (accidentally) damaged, and since it was insured I had to send it to be repaired or it would look suspicious. Its disc drive wasn’t working and the (flimsy) case was bent, but it was otherwise fine. Thankfully, I had a backup (Time Machine) and I use Dropbox for my important files, so none of my data was lost. Quick tip: don’t buy apple products if you can help it (mine was a gift).

Anyway, now I have to use Uni or friends’ computers, most of which run Windows. I’ve got some portable apps in my Dropbox (including portablegit) and I use loads of web services, so for anything but actual development I’m fine. I should be able to develop even if my laptop (or the XO) doesn’t get delivered on time, by borrowing my girlfriend’s computer. There’s also a fedora cluster in the Uni, but I’d probably have to set up a chroot/virtualbox vm.

 

Since I have less distractions, I’ve had time to think and do some research. I’ve looked at other SSBs and other efforts to add desktop features to browsers and the other way round, to see how they do things. Here’s what I found:

  • Adobe AIR – basically a flash element that can embed web pages if it really wants to (ironic, right?). It has some desktop integration features, but it really fails at native look & feel. It provides filesystem access and several ways to store data. Decent security system.
  • Titanium much more interesting, since it uses standard technologies. It’s surprisingly close to being to JavaScript what Qt is to C++. It provides a rich API with all sorts of features that a sandboxed JavaScript can barely hope to ever do on its own. It’s more like a JS standard library + runtime + packaging system.
  • Prism – very simple SSB. SSBs created with it are applications in the desktop (icons, can have file associations, etc.) and recently they can minimize to the system tray. It has notifications, in the form of systray/dock icon changes and popup alerts. It also has a feature I really want to steal, the Refractor Firefox extension, which allows the creation of SSBs from inside Firefox.
  • Fluid – simple SSB with some cool features. Similar to Prism, but it uses Webkit instead. It integrates quite nicely into OS X and it offers userscripts and userstyles. It also provides a JavaScript API with access to Growl notifications, dock badges, sounds and some control over the application (activate/hide/close).
  • Gears – very popular for taking web apps offline, especially in open source. It does three important things: local storage via SQLite, WorkerPool and some desktop integration (including some filesystem access). It also very recently got a Geolocation API and it will soon (enough) get a Notifications API. What I really like about it is its non-intrusiveness. It adds some features that are really needed for developing web applications to most browsers that matter (including some mobile ones) without a separate runtime or alien technologies. Google Chrome uses Gears to create SSBs, but they don’t really do much besides being separate windows with no chrome (no systray, no notifications).

Wishlist for Webified:

  • An option in Browse to ‘create new activity from this website’
  • JavaScript API with native Sugar notifications (following Gears will be better in the long run), control over the life of the SSB, perhaps sounds and of course window.console.log()
  • Gears, saving its state to the Journal.
  • GreaseMonkey and Stylish (or perhaps steal Prism’s?) – essential for customisation and native look & feel
  • Bookmarklets as toolbar buttons. There are tons of bookmarklets out there and they are used in the same way toolbar buttons are, they just usually reside on another bar.
  • Ability to install bundles of userscripts, userstyles and bookmarklets to make SSBs more sugar-y. Or perhaps even include bundles for very popular websites. A bit like Prism’s bundles, but not necessarily with stuff specific to Webified.

This is just a wishlist, I probably won’t be able to get everything done during GSoC. My plan outlined here stays mostly unchanged. But I have had time to think more about these things and how I’d like them to work.

Advertisements

Written by Lucian

May 14, 2009 at 4:29 am

Posted in sugar

Tagged with , , , , , ,

2 Responses

Subscribe to comments with RSS.

  1. nice blog post. My one suggestion is you choose one or several webapps that you want to webify, that will give you some good deliverables and something to show off at the end of GSoC.

    Your project plan mentions creating a webified prototype of gmail but isn’t clear if that is one of your final deliverables.

    bryanwb

    May 15, 2009 at 11:41 am

    • I was thinking that since the process of creating activities should be automatic and doable by the user, a deliverable would be just the ability to do that.

      I could make some activities for popular websites, customise them myself and package them in .xo bundles. Gmail for sure, probably some other google web apps as well. I’ll make a list 🙂

      Lucian

      May 15, 2009 at 1:34 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: