brain dust

The Absolute.

Tuesday, January 11, 2005

New Project

I am working on a new side project. It's a pure pet project. No incentive other than pure grattification and some self education on my part.

The codename for the project is XFaV. I remember a couple of years ago that MS had put out a Favorites Service example. It was one of their first "Best Practice" examples on the .net framework. But their project died.

It's a shame too. I have needed it over the years. How many times do you find a great site, bookmark it at work, and then need at at home a few days later. You can't remember the site, but you do remember that you found it by searching for something on Google. But what was that magic phrase? After trying for half an hour, you finally give up.

So, I want to re-invent the Centralized Favorites. As a service, but not in the sense that MS did. Their example was a web service that developers could subscribe to, and wire into their own apps. That might be a consideration, but for now I just want some little client side app that I can download, get to my favs through and save new favs to.

I have already started working on the client app. I'll include a screenshot later.

In the client app, I will be using a treeview on the left side, and a property grid on the right. The treeview will support drag and drop, both locally and from IE. The property grid will display and allow updating of the objects that are contained on the tree.

Each tree node also contains a link object. Each link object contains information about itself such as the URL, description, type (there can also be folders on the tree) and so on.

The service part will provide a web service where the client can authenticate and sync it's local copy of the links with the server. This is done through XML Serialization and an object tree. The object tree is built from a collection of links. Each link also has a children property, which is also a collection of links.

I don't have the server part done yet. The client side is about 70% functional. I still need to add the hook into the service. Currently, it is saving the results locally.

Eventually, the client will be able to log into the service and download (or sync) the user's links. As links are added, the service will be updated. I also want to include a way to share links with other users. For example, I should be able to check off on my list links or directories and "send" them to another user on the system. In this mannor it also becomes a test in social networking.

I also need a place to host the service. I don't see each user needing more than 100k of space, as the storage of data will be minimal (username, password, name, email and links).

I will keep you posted here on my progress. Any suggestions, please post here.

2 Comments:

At 9:15 AM, Blogger Unknown said...

What about just making the source a RSS feed, and have the client app parse that ?, that way you could use news reader at home or your client app.

 
At 9:52 AM, Blogger Brian Fairchild said...

That's an idea, however I think it needs to be an option set by the end user. That could introduce some security issues. Not every one wants to have their links available to everyone.

Maybe you should have more than one link file? Maybe you can expose them as an RSS feed?

Good idea!

 

Post a Comment

<< Home