Something I have been meaning to do for ages is to have a go with a MeeGo image on a Nokia N900. MeeGo is a Linux distribution intended for embedded devices and netbooks. It is the merger of Nokia's Maemo project and Intel's Moblin project and aims to produce a distribution suitable for use on set top boxes, mobile phones, tablets, in-vehicle entertainment systems. It is also backed by The Linux Foundation who are already offering a training course in it. At the end of October MeeGo v1.1 was released which includes an installable image with a user interface for the Nokia N900.
There's nothing like the expression of mild surprise to confirm that a radical change in the technological landscape is taking place. While showing people the latest phone I've on review, the ZTE Racer (a £99 pay as you go Android phone from 3 UK) I was struck by how many times I heard things like “Oh, that's actually alright, isn't it?”, maybe a realisation that smart phones are arriving for the masses and not just people who are prepared for spend hefty sums on the latest shiny gadget. This isn't a unique offer either, other networks are offering budget Android smartphones (notably Orange with the San Francisco) so now many people who might not have considered owning a smart phone could now do so leading to some interesting changes and new opportunities.
Google's App Engine offers an attractive idea for web developers of being able to use Google's famous server infrastructure to serve up their own code and interactive websites. If you develop for it though you might find it is a bit different from developing for other types of web host and some of the concepts are new. I've been asked if I would do a simple run through of how you would set up an application and handle an HTTP GET requests with parameters, so here is a tutorial that will not just say “hello world” but greet you by name. The example is deliberately simple, but the concepts in it can be built on for many other uses. This example uses Python, if you would like to see a Java version then please mention it in the comments.
Extracting data from the web to use in our computer programs has always been a challenge. Many developers will be familiar with techniques such as Web Scraping, trying to parse a human readable web page and extract data and might dream of more reliable ways to query different sources for data in a standardised way. Linked Data is a proposed answer to this issue that seems to be gaining some momentum with data being exposed in this format by organisations such as the British Govenment and my own employer The Open University. So how do we query these resources and get the data into our PHP scripts?
Back in July I wrote about an Android tablet computer that I picked up on Amazon for £85. This is a really interesting device and seemed to do quite a lot. A couple of things really let it down though, its speed and the fact that you could not use Android Market with it, making obtaining most Android applications quite difficult. Fortunately a group of enthusiasts have formed a community around this device, the Eken M001, and similar devices over at Slatedroid.com. A couple of people there have put together a new firmware image which is still in beta but I've been trying it out and I am impressed so far! The tablet now has a working Market and feels much more responsive.
I am a big fan of Delicious the online bookmarking site. It has proved very useful to me as a way to find information and build a collection of links that are useful to me. Delicious also has a really good mobile site and can be a good way to retrieve links from earlier research while out and about. One issue that is always a bit fiddly with mobile devices though is text entry, so wouldn't it be great if we could just say out loud what terms we would like to search for and populate the search box with that? Interestingly this is quite an easy facility to build with the new Android App Inventor. In just a few clicks we can build an application that takes voice input, processes it and then launches a web page with a search box populated with those terms.
Google's Android App Inventor is great fun to play with and I think represents a fascinating leap forward in mobile application development. It provides a whole toolbox of ready to go functionality, but sadly missing from this toolbox are facilities to interact with web sites and services (with the exception of Twitter of course). However there is one component that provides a glimmer of hope and if you want to publish data in a way that can be used by Android App Inventor developers then you can use this component with a PHP script to easily pass data to the mobile device.
Recently I got my invite to try out the beta of Google App Inventor for Android, a simplified environment to enable people to create applications for Android based phones using visual building blocks instead of a programming language. Google have written extensive set up instructions to get your computer and phone set up: http://appinventor.googlelabs.com/learn/setup/index.html but also on this page is a bit of text that could cause us trouble: "If you are using GNU/Linux, then you should use Sun Java rather than OpenJDK. App Inventor does not work well with OpenJDK." Unfortunately OpenJDK is the default for Ubuntu 10.04 and it might not be obvious how to get the Sun version, so I thought I'd better document what I did to get it working.
Back in June I attended an event where the new version of 3's MiFi was shown off publicly for the first time. I was impressed then with it and the improvements over the original version and have now, thanks to ThreeMobileBuzz had the chance to trial one of these, putting it through its paces in a variety of situations. The device did not disappoint and proved useful in many situations and easy for people to use. The MiFi 2 feels a lot easier to use than its predecessor. This is perhaps odd as the MiFi 1 was not very difficult to use, but never really felt responsive. The lights on the front of the original unit sometimes didn't help much and when starting up the device, if you are in impatient type, it was easy to think that it was not working. The one button design of the MiFi 2 and the informative screen solve all of this by providing a very obvious visual indication of what the device is doing. It is really easy to tell when it is starting up, or ready to use and the availability of this information greatly enhances the user experience. You get help cards and a set up guide to help you on your way too.