Google's Go programming language looks like something interesting to explore and one of the aims of the Raspberry Pi is to enable people to learn programming. However if you are using the new Raspbian distribution you may have noticed that the golang package does not work due to problems with the way it is compiled. The package installs without issue but if you attempt to run Go it crashes in a quite ugly way. Fortunately thanks to the power of the Debian package management system used on Raspbian it is relatively straightforward to grab the source of the package, change it and rebuild it so it does work. This is preferable to rebuilding it from the source code on the Go website as it means that the work done to integrate it with the operating system will remain intact.
You are here
On Saturday I decided to go out and but the snappily named Sony NSZ-GS7 Internet Player with Google TV, but on Sunday, with great disappointment I took it back. I have been following the Google TV story for some time and was looking forward to it coming to the UK. The price tag of £199 for the box seemed a bit hefty, especially when compared to games consoles but that can sometimes be the price of being an early adopter. I have an Android phone and an Android tablet so a Google TV box would mean that the biggest screen in my house - the TV could be integrated into the Android eco-system. The box would also integrate with my satellite box to some extent, hopefully bringing Internet and broadcast TV closer together. Most of all it is a consumer device so I was hoping that this sort of box would have the potential to change the TV experience for many people. However when I got the box home the disappointment began.
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.
When you are sat on the sofa at the end of the day relaxing and watching TV, maybe eating food and not in the mood to have to keep constantly making decisions about what to watch you might not think that you are in a situation where Linked Data and SPARQL queries could be useful. Yet the flexibility of the data that can be obtained from data sources supporting these technologies makes them ideal candidates to power a Leanback TV experience. With the right query it is possible to curate a collection of video podcasts that can be played one after each other to keep the TV viewer happy. They still have control, they can still go to any podcast in the collection, but they are not faced with a decision every ten minutes about what to watch, allowing them to relax and discover new content.
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.
Summer is an odd time. With no ice hockey matches to attend our thoughts turn to other subjects, such as why does RefSignals sometimes repeat questions? I've been asked a few times about how to stop it doing this, so here is a solution. RefSignals is an Android app built with Google App Inventor for Android that quizzes you on the signals made by referees during ice hockey matches. In February I wrote about this app and published the source code so that people could take it and use it as the basis for their own quiz apps. The response was great and the app has been remixed for all sorts of subjects so I hope this will come in useful.
If you would like to take your first steps in mobile app development then a book worth a look is App Inventor for Android by Jason Tyler. It is aimed at people starting out in programming and those who want to know how to get the most out of Google's innovative app creation platform of the same name. The book takes you from the basics to some surprisingly advanced applications. For me it it is a significant book too as I worked on it as the Technical Editor, my first time in such a role.
*** Update! See: RefSignals: A quiz app built using App Inventor - how to stop repeated questions for an improved version of this app! ***
I've been going on quite a lot about Google's App Inventor for Android to anybody who will listen recently. An example application I show them is one I built as a result of a conversation I had with my friend Georgina Parsons while we were sat in an ice rink in Gothenburg, Sweden watching a great match between the Frölunda Indians (the local team) and HV71. Ice hockey is a shared interest of ours but normally we attend matches in England so following proceedings in Swedish could be tricky. Fortunately the referees have a series of standard signals they make to indicate which penalties they are calling and our conversation turned to how it would be great to have a mobile app to help us learn those signals.
Many organisations are offering rich Linked Data stores now that you can interrogate with the SPARQL language. This data might be interesting for the mobile app developer to work with so it would be great to be able to experiment with this data in Google App Inventor for Android applications. At the moment you cannot do this directly as App Inventor only offers quite limited functionality to interact with the web, however with the help of a server side "bridging script" we can close that divide and send a SPARQL query from inside the application and deal with the results we get back.