Twitter, Identi.ca and microblogging architecture

Posted on 10 July 2008 - 14:57

As many people, I was annoyed by the scaling issues of Twitter (and especially loosing the IM integration), so I gave identi.ca a try.

Russell Beattie did it as well, but also played with the opensource code that powers identi.ca, and found some very basic scalability issues. The comments are worth a read: should a microblogging service be considered as a messaging system like SMTP or Jabber, or as a content management tool like blogs. Each approach has its pros and cons.

The messaging approach can have issues with message duplication for highly connected people, whereas the content management approach requires expensive queries to aggregate posts from people you're connected to.


Continue reading »

Goojet is now public!

Posted on 06 June 2008 - 11:17

Yes, we are live! Goojet has been in private beta for a couple of months, and we are now open to everybody. This is still a beta, so some things are still rough on the edges, and we still have a lot to do (and lots of ideas).

So what is Goojet? It's a way to make the mobile web usable and enjoyable. It is the combination of a social network with small applications embedded in "goojets" (analogous to widgets or gadgets). These applications are either existing (mobile) websites or specifically developped for the platform.

On the mobile side, you have to install a Java application which has been tested on a couple of hundred phones. iPhone users, don't be frustrated, we're currently working on a specific version for you :-)


Continue reading »

Is Device Fragmentation Still Relevant?

Posted on 05 June 2008 - 19:37

Shai from LWUIT fame has a very interesting post on J2ME device fragmentation. I wholeheartedly agree with what he says: portability across devices was certainly an issue in the early days of J2ME and probably still is when developping demanding games.

But for other applications and modern phones (i.e. MIDP 2.0, which was released in 2002), portability is in my experience mostly a matter of careful programming and careful reading of the specifications. There are also a few well-known implementation bugs which are quite widespread and thus easy to spot.


Continue reading »

LWUIT's weird licensing terms

Posted on 23 May 2008 - 13:45

There's a lot of noise in the J2ME world around LWUIT, a lightweight user interface toolkit built by Sun that aims at providing high level UI widgets on top of the very basic features of MIDP.

Very nice, since everybody ends up rewriting their own toolkit.

Now look at the licensing terms on the home page:
  • Early access binary library: Licensed under Sun License Agreement (SLA). This license enables you to use the library in commercial products for free.
  • Source code: Licensed under GPLv2
That is a very strange licensing model: the code is available, but using it fordbids any commercial application, since you have to distribute your application's source code because of the GPL's virality. But commercial applications are possible if you use the binary distribution.

Wait...
Continue reading »

Google now crawling forms

Posted on 04 May 2008 - 1:03

A few days ago, I started receiving Google alerts about me (yes, I'm following what's said about me on the web) that were linking to search results pages on my own blog, with strange query terms such as "steve" or "near", "idea" or "known".

Why would such searches show up in Google? Who has linked from his website to the search results for these weird words? I tried to find these pages, but failed.

Today I finally found the answer: Google is now crawling through forms, by filling inputs with words they find on the page containing the form. The intent is to crawl the "deep web" that is not normally accessible through regular links.


Continue reading »

Speeding up mobile web applications

Posted on 30 April 2008 - 0:54

It's been nearly one month since I started full speed at Goojet, and I already learned a lot on the mobile web and J2ME.

One of the key issues in the mobile web is latency: connections are long to establish, and data transfer rates are low. Not everybody has a 3G phone nor an unlimited data plan.

Connection establishment latency can be mitigated in two ways:
  • Use persistent HTTP/1.1 connections. By reusing the same TCP socket for several HTTP requests, you save the non-negligible connection setup overhead. To achieve this, every request and response must carry a Content-Length header.
    Continue reading »

Goodbye Joost, hello Goojet

Posted on 05 April 2008 - 13:49

I have been working at Joost for the last two years as architect of backend systems and tech leader of the backend development team. I started there at a time when the architecture of the system was a blank paperboard. Exciting times, that allowed me to use my creative thinking and build amazing stuff with an amazing team. But also exhausting times, that got me quite burned.

For the last 6 months or so, Joost has been undergoing many changes: organisational changes, stragegy changes (not yet publically visible), and geographical changes by concentrating the previously distributed teams and pushing west towards the US.

Continue reading »

Cluster computing commoditization

Posted on 02 April 2008 - 15:27

I came across an interesting report on the first Hadoop Summit that happened last week. Hadoop (an open-source implementation of Google's distributed mapreduce infrastructure) is getting a lot of steam, and there are now higher-level open source projects emerging on top of it that I wouldn't even haven't dreamed of a few years ago.

Continue reading »

Novillero, our new (big) pet

Posted on 03 March 2008 - 1:35

My wife Claire has been horse-riding for years, and wanted her own horse for her 40th birthday. That was 3 weeks ago, and the birthday gift arrived almost on time a few days ago. It takes some time to find a good match between the rider and the horse!

So we have a new pet (sort of): Novillero, a 7 years old lusitanian, a species from Portugal (click on the picture for a larger photoset). He is a very responsive horse, which will allow Claire to make a lot of progress, but is also very stable and forgiving.


Continue reading »

A new Ant/Ivy committer!

Posted on 26 February 2008 - 16:31

My dear colleague and friend Nicolas Lalevée has been elected committer on Ant/Ivy, the dependency management tool that allows the use of Maven repositories without the pain of Maven, for his work on the Eclipse plugin for Ivy.

I've been working with Nico for two years, and he's one of the main guys behind the Joost search engine, powered by Lucene, another popular Apache product.

Congrats and welcome in the big Apache tribe!

Latest tweets

Recent comments