keskiviikko 2. joulukuuta 2009

New tweaks

I've been testing out the N900 for 10 days now and have ran into some interesting situations and found some interesting solutions. Here is a fresh batch of "tweaks":

Tweak 1:
I've stopped using the Facebook widget. It sucked my battery dry at a substantially faster rate. The very first day I closed it, I had more than 50% battery left halfway through the day. Normally it would hang at around 35% by then. Try it, you may find it has a huge impact!

Tweak 2:
I've put my mailbox on a diet. I used to have 5600 messages in my IMAP inbox and now I have only 700 (a month's worth). Due to a bug in the mail client Modest, it appears the IMAP folders are completely refreshed every time you open them. With 5600 messages I waited around 20 seconds to actually see my messages each time I opened the inbox. Now I wait only 3 seconds. You can always file your old mail under different folders (I have 2006, 2007, 2008 and 2009 plus a separate folder for each client). It's not like the N900 can search mailboxes anyway.

Tweak 3:

I bought a cheapish bluetooth headset (at 59€), the Nokia BH-214. It's pretty nice, because you can connect your own headphones to it. I use it mostly for music, but since I've had the microphone bug, where the microphone is suddenly and inexplicably muted and requires a reboot, I can still talk to people over the headset if my mic fails.

The microphone is in the dongle, which has four different buttons: Phone, play/pause, next, previous, so that means I can use any headphones and still am able to talk to people.

Tweak 4:
I yearned for a numerical battery level and now I have one. Just issue this command in the x-terminal:


lshal | grep battery.charge_level.percentage | awk '{print $3}'

It performs the lshal command, which lists HAL devices, looks for the row that contains "battery.charge_level.percentage" and then extracts the third column from that row.

I put this in an executable shellscript /usr/bin/bat, so that I can just write "bat" anywhere to see this output. I'll try to make a desktop widget or status bar module of it some day.

There are some limitations: It doesn't appear to update when the phone is sleeping (unconfirmed) and it goes to zero when the device is charging.

Issue 1:
I've installed Fennec (Mozilla Firefox for mobile devices) and later on learned that it messes with the FM Tuner software (or rather, some libraries they have in common?), which is why I was never able to make the tuner work. It should be fixed in the next version of tuner, but right now, I can't even fix it by uninstalling Fennec and Tuner and then reinstalling only tuner. It's dead and would require a reflash of the N900 to fix. So don't mess with Fennec if the tuner is important to you.

Issue 2: 
When i relaunch the camera, it doesn't remember that I told it to never use flash and always flashes anyway. I've made it a habit to always go into flash settings, turn on flash and then turn it off again, when I launch the Camera app, to ensure that it won't flash. So far it has worked.

That's all for today, folks. I will return with more stories as I keep on testing the N900. Today a lot more people received theirs (at least here in Finland), so we will be seeing new reports and rants shortly.

sunnuntai 29. marraskuuta 2009

Making your own wallpapers

I made my first wallpaper the other day. Normally, wallpapers are a walk in the park, but with the N900 you have four desktops and most people want continuity (the wallpapers should flow from one desktop to the next).


This whole ordeal is facilitated by the .desktop -files that you can find on your N900. You put the filenames of four separate image files (I've used only JPG:s, but I guess PNG:s would work too) into one wallpaper control file (with the file extension .desktop).

The easiest (?) way to put a wallpaper on your N900 would then be the following:

Step 1
Copy a .desktop file from your N900 to your computer (by connecting the N900 with a USB cable or by SFTP:ing in to it, if you have openssh installed). You can find the .desktop file in the .images folder. Just choose any of them, let's say .abstract1.desktop.

Note that with a Mac computer, you won't be able to see the .desktop files in finder, unless you tell your mac to show hidden files, which is not that easy. You're almost better off going the SFTP way and using Fugu or such to connect to your N900.

Step 2
Get the photos (you could take the four photos from my link or any other photos from n900wallpapers.com). You could also make your own 4-part-wallpaper by starting out with one 3200x480 panorama image and cutting it down to 4 separate photos that are exactly 800x480 pixels or you could just pick out four different images at exactly 800x480. Your choice.

Step 3
Edit the .desktop file to reflect your images. Let's say you downloaded my forest girl -photos and renamed them forest1.jpg, forest2.jpg, forest3.jpg and forest4.jpg. Start by renaming the .desktop file so it reflects the contents of the wallpaper, for instance .forest.desktop.

Then open up the .forest.desktop -file in your favorite text only editor (Notepad, for instance). Mine looks like this:

[Desktop Entry]
Type=Background Image
Name=Forest
Hidden=true
X-File1=/home/user/MyDocs/.images/Wallpapers/forest1.jpg
X-File2=/home/user/MyDocs/.images/Wallpapers/forest2.jpg
X-File3=/home/user/MyDocs/.images/Wallpapers/forest3.jpg
X-File4=/home/user/MyDocs/.images/Wallpapers/forest4.jpg
X-Order=01

You should change five things: the Name -row to reflect the name you want for the wallpaper and the four rows containing the reference to the JPG-picture.

Notice how my file names (paths) have "Wallpapers/" in them. That's because I don't want all my files in the root of the Images -folder. I want to organise stuff and put all my wallpaper items in a folder called Wallpapers. So you can leave it or change it to /home/user/MyDocs/.images/forest1.jpg. Your call.

Step 4:
Save the .desktop file and copy it to the Image-folder (named .images) on your N900. You should now be able to click the desktop on you N900, choose the blue "gears" -icon, click Desktop menu -> Change background and find the wallpaper you just uploaded. Remember to unmount your N900 from your desktop before doing this.

If you left Wallpapers/ in the file name path of the four images, you should create a folder called "Wallpapers" under .images and upload forest1.jpg - forest4.jpg to that folder. Otherwise just upload the images to the root of .images. The most important thing is, of course, that the paths in the .forest.desktop -file point to where the images actually are.

Using top

I have installed a cpu monitor status module from the extras repository, that at first seemed grossly inaccurate or at least hard to read any meaningful information from.



I take back what I said. Over the past few days I've noticed that CPU-monitor peaking (the left bar has gone into the red with five squares). Whenever that has happened, like the true linux-aficionado that I am, I've launched a terminal to see what's drawing resources. Each time it has been the same process: /usr/sbin/browserd. If you want the CPU-monitor, you can get it by installing load-applet.

Using top

To find out what process is sucking away cpu cycles, you can use top. On the N900, you start top, the diagnostic tool of choice for many unix administrators this way:
  • Start the terminal (easiest by just pressing ctrl-shift-x)
  • Write top at the prompt and press enter.
  • Exit top by pressing "q" on the keyboard.
  • Sort by CPU usage by pressing capital "P" (for processor)
  • Sort by memory usage by pressing capital "M"
  • The terminal can be exited by writing exit and pressing enter at the prompt. Or by closing the window from the X.



This is my view of top when I have started exactly two web sites: Facebook and the Finnish news service Ampparit. (Note the cpu monitor at four squares and the memory monitor at two). As you can see, browserd is using over 80% (81.5) of the CPU's capacity. This is of course not a static value that never changes: you need to keep monitoring the readings to see if it goes down to a more normal level over time.

In my case cpu usage jumps between 40% and 80%, but never goes down to a low level. Whether this is an error somewhere or not is hard to tell. We have to remember that this is a truly multitasking device, so CPU usage should be the same whether we are looking at the page or not. For Android this is not the case, on Android the background processes are going into a hibernate-kind-of-state and stop wasting CPU cycles when a window is thrown into the background.

On the N900 you, the user, are responsible for hibernating stuff you don't need. This means it might be a bad idea to leave a website open for a whole day in a backgrounded window. I was going to do just that for Facebook and always have the most up to date feed visible when I activate the window. Now I'm going to close web browser windows I don't need, because cpu usage is proportional to battery usage. Not in a linear fashion, but you can be sure that an N900 with a cpu usage of (average) 50% throughout the day is going to suck more juice out of your batteries than one that is hanging steady at 1%.

I've also confirmed that hibernating putting the N900 to sleep (by double pressing the power button so the screen goes black) has no effect on browserd cpu usage.

It is interesting to note, that we shouldn't assume the name browserd automatically implicates the web browser, but I googled it and came up with several web sites that confirmed that browserd is linked to the web browser and if I have no web sites open, it shouldn't be doing anything at all. Another typical way of confirming that the web browser is indeed responsible for the higher cpu usage is to close all browser windows and monitor the effect it has on browserd and system cpu usage. If it goes down, you can be pretty sure you caught the right program.

Different websites put a different strain on the CPU. One of the biggest culprits is naturally flash - we all know that. The site "Ampparit" is running some flash ads and so I tried closing down just Ampparit and leaving Facebook. The result was interesting. Cpu usage went down from 40-80% to around 2-5%. So leaving a website open with any kind of flash component is a big no-no. I might still not want facebook hanging in its own window throughout the day. Event 4% cpu usage that wouldn't have to be expended, might be too steep.

lauantai 28. marraskuuta 2009

The FM transmitter

I'll be brief. I went to a baby store with my wife today (big disappointment, they didn't sell any babies) and it was a 30 min drive each way. I wanted to give the FM-transmitter a test, so I started looking for it.

At first I expected to find a "turn FM transmitter on" -button in the Media Player app, but there was none. I then realized the FM transmitter probably affects all system sounds, so the logical place for it would be in the settings app. Bingo! Right there under settings was a menu item called "FM transmitter". I clicked it and only the absolutely necessary controls were available: Turn FM transmitter on and channel frequency. I set mine to 107.9, because that is what I had a preconfigured channel for from my iPhone FM-transmitter device.

After that it was smooth sailing. Everything worked as expected from start to finish and I don't feel it sucked a lot of battery either. I could actually hear all system sounds in the car speakers, but I didn't test whether callers' voices could be heard too...

The only hiccup was that our Audi "concert" system played a very audible beep every 20 seconds. It was because we had traffic announcements turned on in the car radio and turning it off required a little research in the manual.

I tried listening for noise in the signal, but could hear none. I guess with the sound of winter tires against bare asphalt, possible noise was at a much much lower level. I've always been sort of condescending towards car audiophiles anyway: show me a car with zero ambient noise inside while driving. Until we start running purely on electricity, the sound of traffic, engine and tires will probably far outweigh any noise from the audio system. And switching to electricity will probably not cancel out tire-noise. We would need to be flying or hovering (on electricity) for that ;)

torstai 26. marraskuuta 2009

On 3G coverage and quality

Today I rode the bus home from work with my N900 for the first time ever. I listened to music the entire trip and surfed the web. I also engaged in a Skype-chat session with a buddy.

The positive thing was that I staid on the 3G network during the entire trip. There were certain places during the trip, when my Hero would always jump back to 2G or lose connectivity altogether. Not the N900 - it plowed through like a champ in all the difficult places and never missed a beat. I could cautiously come to the conclusion that the N900 has a much better 3G implementation than the Hero (or the iPhone). Let's see how it goes.

The negative thing during my trip was that my dashboard started stuttering. I received notification of a mail and went to the dashboard. Suddenly, I could no longer choose any of the windows in the dashboard view. The N900 froze completely. I could click an empty area to go back to the desktop, but the dashboard was dead.

A minute later, it came back to life and worked normally again. I have no idea what made it freeze, but I know I wasn't deliberately running any resource hogging apps (with the possible exception of the media player). This would've been fine(ish) otherwise, but the same thing happened again a moment later on. 1 minute freeze and then everything was ok again. I didn't want to reboot, since a good song was blaring in my ears.

I have a funny story that's slightly relevant to this case too: During the day, the dashboard acted up as well. No matter how many times I pressed the dashboard button, the N900 threw me straight to the application list. I was getting furious: Isn't anything working right on this phone? ... Until I realized I couldn't access the dashboard, since I had no programs running! ;)

The phone part of the N900

Edit: I just ran into this thread on talk.maemo.org: http://talk.maemo.org/showthread.php?t=35075. There seem to be a lot of people with mic problems, so mine wasn't actually that rare. I really hope I won't experience it again. Luckily mine fixed itself with a reboot - others don't appear to be so lucky.

I have generally been satisfied with the phone feature of the N900. I don't have a lot of demands - basically it's enough if it's pretty snappy (screen doesn't flicker like crazy when a call comes in and the answer button responds quickly). I also like a good speaker phone and the N900 doesn't let you down in that department.

Today, unfortunately, I had a bad moment. The microphone died and when a client called me, she couldn't hear my voice. At first I thought the error might have been on her end (arrogant, I know), because when I called her back I got the answering machine. I tested from our company landline and had the same issue. Since I was in a hurry to get back to the client, I did the easy thing and booted (the N900 boots fast!) and that solved the problem.

The N900 lost a couple of points in my eyes because of this. What has been a very solid experience so far turned into uncertainty. I can easily forgive bugs that I know of and know how to circumvent, but what irritates me most is not knowing if I can trust my device. I will keep monitoring this - one time isn't enough for me to lose trust, but if it happens often, it might turn me into a phone-part-hater, like some people seem to be.

The phone part does flicker, but that is understandable. If I'm listening to music and browsing a web page or doing other activities when a phone call comes in, the device will stutter and act weird for a second. I would like it to jump into the phone app in a second and show me the "answer" and "reject" buttons, but that doesn't happen.

When a call comes in and the phone app isn't already active, it will take 3-5 seconds for the app to start. Once it's active though, it responds to key-presses instantly. I have had similar problems with both WinMo and Android phones before. For some reason the phone functionality is such an afterthought that incoming calls make the phones react as if some burglar invaded their home - hysterical flickering, freezing in their tracks, not knowing how to react... The N900 does this to an extent, but it feels good that once the phone app is active, it works smoothly (except when it doesn't ;)).

My theory is that there is a subprocess on the phone that monitors incoming calls. When such a call is detected, the Phone applications is automatically launched (it's not active all the time if you close it). This starting of a program not present in the memory is what takes a couple of seconds. I will keep testing if keeping the phone app always active helps.

keskiviikko 25. marraskuuta 2009

The status area

Somebody asked me about easy access to wlan, bluetooth, alarms and so forth, so I decided to describe them in more detail.

They all reside in what is known as the status area (at the very top of the screenshot below).



Left from the time (01:25), the icons are:
  • Alarm active
  • Connected to 3G with "ok" reception
  • Battery level
  • Wlan active
  • Green ball indicates I have instant messaging accounts logged on. Exclamation mark means there was an error logging in to at least one of them (in my case MSN, since I am logged on from my desktop)
  • GPS active
  • Cpu load monitors that are virtually impossible to read. One is cpu, the other is memory, so what... I'm using one dot of cpu and two dots of memory. Whopee.
When you press the status bar, you get a "status window" that looks roughly like this:



  • To set your alarms, you simply click Clock & Alarms.
  • To turn on (or off) your wlan or 3g, you click Internet connection, which lists all your Internet Connections (for me my home Wlan and Sonera Finland mobile). You then click a connection to toggle it on or off. Very easy!
  • The box that says "availability" is my status on instant messengers (Skype, Google talk, MSN). The exclamation mark indicates an error. 
  • Because I have my GPS on, it knows I'm in Vantaa and advertises that to my IM buddies. I could have it say what street I'm on, but I don't want people to know where I am all the time!
  • The webcam is the control button for the forward facing webcam. The webcam-button, which doesn't work yet, is supposed to start a screencast recording and not the forward facing webcam, as I previously thought. It should be noted that right now, there aren't any video chat -capable apps on the market, but we are sure to see some soon! (There IS however a mirror app available, that allows you to see yourself through the forward facing webcam if you want to style your hair and are all out of reflective surfaces!). 
  • The column on the right has the volume level at the top. Slide it to change master volume.
  • To change profiles, click the profile button. The N900 only has two profiles: Silent and General. If you want more, tough luck, because that's just not possible right now. Maybe with a future update?
  • Bluetooth can be toggled easily.
  • Location services (A-GPS) can be toggled.
  • The bottom one is interesting. The status-window is run by a plugin architecture and this last control with blue squares isn't part of the stock N900 experience. I added it from the Application Manager. It's simply a backlight control and I'm running level 3 / 5 right now. Change backlight level simply by clicking one of the five squares.
So, there you have it. Tons of useful controls at your fingertips. Couldn't be easier! This is actually one of those things that I don't notice, because it works so well. I am not missing anything, except for a numerical percentage indicator for battery charge. I want to know exact numbers when I have only 3% left!

First real use case

Up to now I have just been playing around with the N900, spending hours trying to create that perfect wallpaper in four parts and other similarly non-productive tasks.

This morning, however, I woke up and realized it was the first time I was about to use the N900 as a tool - one of the most important tools I have in fact. How did it perform?

To say it exceeded my expectations would be wrong, because my expectations are very high. I expect it to allow me to perform some core tasks with very little effort. I expect myself to be slightly entertained whilst doing so, as the gadget freak I am. I expected it to allow me to complete the tasks as quickly as I wanted, at my own pace and with as few errors as possible.

I'm pleased to say the N900 met all those expectations. The N900 has been unstable during my tests and initial playing around, but when I got down to business, it did exactly what I wanted it to. No more and no less.

Here's a brief description of how my morning activities with the N900 played out:

When I picked up the N900, I saw the blue led flashing, indicating that I had new messages. I simply opened the keyboard (since messages usually require text input in response) to unlock the  device. No swiping. In fact, the less I need to "swipe to unlock", the happier I am! I am one of those users that almost always has the keyboard open. Come to think of it, the only thing I do without the keyboard open is talk on the phone.

Unlocking the device, I see that the dashboard icon has changed to white, indicating I have notification messages. I press it and am greeted by something similar to this:



  • I click the yellow note to get to my mails (five unread).
  • I see that a client reports our web server is very slow. 
  • I go back to the dashboard and choose the browser window (that says Facebook). 
  • I press Ctrl-N to open a new window (just like on a desktop). 
  • I open up the client's webpage to see if it appears slow. No slowness, the page comes up in about five seconds. And it's a huge thing (for me) that I can use my mobile phone to determine if a web site is slow or not.
  • I wonder what the easiest way would've been to restart our MySQL database (it runs out of connections sometimes) if that had been the problem. Mind you, I'm not wondering if it's possible or not. I am contemplating the easiest and most efficient way. I wonder if I could edit my /etc/hosts to include our servers that I need to SSH in to. It appears I haven't got vi, joe, nano or pico installed on my N900 and those are all the editors I can think of right now, so I try to less /etc/hosts. Less doesn't exist either, but naturally cat /etc/hosts works. No worries, I think I saw an installable editor somewhere in some repository. I make a mental note to install one later.
  • I go back to the dashboard, return to the mail application and respond quickly to the mail "I don't think the webpage is very slow, could you elaborate? When was it slow? Did it stay slow for a long time?". I write almost as much as I would on my desktop.
  • I respond to an sms and find joy in being able to write as much as I want, and not the short, stubby sentences I got used to with the iPhone or the Hero.
  • I greet some friends on MSN.
  • I open up Facebook (ok http://lite.facebook.com) to check what everyone's doing. Facebook loads in five seconds. I'm very pleased with the speed, because it is no slower than I would expect my desktop to perform. On the Android, I felt the OS was conserving resources all the time, so when I put a program in the background to load a webpage while I was doing other stuff, I felt like it didn't load anything when I wasn't watching. On the N900 I can actually see it loading from the dashboard. It's never sleeping on the job!

All this with zero hiccups. I've been slightly taken aback by certain instability issues while testing the N900, but testing is never real use and now that I actually got to do what I  need this device for, it performed flawlessly. Maybe I was just lucky this morning, time will tell, but I definitely have a very good feeling about it now.

The Hero actually gave me a much bigger sense of insecurity than the N900, so I am genuinely pleased with my decision to abandon Android for Maemo.

tiistai 24. marraskuuta 2009

My favorite things

Ok, in this post I will mention all the things I like most about the N900. My previous post was about its bugs and so, to keep the equilibrium, I want to explain why it's still a really good device.

1. thing I like
I like the physical keyboard. I find it very easy to write on, although the space bar is in a very funny place that takes some getting used to. I like the predictive text input that lets you choose a primary dictionary and a secondary and even allows you to MIX them. So if you write in two languages, the N900 will suggest words from both!

2. thing I like
The camera is very snappy. On the HTC Hero (Android), the snowman had already melted and father christmas left for the North Pole when the camera was ready to take a picture. The N900 has a super snappy camera that takes beautiful pictures. The video part seems very good too, but I need to check out the material on my desktop before saying anything conclusive about it.

3. thing I like
Integration of all messaging services into one contact. Normally you would have one MSN contact, one Skype contact, one SMS contact and sort of treat them as different people. On the N900 you choose one, merge it with another contact (same person, different protocol) and a third, until you end up with one person with all the different methods of conversation.

4. The Browser. It's very fast. On lighter pages it's just as fast as the desktop equivalent. If I'm running a desktop computer on my wlan and a mobile device, all things being equal, they should open the same page in roughly the same amount of time. This has been very far from the truth before, but now we're getting there. The N900 does take almost twice as long as Chrome, opening a page, but that's way better than the Android and the iPhone 3G.

5. SSH server! I can log on to the N900 and really see what is happening under the hood. It feels very familiar, since I have experience from Linux servers. On the Android, I could log on to something that reminded me of Linux, but it wasn't the same - it felt like being in Denmark or something. The N900 feels right at home.

Strange bugs and annoyances

Ok, let me start by saying that I really like this device. The N900 does just what I wanted and I am very pleased with it. I am also expecting some really great updates down the line. Having said that, the device does have some really annoying features as well and this wouldn't be a fair and balanced blog if I didn't mention those as. So here you have it: All the dirt and filth that I've uncovered about the N900 since the day I started using it (yesterday).

Some of these are persistant bugs and some are just "buggy states" I've run into but am unable to duplicate if I reboot the device.

Issue 1:
At times, the phone application won't turn on when I raise the phone from landscape to portrait. Yes, I have enabled the setting. Fix: Reboot.

Issue 2:
I have a huge gallery of photos, that I have a habit of transferring to my phone. So, trying to browse this massive album of 4000+ photos is quite a trial by fire for most phones. The N900 fell flat on its face. It wasn't anywhere near able to browse them all. Furthermore, whenever you fire up the "Photos" app, it is automatically set to "show ALL pictures", so every time I started the app, it would try to show 4000 thumbnails before letting me choose a specific album. The slowdowns were immense and even after I reduced the amount to 700 photos, the app wasn't able to create thumbnails for more than 5% of the pictures. The rest showed up as blank frames. Fix: remove my precious photos. They fit in the memory, but no program exists that would be able to browse them.

Issue 3:
Again, the Photos app. Out of the blue, the app decided to show ALL slideshow pictures upside down. When I clicked a photo and exited the slideshow (fullscreen) mode, where you see the toolbar, the photo was the right way. Even the "start slideshow" play button was upside down, so the N900 obviously thought it was turned upside down, but only in slideshow mode. Fix: Reboot.

Issue 4:
Graphics glitches on the desktop. I remember back in the 80s when my graphics adapter broke and was able to send only certain signals to my monitor. Huge chunks were missing and some shaded areas showed up with only one single color. It was like that. Fix: Reboot.

Issue 5:
Another time, the X-button in the upper right corner got a graphical glitch that looked exactly like a thick black scratch or shard of broken glass. I was convinced my N900 had it's first incident within 24 hours! But when I rotated to the Phone app, the same graphical glitch was at the same spot, but now in the upper right corner of portrait mode! Fix: Reboot.

Issue 6:
When you put a Contact widget on your desktop and then change that person's details, the widget sometimes (always?) jumps to another desktop on top of other widgets.

Issue 7:
I have three "mail"-accounts. Mail for exchange for syncing Google contacts and calendars. Google exchange doesn't do mail (yet) Apparently it does now, but it just doesn't work on the N900. I get a "sync complete", but no mail ever appears in my inbox. My work mail (Imap) and my Gmail (Imap). When I send a picture as mail, it will automatically select the exchange account, that doesn't do mail (and doesn't have "synchronize mail" checked in the settings). The end result is, that the mail can't be sent. However, the mails that will never be delivered can be seen in the outboxes for both Imap accounts. Selecting them and resending does nothing. Changing the "From" address (and From account) helps.

Issue 8:
Only date, no time for all events in the desktop calendar widget!

Issue 9:
Once, the tactile feedback from the screen was multiplied by 10 (so instead of one vibration each time I touched the screen, I felt something like 10).

Issue 10:
Unable to lock Fn if a text area is not open. I would like to lock Fn to gain one touch access to arrows up and down for scrolling on webpages.

Issue 11:
Slight sluggishness when phone rings. I might see the portrait phone app for a second, but then the screen goes black for something like 3-5 seconds and then the dial app reappears and I can answer the call. It might occur when the phone goes into energy saving mode at the exact time the phone rings.

Issue 12:
Lack of "snap to grid" for desktop. Really? I'm supposed to be able to line up all desktop icons and widgets perfectly myself, with equal distances from each other?

Issue 13:
Once, when I booted the phone (because of another problem), I got into a desktop that was unbelievably slow. I have no idea what the phone was doing, but I was barely able to switch desktops. Fix: Reboot.

Issue 14:
No numerical battery information anywhere. The ONLY place where we can see the charge of the battery is the 5x5mm icon at the top.

Issue 15:
PDF-viewer can't fit the pdf to width. It can zoom to 100% or 150%, but nothing in between.

Issue 16:
Once, my phone mic died. No one could hear my voice on the other end. Reboot fixed.

I admit most of these are difficult. As a programmer myself, I would much rather prefer my bugs to be reproducable and when something isn't and I'm not even sure I can trust the person who reports the unreproducable bug, there's only so much you can do. Having run both iPhone and Android, I can honestly say, they are both much more mature at this stage. I am just hoping the base that Maemo5 is built on is the strong part, so that somewhere along the line, we will realize that every firmware update has been a major step towards a better device.

I still don't regret switching to the N900, though. Even with the lack of apps and the strange issues I've detailed here. But, and I'm loosely quoting someone else here, if you've been an iPhone user and you like it a lot and the fact that it "just works" and you're looking to the N900 for something even better than the iPhone, just look elsewhere. This isn't your phone.

However, if you like tinkering and having a really cool and customizable phone with some really, really good features (detailed in another blog post), look no further.

I might edit this post later, as I run into new issues... 

Windows Messenger (MSN)

So, when I heard the N900 would support most IM protocols out of the box, it never even crossed my mind that that wouldn't include MSN. I do almost 90% of my IM stuff over MSN and if that holds true for me, then by extension it must hold true for the rest of humanity as well, right? That's just how the human mind works.

Anyway, to be fair, MSN is a pretty well known protocol, so I still feel like it should've been included. Luckily, the whole integration of plugins into the "Conversations" application, where both SMS:es and IM messages are sent, is done through a well thought out plugin architecture, so people could just create new plugins for additional protocols. Awesome!

And there actually is an MSN plugin available. It's called account-plugin-butterfly. The catch, because there always is one, is that it isn't actually stable yet. Well, Maemo is based on Debian and Debianites are famous for dividing into two camps: Those who run only stable stuff and those who embrace chaos by running unstable stuff. Both parties have their well-reasoned arguments for their own point of view, but let's focus on the benefits and dangers of running unstable stuff.

If we run unstable stuff on our N900, we can get MSN through account-plugin-butterfly. The dangers of doing so, on the other hand, is that the applications are marked unstable for a reason. Your N900 might become slower, freeze altogether, or it might run just fine. New updates might make things better, but they might also break the application.

I installed the plugin, since I rely heavily on MSN and since the alternatives weren't integrated into Conversations and were described as horribly slow and ugly.

To install butterfly, you need to add a repository called extras-testing to your Application Manager. I won't tell you exactly how to do that, but if you know what you are doing, you should be able to find it out all by yourself. If you do, you're on your own: no one's going to get you a new N900 if you wreck it, so be careful and use your brain. Don't install other random apps and preferably remove extras-testing when you have what you came for.

The kinks
When you boot the phone and log on to MSN, everything works quite well. But if you are at all like me, you will alternate between MSN on your phone and MSN on your desktop throughout the day. This is where the difficulties start: When you log on with your desktop, your N900 is disconnected, since MSN can only be logged on to from one location at a time. When you want your N900 to get back on MSN, how do you do it? Log off your computer and then what? My point exactly, since the IM plugins don't have any visible "reconnect" or even "connect" function.

I've found three solutions:
  1. Reboot your phone. This almost always works.
  2. Disable your wlan (or package data) and re-enable it. It's easy to do from the status bar at the top.
  3. Disable just your MSN account by clicking the status bar at the top and then the availability -button. Click your MSN account and choose "disable". Then reverse the above and you might have yourself a working MSN account.

Hints

This is going to be a regularly updated hints -post, where I put in all the "hidden" gems I find.

Hint 1:
You can take a screenshot with ctrl-shift-p. The screenshot is placed in the Camera -folder where your digital photos also end up. Edit: I haven't changed anything, but I created a "Screenshots" directory under images and now, for some reason, all my screenshots end up there automatically. Pretty handy!

Hint 2:
You can show the Dashboard from anywhere in any program by pressing Ctrl-backspace.

Hint 3:
Kind of obvious, but here goes. If you unlock your device by opening the keyboard, closing it again will relock it. If you unlock your device from the power-button, you have to swipe the little slider to unlock. If you flick the switch at the bottom to unlock, you don't need to swipe the slider - it jumps straight into the phone. Closing the keyboard does NOT lock the device if you unlocked using one of the two latter methods. You can double press the power button to lock.

Hint 4:
There is a feature that will allow you to launch the phone app (to make a call) simply by raising the phone to an upright position. This has to be enabled from the menu in the Phone App: Menu -> Turning Control -> Launch by turning.

Hint 5:
The space bar acts almost as page down in the browser.

Hint 6:
If you like having your icons lined up perfectly, plan ahead: Decide which ones you want on a desktop and then start adding them one by one in the correct order. The N900 will automatically line up icons when you first add them. You can then screw up the symmetry by dragging the icons around and there's no way to "arrange icons" on the desktop.


More to follow... 

Browsing

The browser, called MicroB (Get it? Microbe!) is advertised as being the best on any mobile device anywhere. I agree to a certain extent. I've used the iPhone for years and then had a brief run in with a HTC Hero, before the N900 was released.

The screen on the N900 is very wide (800 x 480). This obviously allows the browser to show webpages as they were designed to be shown. It's not long ago when everyone was still designing their sites for 800 x 600. Herein lies a problem: Any webpage that is 800 pixels wide and fully zoomed out, has text that is too small to read on the N900. So, of course we zoom in. But if the site has columns that are wide enough to cover almost the entire 800 pixels, we have to start scrolling sideways the minute we start to zoom in. So it's a choice between sideways scrolling or text that is too small to read.

The iPhone has a portrait-mode screen, so if the site uses a relative layout, making the text column for instance 80% of the browser width, the columns still won't be very wide. The HTC Hero reflows all textareas so that sideways scrolling is (almost) never required. The N900 does neither and I ended up sideways scrolling on quite a lot of pages.

The best solution, it would seem, is to choose a larger font. You can change this from the "easily" accessible Menu -> options -> adjust view -> text size -> Large. This won't make the columns wider, so the text can be made big enough to read without side scrolling.

Another solution would be to demand kindly ask for reflowing of lines in a future update, like other mobile browsers do, but hey, this is supposed to be the real desktop deal, so changing the layout to make webpages easier to read, might not be part of the plan.


Kerning
Another irritating thing, that will probably be fixed in the future is the issue of kerning. Take a look at this screenshot:



I've underlined some pretty bad parts, but you can easily see the problem for yourself. The distance between letters seems random at best and deliberately horrible at worst. The browsing experience feels slightly amateurish, this way and I have no solution for it yet. I tried the Fennec Beta build, but it is close to unusable on my N900 and it doesn't fix the kerning issues. So, let's just be good early adopters and wait for a fix. (Or perhaps a hack, where we swap the font file on the device for something better).

Scrolling up and down
Here I might have a useful, albeit slightly tainted, hint for you. Coming from a line of capacitive screens, I find it quite hard to get the kinetic scrolling to work as smooth as I'd like on long web pages.

My solution then, is to use the arrow keys on the physical keyboard. That allows for really smooth scrolling and a level of control that is much closer to what I'd like. The only problem is, that you have to press Fn (Blue key) together with the arrow, to hit "arrow down" (or up). In text fields you can lock the Fn key by double tapping it, but not while browsing. I hope Nokia / Maemo could find it in their hearts to implement that in a future update, because it would be close to ideal to just open up a long webpage, double tap Fn and then scroll up or down with a single long click on one of the arrow keys.

Arrival

So, my N900 arrived yesterday at 12.30 early afternoon. I ordered it online on Nov 12th from the Nokia store, so I have no complaints about the pre-ordering process or possible delays. I happen to live in Finland, where Nokia is from, but I don't feel we had any advantage over the rest of the world. Apparently the devices were shipped from the Netherlands and I might have received it slightly ahead of most of Finland, since I practically live next to the airport.

On to the device itself: It is a beautiful piece of equipment. Just as shiny and compact as the ads would have us believe. The build feels very good and I have no fears of breaking any part of it. I don't see myself using the kickstand a lot, although it might make the N900 a very trendy, albeit expensive, photo frame with a suitable slideshow started. I mention the kickstand, since that is the part most people seem to think will break first. I don't think the stand will break that easily, but I am sure there's always one or two who will accomplish it.

This blog will not be your usual "unboxing" bonanza, because I am sure you will find an unlimited supply of those. Instead, I will try to describe all my relevant experiences, good or bad, with the device so that they may benefit people in the same situation as me.

And believe me: a lot of people will be disappointed at first. This N900 has a lot of issues out of the box, but I think most can be solved. One BIG hurdle is the fact that people are used to the iPhone and expect everything to work the same way - at least all other devices that are any good. Well, the N900 is an enigma: It's nothing like the iPhone and it still manages to be good. You just have to realize it's a different tool that has to be used in a different way. I hope you will find my thoughts during the coming months both use- and helpful.