I’m pretty OS agnostic. I’ll use the best tool for whatever the job is at the time. For my main computer I’ve switched between Windows and Linux, replaced the PC with various Macs for a time… just whatever is needed.

My Netbook has had Windows, Linux, and Mac OS X on it at various times. OS X works suprisingly well on such a little machine, but I wanted to try something designed specifically for working with the constraints of a netbook. Knowing I have some Linux/LAMP work ahead of me, I also wanted something Linux-based so I could refresh my CLI-Fu.

Enter Jolicloud

I’d heard mention of Jolicloud, as some sort of Netbook-centric Linux distro. The selling point was supposedly the very “un-Linux” GUI, optimised for a small Netbook screen, which in most of the screenshots posted around the web looks something like this:

Looks good, doesn’t it? The official site bills Jolicloud as “a cool new OS for your netbook“. Intrigued, I applied for an Alpha invite to try it out. A day later I had been accepted, downloaded the install image, and was ready to go.

Confusion Sets In

After installation I was presented not with a screen similar to the above, but with what looked, acted, even sounded like the Ubuntu Netbook Remix. Hrmmm. There was a Jolicloud “Get Started” icon, so naturally I clicked on that; up popped the dashboard I had been expecting to see at startup.

At this point, Jolicloud isn’t an OS; it now looks like an application installer/launcher with some “Social” features built in.

Speaking of those Social features, it appears Jolicloud has it’s own social network in the making to power the friends and notifications. It would be nice if I could instead use my existing networksinstead. However, I digress…

A computer is nothing without applications. Jolicloud presents a lot of applications for installation, a mix of “normal” applications with a heavy dose of web apps. Everything from Google Apps toZoho is available to install. This fits with the marketing pitch for Netbooks – processor doesn’t matter when your app is run “in the cloud”. Installing these applications is so simple it almost hurts.

Logically, one would expect to be able to launch the apps I have installed from the Jolicloud dashboard. Well, simply put, you can’t. Applications are launched from the Netbook home screen – the one we were given at logon.

So now Jolicloud isn’t a launcher/installer, it’s almost just a installer. An App Store for Web Apps if you will.

There’s a big difference between “a cool new OS for your netbook” and an installer.

So What Exactly is Jolicloud?

In the words of the Jolicloud developers:

“Jolicloud is an Internet operating system. It combines the two driving forces of the modern computing industry: the open source and the open web.”

In my words:

“Jolicloud is a simple means to add Site-Specific Browsers (SSBs) for your favourite web applications to your Netbook by utilising Mozilla Prism on top of Ubuntu Linux Netbook Remix.”

I guess my version isn’t as buzzword friendly as the official statement.

In Defence

Maybe I’m being harsh. In fact I probably am, as I’m feeling a bit grumpy today. Jolicloud is still alpha software (that’s pre-beta, for those who’ve forgotten), and will no doubt morph and change before it goes to wider release. I just find calling it an OS is a bit… wrong.

Next week on “Grumpy Netbook OS Ramblings” – Moblin.

The beauty of web development is that, ultimately, the code behind it is simple. Yes, web apps have taken leaps and bounds over the last few years, and are capable of so much more than ever before, but lets face it – we’re not exactly writing DNA sequencers. Yet.

It frustrates me when I find someone has made life difficult for themselves or the person who will inherit their code, by using the wrong tool for the job. I’m not claiming to be a saint here either – I often look back at some of my own code and shudder (it helps keep me right in the future!).

Consider the following snippet, from the View (presentation) file of an MVC app I inherited:

<?php
echo "<h1>$category</h1>";
echo "<h3>$company ($name)</h3>";
echo "<p>";
echo "$address<br />";
echo "$town<br />";
echo "$city<br />";
echo "$post_code<br />";
echo "$phone<br />";
echo "$email<br />";
echo "</p>";
echo "<br />";
echo "<br />";
?>

PHP needs to be used to output the data passed from the Controller, yes, but there’s no need for it to be outputting the HTML too. Let HTML itself worry about that!

<h1><?= $category ?></h1>
<div>
<h3><?= $company ?> (<span><?= $name ?></span>)</h3>
<address>
<span><?= $address ?></span>
<span><?= $town ?></span>
<span><?= $city ?></span>
<span><?= $post_code ?></span>
<span><?= $phone ?> </span>
<span><?= $email ?></span>
</address>
</div>

I don’t know about you, but the HTML-based version above is easier to follow and spot coding errors. No doubt someone will point out there’s more HTML tags/bytes in this example than the first, but that is because I coded it with semantics and microformats in mind; add in the right classes and you suddenly have a hCard.

Possibly more importantly in my mind, the HTML example is easier to follow for someone who isn’t PHP literate, like many front-end designers I know.

I’m picking on this example as it’s the most recent I’ve come across, and the first to come hand. It’s not the first example I’ve come across, it won’t be the last, and it’s certainly not the worst!

Pure, simple HTML can be a wondrous thing. Lets try not to spoil it by abusing it with our fancy server-side languages. K.I.S.S!