Given enough computing power…

29 06 2008

One of the more interesting arguments I have back and forth with people is about Windows Vista. I’m most assuredly not a fan of Windows Vista, but I do have a slightly more fair perspective of Windows Vista than most.

For example, a friend of mine and I often have conversations that go something like this:

Friend: “Varun, Vista sucks.”
Me: “Now why?”
Friend: “Because it runs so slow. When I ran XP on it, it was so fast. But Vista is slow!”
Me: “So you’re telling me that an OS designed three Moore Cycles ago is slower than a contemporary OS? Why is this a surprise?”
Friend: “Because it’s so slow. I can’t stand this. I’m going back to XP.”

Fair enough. I have enough gripes and frustrations with Windows Vista that I’m considering buying a new laptop that comes with XP out of the box, instead of Vista. But I’m also realistic about it. When Microsoft was designing Windows Vista, the facts were: there was no EeePC on the horizon, little notice that Intel was switching away from the megahertz race to the performance per watt metric, and vast numbers of tiny, eco-friendly cores were distant gleams in chip designers’ eyes.

Anyway, this is a long way to get around to the point. My flatmate bought a new computer this weekend for less than $400. It’s one of those HP Slimline machines, kind of what I was considering, except it’s got a AMD Athlon 4400+ instead of an Intel Core 2 Duo. The only change she made was she doubled the RAM in the computer from 1GB to 2GB. It has Windows Vista Home Premium on it.

It is FAST. Even with the crapware that came with the computer (including – shudder – Norton Internet InSecurity) and no SP1, the computer ran surprisingly quickly. In fact, the new machine was significantly more responsive than XP on the predecessor machine. By way of comparison, this computer scores about 175% of the PCMarks that the old one did, so it’s not as if the new computer is several orders of magnitude faster than the old one.

Which just goes to show: Vista may require more resources than XP. And I, for one, do feel a lot of that wasted resource usage is useless crap – mainly of the DRM variety. But, when you give Vista a machine that was designed for Vista from the ground up, including a DirectX 9.0c card, enough RAM, a decent (not blazing processor) and a depressingly standard hard disk drive, it can scream and feel as responsive as XP.



Maemo Diablo

24 06 2008

One of the cooler little gadgets I have is a Nokia N800. Unlike it’s quickly surpassed and killed off elder brother, the Nokia 770, the N800′s basic hardware platform has persisted for a while as the official platform. The successor to the N800, the N810, is cosmetically different and has a few extra things – such as a GPS, a slide-out keyboard and 2GB of fixed internal memory – but is essentially the same platform. However, given Nokia’s propensity to kill off marginally older platforms by simply not supporting them with updates, I was sure that the edition of Maemo that Nokia had released late last year would be the last major update to N800 and the N810 before a switch in hardware design to either a faster ARM chip, or as I believe strongly, an architectural change to an Intel Atom chip.

Thus, it was with some relief I found that the newest version of Maemo, version 4.1, codenamed “Diablo”, was out and running speedily on my N800. While the complete change log is extensive and provides some amount of insight into the ambition that Nokia has to make Maemo a complete Linux distribution, for the end user there are a couple of noticeable changes that matter:

  • Most noticeably, the mail client – an utterly non-functional piece of crap written in-house – has been replaced by a community developed client called Modest. When I last looked at Modest, before it was adopted as thoroughly by Nokia, I found Modest anything but modest in its ambitions, but it suffered from Q&A issues. Most notably, there was a memory leak that quickly killed the limited RAM on the N800 and caused the entire OS to respond sluggishly. While I haven’t had a chance to stress-test it yet by trying to get it to download my entire Gmail inbox, it is at least able to connect flawlessly to Gmail, unlike the original Maemo email client, which would connect approximately never.
  • While this did not affect this update, Nokia has now added the ability to update parts of the operating system incrementally, like a full Linux distribution. Much like Ubuntu‘s nearly daily notifications of available software updates, Maemo can now strip out and replace almost anything – including its own kernel – without needing to be connected to a computer. This is important for two reasons: (1) Maemo has finally become an OS that is capable of standing by itself, without needing to be tethered for any reason; and, (2) it means that the community can continue to support older devices if Nokia should decide to end support for it simply by specifying new system update repositories. So I look forward to not having to tether my N800 again for a long time.
  • Chinese support has improved tremendously, to the point that it can be used in the browser.
  • Speaking of the browser, I find that despite no change in the underlying browser engine – it’s still the same version as was used in alpha 1 release of Firefox 3 – the entire browser feels more responsive. I’m sure this is because of tweaks to the windowing architecture, not the browser code per se, but it’s still important to note that much of the sluggishness that made the browser unusable is gone.
  • One small thing that seems to have gone unmentioned in the general rejoicing following the release of Diablo is vastly improved UPnP and remote storage detection. Earlier, my N800 would rarely – if ever – see and connect to the half-dozen UPnP devices on my network. Mounting a network drive was a risky proposition fraught with the danger of data loss. So it was a much welcomed pleasant surprise that upon opening the Maemo File Manager, every single device advertising itself as a UPnP server showed up perfectly, as well as every single NFS and SMB server. I don’t know who was responsible for that particular portion of the code, but who ever you are – thank you. I simply do not see the need to connect my device to anything other than power and a Bluetooth keyboard any more.

That said, Maemo still suffers from a couple of problems. A major problem is the (apparent) lack of focus. Unlike Nokia’s other major FOSS announcement of the day – the purchase and open sourcing of Symbian – Maemo seems an odd (and especially in light of the open sourcing of Symbian, redundant) fit at Nokia. GTK-based at the owner of QT, and targeting the same class of device that Ubuntu mobile and a number of other fledgling Linux distributions, it risks being left on the side, simply because no one knows what to do with it. Nokia does not need to announce upcoming devices, nor give up a competitive edge by laying out a detailed roadmap for the future of Maemo, but it would be nice to know what the entire exercise is in aid of. Is Nokia committed to Maemo sufficiently that within a decade it will replace Symbian on high-end phones with it? Or is Nokia branching back into computers with Maemo as its default operating system? Or is this a ten year experiment by Nokia into determining how to work with the FOSS community? Answers to these questions are not easy, but starting at least a dialogue with the community about what the long-term sustainability or viability of the platform is for the next decade will encourage developers to come to the platform. Moreover, it gives evangelists like myself and others the ability to say with confidence to our employers and others – look, Nokia is going to be supporting Maemo for the next decade and we should capitalize on this opportunity to take our applications to that platform. If we are witnessing the birth of yet another new platform – especially one with a long-term commitment – then surely it is time to come out and say it.

Second, Maemo’s usability leaves a lot to be desired. One of the major issues I had, when I gave someone reasonably technologically literate but unfamiliar with Maemo my N800, was they explored the Home screen and pressed the buttons, but weren’t able to figure out how to get to any of the applications. This lack of discoverability could be easily rectified – on the first boot, if no backup is restored, put some very simple animation on the applications icon. Doesn’t have to be fancy, doesn’t have to last more than a few seconds or repeat more than once; just a simple shine effect or light glow is sufficient to prompt people to say “Oooh, what does this do?” and press it. Similarly, it takes a while to discover the menus in an application, especially if you’re hurrying about looking for a save button. A simple sparkle about the down arrow will be enough to provoke exploration. In short, the entire Maemo UI team needs to read this book and give devices to those who are not just unfamiliar with Maemo, but those who are technologically illiterate. God knows, they’ve got enough in-house talent.

Along these lines, some amount of work needs to be done to develop (and/or update) UI guidelines. I know it sucks to write documentation rather than code, but you need the documentation to get more code. There are by my count six different ways (including third party apps) to play music on the N800 and seven widget sets supporting these six UIs. None of them, including the built in music player, look anything like the rest of the Maemo applications. For that matter, what does a Maemo application look like? Nokia needs to sit its developers down and show them what Mac OS X 10.5 and its bundled apps look like, develop a set of UI guidelines to follow, and then, most importantly, follow them. Also help the ecosystem: highlight applications that follow the UI guidelines as models to follow, and reach out to help third-party (particularly volunteer) developers bring their applications more in line with UI standards. One of the reasons I love my Ubuntu installation is because it looks so incredibly similar. Unlike almost every other Charlie Foxtrot mish-mash of applications pulled from different widget sets with different design philosophies, Ubuntu (and each of the official derivatives) all look like someone carefully picked applications that look similar and belong together. It’s not perfect, of course, and if they had a monopoly on built-in applications, like Apple does with Mac OS, it would look better. But it’s still not as bad as Microsoft’s contribution to UI standardization, nor Maemo’s explosive dissimilarity.

Finally, Nokia needs to determine what to do about installing applications, and do a better job about following the process. The second point first, illustrated: as per my usual procedure, when I updated to Diablo, I started with a clean slate and started to install applications from scratch. Despite being given notices that very clearly say “Nokia Corporation End-User Licence Agreement” and agreeing with them, installing the camera app brought up a warning that I was installing an unsupported and non-Nokia product. Ditto the FM Radio and others. I can understand that Nokia may be hesitant to claim responsibility even for its partner’s products – think mnotify (by Google), the Garnet VM (by Access) – but there is no reason that they should attempt to disclaim responsibility for their own products. Someone in the Maemo team needs to sit down with the lawyers and the suits and make a decision on this. The preferred way is the Apple way – if you put it into an “official” Nokia repository, then Nokia has checked it and certified it. Alternatively, do not offer any software at all besides what is required to run the device. A middle ground should simple be that there should be no arbitrariness about ownership and responsibility – if it has a Nokia EULA on it, Nokia should say it supports it; if it doesn’t, you’re on your own.

Speaking of repositories, this is a pet peeve of mine: I don’t go in search of repositories; I go in search of applications. Nokia needs to follow the lead of Ubuntu (and for that matter, just about every other serious Linux distribution) in putting together a central repository where users can go to. It can be as tightly integrated with Maemo as Synaptic is with Ubuntu, or as separate as Mozilla’s add-ons for Firefox or Thunderbird. But there is no reason I should have to go trawl through the bowels of InternetTabletTalk to find my statusbar clock or Abiword. By all means, leave open the option of adding repositories, but create a central source, and encourage developers to submit their applications there after some minimal quality assurance and testing. For all of Nokia’s vaunted resources, the thoroughly unofficial, unsupported and Apple-condemned jail-broken iPhone community does a better job at making applications discoverable. It should shame Nokia that it’s easier for me to find an SSH server and client on the iPhone than on the N800. And once there is a central repository, and once there are applications in there, ensure that it can be searched, no matter what the official characterization – and ensure descriptions are useful. If I need Gnumeric, I should have to look under “Office” or “Productivity” or “Utilities”: a universal search should start when I start typing “gnumeric” into a search box. If I’m looking for a calendar, “GPE packaged with MUD” is less clear than MUD.

This has turned into a much longer post than I had hoped. I had hoped mainly to highlight that Nokia had released a new edition of Maemo, something which got buried in the news about Symbian*. Instead this has turned into a bit of a rant. That was not my intention. With the release of the Diablo edition, Maemo has become the mobile OS I’ve dreamed about – one that doesn’t need to be tethered for any reason at all, including updates. Which is why the niggling problems and the lack of long-term strategy announcement bothers me so – is this just a passing fad at Nokia or can I come to rely on this as my primary OS for a mobile device? I am doubtful anyone at Nokia will read this, but if you do – you don’t have to answer my questions or even comment. Just indicate somehow that you’ve understood the gist of this article and that you will continue to make improvements to make Maemo the best mobile platform, bar none. The iPhone maybe the platform du jour, but Maemo has been out longer, matured longer and is in a position to really take Linux mainstream the way few other distributions – Ubuntu included – are ready to do and capable of doing. But it needs help doing so and Nokia as the official patron needs to step up and provide that help to make it happen.

*: Another suggestion, Maemo team – please check with your PR office that no other major FOSS-related news is due to be announced the same day as your new version’s release. It ensures maximal coverage of your contribution to FOSS.



When replacing one…

23 06 2008

Back when I was in college, I had a great little Netgear router. Tiny, speedy and cheap, I would stick it on my bookshelf between a few of the more esoteric Greek and econometric texts and it would happily chug away day and night, connecting me to my network from just about anywhere on the planet – which usually meant from the library. I had to reset it about once a year, when some network administrator or another discovered it and fed it crap data until it gave up and conked out. But for three happy years, that one little router passed data back and forth reliably. So reliably, that I once realized my computer’s hard drive was dying – while sitting two miles away using a library computer. It just about never went down; if something wasn’t working, it meant the device was dead or dying, or I had screwed some configuration up. It was never the router at fault.

When I graduated and moved to DC, however, some amount of politicking with the people I initially lived with meant that I couldn’t deploy my little Netgear. Instead, I was forced to use a slow, 11Mbps, Linksys 802.11b router that they had deployed. Unhappy with this situation, I quietly replaced it with the 802.11g variant. I chaffed at the price initially – $60 for the Linksys router in 2006, versus $30 that I paid in 2003 for my little Netgear – but assuaged myself by patting myself on the back for buying an excellent Cisco-backed networking device.

Boy, did that honeymoon not last long.

Within a few weeks I discovered that address reservation – a way to assign effectively static addresses to devices connected via DHCP – was non-existent. Instead of allowing me to map a MAC address to a certain IP address every time, the Linksys solution was to assign a static IP address. Not only did that require me to keep track of every single device – and ensure the file was accessible from everywhere I needed to get into my network – but it also meant every time I took a laptop out elsewhere, I would need to reset all the settings. (Awful.) Of course, the second solution was to leave – riskily – remote management on and keep changing fowarding settings. Given the pain of changing the settings every so often, I chose the second option.

Several weeks later, I discovered that even this solution didn’t work: the stupid Linksys DHCP page would simply not show leases for hours, if not days. To date, through eight firmware releases, I still have not got reliable DHCP information. I finally gave up and started assigning static IP addresses to devices that are not likely to leave the house.

Of course, the simple solution would be to buy a new router. (Or install DD-WRT, but that’s not an option on a v6 Linksys router, unfortunately.)

And thus the issue.

You see, if I still had my little Netgear, this would not be a problem – I would have a reliable little router chugging away. I passed on my Netgear to my folks, praising the device as a reliable piece of kit. They, despite being new to the notion of a home network, have not once complained that the router has given them any trouble; once configured, it’s lived a happy quiet life pulling and pushing bits for their burgeoning home network.

But now, I’m reluctant to buy another because of the huge changes coming.

First, wireless is transitioning, from 802.11g to 802.11n. While this will have no immediate benefit to my entirely 802.11g network, at some point of time, I will have 802.11n devices, and it will be wise to use all available bandwidth.

Second, wired connections are transitioning, from 100Mbps standard, to 1Gbps standard. I already have a handful of 1Gbps devices connected to my network – my home server and my flatmate’s laptop both have 1Gbps ports, and everything is wired with Cat6 cabling. One of my requirements for my next computer is that it has a Gigabit ethernet port and/or Draft-N support.

Finally, IPv6 is becoming a reality. Given that I expect a router to last about a decade with some care, I do not want to buy a router today that will be obsolete when IPv6 is out and widely deployed. Just about no consumer router has IPv6, excepting the Apple Airport, which suffers from other problems.

So, I find myself struggling with what should be a simple task: a router that “just works”, and yet is sufficiently advanced that it will not be obsolete tomorrow, without breaking the bank.

If any of you have any ideas about this, I would appreciate some feedback. I am looking for a router that:

  1. Has four Gigabit ethernet ports; eight is preferred.
  2. Has 802.11n support that is software upgradeable to the final release of n.
  3. Supports IPv6 fully.
  4. Has a web interface.
  5. Costs less than $100.
  6. Ideally has a USB socket for a printer.

So far, the only thing remotely close to this list of desires is the new D-Link DIR-628, but it does not have IPv6 support, nor Gigabit ethernet ports.

The search continues…



New computer season

22 06 2008

So, it’s that time of life again – time to buy a new computer. Since the last time I bought a computer, the options have become infinitely more varied and difficult, so if you’re interested in helping me choose a computer, click through. It’s not a long post, but it does require some thought.

Read the rest of this entry »



Primary platform

17 06 2008

One of the most interesting things I’ve discovered since I got my iPhone is how much more I use the internet now, than before, whilst on the go. To put this in perspective, during my entire N80 ownership period (October 2006 – March 2008), I used approximately 300 MiB of data on the phone, untethered. (If you include the tethered amount, that quintupled to about 1.5 GiB.)

By contrast, just in the past 30 days, I have used 380 MiB on my iPhone. Total usage since April? Approximately 1.2 GiB.

And there are two reasons for this (well, two and a half):

  1. The browser. Unlike the S60 browser that takes months (and really, months) to startup – the iPhone’s Safari browser starts up immediately. The browser is hugely responsive. I never felt, like I did with my N80, that the browser was about to collapse. Going back to the N80, and trying out a friend’s E51, it hurts to see how sluggish a web experience S60 users have. I don’t disagree that the S60 browser has more features, but between features and speed, on a mobile device, I’d choose speed. And really, the S60 browser falls way behind Safari on the features that really matter to me – web standard compliance.
  2. The RAM. Unlike my N80, which was perpetually starved for memory, the iPhone never seems to run out. Oh, it does, and sometimes, opening Terminal or Mail takes a few seconds longer than when the app is loaded in memory. However, it feels like a true multi-tasking OS. I was able to precisely once browse the internet and listen to music at the same time on my N80 – and that was when I was on a WAP site. Loading anything more complex than, say, Google’s homepage would instantly kill my music, or give me an “Out of memory!” error. I hear that Nokia is finally playing catchup and adding RAM, but the OS is still too slow and sluggish, feeling more like Mac OS 9 than Mac OS X. S60 was never designed as a multi-tasking OS, and all the hacks and improvements in the world will never change that. (Just see what happened when Windows was dragged screaming and kicking into the Windows 95 era to see how well OSes handle a fundamental structural change.) Perhaps Maemo will become the future platform of choice for Nokia, giving them a true multitasking OS, but speed and reliability will remain major issues.

The half-reason is the battery life. I tend to keep the WiFi running all the time, which probably doesn’t make for the best situation, but nonetheless, the iPhone runs about 36 hours before dying pretty consistently. In practice, this means that I can charge it every night, with a comfortable margin for excess usage during the day. By contrast, the N80, on a brand new battery would die within six hours if the WiFi network search was enabled. Note I said WiFi network search – not usage. Using WiFi would kill the battery dead in less than half that time. I left it off most of the time – using it briefly when I knew I was in range of my home network to use Fring, or some other bandwidth intensive application. I have no such compunctions about leaving the iPhone’s WiFi running 24×7. The battery keeps up.

Probably the most damning indictment of S60, though, is how the iPhone has changed my behaviour. Earlier, I would routinely sit with my N80, but if I had a quick question or something to lookup, I’d open up or start my laptop and do it there. Now, I grab my iPhone to do the same, often leaving my computer off. There have been weekends where I’ve not bothered to turn on my computer at all.

So I find myself agreeing with David Pogue (not one of my favourite writers – he specializes in something I affectionately call verbal diarrhea): we’re witnessing the birth of a fourth major platform – Windows, *nix, Mac OS, and now, iPhone. More and more, my iPhone is replacing my other machines to do everything. In time – not now, probably not with the iPhone 3G – I think that my iPhone will become my primary platform.

As someone who has been waiting for a good mobile platform – one that allows me to leave my computers behind for good – all I can say is “about bloody time”.