Or: How I Learned To Stop Worrying And Love Firefox
(this is a
Dr.
Strangelove reference, in case that wasn't
obvious).
There are some fundamental principles of UI design
most developers have not taken to heart. Developing a
good UI is hard, designing one is excruciatingly
hard. A good UI designer needs to have a very
developed sense of how a typical user thinks; it is
therefore a commonly held belief that most
programmers make lousy UI designers because they
can't "stoop to the level of the non-technical user" (a slightly less rehearsed mantra is that developers are users as well and are susceptible to the same problems with crappy UI, although possibly a little more forgiving).
The developer-oriented UI trend is most obvious with open source software,
but it is actually exacerbated when we're talking
properietary, even if free, software. An open source
tool that is essentially really good but has crappy
UI will eventually attract someone who is actually
capable in that department. Take a look at Eclipse,
OpenOffice.org, The Gimp etc. - although based on a
more or less solid foundation, these tools were
practically useless a few years ago and have only
become mainstream when they made leaps and bounds in
usability. An even better example is Firefox;
although I was personally attracted to Firefox on
merit of its technical achievements, I was only able
to sell it to friends and relatives becaues it is
infinitely more usable than IE and just as free (I
mean come on, does anyone doubt why Opera never
gained marketshare?)
A proprietary program however, even if
fundamentally sound and useful, can only grow better
by the efforts of its owners. Even the most obvious
bugs can never be fixed by a 3rd party. w.bloggar is a
classic example of this; the last version was out in
January and, despite being fundamentally stable and
usable, has huge flaws which the author never fixed,
instead allowing the software to stagnate. I reckon a
lot of you, at this point, are thinking along the
lines of "hey, you get what you pay for; you
should be thankful that w.bloggar is free, let alone
supported!" In a way you are right, but also
dead wrong. As far as I know Marcelo (the author of
w.bloggar) isn't seeing much money from his work on the software; what money he does get is from donations.
So why not release the source? Donation systems seem
to work for high-profile open-source projects at
large, why not for w.bloggar? At least that way
someone can fix the bugs that
(for me) turned w.bloggar from a useful tool to a
constant cause of frustration.
To get to the point, I wrote a blog entry in
w.bloggar (specifically the one about missing tools), published it and went on with my
work. At the end of the day I left the machine
running (as I always do when I'm not leaving for days
at a time) along with w.bloggar. Why'd I leave
w.bloggar open, you ask? Simple: one of these glaring
bugs I mentioned is that w.bloggar does not retain my
preview template options (CSS links and so forth),
and it's a pain in the ass to enter them manually
whenever I want to edit or write a new post. Anyway,
w.bloggar has a "Clear Editor after Post"
option which in my case was disabled. This means that
whenever w.bloggar finishes uploading a post, it retains the
text and changes its internal state so that
subsequent clicks on Post update the same entry (as opposed to creating a new one). So what basically happened is that when I came in today and wanted to write the note on OpenOffice.org, the previous post was still "live" on w.bloggar. Usually at that point I click on New (which shows a nice, useless warning dialog) and get on with it; this time I guess I was distracted, just shift-deleted everything and proceeded to write. When I next clicked on Post and got the "Post so-and-so-GUID updated successfully" notice I knew I was up the creek: my earlier post was overwritten with no prior warning, no delay and worst of all: no backup.
Which brings me to my first point: w.bloggar sucks. Bugs (like not retaining options and the most defective HTML syntax highlighting known to man) aside, this is a huge usability problem - a user can (and evidently will) inadvertently erase his/her own work and have no way to recover it. The undo buffer is not even remotely deep enough; there are no dialogs to warn you that you're about to update a live post, and there are no backups-shadow copies-anything of published posts if you do not actively save them. Worst of all, there is no-one to mail, no bug tracker, not even a forum (the forum link on the w.bloggar site is broken). My first resolution for 2006: make more effort on PostXING and help Chris make it actually useful.
Now that that's out of the way, time for some damage control; w.bloggar is useless in recovering the lost content, dasBlog does not maintain any sort of backup (side resolution: implement shadow copies into dasBlog) and considering how cheap my hosting package is I seriously doubt my ISP would help me recover yesterday's daily backup (assuming there even is one) without significant trouble and/or cost. The only option that comes to mind is the browser cache; in case it isn't obvious from the title (and the large "take back the web" icon on the right), I use Firefox. Going over the cache files manually proved futile as most of them seemed to be binaries of some sort; some research showed me that you can access cache statistics by navigating to about:cache; from there you can access an actual dump of the in-memory and on-disk hashes. Looking at the on-disk cache via about:cache?device=disk and searching for something useful, I found a cache entry for the editing page. Clicking the link did not prove readily useful (the actual content is not displayed), but the information displayed shows two important details: the file location and the content encoding (in this case, gzip). This explains the strange binaries I found in the cache! A quick decompression via the excellent 7-zip and I had my content back. Second point of the day: Firefox has once again proved its mettle. Firefox rocks!