Skip to content

A possible future for Chrome OS

I’m writing this after building Chrome OS from scratch and running it from a USB drive. In fact, what I built and ran wasn’t Chrome OS but instead Chromium OS. There’s a big difference not just in the name. According to Google:

Today we are open-sourcing the [Chrome OS] project as Chromium OS. We are doing this early, a year before Google Chrome OS will be ready for users, because we are eager to engage with partners, the open source community and developers. As with the Google Chrome browser, development will be done in the open from this point on. This means the code is free, accessible to anyone and open for contributions.

They close the paragraph by saying that “this is the initial sketch and we will color it in over the course of the next year”. This, I believe is the single piece of information that contains the clues to what will happen to Chrome OS.

Going back to my first experience with Chromium OS, I immediately saw a bunch of people talking about issues and problems with this first version. One of the biggest concerns was about a supposed lack of support from Google:

In addition to excellent support, which I don’t think of as Google’s specialty, users of Chrome OS are going to want their netbooks to work seamlessly and instantly with their printers, digital cameras, smartphones and more.

[...]

But Microsoft spent years trying to catch up to Apple in terms of automatic hardware detection and installation with its Plug-and-Play initiative, and Apple users will tell you that it never quite succeeded. Is Google about to find out what a huge headache it can be to support an operating system? History argues that will be the case.

I sincerely don’t agree with this concern. Here’s what I think the future of Chrome OS will be:

  1. Canonical (the company behind Ubuntu) has a partnership going on with Google for the development of Chrome OS: “In the interest of transparency, we should declare that Canonical is contributing engineering to Google under contract”.
  2. Google launched Chromium OS early so that the open source community could jump in and contribute.
  3. In 2010, Google will launch Chrome OS (not Chromium) on a list of selected devices. This will be done with the help of Canonical, of course: “we will be working with Google on Chrome OS based devices”.
  4. Asus will be the first device manufacturer to officially promote Chrome OS.
  5. Giant HP will be next. They were already thinking about moving to Android earlier this year, so this is the obvious path.
  6. Many others will follow during 2010.
  7. Chrome OS will use Ubuntu One as its official cloud synchronization.
  8. Chrome OS will be official supported only on selected devices, by the device manufacturer with help from Canonical and Google.
  9. Chromium OS will still exist as a pure, unsupported, open source OS that anyone can use at their own risk.

So, if I’m correct, 2010 is going to be a huge year for the netbook market. Get ready!

Small experiment

This is a very short experimental post.

Published via tarpipe.

Mirror Worlds

A comment to my recent post “Streamnets” caught my attention to dig further because it mentioned the concept of Mirror Worlds, a written work by David Gelernter. It’s a fascinating book, quite ahead of its time — it was published back in 1993.

According to Gelernter, “[Mirror Worlds] are software models of some chunk of reality, some piece of the real world going on outside your window”. These pieces of the real world can be of diverse natures:

At this very instant, traffic on every street is moving or blocked, your local government is making brilliant decisions, public money is flowing out at a certain rate, the police are deployed in some pattern, there’s a fire here and there, the schools are staffed and attended in some way or other, oil and cauliflower are selling for whatever in local markets… — p. 3

It seems to me that what the book was describing back then is starting to take place right now. We’re actually taking advantage of such Mirror Worlds to make decisions and orchestrate our own lives.

RSSCloud, a PubSubHubbub alternative?

Great news for all RSS advocates: Dave Winer somehow convinced Matt Mullenweg to automatically support RSSCloud on all WordPress.com blogs.

Quoting ReadWriteWeb, who apparently broke the news:

All blogs on the WordPress.com platform and any WordPress.org blogs that opt-in will now make instant updates available to any RSS readers subscribed to a new feature called RSSCloud. There is currently only one RSS aggregator that supports RSSCloud, Dave Winer’s brand-new reader River2. That will probably change very soon.

If you have a WordPress.org blog, you can easily install the recently launched RSSCloud plugin, by Joseph Scott, an employee of Automattic, the company behind WordPress.

Now, how will RSSCloud compare to PubSubHubbub? As Chris Messina points out on a comment to Dave Winer’s announcement, “it’d be nice to either protocol gain adoption and enable a better P2P push-based infrastructure to rise up.”

Let’s see how both technologies evolve. So far RSSCloud is only being used by a single feed reader but has gained a massive number of publishers through the WordPress.com adoption.

PubSubHubbub is ahead in the game, currently being used by Feedburner, Blogger, Google Reader, Google Latitude, YouTube, PicasaWeb, FriendFeed, LiveJournal and Superfeedr, to name just a few. There’s also a WordPress.org plugin, written by Josh Fraser.

Streamnets

IDEA

The Internet is the infrastructure needed to interconnect machines to one another and guarantee that they’re online most of the time. According to Wikipedia, the Internet “is a network of networks that consists of millions of private and public, academic, business, and government networks of local to global scope that are linked by copper wires, fiber-optic cables, wireless connections, and other technologies.”

Then, Streamnets are ad-hoc networks created by Spimes or other sensor based machines in order to advertise their activity streams onto the Internet. These networks don’t need to be online all the time, don’t require high bandwidth, and will use any existing communications technology, most probably wireless through GSM or even other types of RF for shorter or longer distances.

Streamnets are not supposed to be two-way channels, but rather pipes where the machines will dispatch fire-and-forget information about their activities. At the other end of these pipes there will be activity stream aggregators, indexing, munching and filtering all information sent by the machines.

Occasionally, the machines will want to read information from the Streamnet. To do it, they’ll publish a request at an aggregator that will obtain the requested information. The machine keeps polling the aggregator at given intervals of time, until the information is finally available.

Finally, Streamnets are, by design, asynchronous communication channels.

To REST or not to REST

Yesterday @esjewett pointed out that tarpipe’s API 2.0 might not be considered RESTful. Quoting the previously written article “A RESTful ESME API“:

REST is often seen as an alternative to RPC APIs, or “Remote Procedure Call” APIs. At root, the difference as described by Wikipedia is that RPC is about telling an application to do something while REST is about changing the state of the resources of an application.

  1. Clients have to read documentation to know the locations of top-level resources.
  2. Clients have to concatenate strings to get to the next resource.
  3. You have an “API/Key/Token” in a header or a url.
  4. You have a version string in a url.

All this made me think about possible changes to become RESTful. Things seem to be easy when you’re offering operations to resources you own or control. When you’re dealing with processes that’s a whole different story. As @esjewett best puts it:

Well, to be fair, processes are kind of awkward. You’d probably have to have another resource.

Let’s see what can be changed and how…

Performance oriented FFT

Worth checking out. Quoting the FFTW Home Page:

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for most applications.

Now, can it work when you have less than 16KB available RAM?

Pie charts are overrated

Quoting Seth’s Blog: How to make graphs that work:

Pie charts are spectacularly overrated. If you want to show me that four out of five dentists prefer Trident and that we need to target the fifth one, show me a picture of 5 dentists, but make one of them stand out. I’ll remember that.

Unless, of course, all you want to do is give a sense of all different percentages.

What is a CouchApp

Quoting the CouchApp wiki:

[CouchApps are] utilities to make standalone CouchDB application development simple.

Some interesting links:

Focus on your active users

Quoting The Difference Between Total Users and Active Users:

It is not a problem for a service to have a large group of non-active users if they have a large group of active users. It’s the latter group that you need to focus on. Over time, I’ve learned that many non-active users become active for one reason or another. But they don’t become active by focusing on them. They become active because you focus on the successful users and make them even more successful.

Here are some thoughts to focus on your active users:

  • promote what they’re doing, either through your application or explicitly through social media;
  • ask them for a review of your application and publish it, word for word, on your blog;
  • offer all help you can whenever they want to do a meetup about your application;
  • ask for their opinion before launching a new feature;
  • give them credit about new ideas you implement, whenever appropriate.