Our Sunshine Buddies

by Zef Hemel

Powered by the sun.

I was watching this video interview with Dion Almaer of Google and it reminded me of a view that I have, and that I think is shared within the WebDSL team. It might be controversial, maybe it’s not. The view is that we see (X)HTML, CSS and Javascript as the assembly languages of the web. I feel that, although coding HTML, CSS and Javascript was fun for a while — we can do better. What you’d want is a higher-level language (be it WebDSL or GWT or whatever else) that abstracts from those low-level languages. I think there are better languages to be designed that can be compiled to a combination of those three.

GWT is the most mainstream implementation of this. You feed it Java code and it produces HTML and Javascript. We do the same in WebDSL (although we did not base it on Java). Web development is hard, and frankly, annoying because you have to deal with differences in browser implementations, browser versions and so on. All stuff you don’t care about. The solution is to abstract from that, and come up with a language + compiler that generates the browser-dependent code for you so you can focus on the problem at hand rather than spending 2 hours fixing the lack of support for CSS’s a:hover in IE 5.5 (or whatever, I don’t know zip about CSS).

Moved to Slicehost!

by Zef Hemel

Dreamhost was getting really slow lately (the server was under a load of 11-12 constantly). So I decided to get a my own VPS (Virtual Private Server) again. I chose Slicehost because I’ve been hearing good things about them and because they’re cheap ($20/month). I got 256mb RAM and 10G of space, and because it’s a VPS you get root access (mine is running Ubuntu Gutsy Server). I was considering getting a slice with 512MB ram so that I could run production WebDSL sites (you need at least 512mb of ram for JBoss to run), but decided that I would wait with that for a while, I can upgrade later anyway.

Hope you’re enjoying the site’s improved speed!

The nice thing about a big shift like moving from desktop applications to web applications is that you get to reinvent a lot of stuff. Things that have been around in desktop applications and operating systems forever are reinvented for the web and people get excited about it.

Over two and a half years ago I wrote about web-application plugins. As the name suggests these are very similar to plugins for desktop applications, like Adobe Photoshop, Mozilla Firefox, Microsoft Word and so on — except they’re for the web! A pretty obvious idea right? The only thing I had to come up with is how this would operate (you need a two-way communication mechanism between the plugin’s server and application’s server), but it was nothing a webservice couldn’t solve. Well guess what, this year it turned out I was way ahead of the curve. The current state of the art is set by Facebook, Google’s OpenSocial and Netvibes. What they did is reintroduce windows. Windows? No, not the operating system, the desktop metaphor. The idea of having a square area in which an “application” operates. Facebook calls these applications “facebook apps”, I don’t know what OpenSocial calls them, I’m guessing widgets or social widgets or something. Netvibes is much the same, only simpler. With this, these websites become “web operating systems”. Interaction between these Facebook apps/widgets is limited or non-existent. Interaction between the apps and their operating system is also restricted. I’m not very familiar with OpenSocial, but I know that Facebook apps can go outside the box a bit too. Facebook provides the developer with a couple of hooks where he, or (hypothetically) she, can plug-in new functionality (like a “stab me in the back” link underneath your profile photo).

Other web applications are panicking because platformization is the new pink. You thought that you would keep your developer users happy with your brand new RSS feeds or fancy REST API? Hah! No, now they want to build applications that not only accompany your web app, but even run inside it. The question is, does this make sense for your application? For Facebook and other social networks it does. However, does it make sense to run these kinds of applications inside your online office suite, your e-mail application, your whatsidoodad? Well it depends how much you’re attached to the idea of having applications run inside your application (yeah, I know… not confusing at all). Something much more interesting is allowing developer users plug in to your application and extend its functionality. Get it? They need a web plugin API!

You might say, “hey! We already can extend current web applications, have you heard of GreaseMonkey? It’s frickin’ awesome!” I must say that I disagree, it’s not that awesome. GreaseMonkey is a Firefox add-on. You can download scripts that can modify the behavior of certain websites. Like, integrate Google Reader into Gmail, add saved searches. If the web applications provides no plug-in API whatsoever, then, sure, this is the best you can do. However, can you see how suboptimal this is? The whole point of web applications is that you can log in to them from everywhere and get the same behavior, all your data travels with you and so on. GreaseMonkey scripts do away with that. If I want the same behavior and cool features everywhere, I have to take my scripts and GreaseMonkey add-ons with me everywhere. Remember the Milk, is another great feature for Gmail, but it requires a firefox extension, so I’m not going to use it — I want my Gmail to look the same everywhere I log in, I’m strange like that.

What you want is Google to open up their interface. To let them offer you a plug-in API. “But they’d never do that, they’re not going to open Gmail up!” you might say. But you’re wrong. They already do, except they did it at the wrong level. In the new version of Gmail there’s a GreaseMonkey API! Doesn’t that seem absurd? (Some say it’s awesome.) What I would like is a way to load up Gmail plugins from my Gmail settings and have them available everywhere I go. Why are they not doing this? It’s not that hard. And let’s face it, it’s the obvious next wheel to invent.

Merry Christmas

by Zef Hemel

I wish everyone a very Merry Christmas. I hope it will be a good one. :)

I’ve been playing around with different virtualization programs lately. When I was running OS X I tried Parallels and VMWare fusion. Now that I’m running Linux I tried VMWare Server and Player. They all work well, but VirtualBox blew me away. VirtualBox is free and it has the seamless feature (where you can have windows of your guest operating system floating around the screen, outside the VM screen). Parallels and VMWare fusion both have this feature, but I hadn’t yet seen it on Linux (or Windows). It works really well!

VirtualBox
(Click for a larger version)

Jungle Disk Plus

by Zef Hemel

I’m a long-time user of JungleDisk,the software that allows you to access your Amazon S3 space as if it were a hard drive. During their beta period were free, but now they charge a small amount. They keep improving their software and truly are committed to offer a multi-platform solution. They now offer a version in which you can mount your JungleDisk using fuse right into your file system under Linux. It’s still a beta, but it works well. As part of “Jungle Disk Plus” (their monthly subscription option — free for the first year) they now also give you web-based access to your files, which is very convenient.

Next Page »