More progress today, with the addition of proper user profiles, the ability to save and hide links, a sidebar for navigation, some bug fixing and better CSS. Major features missing include pagination, a proper navigational bar on top, and thumbnail support, but it’s getting there! (And more widespread AJAX/smart rerendering)
The most interesting discovery of today was finding out that you can actually override templates based on which controller is rendering the view. This came in very handy to design the navigational bars, and it would be pretty useful to do a separate mobile website version too. This made me look at inheriting from my controllers as well, though so far I haven’t found a practical example where this would be useful (unlike polymorphic associations, which I use for comments and votes, with a single “polymorphic” controller).
I also reinvented the idea of the has_many_and_belongs_to_many association when I noticed a lot of nearly identical code between my save and hide features, but I remembered that it’s usually not a good idea to use because it makes it much harder to evolve from a “mere” join table in the future, so they’re not really worth the small amount of time (or code) they save.