Archive for February, 2008

February 21, 2008: 8:08 pm: DanSoftware Tools

Every once in awhile I come across a piece of free software that I would gladly pay to use. I love to write about these gems because a) they deserve the publicity (if you call being mentioned in my blog “publicity”) and b) as a software developer I have a great deal of respect for coders who are great at what they do and haven’t sold out to one of the industry’s Goliaths.

Today, I’m singing the praises of Zoho.com.

It wasn’t that long ago that the idea of a browser-based word processor or spreadsheet was laughable. In a browser, a document was a giant text box, and a grid was a bunch of little text boxes lined up in rows and columns. The only way to provide a rich GUI was to use the browser as a launching pad for other executables, like ActiveX or Java. And if you were going to end up running executables, why bother going through the browser to run them?

Then along came AJAX, fast Internet connections and gigabytes of remote storage, and the browser wasn’t so laughable anymore. My own experience with browser-based document editing began about a year ago with Google Docs. Being a Google product I expected something that was fast and easy to learn, and I wasn’t disappointed. The convenience of having documents accessible from any PC on the Internet without shuttling files between servers outweighed the disadvantage of having to live with Google Docs’ sparse set of tools. Speed wise, Google Docs is almost as good as working with files on a desktop Office suite. Usability wise, not so much. The user interface is constantly reminding you that it’s not that far removed from the previous generation’s giant text box. I’ve lost track of the number of times that I became so entirely frustrated with the unpredictable reformatting of a document that I had to click the “Edit HTML” button and clean the thing up manually.

I first came across Zoho a few months ago. My first reaction was “yikes, how did it launch an executable from the browser without even notifying me?” The GUI is that good! In terms of features, Zoho is to Google Docs as Word is to WordPad. The user interface hardly ever reminds me that I’m working in a browser — on the contrary, it constantly makes me amazed that things like drag-and-drop and pop-up windows can work so seamlessly in a browser. If a browser can do that, they why can’t all other sites work like this? (Actually, as a programmer I know full well that the answer is “because it’s damn hard!”). As proof that there isn’t some Windows-based sleight-of-hand going on, Zoho runs on any browser based on the Mozilla engine, including the built-in browser on my N800 palmtop.

Not only do I never use Google Docs anymore, but the only time I use Microsoft Office or OpenOffice is on the few occasions that I’m offline or need advanced features like VBA macros. (Zoho actually has support for using Google Gears to work with documents offline, but I haven’t given that a spin yet.)

As with desktop-based productivity suites, Zoho is so packed with features that I haven’t tried out all of them. One that I’ve recently discovered is its ability to post articles directly to your blog. My blog is hosted by Netfirms (a fellow Torontonian, eh) using the Multi-User version of WordPress, so I don’t have much control over how WordPress is configured. Still, it works as seamlessly as the rest of Zoho, including embedded images. Given that WordPress’s built-in editor is to Google Docs as Notepad is to WordPad (to wit, it sucks), this is way, way cool.

Zoho’s FAQ entry tells you pretty much all you need to know, but since I had to make a change to one of the settings I thought it might be worth documenting the process:

  1. Click “Publish”, then “Post To Blog”
  2. A pop-up window (not a browser window, but a slick GUI window imbedded in the current browser page — again, how do they do that?!) will appear. Click on Change Blog Settings, and you’ll see the dialog shown at the right.
  3. Fill in whatever you like for the name. The URL that I used is the one setting that I had to change from what is listed in Zoho’s FAQ — your mileage may vary. The API is metaWeblog, as shown.
  4. Click the Save button, and you’ll see a “Blog Settings” dialog. Fill in the same user-ID and password that you use to login to your blog’s admin console, then click the “Get my blogs” button.
  5. In the case of WordPress, at least, it should actually be a “Get my blog settings” button, since it retrieved my blog’s categories and other WordPress-specific settings, as shown on the right. This dialog is one you’ll use in the future to post blog articles. The article’s title will be the same as the Zoho document’s name.

The coolest thing about Zoho is something that it doesn’t have, and doesn’t need: an “Edit HTML” button.

February 13, 2008: 6:35 pm: DanGadgets, Software Tools

The extreme stupidity in question is my own. The power-on problem involved a new notebook PC that I received at work, a Dell XPS M1730.

This is the Hummer of notebooks: over 10 lbs, and 16 inches wide, bristling with ostentatious flashing LEDs. Dell describes it as a “mobile gaming stud”. I have no idea why my company chose it. Honest. That’s my story and I’m sticking to it.

Don't Touch!
Don't Touch!
Anyway, after a week of restrained business use, I took the beast home on the weekend and started tweaking, poking and prodding. Eventually my attention turned to the Dell MediaDirect button. If pressed while the PC is powered off, it is supposed to launch Dell’s media center software directly, without having to boot Windows. What it actually does is launch another version of Windows that is contained on a 2G hidden partition, then run Dell’s media center software.

In theory, at least.

What it did on my notebook was try to run Dell’s MediaDirect software then, after about a minute of disk activity, display an error message “Dell Media Direct Express cannot access your Harddrive. This may be because you have accessed Microsoft Bitlocker (Driver Encryption).” After I clicked OK, it powered off again.

Not a big deal, and not a big surprise. The notebook had originally come with Vista, and my company’s IT guys replaced it with XP, so there were a few bells and whistles that were disabled in the process. (I’ve given up trying to revive the GamePanel LCD screen.) I’m still not entirely sure what the point of MediaDirect is, but I’m sure I can live without it.

So I powered on the notebook and was surprised to see MediaDirect launch again and go through the same routine, ending with the “Bitlocker” error. Did I press the MediaDirect button again by mistake?

Nope. Another power on, and again with the MediaDirect.

Google “MediaDirect boot” and you’ll find a lot of Linux hackers wondering how to dual boot MediaDirect (or get rid of it, depending on their level of anti-Windows zealotry), and this interesting article which describes the technical details of how MediaDirect works. Most of it refers to an earlier, scarier version of MediaDirect which used something called a “Host Protected Area” (HPA). Apparently this well-secreted part of the disk frustrated Linux hackers to no end. But, as the article points out “with MediaDirect 3, Dell has switched to installing MediaDirect in a logical partition instead”. Logical partition boot problems are not hard to fix right? Set the active partition, reboot, you’re good to go.

For many years now, I’ve been relying on a bootable Knoppix CD for this sort of thing. When you run either GParted or QtParted, setting the active partition is a point-and-click operation.

But not this time. GParted showed the 148G as “unallocated”, and QTParted as “hidden”. The first trickle of sweat ran down my back. If Gparted was right, had MediaDirect blown away my partition? Some of the angry Linux hackers had been ranting about just that, but I hadn’t taken them seriously. Visions of our IT techies rolling their eyes at my lame “but all I did was press the MediaDirect button” excuse were dancing in my head.

If, on the other hand, QTParted was right and the partition was hidden, then all I had to do was unhide it, then make it active. Right? Made sense, but I actually never had to “unhide” a partition before. Googling “Knoppix” and “unhide” made me decide that Knoppix wasn’t the best tool in the case, so I followed some recommendations and tried the EASEUS Partition Manager. According to their web page, it can unhide partitions, it can make partitions active. Just a point-and-click operation.

But not this time. Partition Manager agreed with Gparted: that 148G was unallocated. The trickle of sweat became a stream.

OK, Dell. You have a cute little button with a picture of a house on it, and it blows away my partition if I press it? There must be something on Dell’s support pages about this. Searching for “MediaDirect” and “boot” in Dell’s support area brought up some ominous references to corrupted Master Boot Records and a relatively friendly repair procedure entitled “Repairing Problems with Dell MediaDirect 2 and 3″.

I clicked on the “Media Direct 3.x Specific Issues” button, but nothing there about boot problems. I clicked on the “General Media Direct Issues” button, but nothing there either. I clicked on the “If none of these articles apply to your situation” option, and after some warnings about backing up your data first (yeah, right), and agreeing that MediaDirect did, indeed, have a secret little partition already stashed away, I was given a simple 4 step repair procedure. “Step 1. Reinstall the Operating System”.

I didn’t read Step 2.

This was ridiculous. Back to Google. Maybe this “Bitlocker” error was a clue to the problem? I was running XP, so definitely no Bitlocker, but maybe our IT guys had performed some other trickery?

So I Googled “MediaDirect” and “bitlocker”, and after poking through a few pages of people commiserating about this problem (none of whom had bitlocker installed, by the way), I came across the following halfway down a page: “You are aware that if you press again Media Direct Button it will boot your OS, right?”

Um, I am now.

So, there it is. I’ve written this sad tale partly to warn others of Dell’s MediaCenter hidden partition shenanigans, partly to document what was (for me) a hard-to-find fix, and partly to admit that I’m stupid.

And also to point out that my new notebook is a “mobile gaming stud”. W00t!

February 9, 2008: 9:17 pm: DanGadgets

As mentioned in my last post, I have a new favourite gadget: the Nokia N800. After a two-week honeymoon, it has officially won me over.

I originally picked it up hoping it would make an ideal e-book reader, and suspecting that it would, instead, turn out to be another amusing but unreliable Linux toy. The price was the actual deciding factor: for whatever reason the N800s have recently dropped considerably in price. In Canada TigerDirect and Dell have been selling them for C$230, and I heard that Buy.com were selling them for US$170 at one point.

What I’ve found is that the N800 is:
a) a great portable movie player
b) a pretty impressive portable web browser
c) the best portable e-book reader that I’ve come across so far
d) an amusing and mostly reliable Linux toy

Its strength as a movie player comes not from the built-in software, which can’t handle video files that aren’t formatted for a small screen, but from the fact that the venerable MPlayer is available as an add-on. Years of tweaking have made MPlayer capable of handling pretty much any video and audio format on pretty much any Linux device.

Safari on the N800Out of the box, the N800’s browser is based on Opera 7, which is pretty versatile but was unable to handle my Safari acid test. If you upgrade the N800’s firmware to OS 2008, you’ll get a new browser based on the Mozilla engine. The Mozilla magic makes it able to handle Safari and every other web site that I’ve tried including those that require AJAX support: Gmail, Google Reader, and even Zoho.

I’m so used to mobile browsers automatically opting for the mobile versions of these sites that I was surprised and somewhat bemused to see that the N800’s browser tries to play with the big boys. In fact, it insists on playing with the big boys, since there is no apparent option for having the browser automatically identify itself to web sites as a mobile device rather than a PC. Trying to read web pages formatted for 15″ monitors often isn’t easy on the N800’s 4″ screen. Cranking up the zoom and turning on the “Fit to Screen” setting makes the text readable but sometimes results in some overlap, as shown in the screenshot on the left. Also, pages that do background loading, like Google Reader, cause the N800 to be noticeably sluggish. However, these minor annoyances aren’t enough to drive me back to the mobile versions of these sites, or to return to using a Pocket PC.

Garnet VM on the N800 My first impressions of the N800 as an e-book reader were mixed. While it can load even complex Acrobat documents like the digital Popular Science with acceptable speed, it doesn’t natively support documents with any of the DRM-laden “secure” formats typically sold by e-bookstores: Acrobat, Microsoft Reader or Mobipocket. Acrobat and Microsoft Reader are probably a write-off, but fortunately there is an impressive Palm emulator available for the N800, Garnet VM. This emulator is an offshoot of the ongoing effort to move the Palm OS to a Linux platform. While the emulator limits you to the Palm’s native 320×320 resolution (see the screenshot), I was impressed by the fact that it installed and ran Mobipocket flawlessly with DRM-encrypted eBooks. As an unexpected bonus, the VM supports the N800’s D-pad, and it even shares its clipboard with the N800’s OS so that you can paste text back and forth.

Underneath it all is Debian Linux. A command line terminal is included and, unlike the one for the GP2X, is actually usable thanks to the screen resolution and on-screen keyboard. Naturally, with Linux comes a extensive base of open source software, from Nokia’s Maemo repository and plenty of 3rd-party sites.

Despite all this, my Windows Mobile Pocket PC is in no danger of being cast aside for the N800. At half a pound and 5.5 inches the N800 would stretch pretty much any pocket. PIM and office applications are available both in Linux and Palm flavours, but I much prefer Windows Mobile’s built-in apps. Also, I don’t quite trust the N800’s power management enough to rely on it when on-the-go: when it works it’s surprisingly frugal with battery power, but I’ve had a few experiences where the battery drains when not in use.

A couple of weeks have allowed me to only scratch the surface of what the N800 offers. Apparently USB Host support can be enabled with a simple script, and I’ve only dabbled with the other tricks that a usable command line makes possible. I’m sure that I’ll have more to say about the N800 in the future.