How to Create a File Upload Progress Bar in Rails, Passenger, Prototype and Low Pro from Erik Andrejko on Vimeo.
An upload progress bar is one of the best ways to improve the usability of file uploads in your application. This screencast will show how to create a file upload progress bar using Rails, Passenger, Low Pro and the upload progress bar apache module.
Sinatra is a wonderful small Ruby web framework built on top of the Rack interface. Sinatra is very fast out of the box making it perfect for light weight tasks. Sinatra does not come with support for memcached out of the box but adding support for memcached is fairly straightforward.
There are a lot of cases where pagination is the wrong choice to present a long list of items. This screencast will show you how to unobtrusively enhance a paginated list of items with an endless page. I first learned of the endless page trick from Aza Raskin of Humanized. His talk, Don't Make me Click, is well worth watching.
Providing feedback to the user is a fundamental part of usability. The proper feedback can turn a potentially frustrating experience into a joyous one.
The first 'Usability Heuristic' of Ten Usability Heuristics is
I recently signed up for the free service Are my Sites Up?. Thanks to Chris Coyier for providing this free service. I think it is a good example of underdoing the competition. The signup process offers an interesting opportunity to think about the details of the user experience in signing up for a web service.

Tokyo Cabinet is an extremely fast key-value store. It's a lot like memcache: only better.
Screencast: Hover Content in Rails and Prototype from Erik Andrejko on Vimeo.
It is often a good idea to show content when the user hovers the mouse above a link or an element in a page. This technique has been abused by some, but when used correctly it can enhance the user's experience. This is particularly the case when you have a lot of information that may be relevant to the user's interests but is too much to display all at once.
Your users are happiest when they don't notice how fast your application responds. If your users notice your web application speed it is probably because they notice it is too slow. Most speed improvements happen outside the Rails stack.
Certain things are just too fast in development mode. The bandwidth is essentially infinite and that is way to high to simulate the experience your users will have in production.
One of the many strategies for speeding up your Rails application is to serve exactly one CSS file and exactly one Javascript file. It is often more convenient to have multiple files in development and only package these files into one file in production. It doesn't hurt to also minify these files when in production mode. This is exactly what Scott Becker's great asset_packager original plugin is for.
In a project I was working on there were several classes that were involved in a lot of background processing. In order to monitor the behavior of this background processing I wanted a separate log file for these classes. The result: class_logger is a simple plugin that creates a separated log file for an ActiveRecord model.

If you haven't already seen the beta version of Safari 4 you might be in for a little surprise when upgrading from Safari 3. The tabs have moved into the title bar of the window, just like Google Chrome.
I haven't decided if this is a good idea or not yet. What I find the most interesting is that this has generated a lot of spirited discussion. The most important conclusion from this whole ordeal is probably that sometimes making user experience decisions is very hard. Fortunately, most user experience decisions are pretty easy.
Here from Smashing Magazine is a good list of 10 Useful Web Application Interface Techniques. (via Chris Coyier on Twitter)
Design is all about assumptions. If you don't assume anything how can you get started? Good design means getting those assumptions correct. Often times these assumptions will be wrong, and many of those assumptions will be hidden: the designer doesn't realize the assumption is being made. This is not a problem if the assumption is correct, but becomes an unknown problem if the assumption is incorrect.
Are you having weird issues associated with sessions using Rails 2.3 and Passenger? Perhaps you have problems like repeated flash messages and the inability to logout by destroying a session variable.
There is a simple fix: upgrade passenger. This lighthouse ticket has some more details about session problems.
To upgrade passenger:
sudo gem install passenger
passenger-install-apache2-module
After installing the new Passenger Apache module you will probably have to edit the httpd.conf to include the new version of the Passenger module.
After restarting Apache everything was working correctly.