N900

This section is about the Nokia N900, especially developing applications for it

My Over the Air N900 Update, PR 1.2, kernel power, but not MeeGo

Earlier this week, the latest major update to the Nokia N900 came out, PR 1.2. This has been a long awaited release, particularly by developers. So, as soon as I had a moment, I decided to tackle upgrading my N900.

There are two different approaches to upgrading the N900. One is to ‘reflash’ the N900. Essentially, this wipes out just about everything on the machine and installs everything from scratch. Typically, you back up your machine, reflash it, restore your data, and reinstall whatever applications you want to reinstall.

The other approach is an ‘over the air’ update. This uses the packaging system to update whatever is on your machine, and leaves everything else intact. Since I’ve installed many packages, as well as various tweeks to try and dual boat, enable IPV6 and other things, I decided to go with the over the air approach.

The Update

The problem with the ‘over the air’ approach is that it takes a lot of disk space and time. I’ve moved various files out of the root file system when I did my last major update, so I felt I could make sufficient space. First I uninstalled a couple large packages that either took a lot of space and/or might conflict with the update. In particular, I removed Google Chromium and Kernel Power. Then I cleaned out my package cache and started the over the air update.

Specifically, I did a

apt-get remove chromium kernel-power kernel-power-flasher
apt-get clean
apt-get update
apt-get dist-upgrade

It took a little over half an hour to download all the packages that needed to be updated, and then took a few hours to update every package. I ran into various problems along the way and it took a few times to download all the packages, and at times I had to run

apt-get –f install

to fix problems with dependencies that occurred along the way. If you have a cleaner installation, you shouldn’t run into the dependency issues I ran into.

When everything was installed, I rebooted. Because of tweeks I’ve done, the startup screen has a bunch of diagnostics that I’m used to seeing. However, this time, there was also a blue bar that slowly crept across the bottom of the screen. I assumed it was reflecting some sort of progress of part of the upgrade.

Missing SMS messages

Everything pretty much worked the way it was supposed to, with one exception. I could not retrieve the history of my phone calls or text messages. On one of the email lists, I found that a person at Nokia had the same problem. It appears as if that blue bar that I watched, was the conversion of the Eventlogger database to a new format. In my case, the conversion failed and the databases were listed as corrupted.

The database is /home/user/.rtcom-messaging/el.db I had checked it, and it looked fine. It also looked the same as /home/user/.rtcom-messaging/el-v1.db. The v1 version of the database was supposed to be a different schema, and without the updated schema, the messages in the eventlog just weren’t being updated. I moved the el-v1.db and el-v1.db-journal files to a different directory and rebooted.

That little blue bar came back as I rebooted. When the machine was backup, a new version of el-v1.db had been created. This time, it appeared to be created properly, because all of my phone calls and SMS messages were back in the log, and I haven’t had problems since.

Reinstalling Chromium and Kernel Power

I reinstalled Chromium and it works just like it had before. Generally speaking, I prefer the default browser on the N900, followed by Firefox. Chromium and Iceweasel work okay for me, but haven’t convinced me to switch to them as my primary browser. I haven’t gotten around to try Opera yet, that is still on the to do list.

kernel power installed nicely and I rebooted for it to take effect. I toyed with the overclocking and it appears to work. However, overclocking apparently voids the warrantee, so I can’t recommend it. On the other hand, I find that most computers and cellphones that I’ve used die not because of chips burning out, but because of cases, screens and keyboards wearing out. So make your own choice about whether or not to use the overclocking.

What I was more interested in is the IPv6 connectivity. I run IPv6 on my network, and I’ve been longing to try IPv6 on the N900. Doing a ifconfig command, I saw that my device had a proper IPv6 address. Then, I tried ping6 ipv6.google.com. This is my standard test for IPv6 connectivity. It appears as if there is something wrong with IPv6 in the power kernel. The first eight packets get responded to, and then all other packets get dropped. With this, I haven’t been able to successfully test other aspects of IPv6 including the browsers, ssh, and other programs. This goes on to the ‘to explore later’ list.

Kernel Power includes a lot of other interesting features, including USB/IP, and fun networking features. These also go on the ‘to explore later’ list.

Observations

Since doing the update, things run pretty much the same as they did before the update. The biggest change from my perspective is that the menu is now one long scrollable menu that you can move items around on, instead of having a ‘more’ icon to click on. There has been a lot of talk about portrait mode, but that was available, at least partly, in the previous version and I don’t use it much. I’ve also heard there is an onscreen keyboard, but I haven’t found it yet, and I’m not sure I would use it that much.

I like to use the media player, and they’ve added icons next to the name of uPnP servers. I’ve used Rygel as an N900 uPnP server, Microsoft Media Player as a uPnP server and MediaTomb as a uPnP server on Linux. They all seem to work okay. I’ve had problems with MediaTomb dropping its N900 connection in the past. I still have that problem, but it isn’t nearly as bad as it used to be. Also, using the last.fm scribbler for the Media Application Framework, I’ve updated my last.fm status with songs that I’ve played off of MediaTomb, so it is working pretty well. PyPianobar, which is my other favorite media app for the N900 works quite nicely as well.

My test apps continue to run nicely, including one written in QT but not recompilted. In fact, the QLCDNumber looks better than it used to in PR 1.1.1

The chroot Debian with LXDE seems to work just as well as it did before upgrading, which means it is good enough for playing and testing with, but not much more. Unfortunately, since upgrading to PR 1.2 and installing power kernel, I have not been able to successfully boot into Mer. I have Mer installed on a petition of my SDHC card, and I could boot to it before, but not now. I also have a version of Fedora and MeeGo on my SDHC card. I’ve never been able to boot to them, but I can chroot to them.

One of the next things I want to explore is the latest version of MeeGo, but I want to spend a little time making sure that my installation of PR 1.2 is stable and catching up on the rest of my life.

Are there any other N900 users out there that want to share stories or tips about their experiences with PR 1.2?

(Categories: )

Media Sharing – Pandora, last.fm, uPnP and the N900 and iPhone

A month ago, I wrote a blog post about mobile media sharing in response to press releases about NearVerse. I brought up the idea of using uPnP to facilitate some media sharing. Since then, I’ve played with a bunch of different packages and figured it is time for an update.

At the simplest level, the Media Player on the N900 works nicely as a uPnP client. So far, I’ve used it with the N900 media player to play music off of a Windows Media Player on a machine running Windows XP, off of a Linux box running MediaTomb and off of the N900 running Rygel. All of this has been over my home WiFi network. Unfortunately, the network is a little flaky and at times I’ve had problems connecting to the various uPnP servers. If I disconnect my WiFi and reconnect, I can find the uPnP servers and start playing again. Most recently, MediaTomb will play about thirty seconds of music before losing the connection and Rygel, which had been returning information about the music available has stopped doing so. Considerable more testing is need to determine what is going on with this.

I have also install mafw-lastfm. This allows devices using the Media Application Framework to post information about what songs are being played to last.fm. This has worked fairly reliably when playing music that is loaded on the N900. When I use it to post information that has been retrieved via uPnP, it has worked, but not reliably.

A friend of mine recently purchased an iPad and I asked if it had uPnP support. They didn’t know, so I did a little searching. So far, I’ve found a $4.99 app called PlugPlayer. It is a uPnP client for the iPhone and related devices. I haven’t gotten a chance to see if I can stream music from my N900 using Rygel to a iPad using PlugPlayer, but it looks like an interesting opportunity to do a little cross platform media sharing.

Finally to really muddy the uPnP waters, Zach Goldberg’s Zhaan is now available in ‘extras’. Zhaan is a uPnP controller. Not having much for uPnP devices to control, I probably won’t have great opportunities to test it, but I suspect that if I really want to push things, I could borrow my friends iPad, have it play media streamed from my MediaTomb server on Linux and control the whole mess with Zhaan on the N900.

The other little bit of media fun on the N900 for me has been Pianobar. Pianobar is a command line program for the N900. However, there are two nice GUI interfaces, pyPianobar and qtPianobar. I’ve run things from the command line and using the two GUI interfaces, and I like the pyPianobar application best. Of course you can also play Pandora from a web browser, but when I’ve done that in the past, it seems to take up so much CPU time that that I haven’t been able to answer phone calls when they come in while I’m listening to Pandora in a browser. Yet with the Python interface to Pianobar, I’ve not had that problem. One issue is that pianobar does not appear to use the Media Application Framework. What this means is that the last.fm application does not work with pianobar.

So far, all of this has been playing with audio. The next thing I want to explore is video. The recent discussions about Google making the VP8 video codec available as open source look particularly promising. Will it be possible to run VP8 encoded videos on the N900? Related to this is the interesting work in getting the Theora video codec to run on the DSP of the N900. Now, if only we can get an open source VP8 codec running on the DSP of the N900, and get Netflix to make its videos available using HTML5 and VP8, but all of those things are still down the road.

So, what am I missing? Are there some interesting media applications on the N900 I should explore?

(Categories: )

The Design of Design

How does Frederick P. Brooks new book, The Design of Design: Essays from a Computer Scientist compare to his classic, The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)? How much time do I want to spend trying to find out?

These were questions I asked myself as I received an email from his publicist asking if I would review the new book. I decided that it was a book I wanted to review and I wanted to look at the whole book, and not just a sample chapter or portions online. As I noted before, I’m pretty picky about which books I take time to review, and while the new book might be really great, it could also be a big disappointment and not live up to the previous book. The Mythical Man-Month is a book of mythic proportions. It is a book that I used to require any developers working for me to read. It sits in a special place in my book case. It is a tough act to follow. Nonetheless, I took the plunge, and asked the publicist for a review copy of the new book, and I’m glad I did.

I received my copy of The Design of Design earlier this week. I’ve been taking time here and there to read it and still have a long way to go. However, I’ve read enough already to state that it deserves its place next to the Mythical Man-Month. It takes a broader view and is applicable not only to those of us working in computers, but to people involved in any sort of design. As an example, it provides a great contrast between computer design and other types of design such as architecture.

He starts off each chapter with various interesting quotes, and starts the first chapter with a quote from Francis Bacon:

[New ideas would come about] by a connexion and transferring of the observations of one Arte, to the uses of another, when the experience of several misteries shall fall under consideration of one mans minde.

I have always been fascinated by how new ideas come about as well as by the connections between people with different viewpoints. This is a book for a reading club with computer scientists, architects and fashion designers. (I would love to hear a fashion designer’s thoughts about this book.)

The question of where new ideas come from is one of those great questions that many great thinkers have pondered. The book seems to offer pointers in the right direction, but at least to me, the question remains somewhat intractable.

Brooks starts off by looking at a good look at the Rational Model of design. As I read through this section, my mind wandered to Wittgenstein’s Tractatus. In many ways, the Tractatus is to twentieth century philosophy what the Rational Model of design is to design.

The final proposition of the Tractatus is “Whereof one cannot speak, thereof one must be silent”, and it seems as if something similar needs to be said of the Rational Model of design. Yet Wittgenstein went on to write the Philosophical Investigations, which explore so much more. Likewise, Brooks goes on to explore so much more in The Design of Design.

As Brooks explored the issues of the goals and desiderata of design, my mind wandered to the question of ‘What is Quality?’ It seems as if this book needs to be read alongside Robert Pirsig’s Zen and the Art of Motorcycle Maintenance.

Another diversion my mind took as I read this was thinking about how both the Mythical Man Month, as well as The Design of Design relates to what is going on in the world of the Nokia N900, and for that matter in the broader areas of Linux development and cellphone development. When you get right down to it, the IBM System 360 was a much less powerful computer than the Nokia N900. Yet the System 360 went through a design process that everyone refers back to. What has the design process for the Nokia N900 really been like? What about the design process for Maemo or MeeGo?

Readers may suggest that these are very different situations, it is like comparing a The Cathedral and the Bazaar. I think this is an important point. The System 360 is a Cathedral and everything going on with cellphones, tablets, slates and Linux is a Bazaar. The Design of Design needs to take its place in the special section of beloved books wedged between Zen and the Art of Motorcycle Maintenance and The Cathedral and the Bazaar.

Over the next few weeks, I expect The Design of Design will color my thinking about various topics I write about here. You should go out and get the book, read it, and share your thoughts.

(Categories: )

Mobile Media Sharing

Yesterday, both DigitalMediaWire and Digiday:Daily ran stories about NearVerse securing $1 million in seed funding. I had written about NearVerse a few weeks ago so I thought I’d find out what is new.

Really, there wasn’t much news. The company sent out a press release about funding they had received last year. Their iPhone app, which was supposed to be the hot item of SxSW just didn’t get all that much buzz, and most of the people that tested it for me where unimpressed. Yet I still think they may be on to something.

This thought was reinforced as I read through various blog posts about the Nokia N900. Zach Goldberg has been writing some very interesting things about UPnP and the Nokia N900 on his blog, BlueSata. In one post, he wrote about the Sonos multi-room sound system. It is worth noting that the Sonos page talks about being able to control the sound system from an iPhone. By the sounds of Zach’s blog post, you can probably do the same from a Nokia N900 and his UPnP software.

Yet it is the idea of mobile media sharing that gets me. Could some of Zach’s work on UPnP on the N900 be used to facilitate sharing music and other media between N900’s, and perhaps even iPhones and people’s home music systems? Could Zach’s code be used to take the idea of NearVerse’s LoKast to a whole new level?

I don’t know enough about UPnP and it’s hard to tell how Zach’s code might work with my idea. I haven’t managed to get Zach’s code to run on my machine yet, and even if I do, I haven’t found any N900 owners around where I live so I wouldn’t have a great chance to test out some of the ideas.

So, anyone else out there experimenting with UPnP on their cellphones? With LoKast? With other ways of sharing media from mobile devices?

(Categories: )

Configuring the Nokia #N900 Chameleon for Mer, MeeGo and Fedora

Recently, the first development version of MeeGo became available and I figured it was time to turn my Nokia N900 into a Chameleon. This blog post will recount some of my experiences. Non-geeks might want to skip the rest of this post.

(Categories: )
Syndicate content