Get Satisfaction for an Open Source Project

September 4, 2008

I’ve been impressed with the product support provided by Peldi Guilizzoni, developer of Balsamiq Mockups. He uses the Get Satisfaction site. His product is commercial software but I got to wondering if getsatisfaction.com might be useful for an open source project. Usually if there’s support for an open source project, it’s in the form of a bug tracker like Lighthouse or some combination of mailing lists, forums, or wiki. I thought it might be interesting to see if support for an open source project could be delivered better by a site that is oriented to serve consumers. So…

My Rails RESTful Authentication Example Application now has a Get Satisfaction support site.


Rails RESTful Authentication Example Application

August 13, 2008

I’ve released an open source Rails application that provides an example of RESTful Authentication.

It provides a complete system for managing users, including sign up and verification of a new user’s email address, login with role-based access control, and a system of resetting forgotten passwords, all using a RESTful architecture.

You can easily customize the application for your own needs.

You can obtain the source code here:

It is based on recommendations from the forum discussion Restful Authentication With All the Bells and Whistles.

UPDATE: I’ve set up an account at Get Satisfaction for discussion and bug reports.


Merb Screencasts

May 17, 2008
Though there’s nothing like Ryan Bates’s excellent RailsCasts, there’s a few Merb screencasts to be found:

Merb, Datamapper and merbful_authentication from Jonathan Conway.

Introducing merb-slices from Fabien Franzen.

Merborials from Shay Arnett (on hold as of 02/28/2008, maybe soon?).

As of 5/17/08, there’s nothing yet at merbcast.com.


RSpec Stories in Merb

May 16, 2008

A blog post from April 23rd, 2008, titled
Integration testing Merb with Webrat,
explains how to set up RSpec Stories in Merb.

Hopefully it gets easier in time.


Merb Example Apps

May 13, 2008

I’ve looked at a number of open source Rails apps that can be used as a starting point for a project (see the post Survey of Rails Example Applications).

Since I’m considering starting a project using Merb instead of Rails, I wanted to review a collection of open source Merb apps. I didn’t have to look any further than the list of Open Source Merb Apps on the Merb wiki. The author even said, “Sometimes staring at code can be a good learning technique in addition to tutorials and documentation.”


Interesting Sites Using Merb

May 13, 2008

I’ve been keeping an eye open for interesting sites using Merb.

Here’s the first one worth noting:

HitGeist.com, developed by Viktors Rotanovs. It displays the fastest-growing web sites worldwide, based on traffic data from Alexa.


GitHub Tips: Removing a Remote Branch

April 28, 2008

If you are working on a branch and want to abandon it, what do you do?

It’s easy to remove it from your local repository:

$ git branch -d mybranch # delete branch "mybranch"

And then how do you remove it from a GitHub repository? This works:


$ git push git@github.com:<my_account>/<my_repository>.git :heads/<mybranch>

But there’s an easier way. Scott Chacon suggests:

You can also do (assuming ‘origin’ is the name of your remote):

git push origin :mybranch

Scott Chacon is the author of the Git Internals book from Peepcode.


Interaction Design Resources

April 25, 2008

Most web applications are built by teams of software developers and graphic designers. When software developers build their own sites, they tend to reuse designs they’ve used before or borrow from sites they like. Sometimes they’ll ask a graphic designer to create a few icons or propose a fresh look and feel. For their part, graphic designers tend to want to create the kind of eye-catching design that will win design awards for innovation and creativity. In my experience, most developers and designers are only dimly aware that there is a profession called “Interaction Design.” With any profession, there is a body of knowledge and expertise, and in Interaction Design, it’s all devoted to developing the optimal user experience. Most web applications need interaction design. At a minimum, developers and designers would do well to familiarize themselves with the accumulated body of knowledge from the interaction design field. And, if possible, get an interaction design expert on your team.

I’ve begun collecting favorite sources of information about interaction design:

and I’ll add to this list as I find more.


Open Source Social Network Apps for Rails

April 18, 2008

I’ve been looking for a Rails example app that demonstrates “best practice” development techniques and provides basic features, to be used as a “skeleton” starting point for development of a new project.

I’m primarily interested in finding an app that is written for Rails 2.0, that implements a RESTful architecture, and uses RSpec for specifications/testing. Optimally, it should implement authentication (using restful_authentication) and authorization, provide an interface for users to manage their accounts (or profiles), and provide a rudimentary administrative interface for adding or deleting users. I’ve looked at a number of open source apps (see the post Survey of Rails Example Applications).

There are three open source social network apps for Rails that come close to fulfilling my requirements. I’ll compare them here.

LovdbyLess is a social network platform from the development firm Less Everything. It is hosted on GitHub at stevenbristol/lovd-by-less. It is RESTful and uses Rails 2.0 but not RSpec or restful_authentication.

RailsCoders is the example app from the book Practical Rails Social Networking Sites, published by Apress. It’s a full-featured app and it is RESTful. The author chose to implement his own authentication (using RESTful principles) rather than using the restful_authentication plugin. The app was written for Rails 1.2.3, not Rails 2.0, but an upgrade is relatively easy. It has Test::Unit tests but not RSpec specifications/tests. As of April 11, 2008, it is hosted on GitHub at abradburne/railscoders, where the author has begun work on a new version of the app.

The authors Michael Hartl and Aurelius Prochazka built a social network app named RailsSpace for a book of the same name. RailsSpace doesn’t meet my minimal requirements (not Rails 2.0, not RESTful, no RSpec) but Michael Hartl is taking the lead in developing a new social network app named Insoshi, which improves on RailsSpace. It is hosted on GitHub and development has been funded by Y Combinator, a venture capital incubator. Insoshi is a Rails 2.0 app, full-featured and RESTful, uses restful_authentication and RSpec, and thus meets my requirements.


Adding RSpec to the RailsCoders Example App

April 17, 2008

Alan Bradburne, the author of RailsCoders, the example app from the book Practical Rails Social Networking Sites, wrote a complete set of tests for the app using the Rails Test::Unit facility.

But I’m using RSpec.

To use RSpec, the first step is to install RSpec and Spec::Rails as plugins.

Then, for me, there was a short detour to install the Textmate bundle for RSpec.

The next step is to run

script/generate rspec

to set up the necessary folders and files.