So this past weekend, I wrote (thanks for the link, Jenny!) about continuing down the road of my experiments with news aggregation and the tweaks I've been doing to AmphetaDesk's interface. Well, I'm at it again. I'm debating whether to post what I have so far for download yet, since I'm still refining some things, but I will very soon. I've noticed that my first attempt gathered some fans, so you all might like what I'm adding now:

  • Template code seems easier on memory usage
  • Much, much more sparing with tables, items are displayed using only DIV's and margin widths for indentation. (Seems to have saved a lot of memory.)
  • Outliner javascript now uses the browser DOM exclusively. (Seems to be slimmer and faster.)
  • Per-channel metadata annotation & storage - a feature already planned for Ampheta, but I was impatient and hacked a quick scheme together. (The future AmphetaDesk implementaiton will replace this.)
  • A new interstitial redirect page via which links are visited, to count clicks
  • In the per-channel metadata, I track:
    • Unique MD5 signatures for items
    • Date-first-seen for items
    • Number of times an item has been shown
    • Number of times an item's link has been clicked
    • Items clicked for the channel as a whole
  • Using the newly recorded metrics on channels and items, I do a few nifty things now:
    • Item hiding thresholds can be set on # of appearences, # of clicks, and item age. Hidden items disappear behind an expandable outline handle.
    • Channels and items can be sorted on # of clicks, age/last update, number of items shown.
    • Channels with no shown items can be automatically collapsed.
The gist of all this:
  • Channels and items I like and visit regularly tend to bubble toward the top
  • Stale channels and items tend to disappear and get demand less attention during my skim-and-scan.
  • Hidden things are out of the way, but are still available within a click or two
After letting this run for a few days (since all items are new at the first run), I've noticed that my news scanning has gotten much faster, even with occasional checks to be sure I'm not really missing anything with my thresholds.

The reasons I haven't immediately uploaded it for all of you: No preferences for thresholds - I'm editing constants at the header of my template for now; dependancy on Perl modules that don't come with Ampheta - only a few, but I'd like to wean away from them. Oh, and it's also nasty code that I want to refactor into a bunch of subroutines, some of which will be factored out of the template and eventually replaced with calls to core AmphetaDesk code. (Too much logic in my template.)

I also want to add some "karma" features so that, beyond metrics of age, visits, and appearances, you can add your own manual rating and opinion to the process of sorting and show/hide. And then there's the idea of categories/playlists I want to steal from iTunes as well. But, I might just clean up what I have by this weekend and do the early release thing so you can all cheer or jeer it at will. I also need to drop back into the AmphetaDesk dev crowd. I miss those guys...


Archived Comments

  • Very cool stuff! Cant wait to see it. I've been toying with the idea of "favorites" aswell with PocketFeed (that you mentioned in the original article). I've found that while useful to have the content with me, without some automated intelligence to it's organization, it's a big blob of blog data.
  • Oh, come on. Post it already! :-) I can't wait to play with in. I'm writing about AmphetaDesk for Linux Magazine, and it'be nice to mention some of this stuff too. Jeremy