Monday, February 23, 2009

Contests/Client-side data storage

Haven't been updating this as often as I'd planned as the response was pretty abysmal. At any rate, a good deal of development news. I have found a new designer who seems pretty excited about coming up with a new design, which I'm pretty happy about. In other news I've been working on finally implementing contests. Hopefully the first incantation of this feature will show up on the site on Wednesday.

One of my favorite (and simplest) features on the site is the comment highlighting which changes the background of a comment on a news post or site profile if it was made recently. This is a feature I've wanted to expand on greatly. If we could track the last visit time for each site, site profile, user profile, etc we could highlight content in many ways I think would be fantastic.

If we tracked a user's last visit to each of those areas we could:

* Highlight sites which have changed their image/sound since the last time you looked at it.
* Highlight comments on site profiles which were made since your last visit (as opposed to the current which is just the last hour)
* Highlight sites a user has made since the last time you visited their profile.
* Filter sites from search results and basically anywhere else on the site, allowing you to not see sites you've already viewed, or for that matter highlight sites you have already seen.

This data has a great deal of possibilities, but at the same time would require a great deal of server resources to store and manage.

The total number of rows would be around (Users * (Sites * 2)) + (Users * Users). That would result in hundreds of billions of rows of data assuming a high rate of activity. This has been a design hurdle that has plagued me for years, long before YTMND existed.

I've been giving it some thought recently and I have a plan to try and tackle this problem. If I used something like Google Gears, I could have a client-side database for each user to store their data, and then just use JavaScript to do all the filtering. I've even been thinking (for select (paid?)) users I could make a SQLite db for each user and then when they move to a new computer I could re-synch it back to them. At any rate, something fun to think about. More soon.

3 comments:

k0mputer said...

Love Lockdown! Love Lockdown!

Hank the Rapper said...

I like your idea for highlighting comments. Changing it from when you last viewed would be more helpful than the current time-based system.

neohx7 said...

I'll take that SQLite DB. With so many votes under my belt I think there is some interesting analysis to be done. Besides, I'd love to revisit all my old VOAT5s and re-rate them with a fresh, jaded approach.