Diigo V4 goes live

Diigo V4 is here!
Diigo V4 is here!

Diigo is a web-based bookmarking and annotation service.  I’ve written about it before.  It’s the service I prefer over all the other free and comparable services because it seems to have just the right mix of functionality and usability for me.

One thing I have complained about in the past was the look and feel of the site, which seemed clumsy, especially when compared to what I think is the most well-designed bookmarking service: Delicious.

Well, someone was listening to me, I guess, because Diigo just announced version 4 of their site.  And the key piece of the upgrade is a new and very much more polished look and feel.  Indeed, the layout of the page is quite similar to Delicious!  That’s okay by me; as far as I know, Delicious hasn’t protected its look and feel.  This is just Diigo’s recognition of a superior aspect of another product.

Of course there’s more to Diigo V4 than just the look and feel.  The other features are:

  • web page snapshots on demand;
  • improved search;
  • improved annotation features (important for Diigo as a collaboration tool);
  • a new, more streamlined way to share links and follow the links of individuals and groups;
  • highly expanded and refined group-based activities;
  • a new meta page structure for summarizing a user’s overall activities;
  • an iPhone app (pending Apple’s approval); and
  • a variety of other improvements.

You can read further details at the Diigo blog.

This is a good upgrade, besides providing a new and better service, it’s aggressive enough to indicate clearly that Diigo is interested in providing an excellent service, without totally re-inventing the service (which would have alienated some users).  Version 4 a brand new version, so there are probably a few bugs in it, but overall it’s A Good Thing.

“Shouting Fire” will have you seeing red

I recently saw the new documentary “Shouting Fire: stories from the edge of free speech.”  I must say, it’s well-worth watching.  The film is about the First Amendment and free speech in the United States.  More specifically, it’s about the perceived endangerment of free speech in the US.  It consists of a collection of stories, each revolving around the use and abuse of free speech.  There’s even a Facebook page for people to find out more about the film and engage in discussions.  There is a clearly political tone to the piece: it’s makers seem staunchly in favour of the First Amendment as an inviolate tenet of American life, to be sacrificed for no one and nothing.

You may find yourself at once attracted and repulsed by this documentary.  I certainly was.  The story of  Debbie Almontaser, for instance, is a great example of how a thoughtful, caring person – who happens to be Muslim – was torn to shreds by the mass media.  Although Ms. Almontaser always represented herself thoughtfully and intelligently, she was naive enough to speak in ways that were easily twisted by certain news outlets and anti-Muslim racist groups in the US to appear to suggest exactly the opposite of what she actually meant.  Here is a case of good words, utterly in perhaps the wrong context, or with a lack of appreciation for the peculiarities of certain segments of American culture, becoming bad ones.  Perhaps Ms. Almontaser was too naive.  But it appears quite certain that a significant number of New Yorkers displayed ignorance on a cosmological scale, a streak of malice as wide as the Mississippi River, and a nearly clinical lack of empathy.

The documentary also covers the story of Ward Churchill, who was removed from his post as a Professor at the University of Colorado at Boulder for “research misconduct.”  Churchill’s writings are intentionally controversial and inflammatory (check out his titles in Google Scholar).  The man is clearly well-educated and has an excellent grasp of English.  It seems, then, that he intentionally chooses to write and say things that piss people off.

This isn’t what professors do.  Once granted the status of professor, one is expected to uphold a certain code of conduct – at least in matters of intellect.  This code includes, among other things, communicating in the most rational and reasonable way possible.  And communication is a vital characteristic of the professoriate: knowledge is useless if it cannot be communicated, and professors are the keepers of knowledge.  They may be passionate, but they must abide by the centuries old rules of good, meticulous research and its communication.  Time and time again over the centuries it has been shown that those who implement slash-and-burn policies of self-expression, writing, and speaking end up being ignored and, often, proved wrong.

It seems evident that Churchill intentionally abdicated this responsibility.  The question in the Churchill case is: does free speech trump a professor’s responsibilities?  It seemed that the makers of the documentary thought it did.  I disagree.  Churchill was granted the right of free speech as an American citizen.  But he chose to be a professor, knowing full well what the professor’s responsibilities were.  (I refuse to believe anyone would subject themselves to the personal suffering needed to achieve a professorship without knowing what they were getting themselves into.)  No one forced him to be a professor.  He could have gained just as much notoriety and disseminated his ideas just as quickly without being a professor.  His ideas would have been no more praised or vilified without his professorial standing as with it.  Because it was his choice, then he also had to accept the responsibilities that require, not a muzzling of his right to free speech, but rather a choice of language, tone, and vocabulary that is designed to not be inflammatory and intentionally confrontational.  He chose instead to abdicate those responsibilities.  This demeans the professoriate.  To maintain the status of the professoriate and the trust that others should have of it, he just had to go.

These are just two examples of the stories that are covered in this documentary.

You might love it, or you might hate it.  But whatever else, you’ll be glad you watched it.

Why I chose Pageflakes over Netvibes

Even though Pageflakes is a little clumsier, it has functionality that Netvibes doesn’t.

There’s a category of web software called “start pages.”  These are sites that let you assemble your own Web pages out of widgets, gadgets, and snippets than each implement some specific function.  One of their most important – and oldest – functions is to gather and display news feeds from the Web.  But you can do much more than that with them: you can add a clock, a description of the weather, stock market quotes, check the traffic through popular web sites, create to-do lists, play games, and access other services like Google Mail, or Facebook, all through little boxes on a Web page.

For some people, these start pages are the cat’s meow.

Years ago, I got an account on Netvibes – which remains the leader of the pack in terms of popularity – and thought it was great.  Below is an image with a sample of some of the kinds of widgets you can get on Netvibes.  On the left is Google Calendar running in a widget.  In the centre column is a news feed constructed of items I’ve tagged with “sustainability” in Google Reader, followed by a dynamically updated graph by Alexa of the number of page views on a few of the popular social bookmarking sites.  On the right is the built-in tool to tag and bookmark sites, above a slideshow of one of my picture albums on Picasa.  Clearly, there’s all sorts of things you can do with Netvibes.

A small sampling of Netvibes widgets
A small sampling of Netvibes widgets

You can set up tabs within your Netvibes page to organize your feeds and widgets; it has a good assortment of themes and customizations; and the software looks good and acts right.  Of course, since Netvibes provides a free service, there are the occasional bugs – like some, but not all, of my Google Calendar appointments render with the wrong time zone in Netvibes’ Icalendar widget.  Or that for several months, the Alexa widget showed only 1 site, no matter how many I had configured in to it.

Still, Netvibes is one very smooth Web app.  I especially like their to-do list widgets, that let you interactively reorder the items and change their colours.  Here’s a shot of some of my Netvibes to-do widgets.

Some of my to-do widgets in Netvibes.
Some of my to-do widgets in Netvibes.

Over time, though, I came to realize that start pages can be so much more.

…I’ll skip all the time I spent trying to find just the right way to benefit from start pages.  Instead I’ll just write that in the end, it wasn’t a matter of figuring out how to use all the widgets, but figuring out how to stitch together a number of tools, of which a start page was only one.

Of course, I’d also heard of the iGoogle start page.  I checked a few others, including MyYahoo, and smaller efforts like Sthrt. MyYahoo and iGoogle both had a serious problem: I couldn’t make my pages there public for the world to see.  Since one of the reasons I wanted a start page was to present an aggregated view of information I’d collected for my students and the public at large, this eliminated both MyYahoo and iGoogle.  The other services all had significant problems of one kind or another.

When the dust settled, there were only two players left: Netvibes and Pageflakes.  Netvibes is clean, efficient, and well-run, and their support is just fine.  Pageflakes feels a little clunkier, and there are occasional service outages that don’t seem to be explained anywhere by their staffers.  They are both very easy to use.  If that were all there was to it, I’d’ve stuck with Netvibes.

But Pageflakes offers a few widgets that Netvibes doesn’t, and these, for me at least, made all the difference in the world.

The Blog and Message Board widgets in PageFlakes
The Blog and Message Board widgets in PageFlakes

The blog widget might seem weird for a site intended to aggregate the content from other blogs, but it’s very useful.  For example, I have a tab (or a pagecast as they like to call it in Pageflakes-speak) devoted to my recent trip to Sweden.  On that tab, among other things, is a blog widget where I write about what the trip meant to me.  Basically, you can set up tabs for any number of topics, and include a mini-blog that covers just that topic right in the tab itself.  And these blogs support pretty broad formatting (via a WYSIWYG editor), commenting, and their own RSS feeds.

Mind you, it’s not a full-blown blog system (like this one), but it’s plenty good enough for many smaller tasks.

Next is the message board widget.  This widget lets anyone post short messages, including nested replies, as you can see in the image to the left. Different from the blog, which is basically just one-way communication, the message board approximates some kind of chat facility.

Again, no matter what you’re doing on a Pageflakes tab, you can add a message board to let people ask you questions or post other thoughts, which you can then reply to.

The AnyFlake widget is the third great idea at Pakeflakes.  It lets you create HTML either in a WYSIWYG editor or in raw text, and will render pretty faithfully whatever you put into it.  This means you can embed other things – like youtube videos – into an AnyFlake.  Or you can create a surprisingly complex document with many features of HTML (headings, lists, embedded images, links, colour changes, etc.) that will live inside a widget on a tab.  You really can put nearly anything into an AnyFlake.

How does Netvibes compete with this?  Not very well.  While it doesn’t really have a widget like Pageflakes’ AnyFlake, Netvibes does have a number of very crisp widgets that can, between them, handle anything that AnyFlake can do.  Unfortunately, Netvibes can match neither the message board nor the blog widgets in Pageflakes.  All Netvibes has to offer is a Wall widget, on which anyone can write up to 1,000 character messages.  Unlike the blog widget, there’s no formatting, or embedding of images or links in the Wall.  It just doesn’t compare.

In fairness, I will also say that the ToDo widget in Pageflakes is really not up to its cousin on Netvibes.  And that irritates me, because I love my to-do lists.

Of course, Pageflakes has many other widgets, some of which are essentially the same as Netvibes widgets, and others that are substantively different.  You’ll have to explore them on your own.  All I can say is that, for me, the extra functionality of the Pageflakes blog and message board widgets really opens up possibilities; and the consistent simplicity of the AnyFlake lets me generate custom widgets pretty quickly.  As a professor, I can easily see a tab for each of my courses, with a list of bookmarked resources specific to the course, a message board for students to ask questions of both me and the rest of the class, a blog for me to make announcements, a picture gallery of interesting images relating to the course….  All kinds of interesting possibilities there.

In the meantime, you can check out all my public Pageflakes tabs at http://www.pageflakes.com/FilSalustri.  And if you’re looking for a start page that offers a lot of good functionality, then you need to take a good look at Pageflakes.

My web presence, IV: Diigo wins by an annotation

I’ve decided to use Diigo as my key bookmarking app.  Here’s why.

There’s a lot of useful stuff on the web, but it’s usually hidden in an awful lot of crap.  As a professor and design researcher, it’s important for me to have access to a wide assortment of good information.  The web can deliver that information only as fast as I can identify it.  So when I do find something particularly useful, I want to make sure I can remember (a) that it exists and (b) where it is.

Enter bookmarking apps.  These are web-based applications that let you bookmark other sites, and then search your bookmarks quickly.  Because the bookmarks are stored on servers elsewhere on the web, there are two immediate and important benefits.  First, you can get at your bookmarks from anywhere (i.e. you don’t have to carry your laptop around with you just for the sake of accessing your bookmarks).  Second, you can share bookmarks with others (this is an interesting and under-utilized method of collaboration these days).

Years ago, I’d pondered the few existent bookmarking services and found them all lacking on one particular front: you can tag a website, but the service won’t index the site too.  I think indexing would be good because the only “best” set of tags is an exhaustive set of descriptors and keywords that describe the item, which no one really wants to type in.  Most keywords are already in the item’s content, so why should one have to type them in again?  By indexing items, one can use fewer tags, which also makes tagging easier and more consistent.

So, since I couldn’t find what I needed, I decided to roll my own.  It’s quite buggy still, but SERF does work, sort of.  I call it “anti-social bookmarking” because I’m the only user who can add/edit items.  That’s mostly because (a) the software is still, as they say, pre-alpha, and (b) it’s only for storing the links that I care about for my teaching and research.  I’d love to develop it further, but I can’t get the funding I need to develop it as a research project, and I can’t find programmers I trust to work on it for me a-la FOSS.  (Though I’m always open to opportunities.)

But the web waits for no man, and while SERF is good for some things, there are more items that I want to track than I can possibly add to SERF – partly because many of them don’t have that much to do with my work.

So I needed something else, something I could use to pitch items into as temporary storage, but still functional enough that I can use it to quickly look things up when I need them – and make them available to my students and colleagues.

I’d had a Delicious account for ages, but never really used it.  By the time I realized that I really needed a bookmarking app, there were competitors.  So for the past couple of months, I’ve been playing with Delicious, StumbleUpon, Diigo, and Twine.  And I’ve recently come to the conclusion that Diigo is what I need.  I decided this based on five criteria: bookmarking functionality, look and feel, extra functionality, shareability, and performance.


Delicious, Diigo, and Twine all have comparable basic bookmarking functionality, including appropriate bookmarklets and toolbars.  Basically, you navigate to the page you want to bookmark, click the right icon and you get some sort of popup that lets you tag the item, add a description, and, depending on the service, do various other things.  Twine has the most web-2.0-ish facility, but that doesn’t necessary impress me.  All but StumbleUpon recommend tags based on others who tagged the same resource.  But since I have my own tagging scheme that I find is significantly different from those of most other users, this doesn’t really matter to me.

As far as basic bookmarking goes, all four systems are pretty evenly matched.

Look and feel

Look and feel is, for me, extremely important, partly because I do appreciate an aesthetically pleasing web site, but also because I’ve found that look and feel ties very closely to usability.

Here, Delicious really shines.  It has an absolutely brilliant look and feel.  The screen is laid out in very carefully chunked areas that have consistent structure and content no matter what part of the site you access.  Every little design feature of the page serves a very clear purpose, and everything is there only once – there’s no redundancy.  Everything is visible: no strange icons or bits of text magically appear when you mouse over something.  (That really annoys me.)  I’m sure people who specialize more in web usability could go into much more detail, but suffice it to say that the Delicious look and feel is, for me, like a breath of fresh air.

Diigo comes in second.  It has a good layout with just a little redundancy.  Everything is visible.  I don’t like Diigo’s rendering of the tag cloud; it’s not as elegant as that in Delicious.  Indeed, the entire site is just not as elegant as Delicious – it looks slightly rough and seems to not use screen space quite as well as does Delicious.  (This might be because Delicious has been around for so much longer that its developers have had the time to carefully tweak the look and feel much more.)

StumbleUpon is next.  It’s interface is interesting, but not flexible enough for me.  I wish there were other ways of arranging things; I don’t mean just skins or themes here, I mean the arrangement of the actual items.  It has an ugly tag cloud.  I wish there was an easy way to get rid of the screenshot thumbnails for each entry; I can understand that some people might like them, but I find them useless.  And I was never able to get rid of them.  I don’t like how they string tags and the URL on one line, because if you have more than a few tags, the URL is truncated.  Indeed, showing the URL is of limited use anyways.  The other systems expect you to mouse over the item’s title and look at the address bar of your browser.  Put all these things together, and you get an app that I just don’t feel comfortable using, compared to the others.

Twine, unfortunately, comes up last here.  I tried real hard to understand the Twinerly way of doing things, but I just couldn’t get it.  I keep loosing track of which part of the screen I should be looking at, and what all the boxes were for.  The problem isn’t exactly the layout, but it’s the content.  For instance, under My Items, you can filter the list of your bookmarked items in lots of different ways – too many ways, if you ask me – including by “related people,” the meaning of which I’ve not yet deciphered.  Lists of items also seem to include all manner of items including individual bookmarks, twines (socially-constructed feeds of items on particular topics), comments you may have posted on individual items, and other things too.  I find this confusing, and I wish they were somehow compartmentalized.

Long story short, every time I use Twine is like the first time.  Which is not good.

Extra functionality

Each of these services provides extra functionality of one type or another.  Caveat lector: this category is very subjective, because the functionality I value is the functionality I need – which might not be what you need.

All four services offer alternative ways to establish groups around specific topics or subjects.  Each site has it’s own particular way of doing it, but they all really amount to the same thing.  They also all offer RSS feeds for virtually any list of items you can generate.

StumbleUpon has a very interesting service: you specify what kinds of websites you like (about, say, science fiction, or AJAX programming, or Labrador Retrievers) , and then when you hit the Stumble button, you are taken to a random site of that kind.  You then rate it with a simple thumbs up or down.  StumbleUpon’s recommendation engine uses your ratings continually fine tunes it’s recommendations.  I really like this approach – it’s clean and simple – but it works for people who aren’t looking for anything in particular, which is a category that doesn’t include me most of the time.

Twine’s unique contribution is it’s AI-ish tagging engine that is supposed to help you tag things and organize them into feeds (twines).  The problem for me is that my personal tagging style is informed by years of study on classification systems and taxonomies, which means I’m not your average tagger.  So Twine’s recommended tags rarely line up with what works for me.

Delicious offers little in the way of extra functionality except for being able to search the entire tag cloud of all entries, which can be amusing, but no where near as much fun as StumbleUpon.  But Delicious is the purist’s bookmarking site and extra functionality is just not what it’s about.  Which is fine by me.

Then there’s Diigo.  Diigo allows you to highlight and annotate sections of a web page, and share those annotations with other users.  Installing the Diigo toolbar gets you a collapsible sidebar in which all these annotations can be read side-by-side with the corresponding source material.  This means that groups of people can collaboratively analyze documents online and asynchronously.  It also means I can note specific passages that are important to me, so that when I come back to them later, when I’ve forgotten why I bothered to bookmark the site, I can just read my own annotations and remember what all the fuss was about.  Absolutely brilliant, especially for scatter-brained eggheads like me.

In terms of extra functionality, Diigo runs away with the prize.


By shareability, I mean the ease with which bookmarks can be shared with others.  Here, again, Diigo pulls out in front – just by a tad – by providing synchronization of Diigo bookmarks with some other services, including Delicious.  I haven’t seen comparable services from the others.

All four systems support RSS feeds, and sharing via other mechanisms like email, or the formation of groups or other structures like them.


In terms of access speed, page load speed, and general zippiness, the only site that I found quite slow indeed was Twine.  Not only did the pages take long to load, but there are often quite dramatic pauses between clicking on a link and getting any response.  I know it’s not my ISP, because everything is behaving properly.  Perhaps Twine’s AI features combined with its recent and sudden increase in popularity is putting a bit of pressure on their servers.  I hope that’s all it is.

Still, speed is everything these days.  Web 2.0 apps were originally conceived especially to improve (perceived) performance on the client side.  So a slow Web 2.0 app, such as Twine, is really a contradiction in terms.


StumbleUpon has the fun factor, and Delicious has the brilliant look and feel.  These are important.  But to me, nothing can beat the raw functionality of Diigo’s annotation system.  Twine, unfortunately, just didn’t make the grade.

So, while your mileage may vary, I’m convinced Diigo is the cream of the crop for me.  And since I sync my Diigo bookmarks to Delicious, I also have an excellent “Plan B.”

I also continue to check updates on both Twine and StumbleUpon, because they’re different from what Diigo offers, and I occasionally find some really cool sites that way.

Other things

Sometimes, strange things happen on the Internet.  One of these things is Compete.com’s graph of unique visitors to Delicious, Twine, and Diigo.  The sudden spike in activity for Delicious relates, I think, to their offering connectivity with Twitter.  Twine’s increased activity, however, is different; it’s more gradual and shows all the marks of classic exponential growth (i.e. “going viral”) that mark word-of-mouth transmission.  The dip in the past month could be an anomaly – after all, some people just get caught up in things when they go viral, and eventually come the other side saying: What was I thinking? – or it could be something else; we’ll just have to wait and see.

It’s the exponential growth that gets me.  What in the world got into people?  I’ve been experimenting with Twine since long before October 2008 when the growth started, and I noticed nothing.  Sure, there were some changes to Twine’s user interface a few months ago, but they seemed pretty minor to me.

And then there’s the Alexa rank data for all four bookmarking sites, which you can see at the top left of my Computers tab on Pageflakes.  Since it’s rank that’s displayed, the low number is best.  Notice that Twine is the lowest rank, and StumbleUpon is first.  Also notice that something happened just before April.  This tells a different story than does Compete.com.  And I can’t find any explanations anywhere.

So much data; so little information.


Lesson: I didn’t know what I really needed till I played with these systems.  You can rarely solve a real problem just by thinking about it – no matter what they taught you in high school.  To solve real-world problems, you have to act, to do things that poke at the problem.  This sets up a feedback loop between the problem and your brain that let’s your brain work both consciously and unconsciously on the problem.  This means you’ll solve the problem faster.

So when you’re looking for any kind of system, take the time to play with the alternatives and take the time to reflect on the good and bad points of each.  Make notes.  Then weigh the pros and cons of each and make an informed decision.  It’s harder and takes longer than just choosing something, but the upfront cost will more than pay off in increased productivity (and fun too!) later on.

Also see my last post about my web presence: A First Attempt.


Four Firefox addons to help Google

Firefox and Google play nice together.  Here’s four Firefox addons that enhance Google’s behaviour.

Google is a wonderful thing.  But if you’re running Firefox, you can augment your googling experience with some add-ons.  An add-on is a downloadable chunk of code that runs inside Firefox only and changes its behaviour.  Using add-ons is a great way to improve your productivity with Firefox (or any other browser that supports them, of course) because add-ons fine-tune the browser’s behaviour to suit you – not the other way around.

Let’s start with a screen grab showing Firefox running a couple of the add-ons.

GoogleEnhancer and DeeperWeb running together
GoogleEnhancer and DeeperWeb running together


Let’s start on the left side, the side that looks almost like a typical google page.  Here we see GoogleEnhancer running.  The most important thing to notice is the date beside each hit.  That’s the date that the corresponding web resource was first created (or at least, as near to that date as Google can get).  Think about that: now you know how old those pages are.  No more following links with wildly interesting titles that take you to a page that hasn’t been updated in 10 years.  That in itself is, as they say, worth the price of admission.

Notice that the blue bar that reports the number of hits also includes the timeframe covered by the reported hits – in this case “over the past year.”  You can change the period of time by using the new pulldown beside the search box at the top of the page (it’s marked “anytime” in the screen grab).

You can also search for specific file types only by using the “Any file” pulldown by the search bar to chose which file type you’re interested in.  You want to find only MP3 files?  Or just PDF files?  Just choose it from that pulldown.

GoogleEnhancer can do a number of other things, like search for web resources in specific languages only, each of which can be separately enabled through the add-ons control panel (in the Tools menu).  It’s a “light” add-on (it won’t slow the browser down), and it’s so useful that I can’t imagine googling anymore without it.


The right side of the image shows another add-on, DeeperWeb.  This add-on uses a database maintained by the developers to generate quite quickly additional information about your search. Basically, this add-on puts a bit more structure on Google’s query results.  It’s a tricky balance: too much structure and it becomes too rigid to capture the broad variety of stuff Google can show you; to little structure and there’s no point to having the add-on at all.

Most importantly, DeeperWeb creates a tag cloud (the jumble of keywords at the top of right sidebar).  Each tag in the cloud will filter the search results to favour those with the keyword.  The bigger the keyword’s font size, the greater its occurrences in the search.

Notice that one keyword in the tag cloud (“graphic”) is coloured differently.  This is because my mouse was hovering over it when I took the screen grab.  If I clicked on the green part of the highlighted keyword, DeeperWeb will interact with Google to refine your search by refining it to those hits that contain the keyword.  For instance, in the screen grab, I had searched for “design.”  If I then selected the green part of the “graphic” keyword from DeeperWeb’s tag cloud, the next search would be for “design graphic.”

And if I selected the red minus sign on the “graphic” keyword, Google would search for “design,” excluding any hits containing “graphic.”  (In Googlese: design -graphic.)

Below the tag cloud, DeeperWeb offers the top hits from a number of other search engines as well – because sometimes Google isn’t exactly perfect – and includes things like searching for blogs that contain your query, searching Wikipedia, and so on.

The one reservation I have about DeeperWeb.com is that I get there feeling from its announcements that there’s a bit of a bias towards using its software to attract business (as possibly implied by sentences like, “In addition to these, there are several clever business, internet marketing and SEO applications to the DeeperWeb’s Tag-Cloud extension….“)


That’s right, I said “GButts.”

Actually, this stands for Google Buttons.  Very simply, it lets you add buttons to the Firefox main toolbar to access virtually any Google app.


Ignoring the appearance (I use a Firefox theme called Glaze Black), notice the set of toolbar icons between the print icon and the address bar in the top row.  You’ve got Google mail, Calendar, Docs, Groups, Picasa, and Reader.  The last icon (it’s a gear) allows one to change the settings of GButts and add or remove other Google apps.

A brilliantly simple change really helps me control all the other links I’ve got embedded in my toolbars.


Lastly, there’s GoogleFx, which is not really for beginners, but can be quite useful.  GoogleFx doesn’t play nicely with DeeperWeb and GoogleEnhancer, but it can replace them.  GoogleFx is more flexible, though not quite as pretty, as the other two add-ons.


Like GoogleEnhancer and DeeperWeb, GoogleFx catches output from Google and rewrites the web page to appear more organized than the original.  GoogleFx lets you tweak the layout (notice how the titles of each hit are in a larger font), adds thumbnails of each hit (some people really hate this – I’m not one of them), and provides a right sidebar with all kinds of extra items (if it can find any) and related searches.  You tweak the appearance and options via the preferences button that shows up in the GoogleFx entry in Firefoxs’s add-on management tool.

GoogleFx has a number of tools (at the top) that can be useful, like searching only for resources that are recent.  It also lets you get rid of the advertisements that usually run down the right side of the page, and it rewrites the web page URLs so that they don’t bounce through Google before directing you to the actual site.  These last two I don’t like so much, because those ads pay for Google freedom, and the redirection trick is how Google gathers data to rate the most popular sites.  Both of these need to keep going if Google is going to thrive.  If you like Google, leave these features alone, or you’ll be actually holding them back.

There is a bit of a trick to install GoogleFx.  It’s a greasemonkey extension.  Greasemonkey is a Firefox add-on that lets you modify how specific pages are rendered in Firefox via other Javascript code.  So first you have to install greasemonkey.  Then you install GoogleFx.  It’s not as hard as it sounds – it’s only about a 3 click process – and the next time you do a Google search, you’ll see a substantially different page layout.

One word of warning: the default values for GoogleFx’s look and feel may not be to your liking, so be ready to spend a little time tweaking which GoogleFx options you like best.

The Bottom Line

These add-ons are really easy to install, yet provide very signficiant improvements in how you can use Google in Firefox.  This means you’ll get more done.  Or, if you’re like me, you’ll get the same amount of work done in less time – and then go spend more time having fun.

Trek is back, baby!

I’ve connected with my inner geek, seen Star Trek XI, and must write about it.  Sorry.  And there be spoilers here.

star-trek-xi-poster-1I saw the newest Star Trek flick on opening day.  Having enjoyed J.J. Abrams recent work – especially Lost and Fringe – I was quite excited to see what he’d do with the most successful SF franchise ever.  While I can see what he was aiming at, I think he didn’t quite hit his target.

The new movie is a complete reboot of the franchise.  The problem with Star Trek is that it has become mired in its own history.  It was just no longer current, its technology was a giant kludge to make up for discrepancies between modern science and what Gene Roddenberry, the show’s creator, had available to him 40 years ago.  (Perfect example: the Heisenberg Compensator.)  Similarly, the overall tone and shape of the show was burdened by a history, of both characters and backstory, that had become at best prosaic and quaint in light of world events and cultural development of the last 40 years.

Abrams’s take on the show is certainly targeted to a younger crowd, which is fine by me so long as the overall message doesn’t change: the future is good, and we can create it ourselves.  I’m also pretty sure he borrowed this “reboot” trick from Battlestar Galactica.  But where the “re-envisioned” Galactica was a brilliant series based on an absolutely gawd-aweful original, STXI is building on a show that has generally been regarded as above-average in all its sundry incarnations over the years.  And let’s face it, trekkies and trekkers are perhaps a bit more obsessive and certainly more widespread than are fans of the original Galactica.  So Abrams has quite a challenge: refresh the franchise, without pissing off all the loyal fans.

Now, I really have only two criteria for movies:

  1. Do I notice the passage of time during the movie?  This tells me if the movie managed to fish me in.
  2. Do I still feel good about the movie the next morning?  This tells me if, upon reflection, the movie really was as good as it seemed.

STXI certainly meets criterion #1: its 2 hours and 6 minutes passed in an eyeblink.  But it didn’t fair as well on #2.

There’s some very good things in this movie: it’s fun, its funny moments generally hit the mark well, the special effects are grand, and the acting is, surprisingly, mostly superior.

They certainly “fixed” some things that have nagged me about Trek for decades, like doing a far better warp speed effect, and generally toning down the histrionics.  Chris Pine is actually very good as J.T. Kirk; while being careful not to just channel William Shatner, he still let out an occasional glimmer of Shatneresque behaviour – especially in the closing scene.  Zachary Quinto‘s Spock, both in terms of physical appearance and behaviour, is absolutely uncanny.  The chemistry between Pine and Quinto is excellent, and I really look forward to more “teamwork” between them in the next movie.  And Karl Urban is quite possibly more McCoy than DeForrest Kelley was.  John Cho plays Sulu in a quiet way that is very refreshing, and Anton Yelchin plays an exuberant Ensign Chekov with a great Russian accent.  Indeed, all the cast was just fine.

The problem, though, was that the story and script weren’t up to the task of giving the cast what they needed.  The villain of this piece – Eric Bana‘s Captain Nero – was totally underdeveloped.  And without a good villain, Star Trek always stumbles.  Also, Uhura, played by Zoe Saldana, was written too plainly.  In the original show, Uhura was a mysterious exotic.  Abrams’ version is of a rather conventional career-oriented, highly skilled, successful female-in-a-mostly-male setting.  Just not interesting enough.   Simon Pegg‘s Scotty was a bit weird; like he was on speed or something, although he started to get it right by the end of the movie.  Perhaps the greatest disappointment was the role that Spock Prime (Leonard Nimoy) played.  He seemed to be stuck somewhere between the Chorus in a Greek drama and Shakespeare’s Puck, filling in backstory with mind-meld speed, and occasionally muttering things to no one (except the audience).  Quite frankly, it’s unclear to me why they even bothered with this part – except to get Nimoy involved for the sake of connecting the dots to the original series.  Not only was it unnecessary, but it really didn’t honour the character.

And then there were the things that really burned my toast.  And in keeping with Trek tendency to nitpick, here we go.

First and foremost: the music sucked! The main theme only showed up at the very end – after a very awkward cut in the soundtrack.  The rest of the music may as well have been Musak.  There is, in fact, only one instance of a nearly perfect score for a Star Trek movie: the soundtrack of The Wrath Of Khan.  Written by James Horner, that music combined the original Star Trek theme by Alexander Courage with motifs more typically heard in pirate movies (Roddenberry originally pitched Star Trek as “Horatio Hornblower in Space”) and some of the Klingon-esque electronica from the horrendous Star Trek: The Motion Picture.  It is absolutely brilliant music that enhanced every moment of the movie.

Michael Giacchino’s music for STXI, on the other hand, could have been replaced with whale farts, for all the good they did the movie.

The phasers looked surprisingly good, but sounded more like guns.  Definitely a no-no.  Violence is not supposed to ever be nice in Star Trek (unless it’s a barroom brawl started because someone puts down the Enterprise…).

Uhura took off her uniform to reveal underwear far too frilly to be Federation Regulation stuff.  No need to cater that way to adolescent wankers – learn from the example of Starbuck or #8 from Galactica; hotness without frill.

Couldn’t they find a proper alien-like name for the bad guy?  I mean, “Nero”?  It’s not even appropriate: the real Nero fiddled while Rome burned; the STXI Nero certainly didn’t want to watch as his world was destroyed.

The proportions of the new Enterprise seem off.  The shots of shuttles entering and leaving the Enterprise’s hanger deck suggest the ship is much smaller than it was 40 years ago.  And what’s with the transparent pipes for water circulation?  Clearly, this was just another contrivance to facilitate a goofy plot element.  Not to mention the Enterprise is too white.  Do you know how hard it is to keep white walls clean?  And the controls are too blue.  These are just a popular 21st Century colour palette – rather like websites like Delicious.  Too faddish for me.

I really don’t know what’s to be gained by blowing up Vulcan.  It would have been much more interesting to see what the reboot would have meant for Vulcan’s history too.  There’s a yin-yang-iness to it: the brash, emotional humans and the cool, logical Vulcans.  It would have let writers of future movies (and there’s little doubt that there will be future Star Trek movies) juxtapose the two perspectives much better if Vulcan stayed.

The “drill” on Nero’s ship is just plain wrong. It looked like it hung halfway to the ground from orbit, but was constructed out of junk.  That just won’t do.  It would have to hang from a carbon nanotube cable, or some such suitably futuristic thing.  And why hang the drill halfway down from orbit?  There’s no particular reason physically for this.  Just fire the drilling beam straight from the ship!  And Nero’s ship is never mentioned by name; this is bad because any captain worth his salt loves his ship.  Nero might have been the bad guy, but he was a good captain.  His ship deserved more from him than it got.

The whole notion of falling into a black hole as an easy way to time travel is puerile, even in science fiction.  Since one reason for the “reboot” was to get away from the chitzy quasi-science of the original, why couldn’t the writers come up with something a little more reasonable for triggering the time paradox?

And why didn’t temporal police/agents – who showed up regularly in Deep Space 9 and Enterprise – come back to the past to (try to) fix things?  (Note that Abrams could have avoided these problems by doing a clean reboot instead of pulling in aspects of previous Trek incarnations.)

There was surprisingly little time spent on the Enterprise itself.  When young Kirk stops his motorbike near a construction yard and eyes the half-built starship there, I was sure it was Enterprise.  Yet it turned out Enterprise was already in orbit.  Kirk, we all know, loves the Enterprise.  For him to have been present somehow during her construction would have been a fitting start to their love affair.  There’s only one nice shot of Enterprise – which Kirk, ironically, cannot really appreciate because of a certain condition that McCoy caused – but there should have been more.  It would have been a good “give,” a tip of the hat to the trekkies.

There should have been better “tah-dah” moments, those heroic moments when things go exactly as they should, and still get you to cheer.  There were a few good possibilities, but Abrams blew them all.  One was when Enterprise arrives at Saturn. Another was when Enterprise springs the trap on Nero.  A third was Sulu’s sword fight with the Romulan guards on the drill.  Each of these scenes could have – and should have – been done much better.  Again, it’s not the acting, it’s the shot, the pacing, the music, the choreography.

And Kirk’s mom seems all wrong.  After the death of Kirk’s dad, she remarries someone who is apparently a total asshole.  This makes her seem quite weak.  Which doesn’t make sense, if she was really a member of Starfleet.  Wouldn’t it have been better to have her be a strong single mom?  Or is the strong single mom a cliche these days?  And was the boneheaded stepdad just a cursory explanation for young Jim getting into all sorts of trouble?  Again, it just seems like they didn’t think things through, like they decided what elements they wanted in the movie, and only then figured out a plot that would stitch it all together.  That’s the wrong way to do it, and it shows.

One last thing: the whole story seemed rushed. Early on in the movie, Kirk tells his mentor, Captain Pike, that he’ll finish his studies at Starfleet Academy in three years, one year faster than Pike told him.  It takes about three years to make a movie these days.  So I very rationally figured – and it still makes sense to me – that the first movie would be about his days at the Academy.  The next movie would start at his graduation, at which time Lieutenant Kirk would begin his apprenticeship under Captain Pike aboard Enterprise.  Instead, at the end of the movie – so, basically at his graduation – Kirk is immediately made Captain and given command of the flagship of Starfleet.  That’s like a computer science major being given the CEO’s job at Microsoft ten minutes after graduation.  It just doesn’t make sense.  And even science fiction has to make sense.

Still, and this is the important part, this movie is ‘way better than all the other Trek movies, but one.  The Wrath of Khan remains the perfect Trek movie: lots of action, fantastic music, a great villain, some decent drama, a couple of subtle gags, lots of uncontrived tah-dah moments, unique situations that move the whole Trek lore forward, and, most importantly, no cheats.

So while it’s not perfect, it sure is a step in the right direction.  And with the next Trek movie scheduled for 2011, that’s a good thing.

It may not be perfect, but Trek is back!

ToDo or ToodleDo, that is the question

Two “todo” apps are vying for my iPhone’s heart. Here’s how I decided on a winner.

I like PDAs because they help me manage the things I have to do – and I’m all about the “todo” lists. I don’t know if I’ve become dependent on lists because I have a bad memory, or if my memory is failing because I use lists for everything.  Still, it is as it is.

Over the past year or so, a number of todo apps have come out for my beloved iPhone, and I’ve been trying most of them. It’s surprising how I keep coming back to the same two apps, and equally surprising (to me) that after months of playing around with them, I still can’t quite decide which one I prefer.

The two apps is Appigo’s ToDo, and ToodleDo for the iPhone. Both cost only a few dollars, and both are very well-rated by the public at large.

So, I figured, lets use some design analysis tools to evaluate the two apps, and see what the numbers say.

I’m going to use two tools: pairwise comparison, and a weighted decision matrix. These tools aren’t only useful for analyzing designs – they’re basic decision-making tools, and they’ve always done right by me to evaluate designs, conceptual or otherwise.

Both tools depend on having a good set of criteria against which the two apps will be compared. You might not know what decision to make, but you need to know how you’ll know that you’ve made the right one. In our case here: How do I know when I’ve found a good todo app?

The formal term for what I’m doing here is qualitative, multi-criterion decision-making. It generally comes involves four tasks, which in my case are:

  1. Figure out criteria that apply to any “best” todo app.
  2. Rank the criteria by importance, because the most important criterion will affect my decision more than the others.
  3. Develop a rating scale to rate each app.
  4. Rate the apps with the rating scale and the weights.

Here’s my criteria, in no particular order of importance, based on years of using other task management tools:

  • Fast. No long delays when telling the app to do something.
  • Easy. Minimal clicking (e.g. hitting “accept” for everything or burrowing into deeply nested forms and subforms).
  • Repeats. Repeating items at regular intervals.
  • Priorities. At least three levels of priority for tasks.
  • Checkoff. One-touch checking off of done items.
  • Backup. Easy backup (or sync) to some remote server that is fairly robust, using standard formats.
  • Groups. Group items by tag or folder or project or whatever.
  • Sorting. Multiple ways to sort items.
  • Hotlist. Some overview page showing only near-term, important items.
  • Restart. Picks up next time I run it where I left off last time (oddly, not every iPhone app does this).
  • Recovery. Uncheck items that were accidentally checked off.
  • Conditional deadlines. Due dates based on due dates of other items (e.g. task B is due two weeks after task A is completed).
  • Links. Link an item to a folder of other items.

Oddly, not a single iPhone app I’ve checked out so far meets all my requirements.  In particular, I’ve not found any apps that even try to meet the last two requirements. I say “oddly” because I don’t think these requirements are excessive. Still, there it is.

Next, we have to develop weights to assign relative importance to the criteria. The word relative is key here; we’re not going to say that one criterion is certainly and universally more important than any other. What I want is to know how important each is with respect to the others and my own experience. Remember, one size never fits all.

This is where pairwise comparison comes in. Details on how this works are given in another web page (it ain’t hard).  The chart below is just the end results.  In each cell is the criterion that I thought was more important of the pair given by that cell’s row and column. Since it doesn’t make sense to compare something to itself, and since these comparisons are symmetric (comparing A and B is the same as comparing B and A), then I only need to fill in a little less than half of the whole chart.  If you’re thinking this took a long time, you’d be wrong. It took me about 15 minutes to fill in the whole thing.

Fast Easy Repeats Priorities Checkoff Backup Groups Sorting Hotlist Restart Recovery Cond. Deadlines Links
Fast Easy Repeats Priorities Fast Fast Groups Sorting Hotlist Fast Fast Cond. Deadlines Fast
Easy Repeats Priorities Easy Easy Groups Sorting Easy Restart Easy Easy Easy
Repeats Repeats Repeats Repeats Repeats Sorting Repeats Repeats Repeats Cond. Deadlines Repeats
Priorities Priorities Backup Groups Sorting Priorities Priorities Recovery Priorities Links
Checkoff Backup Groups Sorting Hotlist Checkoff Checkoff Cond. Deadlines Links
Backup Backups Sorting Backup Backup Backup Backup Backup
Groups Sorting Hotlist Groups Groups Groups Groups
Sorting Sorting Restart Sorting Sorting Links
Hotlist Hotlist Hotlist Hotlist Hotlist
Restart Restart Cond. Deadlines Links
Recovery Cond. Deadlines Links
Cond. Deadlines Cond. Deadlines

This leads to the following weights:

Fast 6%
Easy 9%
Repeats 13%
Priorities 8%
Checkoff 3%
Backup 10%
Groups 10%
Sorting 13%
Hotlist 9%
Restart 4%
Recovery 1%
Cond. Deadlines 8%
Links 6%

So this tells me that I think having repeating tasks and good sorting of items are the two most important criteria.

The point of this process is that the human mind is not good at juggling a bunch of variables, but it is very good at comparing one thing against another. Take the trivial case of choosing between three alternatives, A, B, and C. If you prefer A to B, and B to C, then you should accept the logic that A is the most preferred item.  To do otherwise just isn’t rational.  That’s exactly what pairwise comparison does. And there’s good evidence that this technique actually works.

The next step is to choose a rating scale.  This scale will be used to rate each app with respect to each criterion.

There’s a variety of scales I could use, and a great deal of research into qualitative measurement scales has been done.  The scale that works best for me – and seems to be the most general – is a five-point scale from -2 to +2, where 0 means “neutral,” -2 means “horrible,” +2 means “excellent,” and -1 and +1 are in-between values.  If you prefer something a little finer, you can use a 7-point scale from -3 to +3.  I think it’s important to have  a zero value to indicate neutrality, and I find it meaningful to have negative numbers stand for bad things and positive numbers for good things.

It’s interesting to note that in some industries (e.g. aerospace), I’ve noticed a tendency to use an exponential scale – something like (0, 1, 3, 9).  This is because aerospace people tend to be extremely conservative (for reasons both technical and otherwise), so they tend to underrate the goodness of things.  This scale inflates any reasonable rating to make up for that conservatism.

But I’m neither an aerospace engineer nor particularly conservative, so I’ll use the -2 to +2 scale.

Now we can do the weighted decision matrix. The gory details are given elsewhere.  The weights come from the pairwise comparison above.  In a decision matrix, we rank each alternative to some well-defined reference or base item.  We need a reference because we need a fixed point against which to measure things.  If we were evaluating design concepts, none of them would be suitable as references since a “concept” design is not well-defined.  In this case, we’re evaluating two existent web apps, so we can choose either one of them as the reference.  For no particular reason, I’ll use ToDo.

I worked up a weighted decision matrix comparing ToodleDo to ToDo.  Here it is:

Reference (ToDo) ToodleDo
Weight Rating Score Rating Score
Fast 0.06 0 0 0 0
Easy 0.09 0 0 -1 -0.09
Repeats 0.13 0 0 0 0
Priorities 0.08 0 0 0 0
Checkoff 0.03 0 0 0 0
Backup 0.10 0 0 -1 -0.1
Groups 0.10 0 0 0 0
Sorting 0.13 0 0 1 0.13
Hotlist 0.09 0 0 1 0.09
Restart 0.04 0 0 0 0
Recovery 0.01 0 0 0 0
Cond. Deadlines 0.08 0 0 1 0.08
Links 0.06 0 0 0 0
0 0.11

This table might not look like much, but it tells a bit of a story.  ToDo is the reference, so I’ve given it zeros in every category.  That way, when I compare ToodleDo to it, a positive number means it beats ToDo and a negative number means it’s worse than ToDo.  Obviously, they’re very close to one another.

If you look at the ratings for ToodleDo, you see that it’s a bit better than ToDo on some points, and a bit worse on others.  But the +1’s don’t actually cancel out the -1’s because of the weights.  The criteria on which ToodleDo beat ToDo are more important to me than the others, because the weights are higher.  That makes ToodleDo just a little bit better than ToDo.

And that jives nicely with my intuition.  I got ToDo first, and enjoyed it.  But ever since I got ToodleDo, I’ve preferred it.  Every once in a while, I switch back to ToDo, but it never lasts very long.  And up until I did this decision matrix, all I had was a vague intuition that ToodleDo was better for me; now, I actually have an explanation.

But there’s a problem.  ToDo handles repeating events internally; that is, when I check off the current instance of a repeating event, ToDo immediately creates the next one in the series.  ToodleDo, on the other hand, generates subsequent repeating events only when you sync the app with the ToodleDo website.

This is a problem for me when I travel.  I was in Berlin recently, for a conference.  And I don’t have a data plan for my iPhone (that’s a whole separate story), so I couldn’t sync either app.  But that means ToodleDo  couldn’t roll repeating items over properly.  So before I went to Berlin, I sync’d up ToDo and used it while I was gone.  When I came back, though, I switched back to ToodleDo.  When I go to Sweden at the end of March, I’ll be using ToDo again.

Does the evaluation consider that?  No it doesn’t, because I didn’t.  The evaluation is only as good as the evaluator.  When I evaluated the two apps, I was nestled snugly at home, WiFi at the ready – and sync’ing either ToDo or ToodleDo is a non-issue.  If I’d’ve done the evaluation in Berlin, I’m sure I’d’ve gotten different numbers, because the repeating events problem would have been right there in my face.

So this underscores a limit with the evaluation method – indeed, a limit with any method: it’s only as good as the situation you’re in when you use it.  Some people might say a method is only as good as the information you use, but it’s more than that.  My situation, in this case, includes me, my goals (at the time), my experiences, all the information I have handy, constraints, and anything else can possibly influence my decisions at the time.

The problem, then, is that a method depends on the situation when it’s used.  But that situation may be different for the person doing the evaluation than for the person(s) who will have to live with the decision being made.  Indeed, it’s virtually guaranteed that the situations will be different, if for no other reason than the implications of a decision will only occur later.

Does this put the kibosh on these kinds of methods?

Not at all.  It just means that we must be vigilant and diligent in their application.  If I did the evaluation in Berlin, ToDo would have won, because in that situation, ToodleDo would have scored poorly on repeating events.  This is as it should be.  That means that in the two different situations, the method worked.  The problem is that in any one given situation, there’s no way to take into account any other situations.

Happily, there is fruitful and vigorous research concerned exactly with this.  Some people call it situated cognition; others call it situated reasoning.  We’ve not yet figured out how to treat situations reliably, but I think it’s only a matter of time before we do.

In the meantime, there is at least one other possible way to treat other situations.  A popular technique to help set up a design problem is the use case (or what I call a usage scenario).  These are either textual or visual descriptions of the interactions involved in using the thing you’ll design.  They can be quite complex and detailed.  Usage scenarios try to capture a specific situation other than the one that includes the designers during the design process.  So it’s at least possible that usage scenarios could help designers evaluate designs and products better.

One final caveat: this evaluation is particular to me.  It is unlikely that anyone will agree completely with my evaluation, because their situations are different from mine.  So I’m not saying ToodleDo “is better” than ToDo.  I’m just saying it seems to be better for me.

As they say: your mileage may vary.