Nokia 770

iPhone/iPod – The new standard mobile platform?

I’ve been living with a very basic Sanyo phone for many years now, and decided to finally upgrade. My main requirement was a real web browser, and the iPhone fulfilled that nicely. Besides, I wanted to be cool and get all the girls, and what better way to do that than to carry around an iPhone?

I’ll talk in another post about what I think of the device, but one thing struck me as I begun to play with this phone. Apple may have just set themselves in a position to dominate the mobile application market. If they choose to.

Now hear me out. Companies such as Sharp and Nokia have worked hard on creating devices (the Zaurus and 770/N800 respectively) based on open source software in the hopes of creating a developer base. While this worked in both cases to varying degrees (lots of third party apps for the Zaurus and lots of great GNOME/Gtk+ improvements and apps for the Nokia devices), they’ve both had problems in terms of market share. You’re just not going to get every teenager, every student and every businessman wanting one of them.

I love my Zauruses, my Nokia 770 and my N800, but having tried to explain to people in the past what makes them so cool is difficult. They kind of get it with the N800, that they can browse the web and run applications and all that. Most people, though, are still so tethered to the computer that they don’t know why they’d care.

But an iPod? iPhone? People care about that. It’s trendy, it’s sexy, it plays their music and videos. Yes, the N800 does that too, but the out of the box experience is very different, and well, the kids just want an iPod. My little 7 year old sister has no idea what an “mp3 player is” but knows damn well what an iPod is.

Web development

Now, where Apple did well was to bundle both the iPhone and iPod with Safari and to put up guidelines for how best to optimize your websites for the iPhone/iPod form factor and visual style. Since then, many sites have provided optimized versions that work quite well, including Amazon, Meebo, NetVibes, Facebook, and Google Reader. And this all turns out to be quite easy to do, especially with Joe Hewitt’s iUI JavaScript framework for the iPhone.

So, we now have a de facto standard for miniaturized AJAXy web UIs for mobile devices, do we not? I don’t see anybody else developing for other mobile devices en mass in such a way that allows all this fancy web 2.0 stuff. What’s great is that aside from the CSS 3.0 support needed for some of the look and feel of these sites, and the viewport meta tag, they’ll work in any browser, mobile or otherwise.

Native applications

The one thing that these other devices do have over the iPhone/iPod is that you can actually develop applications for them. When the iPhone was announced, we were told that they would not be opening up support for third party applications. Of course, it didn’t take long for people to figure out how to jailbreak the device and install custom applications.

Now anybody with an iPhone can easily put their iPhone in a state where they can install custom applications on it. The installer that ships with the modern jailbreaking software is, from a user’s point of view, surprisingly nice and easy to use. It even handles upgrades for you effortlessly.

The pieces are now together for developers to create applications and for users to quickly find them and install them. The only gotcha is that this is not officially sanctioned by Apple, and we may find that this will break in future firmware updates.

If Apple was to reverse their stance and provide an open framework for developing applications for the iPhone and iPod, they would make these devices much more tempting to a wide variety of people. The gaps left by Apple (proper Exchange support, calendar synchronization, document publishing, instant messaging, etc.) would be provided by third party developers and downloaded by possible millions, legally. New companies would form to develop applications. Existing companies would port applications over. Life would be good.

Why didn’t Apple do this from the beginning? Maybe they’re just against a community of developers forming around this product, but I have a hard time believing that. Maybe it’s pressure from AT&T, but you can develop for other phones.

My hunch is that they just didn’t have enough time to do it right, given how much work it was just to get the thing out the door in the first place. If so, perhaps we’ll see official approval for third party application development someday.

A small review of the Nokia 770’s 2006 firmware beta

Jeff Waugh beat me to the punch on a blog about the new firmware for the Nokia 770. I have to agree with him: The Nokia 770 is ready for the enterprise. And for the home.

I installed the 2006 software update last night for the first time. While I have been coordinating with the Nokia and OpenedHand developers for a while, actually using the new software was a surprisingly pleasant experience. That’s an understatement. The software absolutely rocks.


Many criticized the 2005 firmware for its lack of responsiveness. It felt sluggish at times. Some resorted to setting up a swap partition on the memory card, which helped a bit. So far, I’d have to say that the 2006 firmware feels a lot faster and more responsive than the 2005 firmware. Setting up a swap partition is as easy as checking a box in the control panel and setting a swap size. I haven’t tried setting up swap yet, but I haven’t felt the need. I was browsing a couple webpages, streaming music, and chatting without any real problems.

Visual Improvements

The look and feel has had a number of updates, and I love the results. The old style felt more monotone.. Black, white, grey, some hints of purple. The new style is a vibrant orange. The chrome along the side is rounded, and the Web, Conversation and Application buttons now look somewhat like actual buttons that push in on one side. (I wish I had screenshots at this point.)

The style can, of course, be changed. There are four themes available to choose from, the first (and default) being the orange theme. The second is a variation on the first theme, but in an aqua color. The style of the sidebar changes slightly in this theme. It gets a kind of winterish background.

The third theme is also a variation on the first, but in blue. As in #0000FF. Very blue. The only difference I can see other than the color is that the style of the clock applet changes, which is a neat little touch.

The fourth theme resembles the original style of the 2005 firmware, which some may prefer. A lot of the graphics, such as the clock and applet borders, are changed. This style may look “more professional” to some people.

Home Screen Improvements

The Home screen will at first glance look pretty familiar to existing users, until they notice the Google search bar above the RSS reader, and the contact list under the radio player. Users can now quickly perform a Google search using the search bar (which looks as if it may support other search engines in the future?), and see the presence of their favorite contacts in the contacts list. I’ll get to that part in a bit.

Don’t like the layout of the Home screen? You can finally change it! Under the menu, there’s a Select Applets menu item that allows you to specify which applets you want to see and which you don’t, and a couple items underneath it is an Edit Layout item. With this, you can actually drag around the applets and reorder the display how you see fit. Unfortunately, it uses pixel precision, and there doesn’t appear to be any snap-to-grid of any sort. Still, it’s quite promising.

Thumb Board

The Thumb Board is the new input method introduced in the 2006 firmware. It works as a full-screen keyboard where you type by using your thumbs. To invoke it, just put pressure on an input field with your thumb. You’ll hear a little sound effect and the board will appear.

The thumb board shows the alphabet at a glance, and each key is big enough to be pressed by the tip of a thumb. Other common keys, such as the spacebar, quotes, period, comma, dash, backslash, and colon are also available. Above the letter keys are a set of tabs. Press the “Abc” tab to switch between lowercase and uppercase. The “1!+” tab shows numbers and other common symbols (@, plus, minus, question mark, exclamation mark, etc.). The third tab has less used but still common enough symbols. The more common ones are the brackets, braces, percent, etc., but there’s also a copyright symbol, trademark, fancy quotes, mid dot, and others.

The thumb board may take a little practice at first, but I found I was typing along rather well last night. It feels well thought out, and is my new input method of choice on the 770.

Messaging and Contacts

Now this is where things get cool. This software update is all about the messaging. You’re able to set up accounts on Jabber and Google Talk (I believe there will be more options in the future?) and then manage their presence through an icon on the top. While connected, you can receive IM and Google Talk voice invites. You can also send them, of course, and this is done through the new Contacts list.

The developers decided not to use a traditional buddy list, and I think that was a great move. They have cleanly integrated the concept of a buddy list into a very easy to use addressbook. Your accounts will automatically get their own special groups in the addressbook’s sidebar. Along with your personal groups and account groups are special “Online” and “Recent” groups. “Online” shows you a list of people who are online (as the name suggests). “Recent” shows a list of people you have most recently talked to.

You can add new people to your addressbook or edit the information of contacts from your IM accounts. The information you can set is about what you would expect. First name, last name, nickname, picture, e-mail addresses, IM accounts. Pretty much the bare essentials. When connected to an IM service, each entry in the addressbook that has an IM account on file will have an icon representing the person or account’s presence.

Tap a person and their details come up, along with Call, Chat, and E-mail buttons. Press Call to initiate a Google Talk voice conversation with them. Press Chat to begin an IM conversation. Press e-mail to e-mail. It doesn’t get much more straightforward than that, does it?

I haven’t tried to call anybody yet, but the chat conversatoins work great. The 770 will play a little chime and subtly flash an icon when someone says something in a chat. It’s both easy to notice and easy to choose to ignore. Just how an IM client should be 🙂

The contact list remembers people who were found to be in your buddy lists last time you connected. If you’re not connected to an IM service or even to the internet, initiating a chat will attempt to auto-connect to both.

Package Manager

Finally! A real package manager! The package manager that came with the 2005 update was problematic, and heaven forbid you had an error in your package. Sometimes you couldn’t even uninstall it. The new package manager is clean, easy to use, and actually supports package feeds. I added FBReader’s feed last night as a test. It updated its list, showed FBReader as available (along with a version number and brief summary), and a couple taps later I had it installed.

After installing a package, it will ask where you would like to place the menu item. The placement can be re-editted later. This is a warm welcome to people who are used to digging around in their Extras menu for all sorts of different programs.


I’m pleased to say that Galago is being used for integrating presence information and such into the addressbook. This is the first real third party use of Galago. The developers from Nokia and OpenedHand have been key in helping to get Galago into a mature state. There’s a lot more work to do, and various optimizations are being made.

I’d like to see us do on the desktop what Nokia and OpenedHand have managed to do extremely well on the 770.


Awesome release. The 2006 firmware is a work of art… And it’s still only a beta. I can’t wait to see the final release, and then I will be recommending this to a lot of people. If you have a 770, download the new firmware and give it a shot.

Goings Ons

Hard Day in GNOME

All day long, people have been talking on IRC about the Novell lay-offs. It’s been sad to see, and as hard as it was for the people who were let go, I’m sure it was just as hard for those that had to let people go. My condolences to everyone who’s been affected by this.

I’ve talked to a few people individually about this, but it’s been recommended to me by a couple of people that perhaps using Planet GNOME would be the best way to reach everyone interested…

I’d like to offer to anyone affected by this who is looking for a job to send me your resume if you’re interested in a job at VMware. I can make sure it goes to a human being who will actually read it, rather than in some queue somewhere. We’re looking for good people, and the company is nice to work at. Although the Palo Alto offices are where all the interesting things happen for the Linux desktop development, some jobs are available at our new Cambridge office. So if you’re looking for a fun job where you can do interesting work with good people, and this interests you, even a little, we can try to get the ball rolling. To everyone else, best of luck. I don’t doubt that you will all find good jobs soon, and everyone appreciates what has been done so far by everyone in the Ximian team.

Nokia 770

My Nokia 770 came today. I haven’t had much time to play with it, but it’s quite nice so far. Cute little device, and I’m eager to hack on it. I have a couple of games I’ve written or PDAs that I hope to port. Taco would be fun to port to it, if it had cairo (which I don’t believe it does? Correct me if I’m wrong!).


A lot of work has been done in Galago SVN the past couple of weeks. A lot of the code has been cleaned up and the API is in the process of being fine-tuned. Python bindings are being written. libgalago is moving to glib. All neat stuff. I’ll post more when I get closer to being finished, but this is very cool:

for service in galago.core_get_services():
    print service.get_name()
    for account in service.get_accounts():
        print account.get_username()

Just so easy. That’s not the final API, though. The core_get_services() part will change. Anyhow, fun stuff.

Scroll to Top