Collecting News for All: How I use Google Reader and Pageflakes

news magazines

Build your own mashup news feeds.

Because of my work, and my belief that information and knowledge should be shared as widely as possible, I collect web news and blog posts into RSS streams that anyone can follow.  Maybe you’d like to do this too; maybe you just want to “follow” my feeds.  In any case, here’s what I do and how I do it.

While I listen to CBC in the car and thereby get pretty much all the typical news I need, I do like to keep up on developments in various fields too.  That’s where the web comes in.

I use Google Reader.  There may be glitzier readers out there, but none can do the very simple thing of composing RSS feeds of articles I’ve tagged and shared.  Google does an excellent job of explaining how sharing works in Reader; I won’t duplicate that here.  Basically, this lets me build my own “custom” feeds out of other, existent feeds.  I guess that makes it a kind of mashup.

Continue reading

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.

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’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  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.


My web presence, III: a first attempt

The road to bad software is paved with good intentions.

In “what’s my problem,” I described why I wanted a web presence. Now it’s time to explain my first attempt, why it failed, and why it still remains my ideal.

I was always interested in using computers to keep information organized. Back before the Web, I played with lisp code for Emacs, creating little hypercard-like modules that would let me link words in one file to other files. And once I’d discovered CGI scripting for the web, I often tried to figure out how to interact with web pages through a browser, but never had that breakthrough moment. I had to wait for Ward Cunningham to have it for me. A programmer with an engineering background, Cunningham invented the first wiki (which continues to thrive at c2). The instant I saw his solution, everything fell into place. It was without a doubt one of Those Moments in my intellectual life.

I began to experiment with all kinds of wikis: oddmuse, mediawiki, twiki, kwiki, moinmoin…. I was, one could say, rather promiscuous in those days. I was convinced that there was a way to make a wiki solve all my problems.

But no matter what wiki I tried, there was always something that chintzed me off – the look and feel was wrong, the editing shorthand was arcane, the API was obtuse, there weren’t enough functions, there were too many functions, performance was sluggish…. It was incredibly frustrating because the more I worked with wikis, the more I became convinced they were The Right Answer, but I could never find The Right Answer For Me.

So I decided to write my own wiki engine. And thus was born xiki. I’ve been putzing around with xiki for years now. I even have a tiny bit of research funding to develop it as a tool for engineering designers. Xiki is written in perl, and is quite fast, faster than most other wikis I’ve tried. It has a syntax that is quite concise, compared to many other wikis. Of course, it’s nowhere near as robust as most popular wikis, and I’m sure the code would make good perl programmers break into hysterical laughter. But it works well for me and my grad students.

Or so I thought.

Once I had the basics running, I started having big dreams about building into xiki all kinds of functions to help me handle my web presence. But as I started figuring out how to implement those big dreams, I started to discover problems in xiki.

For instance, it has a module to handle bibliographies in a reasonable and handy way. But it’s really slow when you want to search a bibliography. Also, a xiki page is processed and then spat out right at the end. So xiki cannot build output a bit at a time. This is something most other wikis do, and for good reason. Even though it makes the software trickier to write and slower, it appears to run faster, because it starts producing some output much faster. That’s one of those little tricks computers can play on the poor human mind. More practically, producing output a bit at a time does let one build pages in increments. These are things xiki just can’t handle.

Adding event handling (like an appointment calendar), aggregating RSS feeds, and tagging interesting web sites are all things I want to add to xiki. But I can’t – not at least with xiki as it is right now.

I ended up writing code that suffered exactly the same problem as every other wiki I’d tried – frustratingly close to what I needed, but not quite enough.

In the meantime, I still needed functionality and I couldn’t wait for myself to get xiki right. So I started using other things. I use a web-based calendar system called Calcium to keep my work-day appointments. Calcium hits as close to the sweet-spot as it gets: it’s dead simple to install and use, it’s robust, it’s flexible, and it lets others book appointments without needing accounts. This means my students can just book an appointment to see me whenever I’m free. As far as it goes, it’s been a life-saver.

Another thing I’d been doing for years was accumulating links to interesting web sites. I had no idea what to do with these. I tried all kinds of social bookmarking software (like delicious, diigo, and twine), but they all suffered from the same problem: I could only browse by the labels with which I’d tagged web sites. This is a problem because sometimes (often, actually, I want to look things up by keywords that I hadn’t thought of adding as tags. So I’d end up spending a lot of time browsing through many links without finding what I wanted – which rather defeats the whole point.

Also, as anyone knows who has been tagging things for any length of time, your tagging habits change with time. It happened to me. After months of tagging things, I found that the tags I’d used on my earliest links were somehow wrong. I tried to develop a taxonomy – a classification of tags – so that I’d have a usable set of rules to assign tags. But there was no way to develop a taxonomy that would cover all the tags I hadn’t yet thought of. So the taxonomy kept changing… which rather defeats the purpose.

Then one day I realized that the reason I kept using so many tags is that I was trying to capture every keyword that appeared in the web site I was tagging. What I needed, I realized, was a way to tag web sites, and also index them (like Google or Yahoo do).

Of course, there was no software that did that. To this day, I still can’t find anything that both tags and indexes web sites. So I wrote my own. The current incarnation of that software is called serf – and yes, it does look a bit like delicious. It uses a cool search engine library for Perl called KinoSearch. The neat part of serf is that it can search on either tags or keywords or both. Since most web pages have lots of good keywords in them, I need fewer tags. And also, those tags can be more consistent because they’re more general – specific tags are just keywords, already in the index for that web page.

I still use, and develop, serf. But I wish xiki could have done it.

Serf may be working out well, but it’s the only part of this sorry state of things. Xiki works fine as a plain wiki, but it needs serious help before it can replace any of the other tools I’ve become accustomed to.

Things finally came to a head a few months ago, when I realized I was spending more time pissing around with different bits of code and web apps than actually gathering information and using it for something. I realized I had to do something, because my productivity was shot. (Don’t tell my boss.)

And being a designer, I decided I had to start designing a better answer. I’ll write about that, next time.