on{X}

A cou­ple of weeks ago I came back from a great trip to vis­it my very tal­ent­ed and hip team at the Microsoft Israel Devel­op­ment Cen­ter in Tel Aviv.  Excite­ment was run­ning high as we geared up for the launch of on{X}, which I can now talk about, as it went live today.  Here’s the “trail­er”:

 

Eran, the team lead, already wrote a nice and detailed blog post for the web­site talk­ing about on{X}’s capa­bil­i­ties, so prob­a­bly I should just stick with the link.  I can’t resist reit­er­at­ing some of his points, though, and giv­ing a bit of my own col­or.

Some­time in the mid­dle of the last decade, it became clear to every­one that mobile phones aren’t appli­ances or pieces of sin­gle-func­tion con­sumer elec­tron­ics, but rather are lit­tle per­son­al com­put­ers— small enough to keep in your pock­et, and with just enough bat­tery to stay on the whole day.  I think that because of a kind of metaphor hys­tere­sis, the impli­ca­tions of this still haven’t ful­ly sunk in; we still call this device a “phone”, which is the same name we give to the fixed-func­tion radio hand­sets some of us still have docked in a cra­dle on the kitchen counter… which are in turn noth­ing but “cord­less” ver­sions of their mid­cen­tu­ry fore­bears, which in turn con­sist­ed of noth­ing but a speak­er, a micro­phone, some wire, and some kind of dial­ing appa­ra­tus encased in a Bake­lite shell.  Even that sil­ly word we use in Amer­i­ca, “wire­less”, sounds like more or less a syn­onym for “cord­less”.

So we now agree that it’s not real­ly a phone, but rather a tele­pho­ny-capa­ble pock­et com­put­er.  To call it a “phone” is an unnat­ur­al act of metonymy akin to call­ing a toolch­est a screw­driv­er.  Think of how fun­ny it sounds to say “my phone comes with a phone app pre­in­stalled”.

One odd­i­ty about this pock­et com­put­er idea is that unlike the big­ger com­put­ers those of us who like to hack have grown up enjoy­ing, smart­phones still inher­it much of the fixed-func­tion think­ing that per­vades con­sumer elec­tron­ics.  Deep in the phone’s OS is a kind of dis­patch­ing or com­mand-and-con­trol sys­tem, a switch­board, that takes all of those won­der­ful sen­sors and capa­bil­i­ties and orga­nizes them into rigid­ly pre­de­fined appli­ance-like behav­iors: when the always-on radio detects an incom­ing phone call, launch the phone app.  When there’s an incom­ing SMS, launch the SMS app.  You don’t need to know that there’s an app for that, because the phone itself does.

What if you could open up that switch­board on your own device and rewire it to do what­ev­er you want?  With all of those sen­sors and capa­bil­i­ties, and all the pow­er of the Inter­net, one should be able to do a lot more than per­form fixed phone-like func­tions and run apps.

This is espe­cial­ly inter­est­ing when it involves the automa­tion of actions based on events on the phone or in the world, which one could call “push” or “reac­tive” behav­iors.  (This is to dis­tin­guish them from “pull” behav­iors, which are char­ac­ter­ized by begin­ning with an explic­it user action with intent— for these cas­es, the app mod­el works well.)  We think there’s great untapped poten­tial in push and reac­tive pro­gram­ming.  The sam­ple sce­nar­ios and scripts we’ve put on the site begin to explore the pos­si­bil­i­ties, but we imag­ine that the devel­op­er com­mu­ni­ty will come up with a much, much larg­er set.  That’s why we didn’t restrict on{X} to pre­script­ed rules, but rather made it pos­si­ble for any­one with JavaScript skills to hack a new behav­ior.  This think­ing (and of course our choice of script­ing lan­guage) is very much inspired by node.js.

The most excit­ing thing about this project, for me, will be see­ing what peo­ple do with this wide-open field.  Mak­ers, have at it!

In the mean­time, we’ll be busi­ly adding capa­bil­i­ties and shar­ing ideas.

3am update: appar­ent­ly we’ve just made App­Brain’s top 10 hottest Android apps :)

This entry was posted in mobile and tagged , , , , . Bookmark the permalink.

4 Responses to on{X}

Leave a Reply to blaise Cancel reply

Your email address will not be published. Required fields are marked *