N900
Building Virtual Worlds on the #N900
Submitted by Aldon Hynes on Fri, 10/08/2010 - 13:06You are in a maze of twisty little packages, all alike.
This is a long article about attempting to build virtual worlds on cellphones. It starts off with some general thoughts and history that I encourage everyone to read. It then goes into some technological details more applicable to geeks. If you are an impatient geek, please skip to the technical discussion.
Prologue
Perhaps I played too much Adventure when I was young. Perhaps somewhere along the way constructivist theories of permeated my approaches to learning and entertainment. Perhaps my rules about computer games for my children wore of on me. Whatever the cause, I’ve been spending a bit of time trying to build various virtual world tools for my Nokia N900 cellphone.
When my eldest daughters were in elementary school, I told them they could play an computer game that they could write. They played in Logo, they wrote MOOCode, and I hope they learned the joy of creating and of understanding what makes things work the way they do.
As I thought about what to get for a smartphone, I wanted a device that reflected this. I wanted a device that I could get in and write my own programs for. Yes, I could have chosen to become an iPhone developer. Friends have done that. But the iPhone needs to be jailbroken if you want to really have fun with it. Android looked like a much better platform, and I almost went that way. Yet many Androids are also locked down pretty tightly. So, when Nokia came out with a linux based cellphone that is about as open as you can make a cellphone, with some pretty nice features as well, it became a clear choice for me.
One of my early projects was to install Squeak on my N900. Squeak is a Smalltalk programming environment that is particularly popular amongst constructivist oriented elementary school educators interested in teach children to program games. It is also the basis for some interesting virtual worlds projects. Unfortunately, the font was too small and I hadn’t gotten reading glasses yet, so I put it aside for the time being. One of these days, I’ll come back to it and figure out how to resize fonts and objects.
As I watched the Olympics last winter, I thought further about virtual worlds on the N900. What I would really like to tackle is building a Bobsled in an Open Source Mobile Virtual World Experience on the Nokia N900. At that point, I considered trying to build the Naali viewer to connect to OpenSim virtual worlds.
There were various N900 programmers interested in this, but it also got put on the back burner.
Yesterday, in response to recent developments in virtual world education, I wrote about Running OpenSim on a SliceHost VPS. John Lester, commonly known as Pathfinder in the virtual world communities went one step further and wrote a great blog post about Running OpenSim and Imprudence on a USB Key. He spoke about having a virtual world in his hands, a world of his own creation, using pieces that he had built or borrowed from other virtual worlds.
Two days earlier, he had written a great blog post about the current turmoil in virtual world education, With every Exodus comes Expansion. His efforts to hold a virtual world in a USB key in the palm of his hand, I believe, is simply a starting point for this great new exploration. With the USB key as a guidepost and previous experience to build upon, I felt it was time to start exploring a world within my N900.
At this point, I will move from narrative to a hacker-adventurers log. If you are less geeky, you may want to skim over this section. It documents my exploration of the maze of twisty little packages I have just started exploring. I realize I may lose a bunch of people at this point, and may have already lost quite a few. However, I encourage you to read this to get an insight into what can be the joys of exploring computers and virtual worlds on mobile devices.
Recovering a Bricked Nokia #N900
Submitted by Aldon Hynes on Sat, 09/18/2010 - 10:51Well, I finally did it. Last night, I bricked my Nokia N900. Bricking a mobile device is making some change or update that causes the device to no longer start up properly. Normally mobile device users don't have to worry about bricking their devices. Most phone manufacturers and mobile carriers don't want people to brick the phone, so they lock it down and keep tight control over what can be installed for apps.
One of the reasons I like the N900 is that it allows you to experiment and install all kinds of apps, including those still in development or testing. It allows you to even change the operating system relatively easily. I bought mine nine months ago. This was when it first became commercially available so there were various early glitches. I have installed and tested all kinds of applications, including testing various operating systems. It is a surprising that I have not bricked the N900 months ago.
#digiday - The Future of Apps
Submitted by Aldon Hynes on Fri, 09/17/2010 - 11:07One of the panels at Digiday Social was "Is The App The Future of Social? . Perhaps it would have been better named, "What is the future of apps?"
Adam Broitman, Founder and Ringleader of Circ.us said that 80% of free apps that get downloaded do not get used on the second day, and only 5% are still in use 30 days later. He compared apps to the early days of AOL. Apps are convenient, but eventually, people want more open systems.
As an innovator/early adopter with a Nokia N900, a cellphone that is great for application developers that want to work with open source software, I am an outlier. I have a little over 100 apps loaded on my phone. They are all free apps and I use many of them very frequently.
On the other hand, every day I get several pitches for the latest new iPhone app. With over 250,000 application in the app store, it is hard to get noticed, and I suspect there are a lot of apps that are either duplicates or simply wastes of time.
I regularly respond to these pitches asking if there are plans to make the apps available on Android, Blackberry, Maemo/Meego, or as HTML5. Typically, the response is that something like that is in the works.
This illustrates two issues that apps developers need to face: cross platform development and apps discovery.
Right now, there are two major apps stores, one for the iPhone and one for Android. There are plenty of other apps stores around. An article in Rethink Wireless about HTC's latest move mentions
Verizon Wireless... is divorcing its Android V Cast Apps storefront from the generic Android Market and preloading its own apps storefront.
Another Rethink Wireless article talks about Nokia and Intel showing off updated app stores.
Purnima Kochikar, VP for Forum Nokia, the developer community, was pushing the line that she was "empowering developers, not chasing app store numbers".
The article talks a little bit about the Intel AppUp Center and mentions Meego in passing. It doesn't get into the issue of repositories that Maemo and Meego developers argue about. Yet the architecture of Maemo and Meego facilitate anyone to set up their own repository or app store.
The Nokia and Intel strategy is focused on Qt, a cross-platform application and user interface framework. The idea is that you can build an application in Qt and then compile it to run on any device that supports Qt. This is a great idea and if Broitman is right might be some of the direction that apps development is heading, except that iPhone and Android are not set up well for Qt applications yet.
There is one project that looks really interesting. It is Android Lighthouse which allows you to compile and package Qt applications for Android. I don't have an Android phone to play with right now, so I haven't tried it out, but it looks really promising.
There is also the Nitdroid project to run Android on the Nokia tablets, like the N900. I may install that at some point, but it repartitions the whole microSD card, so I'm waiting for a chance to explore this in more detail. When I have time to really explore it, I just might build some Qt apps to run on my N900 and see if I can get them to run under Maemo, Mer, Meego, and Nitdroid.
While I like Qt as a potential cross platform development tool, others at the conference suggested that ultimately everything will move to HTML5. I see several issues with this. Applications need to access information that might not be available to HTML5. Simple location information from a GPS might be available, but some of the more interesting bits of location information, such as the altitude might not be accessible. Things like the cameras, the accelerometer, the battery usage, or other tidbits of information from the mobile device might also not be available. In addition, I am concerned that HTML5 and Javascript or AJAX may run much more slowly that compiled Qt applications.
One application that I use quite a bit is Dorian, an eBook reader for the N900. I am reading eBooks that are stored on the N900. It is true that using lighttpd, or the file: protocol, I could make the books available online to an HTML5 application, but that seems like overkill. Things like books, music, pictures and video may be best accessed directly from the device.
Back to the issue of discovery, this is a key issue, not only for apps, but for many things people search for on the Internet. I hope to write more about the broader discovery issue soon. One panelist suggested that if discovery of apps is an issue, you need better control over the app stores. Yet Apple's control over its app store does not seem to have helped. Instead, it seems like you need better discovery mechanisms.
This takes us back to Broitman's comment about Apps being like AOL. As Google and Yahoo made it easier for people to discover the content they wanted online, they left the walled gardens of AOL and more people started creating webpages outside of AOL. It is reasonable to expect something similar will happen as it becomes easier to create new apps and search more locations for apps.
Apps should be an important part of marketers' strategies. For the time being, they might be able to get away with staying in the wall gardens of Apple. However, the smart players will explore cross platform apps and always fall back to an HTML5 page for mobile devices that don't support their apps.
So, if you are pitching a cool new app to me, be prepared for my question about cross platform capabilities, and know that I'm unlikely to write about it unless it runs on the N900 or has an HTML5 page.
eReaders on the #nook and #n900
Submitted by Aldon Hynes on Tue, 09/07/2010 - 12:58Last week, my wife got a Nook eReader as a birthday present. We've talked a bit about eReaders and have put off getting one. I've had a few concerns with eReaders. First, most of them so far seem to be too closed for my liking. You can't go in and make modifications. In many cases you are limited to where you can get your ebooks. Also, as the iPad and other slates or tablets become more popular, eReaders may end up being over taken by tablets before we know it.
Yet there it was, my wife's new piece of technology. I needed to make it as useful as possible, as well as explore the larger issues that it raises. As a Nokia N900 user, one of my thoughts was about how it would compare to the N900 as an eReader.
The Nook is a locked down Android based device. It comes with 2 Gig of diskspace, which they say is enough to hold around 1500 books. You can also put in an additional microSDHC card boosting the device up to 32 Gig. It turns out that the internal 2 Gig appears to be yet another microSDHC card, so it might be possible to swap it out with another 32 Gig microSDHC card, giving you a total of 64 Gig.
The early efforts to jailbreak the nook have been based on changing the files on the internal microSDHC card. It would seem as if a real interesting project would be if could be hacked to be multi-boot, e.g. standard Nook OS, Jailbroken Android, and MeeGo. However, my wife probably doesn't want me hacking around that much with her new eReader.
The Nook primarily reads books in the ePub format. This is the official standard of the International Digital Publishing Forum. It is an open standard which basically zips up the books content along with various descriptive information. It uses XML for a bit of this information.
On the N900, there are a few different eReaders that support epub. I had already installed FBReader, and found that it works nicely not only for epub books, but for many other formats as well. That said, I never really started using FBReader enough to get comfortable with it or to start regularly reading books on the N900 with FBReader.
As I started looking more closely, I also found Dorian. I installed it and started playing with it. Initially, there were a few aspects that I found frustrating. However, as I was testing, a new version came out which cleared up these problems. I've found it responsive and like the interface. I'm now starting to read a book using Dorian.
I also tried installing MeBook. It has run slowly on my machine and doesn't seem to work as nicely as Dorian or FBReader. So, for the time being, I'll be reading ebooks using Dorian, and switch over to FBReader for books in other formats that Dorian doesn't support.
The Nook has an advantage of having a larger screen and using eInk, which makes the text crisp and clear and uses less battery power. However, you need some sort of light for eInk. The N900, while it has a smaller screen works quite nicely as an eBook reader. If you are using it as your cellphone, it has the advantage of almost always being with you.
The next project was to find some good books to read. This is both for my own purposes as well as for my wife's purposes. I've always been a fan of Project Gutenberg and there are reportedly around 20,000 free ebooks there. I've found the Project Gutenberg interface easy to use and the books are well set up.
Google Books reportedly has around half a million books available. Unfortunately, the ones that I've tried have been very large files without a lot of good metadata. As a general rule, I'm unlikely to use books from Google Books unless it is the only place I can find them.
http://www.feedbooks.com/I've also tested a few other ebook sites like Feedbooks and Manybooks.net. They seem to be nice niche players with decent ebooks that I may search from time to time.
My wife installed Adobe Digital Editions on her laptop. She could then open any of the ebooks that I've downloaded from places like Project Gutenberg, and then copy them to her Nook.
Adobe Digital Editions also supports Digital Rights Management or DRM. Public libraries typically use DRM to make sure that you check out the book for a specific period. Our public library uses Overdrive which handles the DRM for them. We checked out a few books from our public library and loaded them onto my wife's Nook. Unfortunately, our library doesn't have as many books available as my wife would like and many of them were checked out. However, she has now read a couple library books this way. Unfortunately, I have found no way to read books with DRM on the N900.
While I am not a big fan of DRM, I can see how they make sense for some publishers and libraries. Ideally, publishers and libraries will start moving away from DRM. Some publishers have and it has boosted their sales. Until that time, it would be great if there was some way of reading DRMed books on the N900.
One approach might be to get Adobe to support the N900 as an eBook reader similar to how it supports the Nook.
As a final note, it turns out that Overdrive is used by many libraries. They use the library card number, and if libraries have sharing agreements you may be able to check books out of libraries that are not where you live. Some people have said that you can get a New York City Public Library card which can be used to check books out of their libraries for $100/year. For a serious eBook reader, this might be a good deal. However, you can often get library cards for other places.
As an example, when we camped on Cape Cod, we stopped at the Truro public library. For five dollars a year, you can get a card for their library system, providing you have an address and phone number for a place where you are staying. You can then use this to check out ebooks from the Cape Cod Library system. Between the sites like Project Gutenberg, Google Books, specialty sites, and even free books from Barnes and Noble, there are lots of books available for eBook readers. If you include all the books that can be checked out of libraries if you have a reader with DRM capabilities, you can read much much more.
I expect that over the next few months I'll read quite a few books on my Nokia N900. I'm curious, are you reading ebooks? Where are you getting them? What devices are you reading them on?
MeeGo 1.1, Partitions, Bootmenu, Kernel Power, Flasher, and All That Stuff on the #N900
Submitted by Aldon Hynes on Thu, 08/12/2010 - 22:43Quim Gil has a blog post up Running MeeGo 1.1 unstable in your N900. I’ve kicked around installing Meego and this is my report of how things have gone.