development

Developing a Roku channel is fun!

I recently treated myself to a Roku LT which is an inexpensive little gadget (currently retailing for about £40) that streams content from the Internet to your TV. Roku has got a lot right with this device. It is simple to use, the user interface is consistent, and it is compact - the unit is about the size of a hockey puck. A software development kit is also available so you can develop your own apps, or channels in Roku-speak. So I set myself the challenge of writing a new channel to see what developing for a Roku box is like.

Node.js, CouchDB, CouchApps and PHP 5.4 on the Raspberry Pi

A close up of the Raspberry Pi

The Raspberry Pi might not be a heavyweight in the specifications department but that is no reason why this inexpensive educational computer shouldn't help you learn more about some of the latest technology used to create web sites. The availability of some of the latest open source software in Arch Linux ARM introduces the exiting possibility of using the device as a mini portable web server (you could even battery power it). This could be very useful, not just for learning about these new technologies but also if you wanted to try your sites out with client machines that may not let you install server software locally, e.g. phones, tablets and set top boxes.

Focus on Open Educational Resources with an Ubuntu Unity Lens

Search box of OER Commons Unity Lens

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.

Scripting Layer for Android Tablet Remix - Release 2!

A road scene phptographed on long exposure to show a trial of lights

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.

Scripting Layer for Android Tablet Remix - Release announcement

Small figure carrying a memory module*** 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.

Book Review: Building Web Apps for Google TV or "Why I read this book even though I don't have Google TV"

Book cover

I don't own a Google TV device and I live in the UK (at the time of writing Google TV boxes are only available in the US) so why, you might wonder, would somebody in my position want to read a book about how to build apps for it? Thanks to the magic of web technologies it turns out that in the context of this book not owning a Google TV device doesn't matter all that much. In fact if you have a computer that runs Google Chrome then this book can still work very well as a primer on how to develop for the TV web and the issues involved. If you already have web development or design skills and want to start developing for TVs this book could be for you as it will tell you not just about the technology involved but also how to create an experience for the user that will work in the living room.

Adapting Android Scripting Layer (SL4A) for tablets

SL4A logoRecently 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.

Using Linked Data and jQuery Mobile to produce a podcast explorer web app

A podcast playing on a mobile phoneIn a recent poll on this site I asked "Do you have, or are you planning to learn, any skills related to Linked Data?". Interestingly 60% of respondents (there were 101 votes) said yes, so I thought I should finally get round to writing up a demonstration app that uses Linked Data to provide the information and jQuery Mobile to provide the looks (and more) for a mobile podcast by subject explorer. The site is written using PHP and was developed quite quickly. Again I will be using the Open University's Linked Data store, but the site could easily be adapted to use other stores, maybe even more than one store. Thanks to the use of jQuery Mobile it would even be possible to take the site and embed it in a thin app on the phone to make it look a bit like a native app. Of course the site is a bit rough and ready and I am sure there are thousands of ways to improve it, so experiment and let me know how you get on in the comments.

Converting a Bookmarklet into an Android Share app

Partial screenshot of the Delicious web pageI read quite a lot of web pages on my Android tablet and it is useful to be able to save them to my Delicious account so that I can look at them again later. On desktop browsers it is possible to save items using a small bookmarklet that lives on a menu bar in the browser. This very handily gets the title and address of the current page and prepopulates the fields on the Delicious save form, it also shows suggested tags. Sadly on the tablet it is not possible to use bookmarklets* in the same way and the apps I found that shared to Delicious used the mobile version of the save page. So I went about converting the bookmarklet into a small app that would hook into Android's Share functionality. The app could easily be repurposed to use in the place of other bookmarklets too, so here is an explanation of how it works.

Using the EEE Pad Transformer with the Android SDK on Ubuntu

New Android project wizard on EclipseJust a very quick post about how to get the Asus EEE Pad Transformer working with the Android SDK and Eclipse under Ubuntu 11.04. As the emulator for Android tablets can be a bit slow this could be a handy way to test out applications as you build them. The starting point is to follow the instructions under Using Hardware Devices page on the Android Developer website. Following these instructions I got the machine working on my machine so I thought I would share what I did here.

First edit a new file:

Pages

Subscribe to RSS - development