Skip to main content

Microsoft mobile scripting platform ON(x) is a game-changer

Microsoft announced today a new mobile scripting platform which they're calling ON(x), pronounced "onyx." ON(x) isn't just making apps easier to develop, it's a real game-changer, in that it makes some very sophisticated technology available to app developers that until now they've had to develop themselves.

ON(x) was presented briefly at the Think Next 2012 event hosted by the Microsoft Israel R&D center.  It's scheduled to be available in the summer.

In a nutshell, ON(x) enables scripts to be invoked based on a huge variety of trigger events.

ON(x) scripts are built using a visual editor, where the user defines the trigger actions on which a script is run and the action which is carried out.  Examples include things like "when my wife sends me an SMS that says 'where?' send her back an SMS with my location.

Behind the scenes, these triggers/actions are turned into JavaScript code, and users can edit this JavaScript to customize either the conditions or the actions that are taken.  To the right we see a sample script that reminds the user to buy milk when they get close to home.  The JavaScript shows aspects of this trigger and action that can be modified by anyone who wants to edit the script code.

I think, however, that the real magic of ON(x) is the sophistication that Microsoft has built into the trigger events.  These trigger events include the obvious events, like incoming calls or SMSs, or new Wi-Fi networks or Bluetooth devices in range.  But they also include triggers that are much more sophisticated than the usual OS-level triggers, like geofencing and motion analysis.

Geofencing is the technology underlying location-based reminders - the ability to trigger a script when the phone gets to within a given distance of a known location.  For example, I may want my phone to alert me when I'm within a half-mile of my local drugstore, so I can buy band-aids.  Or I may want a wake-up alarm when I'm on the train and get to within 5 minutes of my station.  There are apps that do this, but it's very hard to do well - if an app checks GPS every minute, it'll drain the battery, but if it checks every hour it'll miss the alerts.  Serious location-based reminder systems take a sophisticated approach to geofencing, such as calculating the earliest that a given alert might be relevant based on the user's current location and likely travel speed, to minimize battery drain.  By taking geofencing and making it part of the platform, Microsoft is taking the responsibility for all this sophistication, and letting apps work on the functionality and user interface.

Microsoft has some serious research in this area, including a patent on calculating travel time (see flowchart) to determine when to next check the device's location, and including more general research on finding nearby ways to take care of goals that the user has.  We don't know whether this research was implemented in ON(x), but it doesn't really matter.  Regardless of the details, it's game-changing for app development nonetheless, because script developers can worry about the end-user functionality and leave the geofencing complexities to Microsoft.  We do know that Microsoft implemented ON(x)'s geofencing to minimize battery drain.

Many other companies are researching this area as well.  Apple has research in using real-time traffic reports to guess how long it was take to reach a given location.  And a Symbian app called WakeUp reminds a user when they're approaching a given location based on how fast their train is traveling. More details on research in this area is available in this report.  But by embedding this technology into a scripting platform, Microsoft is opening it up to a myriad of new applications.

Another sophisticated trigger event that ON(x) supports is "mode of transport detection," where a phone's accelerometer is used to detect whether the user is walking, running, driving, etc.  Scripts can then be activated when the user's mode of transport changes, e.g., to do whatever the user wants done while driving or running, like raising the ring volume and automatically activating the speakerphone.  Microsoft has some research in this area, but interestingly, Google appears to have some very sophisticated related research (shown on the side). We assume that the Microsoft researchers have come up with novel methods that avoid a patent conflict with Google, and more importantly, again, by releasing this technology within an app platform, they're opening it up for any app developer to leverage.

From a business standpoint, Microsoft has made a great decision to release this not only on Windows Phone, but also on Android and other phones.  By putting this out for general purpose use, they're enabling a wide range of apps to leverage their technology and correspondingly to tie themselves in to Microsoft.

Note that there are other mobile scripting platforms out there, including Android Scripting system and the PyS60 Python for S60.  But neither of these currently has serious support from a major company.

We look forward to ON(x)'s release, to seeing the sophisticated uses that app developers come up with, and also to seeing whether competing platforms can release such sophisticated technology for all to use.

Way to go Microsoft!



Popular posts from this blog

Intel demos indoor location technology in new Wi-Fi chips at MWC 2015

Intel made several announcements  at MWC 2015, including a new chipset for wireless connectivity (Wi-Fi) in mobile devices. This new chipset, the 8270, include in-chip support for indoor location positioning. Below we explain their technology and show a video of it in action. With this announcement, Intel joins Broadcom, Qualcomm and other chip makers in moving broad indoor location positioning into mobile device hardware. The transition of indoor location positioning into chips is a trend identified in the newest Grizzly Analytics report on Indoor Location Positioning Technologies , released the week before MWC 2015. By moving indoor location positioning from software into hardware, chips such as Intel's enable location positioning to run continuously and universally, without using device CPU, and with less power consumption. Intel's technology delivers 1-3 meter accuracy, using a technique called multilateration, generating a new location estimate every second. While 1-

Robot Camera Foreshadows an Era of Location-Aware Electronics

A French company called Move 'N See produces a line of camera robots. Their devices act as a smart tripod, holding a video camera and automatically moving and zooming the camera as people of interest move around a site. The idea is simple but amazingly innovative. Photo selfies are easy to take, but video selfies are next to impossible. How can I video myself playing football or doing gymnastics, without setting the camera so far back as to be useless? Do spectators want to spend an entire sporting event carefully videoing their friend or relative moving around the field? Enter Move 'N See's "personal robot cameramen." Their devices aim, pan and zoom a video camera as one or more people move around an area. The people of interest wear armbands whose locations are tracked, enabling the camera controller to know where to aim the camera. The camera controller also includes enough smarts to adjust the camera smoothly and to capture multiple people evenly. T

Waze and Google Maps: A Quick Comparison

I've been a big Waze fan for years, relying on it to make my daily commute as quick as possible.  I try to never leave my hometown without checking Waze first to avoid getting stuck in traffic. For those of you who don't know about Waze, they basically crowd-source traffic information, learning where traffic is slow by measuring how fast their users are moving.  This traffic information is then used to route people in ways that will truly be fastest.  (Apple has reportedly licensed Waze data for their upcoming maps app.) Waze is used most heavily abroad, and is only recently building a following in the States.  (It was also just reviewed on the Forbes site .)  So on a recent trip to the States, I decided to compare Waze to the latest USA-based version of Google Maps for Android. In a nutshell, I reached three conclusions.  (1) Google's use of text-to-speech in their turn-by-turn directions is very nice.   (2) Google's got Waze beat in terms of explaining what