One of the most interesting features about the Ubuntu's Unity desktop is that it takes the focus away from just applications and files and moves it towards discovering content. It does this through an interface (called the Dash) that is largely driven by a search window. To enable this system to focus on different content (e.g. to primarily look for music files instead of applications) different tabs appear on the Dash called Lenses. These can aggregate in to a general lens that allow searching across local and remote items in one go. What if this idea could be extended slightly to enable the discovery of Open Educational Resources (OERs)? The user might not have even heard about OERs, so might not think to go looking for them, but having OER discovery built into the operating system gets around this issue and makes every search a chance to learn. So I had a go at building such a Lens.
Three months have gone by since the release of the first version of the Scripting Layer for Android Tablet Remix. In that time quite a few changes have been made to the upstream version of the Scripting Layer for Android (SL4A) and I have had a few people asking me when these features are coming to the Tablet Remix. So just in time for Christmas I am pleased to announce that these changes have been imported into the source code for the Tablet Remix and it is now completely up to date with the latest SL4A features! Probably the most significant of these is the Full Screen UI.
There was once a time when Google was mainly associated with search, but today many of us use all sorts of Google services. The latest of these to draw a lot of attention is Google+ a relatively new social network which could maybe be described as a bit like Tumblr crossed with Facebook. Google offer APIs to many of these services and recently added a read only API to Google+. They also supply client libraries that are designed to work with traditional desktop environments but with a bit of modification can be made to work with the Scripting Layer for Android (SL4A). We need to modify the code in one of the program files that Google supply and change the location of some of the files, but after that you can go ahead and integrate all sorts of Google services with your scripts.
The Scripting Layer for Android (SL4A) and the new SL4A Tablet Remix have a lot of powerful features and interestingly can be used to consume data from a variety of sources both online and offline. The ability to work with some data sources, such as simple relational databases is built in, but thanks to the ability to add additional code libraries to this environment we also get the opportunity to work with non-relational databases and even Linked Data. In this article I will quickly show you how to work with three different types of data source using Python in SL4A: a relational database in the form of a SQLite file, a non-relational database in the form of CouchDB and Linked Data generated from Wikipedia which we will interrogate using the SPARQL language.
*** UPDATE: The second version of this app has now been released. This page has been updated with the new version. *** A couple of days ago on the android-scripting Google group I was very pleased to announce the first release of the Scripting Layer for Android Tablet Remix also known as SL4A Tablet Remix. As the name implies this is a version of the Scripting Layer for Android that has been adapted for Android Honeycomb tablets, especially the Asus EEE Pad Transformer. There is still a lot of work to do on this app and a lot of improvements that can be made, but at last in is in a usable state and if you enjoy programming or want to learn about it this could be for you. The app builds on the fantastic work done by the contributors to the original SL4A project and extends functionality to being the Honeycomb look and feel to the app as well as extending the programming environment provided by SL4A to take advantage of some of the great features of the latest Android tablets.
Recently my evenings seem to have been disappearing in the blink of an eye. It is funny that when you get really into a bit of computer programming time can seem to disappear quite quickly. It can be quite a fun and mentally challenging way to spend time, not to mention absorbing. So I am hoping the project I am working on will enable more people to join that fun by writing small programs on their tablets. I am working on a version of the Scripting Layer for Android ("SL4A" – which used to be known as the Android Scripting Environment) and adapting it for tablets, especially the EEE Pad Transformer. The aim is to make the package work well on tablets and to adjust the user interface to make the most of the screen and new features such as the Action Bar.
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.
Being a developer type I couldn't wait to start experimenting with coding on my new HTC Desire. Being Android powered it is very friendly and coding mainly takes place in Java, which I'm familiar with. This class of mobile device is incredibly powerful of course, armed not just with portability and web access but also decent processing power and a variety of sensors. We're still learning about what exactly this means and what opportunities it can bring and so it is very important to be able to experiment, try out ideas and build rough prototypes. This is where the Android Scripting Environment (ASE) comes in, and I used it to build a prototype application to scan a barcode on a book and use that code to see if it is in a library. Handy when deciding whether to buy a book!
The notification bubble is a well known feature of Ubuntu, gently informing us when we are online, when we get tweets and new email and so on. It has an interesting feature that it commands attention for a few moments, but doesn't get in the way and the user can return to what they were doing without really stopping. At the moment I am trying to learn a bit of Swedish and wondered if these attributes might help when learning new words. What if I could use the notification bubble to show me words at random intervals so grab my attention momentarily while using my computer?