There are many use cases, such as audio guides or kiosks, where you would like to lock down access to the device you are letting members of the public use.
Not surprisingly, this is one area where Android is strongly ahead of iOS, as Androids open architecture and level playing field of "all apps are created equal" means that implementing a locked down "kiosk" mode with Android simply requires building an app that displays full-screen and which has an Intent filter in its Manifest of:
<category android:name="android.intent.category.HOME"/>
and then setting this app as the new default Home Screen handler the first time the home button is pressed.
In fact the SDK even ships with example code.
Doing this means the user will not be able to "escape" your app, even by powering cycling the device.
Of course there are other possible uses for this facility such as a child lock to allow small children to only access a fixed set of apps on a device.
This is in stark contrast to iOS, where Apple abandoned the simple "Notes only" (aka Museum Mode) mode available in the classic iPods (that was used to create simple locked down audio tour style applications by my organisations) and thereby created a whole cottage industry of custom (ugly) cases and nicer looking stands:
However things did got a little more complicated when Android Honeycomb was released.
Honeycomb, unlike previous versions of Android, was created specifically as a stop gap measure to work well on large screen tablets and as part of this drive, Google moved to using on screen controls for the Back, Home and Menu functions that had previously been implemented as hardware keys on phone devices.
Because of this, the above technique would longer work. Those on screen buttons were handled by the operating system and no API was provided for Apps to remove or disable them, only dim the display of the control in a "lights out" mode. This was of course done for the very good reason that ap should not be able to prevent the user from always being able to return to the Home-screen or move back through the View stack.
People of course found work arounds, though these required root access to the device, which is often a difficult or fiddly process and will mostly be considered to have voided the devices warranty.
The good news though is that the above difficulties maybe only temporary, as with the release of Icecream Sandwich (Android 4) Google unified the tablet and phone versions and with ICS supporting older devices with hardware keys and therefore, I suspect that there will be a method to fool ICS into thinking its running on device with hardware keys, even when installed on a Honeycomb tablet device without them and without requiring root access, though I have not yet had enough time browsing the ICS AOSP code to confirm this, so stay tuned...
One Man Band
Single-handed software development
Wednesday, December 14, 2011
Monday, November 21, 2011
The Red Pill
During 2009-2010, I worked on implementing, launching and supporting the Matrix CMS at the NGV. Matrix is a GPL-licensed, CMS written in PHP, produced by an Australian company Squiz.
To give this series of posts some context, I'll look at how Matrix is used at the NGV on the newly re-launched NGV Collection Online. In the first post, I'll cover some background to the project and issues that need to be considered when "porting" a custom-built web application into a Matrix implementation.
While on the surface, Matrix looks like just another of the multitude of CMS's available, it incorporates a number of very powerful concepts that make it very flexible and closer to full blown web development platforms such as RoR and Helma. I want to write about some of those features here. I'll be looking at Matrix from the point of view of a web developer instead of just reviewing its "feature checklist" and I'll also try to look at its benefits from the view point of web designers and content managers as well as a web developer.
To give this series of posts some context, I'll look at how Matrix is used at the NGV on the newly re-launched NGV Collection Online. In the first post, I'll cover some background to the project and issues that need to be considered when "porting" a custom-built web application into a Matrix implementation.
Labels:
matrix cms php
Tuesday, October 18, 2011
My 3 rules for using Twitter
- Do not post inane messages about what you are currently doing (e.g. "eating eggs for breakfast", "on train to work", "feeling ambiguous about the world")
- Do not follow any who posts inane messages
- Do not hold conversations - I have an email account, I have a blog with comments, if you want to converse with me, use them.
Tuesday, October 11, 2011
Blast from the past 3
And finally an opinion piece I wrote in Aug 2009. I publish here as is, though in the time since then I changed my thinking a little and would be more critical of how Google runs some of its projects as "over the wall OSS" (e.g. Android) vs real out in the open development (e.g. Chromium). Both Apple and Google still have a lot to learn from the likes of Mozilla and Linus...
----
freedom
With all my recent posts criticising Apple, the iPhone and App Store and promoting Android, I've not mentioned the thing that annoys me most: when people advocate Apple as the "alternative" to Microsoft. Sorry folks, Apple's just Microsoft with snappier dress sense. Apple cares about as much about their users as M$ does.
"...That you can't trust freedom
----
freedom
With all my recent posts criticising Apple, the iPhone and App Store and promoting Android, I've not mentioned the thing that annoys me most: when people advocate Apple as the "alternative" to Microsoft. Sorry folks, Apple's just Microsoft with snappier dress sense. Apple cares about as much about their users as M$ does.
No the real alternative to both is Google.
Why?
Certainly not because they are somehow virtuous or have the best intentions of you and me at heart, but simply because they have proved with deeds and actions their best effort at working in the open using open source.
In contrast, to Apple OSS is like some dark dirty little secret, I'm sure if they could, they would not even talk about how much of their products are built on OSS foundations.
No in Google I trust only where they have done great work improving and promoting OSS, be it Android, Chrome and many more less well known projects.
Linux and OSS in general is the real future our industry and I find the sentiments behind my approval of it and my dislike and distrust of both Apple and Microsoft expressed aptly in the lyrics of Guns&Roses Civil war:
When it's not in your hands
When everybody's fightin'
For their promised land"
When everybody's fightin'
For their promised land"
Blast from the past 2
Heres another unfinished post from my drafts folder, from over 3 years ago. How times have changed, once Google actually produced ChromeOS and ChromeBooks the pundits seem to have changed their tunes...
I'm not the only one who rally wants something like the eeePC.
Too bad its taken so long for a proper modern version of my trusty old NC100.
I'm not the only one who rally wants something like the eeePC.
Too bad its taken so long for a proper modern version of my trusty old NC100.
Blast from the past 1
Heres a blast from the past. I found this unfinished post sitting in my drafts folder, back from 2007! ...
snowball: Server-Side Javascript
Some of this is a bit old now, but interest in server-side javascript (I hereby coin it: "saj" :-) is really building up some mind-share momentum:
Even Russell Beattie has thoughts on javascript and most interstingly serverside js:
http://www.russellbeattie.com/blog/what-about-sun-embracing-javascript
snowball: Server-Side Javascript
Some of this is a bit old now, but interest in server-side javascript (I hereby coin it: "saj" :-) is really building up some mind-share momentum:
Even Russell Beattie has thoughts on javascript and most interstingly serverside js:
http://www.russellbeattie.com/blog/what-about-sun-embracing-javascript
Sunday, October 09, 2011
Subscribe to:
Posts (Atom)

