Gnome 3.0 Needs To Clarify and Unify the API

Posted on 2005-08-18 at 08:05

It's time to invite in the outside developers. It's time for Gnome to design a clear and hierarchical Application Programming Interface modelled after Java or Mono. Something that can be bound to many languages, but which is, itself, simple and powerful. Said API should be heavily based around the First Class Objects I described yesterday. A progmrammer that hasn't ever worked in Gnome should be able to sit down and figure it out. Something that looks sane like this:

Person John = New Person("John Doe")
John.SendMessage("Hi John!")

or maybe something like this:

Event BirthdayParty = New Event
BirthdayParty.AddPerson "Bob"
BirthdayParty.AddPerson "Alice"
BirthdayParty.AddPerson "Krusty the Clown"
BirthdayParty.SendInvitations(viaEmail, withRVSP)

Of course, those are extremely simplified, but I don't see why the final API couldn't be pretty close to that easy. A simple dotHierarchy like that found in Java and .NET or Mono is the way to go. No reason why programmers couldn't choose to write their apps in C or even Assembly, but the API bindings should expose the objects in a manner similar to that which I've described briefly here. This mess about each different subsystem having it's own API that may or may not bear any resemlbance to other APIs and which does not relate to the system as a whole sucks. It's ain't working. Gnome is not sucking in new developers at any serious rate. Take a play from Microsoft's playbook: Attract the developers, let them write interesting apps, then watch the users follow the interesting apps like breadcrumbs to your platform. It works.

Make A Comment