Skip to content

Android For Retail?

June 28, 2010

When we began developing products for the point of sale space at Solertium and RMR, we made a couple of key, no-turning-back technology decisions:

  • The client would be browser based
  • The server would be cross-platform and distributed

We started development at about the same time as Google announced its Chrome OS initiative, which looked like it might eventually be a great operating environment for client stations. We also started out demonstrating our browser based capabilities on the iPhone, which was the dominant smartphone in the market, firmly occupying the category it redefined.

“Way back” then — early 2009 — Google’s Android platform existed largely in the lab.  The T-Mobile G1 was the only generally available hardware device, and it had met with only a lukewarm reception.  How things have changed since then!  Android has developed considerable momentum, overtaking iPhone in US market share in Q1 2010 — though iPhone 4 will surely try it’s darnedest to reclaim the title in Q2.

Let’s ignore mindshare for a moment.  Capability-wise, Android has also caught up, and then some.  A year ago, it lacked multi-touch support, and lagged considerably behind iOS in performance.  But the Android 2.2 (FroYo) release has pulled ahead in some respects.  A demo at Google I/O showed an Android phone demolishing an iPad in browser JavaScript performance.  Of course browser JavaScript is just one piece of the performance puzzle, but it’s still a great demo.

Android is definitely not just for phones any more; in May 2010, Google announced its Google TV initiative, which is essentially a reimagining of the Tivo concept on the Android operating system. It’s notable because big partners like Sony, Dish Network, Logitech, and Best Buy have committed to it.

But, even if it’s useful for more than phones, the official builds of Android still only run on the low-power ARM chips found in phones and other small embedded devices.

Enter the very recent news — which seems like it follows naturally from the Google TV announcement — that Intel will support an official port of Android 2.2 to Intel chips.

Until this release, to be made available this summer, the only way to run Android on a non-ARM device is to use an unofficial port done by the awesome volunteers at android-x86.org.  As the expression goes, your mileage may vary.

The Intel port will focus on the Atom chips present in many netbook and slate form factor devices, and, we can expect, they will provide good support for Intel video controllers, sound controllers, and the multi-touch screens found on coming Intel-powered netbooks and slates.  Intel has committed to contribute its vendor overlay to the AOSP directly, which provides some insurance of the port’s longevity if Intel’s interest wanes.

Meanwhile, Chrome OS still doesn’t exist.  Based on the Chromium OS dailies, its focus remains very clearly on the browser.  It presents a net-top OS in which the browser is the entire view to the world. This might be the future, but in a world of “App” explosion, it also might not be.  Certainly I feel unwilling to make this leap of faith myself.

Experiment

We recently came into possession of some used PioneerPOS equipment that was used to run VergePayPOS beta with a customized Ubuntu Linux, sporting Firefox and a locked-down window manager. This environment can run both the client and server pieces of the software.

I installed the 1.6r2 build of android-x86 on the PioneerPOS, which booted and ran fine. Specific drivers for our hardware weren’t included in the build, so the display was a basic 800×600 VESA and the touchscreen only marginally worked — axes reversed, etc.

Nevertheless, I was able to easily open the VergePay client in the display and use it normally, with some scrolling, given that it was designed for 1024×768 screens. The speed of the client application is dramatically better than on the Firefox/Ubuntu version. All of the efficiency packed into Android for small and slow devices really shows up at the macroscopic level when running a full-screen, Javascript intensive application.

I can’t overstate this in terms of impact and feel.  The GWT application running in Android’s browser on an x86 machine responded as if it were truly a native application.  Really slick.

Given this performance, it’s easy to conclude that a properly supported Android 2.2 on Intel would be a fantastic client for VergePayPOS’s browser interface.

Server Side Possibilities

The VergePayPOS server is developed using a typical embedded-Java approach. It targets the GoGoEgo application server, which is run under standalone Java. To run it on a standard Mac or Linux system, we install and configure Java as necessary, then run the GoGoEgo executable from the command line. Updates, etc. need to be generally done by hand, or mediated by the software itself. During beta we have been pushing updates out by sending OSGi modules over rsync (ssh).

Android offers us the opportunity to run the server side as an app, which can be downloaded, installed, updated, etc. by the operating system. The code need not change much; it’s still Java (Android is a Java based OS). Android has some restrictions that must be observed, though, and there are differences; Android Java is a clean-room implementation (Apache Harmony and the Dalvik VM) unrelated to Sun Java.

But I find something seductive about the idea of re-imagining the VergePayPOS server side as a collection of Android apps. This would provide an ability to remix the platform at a consumer level without requiring much if any involvement by an integrator. Features like c-store support, processor integration, etc. could all be delivered as discrete apps. The App Store / Android Market purchase model is well understood by consumers at this point.

I see no reason yet to abandon the generic multi-platform Java server install for projects like VergePayPOS — certainly it is the traditional way of doing things — but it seems that a broad range of opportunities is about to open up in the Android space. Dozens of compatible devices are about to hit the market in the next year, and at least some of them will have capabilities that make them ideal for retail environments.

I’m looking forward to taking the experiment to the next level with an Atom-powered FroYo device later this summer. Any point of sale hardware vendors willing to give it a shot?

Advertisements

From → Technology

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: