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.
web
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.
Internet video is largely dominated by short clips. YouTube, probably the most popular video upload service limits the length of individual videos to ten minutes for most accounts. So what happens if you just feel like relaxing in front on the TV, kicking off your shoes and just want to be entertained without having to make lots of decisions on what to watch? Fear not, solutions are emerging to meet this requirement and out of curiosity I sat on my sofa and tried two out: the new YouTube Leanback and Redux.com's “Watch in TV mode”.
Boxee is easy to use, mainly you need only six buttons on a remote to control it (the navigational keys, select and back). Sometimes you need to enter some text, maybe for a search box or to use the new feature of adding a comment to an item you liked. This can be time consuming with a normal remote, so the ideal device would have a little keyboard like the Boxee remote or the Logitech diNovo Mini ™ (which does seem a little expensive). The Nokia N900 has a nice backlit hardware keyboard though and a touch screen. One possible snag you might think is the lack of a “app” to control Boxee (such as the ones available for Android and iPhone), but “if you can't do something do something else” (according to a saying I may have made up). Fortunately it is possible to control Boxee through a browser, and this approach might work for other mobile devices too.
Despite the idea of "being in Cyberspace" and the power of the Internet to connect us to people all over the world regardless of our location, we often use a browser to find out about people and services close to us. These might be queries such as finding the opening times of a local store, the time of a train or local expertise. Each time we do this it is often necessary to tell the website where we are, typcially by providing a post code, but what if you don't know the postcode? Fortunately browsers and becoming much more clever, and some can even work out where you are.
Since my last blog post on the Nokia N900 I have been experimenting more with this Linux powered device and thought it was time to go a little further to see what it could do. Just over two years ago I wrote about using the Asus EEE PC as a “server in your handbag” running Apache 2, MySQL and PHP. I could not help wondering if such a feat was possible on the N900, after all it is a Linux machine, a small computer, but running the LAMP stack on a mobile phone? Maemo, the N900's operating system is a derivative of Debian, but the packages needed have not (yet) been ported, however, there was another route: Easy Debian.
There was once a time when the computer industry was not really people orientated, instead the focus was on pushing data around and worrying about nothing but algorithms. Those days ended with the arrival of Web 2.0, the web changed forever, the model of top-down publishing of content was revolutionised by the idea of users generating content and maintaining connections with each other through social networks. Sites like Facebook and Twitter have brought the web alive as a social space, but what if you want to implement some of these ideas on your own site? This is where Michael Peacock's new book Drupal 6 Social Networking may come in very handy.
There is no doubt that the mobile is starting to make more of an impact on the Internet. Not long ago many people thought a mobile was really just for making calls and texting. It is difficult to miss the amount of publicity that the Apple iPhone and Google Android projects have generated recently. Many mobile phones come with a browser built in that is capable of rendering regular web pages and the price of Internet access from a mobile is dropping, and is often it is bundled with contracts. Ten years ago Nokia set this process in motion by releasing the Nokia 7110, the first mobile phone to have Internet access, it couldn't render regular web pages, only ones specifically written for mobiles but brought to the public the idea of Internet access in your pocket, available quickly wherever and whenever you need it. It has been a slow process for the mobile web, but it looks set to grow, and one social networking site in Japan has found that mobile traffic has overtaken non-mobile web traffic. A problem remains though, while mobiles are now capable of rendering regular HTML web pages, they still have very small screens meaning that web sites have to be redesigned to look their best. This, depending on how far you want to go, can be a time consuming process (and one I'm determined to do properly later this year!), fortunately there is a service available that promises not only to re-render your web content in a mobile friendly way, but also to render it in different ways for different devices, and to do all of this in the time it takes to have a coffee.
I've got the new Kubuntu 8.04 KDE4 Remix running now on my laptop and it is looking really good. I really like the new visual design and it is great that the Kubuntu project team made a release featuring KDE4 available on top of everything else they have had to do to get the main release of Kubuntu out. Up to now I have been running KDE3 and experimenting a bit with KDE4 on a virtual machine, but now I'm making the move full time.