on{X}

A cou­ple of weeks ago I came back from a great trip to visit my very tal­ented 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 “trailer”:

 

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 color.

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 single-function con­sumer elec­tron­ics, but rather are lit­tle per­sonal com­put­ers— small enough to keep in your pocket, 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 fully sunk in; we still call this device a “phone”, which is the same name we give to the fixed-function 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­tury fore­bears, which in turn con­sisted of noth­ing but a speaker, a micro­phone, some wire, and some kind of dial­ing appa­ra­tus encased in a Bake­lite shell.  Even that silly word we use in Amer­ica, “wire­less”, sounds like more or less a syn­onym for “cordless”.

So we now agree that it’s not really a phone, but rather a telephony-capable pocket com­puter.  To call it a “phone” is an unnat­ural act of metonymy akin to call­ing a toolch­est a screw­driver.  Think of how funny it sounds to say “my phone comes with a phone app preinstalled”.

One odd­ity about this pocket com­puter 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 inherit much of the fixed-function think­ing that per­vades con­sumer elec­tron­ics.  Deep in the phone’s OS is a kind of dis­patch­ing or command-and-control 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 rigidly pre­de­fined appliance-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­ever you want?  With all of those sen­sors and capa­bil­i­ties, and all the power 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­cially 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 explicit user action with intent— for these cases, the app model 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­oper com­mu­nity will come up with a much, much larger set.  That’s why we didn’t restrict on{X} to pre­scripted 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 busily adding capa­bil­i­ties and shar­ing ideas.

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


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

2 Responses to on{X}

  1. Anonymous Coward says:

    No, not more push capa­bil­i­ties! Push is syn­ony­mous with dis­rupt. Life has too many dis­rup­tions as it is and once you open a con­duit, peo­ple will find a way to abuse it.

    • blaise says:

      Based on both the com­ment and the IP address, Anony­mous Cow­ard, I’m guess­ing you’re my father :) I agree that push can eas­ily be abused, but keep in mind that on{X} is purely about automa­tion of one’s own device– like set­ting an alarm, except that the con­di­tions for the alarm can be much more gen­eral than a time– they can be, for exam­ple, a place, or a sen­sory stim­u­lus– and the result can be much more gen­eral than an alarm bell– e.g. send­ing a text mes­sage. You can only spam yourself :)

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>