Start XAPed and cleaner

A short overview of an over-engineered personal home page

This entry was first published on March 17, 2005, 11:00 PM, CET and categorized as Code, Projects, Web.

So far, no comments have been added to this entry. You can add your thoughts to the discussion below.

Yes, this is a dumb title, I know. Anyway, I have managed to update my startpage eventually. Why I post about this? Because it is not a simple page with a number of links anymore utilizing XML, XSL, JavaScript and a local WebService (a XAPplication one would say).

Here's a short overview of the whole beast — and yes, I really like, no, I really love OneNote :)

General

The tabs are managed though an object. The objects that implement the behaviour for the induvidual tabs register itself with it and are notified via callbacks about tab selection changes — yap, pretty basic OOP design here :]

Links Tab

This tab is something like shared bookmarks. The side tabs filter the bunch with user (well, the user is me only :]) customizable keywords and the link properties can be edited inplace (not shown in the screenshot).

Links can be added through the page or via a bookmarklet — you gotta love WebServices :]

Feeds Tab

The feeds tab is a kind of interface to Bloglines. Actually, the local WebService implements the actual interface with Bloglines (via its Sync API) and caches all responses which are handed over to the JavaScript.

Side note: Maybe I manage to hack Bloglines support into RSSBandit. And while I'm in its guts I might test another idea to lower its memory consumption…

Back to the topic: the settings side tab lets the user (ya, still me only) the login credentials and which feeds to track/include on the page.

And there's no light without shadow: Currently, the implementation of this page suffers from a major memory leak somewhere — and tracking memory in JavaScript is no fun…

Manage Tab

Not implemented and subject to be removed. It is a pure left over from the inital idea to have all editing/manipulating on one tab, but these features are moved to the individual tabs now.

Things Learned

  • Implementing WebServices in C# is fun
  • JavaScript (or the common browsers implementations, or more likely the way I did the stuff) can leak lots of memory
  • Bloglines' Sync API is nice, but lacks a way to map subscription id (which is part of the response of the listsubs call) to the global siteid (which is used in the response RSS of the getitems call)

That's it. Well, maybe I should add that there are no plans to release this thing to the public — apart from the Sync API C# stuff.

Post Scriptum

Interestingly I start to work on this version of my startpage one day or so before I learned about MSN's Start thingy

Comments

No comments made yet. Will you be the first?