Posts in: November, 2005

Updated Greasemonkey Scripts and Bookmarklets

I’ve updated the Greasemonkey scripts and bookmarklets I’d previously written for FeedLounge so that they work with the (current) alpha 5 release of FeedLounge.

You can find the updated scripts on the Support page, under “Scripts and Bookmarklets”.

This post has No comments so far
Posted November 27th, 2005 @ 2:43 PM in General by Alex

FeedLounge now running on PostgreSQL

This post contains some technical information that will be very interesting to other developers, but may not be so interesting to those that don’t work with databases.

For those of you that just want the nutshell:

We’ve switched to new database server software because we think the new software will be faster and store the same data while using less disk space (making our storage costs lower).

Now for the detailed explanation:

Back in August, we switched the FeedLounge database from MySQL’s MyISAM tables to InnoDB tables. This solved a number of problems that we were having with the MyISAM tables, but also introduced a number of other issues including slower performance on a number of queries (counting in particular). As we did more and more research into how to solve these problems, we decided that one promising solution would be to switch to a PostgreSQL database instead of a MySQL database altogether.

That is what we were testing this weekend, and the alpha server is now running live with a PostgreSQL database instead of the MySQL database. This is still in “testing” mode - if we run into any serious issues we might switch back (temporarily or permanently) to the MySQL database (which will have data current through last Friday evening).

Some of the reasons we decided to make the switch to PostgreSQL:

  • Database size - when we switched from MyISAM tables to InnoDB tables in MySQL, the size of our database grew from ~1GB to 10+GB! When we made the switch this weekend, the MySQL InnoDB database was using 34 GB, and the same data in a PostgreSQL database is only 9.6 GB - this should keep our hardware costs down a bit.
  • Load time - The current MySQL setup takes over a day to restore the current database, the load of the data into the PostgreSQL database took just over 4 hours.

I was once given a simplistic summary of the MySQL and PostgreSQL databases:

MySQL was built with speed as the primary feature, PostgreSQL was built with more robust features like triggers, but lacked the speed of MySQL. As both are maturing, they are moving towards the other. MySQL 5 adds triggers and stored procedures, while PostgreSQL is focused on improving performance.

For an application like FeedLounge, the faster counting and smaller row size of PostgreSQL are compelling reasons to use it instead of MySQL with InnoDB tables. Add that it runs in 1/3 the time, using 1/3 the memory (making it essentially 10x faster for us) and that we can start taking advantage of other Postgres features, like data partitioning and partial indices in the near future, and you have the reason we decided to make the switch.

This week should be an interesting one, we’re looking forward to getting feedback from our alpha users on how FeedLounge is performing on the new database.

This post has 78 comments
Posted November 20th, 2005 @ 10:50 PM in System, Development by Alex

Alpha 5 Update

Finally! We’re live with our alpha 5 release.

Some new features of note:

  • A “River of News” view
  • Atom 1.0 support
  • Auto-discovery of feeds (can enter http://feedlounge.com/blog/ instead of http://feedlounge.com/blog/feed/)
  • Revamped tagging interface for easier addition and removal of tags
  • Revamped item header display (includes author information if available)
  • Enclosures are shown as download links in the item content area
  • Links to subscribe to comment feeds for items that offer them
  • Creation of the feeds list on the server - speeds up initial load
  • A new read/unread icon
  • Ability to edit feed tags
  • Ability to delete tags in the feeds list
  • Ability to set the color of a tag
  • Back end optimizations
  • The page title now prepends “Loading…” when busy, so you can be in another tab and see when it is done loading

Also, I really need to update the screenshots here at some point.

This post has 7 comments
Posted November 13th, 2005 @ 10:35 PM in System, Development, Features by Alex

Pre-Alpha 5 Update

Back when we released alpha 3, I had this to say about our development process:

…our plan moving forward is to push out more feature focused releases on a faster timeframe. Having more bite size releases rather than cooking up a whole meal for each release should help us get specific testing and feedback on these features from our alpha users faster, and should make the releases easier for us to manage.

As you might expect, alpha 5 is (instead of an incremental feature release) a massive rewrite of major parts of the system. Sure, we’re adding a bunch of new features, but we’ve also made some fundamental changes.

Some of these changes are part of our initial plans to helps scalability, some are streamlining the code for easier maintenence, and some are due to things we’ve learned about browser JavaScript performance.

We are planning to push Alpha 5 to the alpha servers soon - it’s almost ready! We’re quite excited about the new features we are rolling out over the next few releases, and quite optimistic about our scalability plans. Right now, it looks like we’ll have another handful of alpha releases where we make a few more major changes/additions, then we’ll be working towards our beta release.

This post has 1 comment
Posted November 12th, 2005 @ 10:47 PM in Development by Alex