Roundup

3 11 2009

I found that there are a whole bunch of articles shared by various people on Twitter that I wanted to comment on, but with more than 140 characters. Plus, I come across some pretty interesting posts on Google Reader every so often, and I often find I want to write a response. So this is going to be a semi-occasional roundup of various such articles.

  1. Via @atmasphere comes Marketers salivating over smartphone potential: Actually I suspect the apparent willingness to see mobile has less to do with what they’ve identified and more to do with: (a) there’s no irritating, resource-intensive Flash ads on most phones, so people’s desire to tune them out hasn’t kicked in as strongly yet; and, (b) there’s no Adblock for most of these phones yet. Once these ads start slowing phones down and eating through the capped data plans causing overage and grief for users, this will change quickly.
  2. Saw what is probably the definitive guide to available-in-the-US e-readers over at dealnews.com. While there are a ton more readers out there if you’re willing to look at importers, this is a pretty exhaustive comparison of the various options out there. The thing that I find most interesting about this is how all the screens are 6″ or larger (basically). I, for one, would welcome an e-book reader roughly the shape and size of a traditional mass-market paperback book.
  3. Engadget is reporting on the Symbian app store, joining such stores as the Android, Apple, Blackberry and Nokia stores. And in the last of that list lies the nub: given that just about the only people who use Symbian extensively is Nokia, why is there such a duplication of effort? Let Symbian licence the Nokia store for use on any Symbian-powered devices, if the legalities are a problem. This is just a tremendous waste of resources.
  4. Via @bperry comes Mobile first: I agree with the the author’s first two points. Mobile use is skyrocketing, and mobile screen real estate is limited and websites designed for mobile devices are often clearer and more function-oriented than their desktop-bound counterparts. But I disagree with the observation that mobile platforms are more functional; in fact, that’s the biggest challenge in designing for mobile devices has always been the huge disparities in device capabilities. Even if you look at the two platforms currently hogging mindshare – iPhone OS and Android – device capabilities are hugely different. The original iPhone doesn’t have a GPS at all; the 3G has a GPS, but no compass. The Android devices offer multiple resolutions. More to the point, these two platforms occupy a very small market share and if you expand your audience to the entire mobile spectrum – feature phones and smart phones – then good luck getting anything beyond the most minimal of pages up.


Backup, part CXI

28 03 2009

On Tuesday, one of my colleague’s apartment caught fire. While both her and her husband escaped unscathed, a number of their belongings did not. Which led me to reconsider a number of things, including my backup strategy.

One of the things that’s always bothered me about my backup strategy is that while it protects against stupidity (accidental deletion by me), malice (intentional deletion by malware) and failure (hardware crash), it doesn’t really offer any way to protect against catastrophe. Catastrophe, in this case, includes things like fire, flood, lightening strike or tornado, where I’m likely to survive, but I don’t have a chance to take my things with me, as well as those instances where I’m not likely to survive – say an attack on Washington, D.C. While I can’t do much about the latter case, I’ve been trying to figure out how to protect against a human-survivable catastrophes, like those in the first case.

Essentially there are only two things I need saved: my passport, and my data. Everything else is expendable. So my first instinct was to buy a safe and a hard drive to put into said safe. Therein lies a problem: putting a hard drive in and out requires manual intervention to actively save the data, and inevitably, catastrophe is likely to strike when the hard disk is sitting outside in the process of backing up. Plus, for years now I’ve considered non-redundant backups to be the height of heresy – my RAID 0 array is a collection of RAID 1 arrays, soon to be a RAID 0 array of RAID 5 arrays. (And that’s just the first line of defense.) So, next step is a simple RAID 1 array of the most important data – except, you can’t get RAID 1 hard drive casings any longer, and besides, you want simple, so that you can recover even if electronics are soaked, burnt or bashed.

So, by this time I’ve reached a toaster-like device (D-Link DNS-321 or similar) permanently connected, and located inside a fire proof box, with flat wires coming out through seal. The only problem is, running said cables – no matter how flat – will destroy the seal, making the fire-proof box not very fire-proof, and hence essentially useless. So then I thought about online backup services.

I have two major problems with online backup services: (a) the privacy of the data; and, (b) the survivability of the company. While the privacy of the data can be assured reasonably well (why hello, Truecrypt volume, how do you do), the survivability of the company becomes a major concern. So-called well-recommended firms like Box.net and Mozy have only been around for a few years (if not months) and without any idea of how they are performing financially, I’m loathe to let them act as my backup provider. Those companies with a track record which offer backup services, however – Amazon’s S3, for example, or Microsoft’s Live Drive – do not use standard protocols like SFTP, or heck, even WebDAV for transferring files; nor have Microsoft or Amazon ever had the slightest hesitation in killing off service offerings that were unprofitable for even a short time. Thus, even if the company holding my data survives, the service may not. (Though, one thing to consider: an added benefit of using an online provider is that it offers survivability against theft, which none of the other options do.)

So, I’m back where I’ve begun – how do I prevent data loss in the case of a catastrophe? One option I’m thinking about is setting up a toaster-like device at my folks’ place clear across on the other side of the globe. But that would require: (a) my parents leaving their connection on 24/7, which I know they are loathe to do; and (b) likely a trip to configure everything there. I don’t know what I’m going to do as yet – and I’m hoping to find out what all of you do. Any suggestions?



Happy new standards compliance!

4 01 2009

UPDATE 2, shortly thereafter: Fixed. Let’s not look at the messy source code – and TWO CSS sheets, mmkay?

UPDATE, the next morning: I didn’t realize that the reCaptcha plug-in is using an iframe. Going to try and fix it, though it will mean assuming that everyone supports JavaScript. Damn. So close.

ORIGINAL POST below:

I’m pleased as punch to make one of my new year’s resolutions come true already.

A long standing goal of mine has been to make this site XHTML 1.0 Strict-compliant. The site has always been XHTML 1.0 Transitional-compliant, but given a good kick in the posterior by Kats, I went through and corrected all of the errors that were preventing this from becoming a Strict site. A few other/related changes of note:

  • The Xbox Live Widget, which was Flash-based, has been temporarily removed, until I understand the intricacies of getting Flash to co-exist alongside XHTML 1.0 Strict-compliant websites. I’ve understood the general principle of how to get this to work, but it’s going to require tweaking. Also, it slowed the page down.
  • Since no one (and I mean, no one) was using the Chat widget, I removed that. It also used Flash.
  • After getting frustrated about not being able to access categories from an older phone browser (*cough*Blackberry browser*cough*) due to borked Javascript support, I’ve changed the categories list from a drop down to a list.
  • I don’t get enough comments to need a recent comments box.
  • Similarly, there are more posts on the front page than the recent posts box. The recent posts box has been removed.

Long and short of it is that you should be able to get this page to now appear in any standards compliant browser in standards mode, and it should load significantly faster than previously – to the tune of 5 seconds (or 45%) faster on a dial-up connection. I have not yet made up my mind whether I should join Kats in forcing XHTML+XML and locking out IE users, but I’m a pragmatist whose leanings lie closer to Joel Spolsky‘s views on standards than the zealots. I may simply add a server side redirection for IE users to encourage them to download a decent browser.

In the meantime, please let me know if anything breaks. Thanks, and happy new year.

Valid XHTML 1.0 Strict

Valid XHTML 1.0 Strict



All Synced Up (part 2)

11 09 2008

One of the things that I’ve been after for a very long time is the ability to have my calendar on any device or software, and have them all in sync. The path to this synced up nirvana has finally been reached, albeit, not the way I expected, in all honesty.

If you remember, when I last explored this topic, I had to sync Google Calendar with: an Ubuntu machine with Thunderbird and Evolution, a Windows machine with Thunderbird and Outlook, a Windows machine with Lotus Notes, a Mac with iCal, Thunderbird and Entourage, a Nokia N80, a Nokia N800, and I’m sure I had a half-dozen other devices in mind. I can’t remember.

Since then, the simplification has occured. To wit – some machines replaced, others discarded, others are no longer necessary to sync. So this is how I do actually, somehow, manage to keep my calendar in sync.

  • Windows machine, with Thunderbird: Lightning + Provider for GCal.
  • Windows machine, with Outlook: Google Calendar Sync.
  • Windows machine, with Lotus Notes: custom code that converts iCal into Notes events and vice versa.
  • Mac – retired and up for sale.
  • Ubuntu machine, now Thunderbird only: Lightning + Provider for GCal.
  • Nokia N80 – replaced by iPhone.
  • iPhone – NemusSync.
  • Nokia N800 – retired for the now; maybe resurrected.

Within at least a couple of hours, thus, I am entirely in sync. NemusSync for the iPhone does not have background sync, though I’m beginning to suspect that this may be solvable with a cron job. Either way, I’m really enjoying being able to add an item into the device that is handiest and having it appear (magically!!) elsewhere, and sadly, it’s only taken years to get here.

What we really need is a generic sync protocol for arbitrary data, kind of like IMAP for email. In fact, if there was a way to explain capabilities in the sync, it would be even better. It would be cool beyond words if you can arbitrate different data formats in the sync; imagine never having to transcode files a thousand times – do it once, and the underlying sync protocol will do the rest. (Side note: I wanted to call it OpenSync, but apparently, that’s taken.)



Standards

29 07 2008

Wired has a good article up about why the future of digital music is still the crusty old MP3 format from the late 1980s. Probably the most important reason, though Wired mentions it only in passing is compatibility. Everything – and I really, truly mean everything – supports MP3. Looking around the house, I’ve yet to find a device or gadget that plays music in a format other than MP3. Sure the iPhone supports AAC, and the N800 supports Vorbis, but both devices support MP3 and that’s why I think MP3 will be around a long, long, long time yet. And judging by popular reaction, I’m not alone in this frame of mind.

In fact, the best way to understand MP3′s wide compatibility is to look at a market where there is not a standard like MP3. For example, I would very much like to backup a number of my Indian movies, which are already suffering from disc rot. However, there is no one single file format that I can save my movies too. If I save it in DivX, the most widely used video file format, I cannot play them back on the television, since none of the devices connected fully support the playback of DivX. Neither can I watch them on my iPhone, since DivX is an alien concept to Apple. On the other hand, saving the file as a H.264 file ensures I can play back on the Xbox, but the file will stutter on the iPhone. If I choose to setup a file that doesn’t stutter on the iPhone, I artifacts that make the file unwatchable on the Xbox. And heaven forbid I should try to watch this on my N800, or on the computer. I find myself in the unenviable task of having to making five different versions in order to ensure universal playback, a situation that should never arise in the first place, if there was a standard that just worked, like MP3 does for audio.

So, if anyone has a good solution to my problem, I’d love to hear it – what’s the video version of MP3?



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.



Oops, sorry.

18 03 2008

I just realized that the theme I installed has a validation note at the bottom that specifies this page is XHTML 1.1 compliant. Since WordPress couldn’t put out compliant code if its life depended on it, that’s clearly not true. I can’t seem to access any ports other than 80 on this network here, so I’ll edit the template when I get home.

However, the website looks as it should according to my checks in Firefox 2.x, 3.x, IE7, IE8, Safari 3.1, Opera 9.25, and the various other browsers I’ve tried it with. I’ll run it through BrowserShots too and see if it looks okay, but my guess is that as mangled as the HTML that WordPress generates is, it should render fine.

Of course, you may not see one or two Flash applets, and pictures, depending on whether you’ve got the correct plugins installed and if you’re using Lynx.