Wednesday, April 15, 2009

YTMND Flash Template GIF news

A couple months ago we launched a beta of the new flash template. Despite being quite ugly, it worked for the most part outside of one major issue; A small percentage of the animated gifs were not being converted to SWF properly. We are using a proprietary piece of software to do the conversion, and it was throwing an error claiming the files had > 16,000 frames. After a great deal of back and forth with the company who makes the software, we managed to get the source code for the animated gif portion.

davidc managed to skillfully track down the bug and also pointed me towards this terrific article on gif frame delays, which explains why there are so many browser-dependant synch problems with animated YTMNDs. At any rate, the flash template will now force a 100ms delay when 0ms delays are given. Some changes need to be made to the code, but this is good news.

This also means that once everything is converted over, every browser will play the images at the same speed, hopefully ensuring the true end to all synch problems.

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.