After almost ten years using Perl as my programming language of choice, I confess that I really surprised with Ruby and in particular with the MVC framework Ruby On Rails. I’ve been learning Ruby and Ruby On Rails as side project of mine, but the more I read about it, the more I find to develop without it!
When developing any application, but especially when doing web development, we all take advantages when we get a working prototype online, that people can actually test and interact with. Could be something that I never really mastered, but the truth was that I’ve seem to be doing a lot of repetitive work across different projects to achieve the same goals, or particular features.
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. Created by Yukihiro “matz” Matsumoto, in Ruby he blended parts of his favorite languages like Perl, Smalltalk, Eiffel, Ada, and Lisp to form a new language that balanced functional programming with imperative programming.
Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern, development by David Heinemeier Hansson
I’m not by far, as proficient programming in Ruby as I am with Perl, and for that I’ll keep myself well aware of Perl for the coming times, but I’ve started some web projects using Ruby On Rails and I certainlly see myself using it more and more in the future as my web development language (Ruby) / framework (rails) of choice. Perl still rocks! And on the command line, besides unbeatable, it’s still much more intuitive for me to program in Perl, than it is and probably will ever be using Ruby.
Some of the books, I own about Ruby and Ruby On Rails, some of them in electronic format, but most of them in paperback versions too:
I’ll be posting more about problems and examples along my learning process, but if anyone has any curiosity about it or even doubts, feel free to drop me an email about Ruby or Rails, and as soon as I can, I’ll get back to you.
March 2nd, 2007

I don’t yet know the end of the plot, but as far as the last aired episode, Heroes is by far and for sure one of the BEST series I’ve ever seen!
March 2nd, 2007
Tara Hunt was one of the main reasons for my registration at FOWA, I really wanted to meet her, and have a chance to talk with someone who not only inspires me but I’ve also learned a lot thru her blog about online communities! I ended up meeting Tara and, “her partner in crime”, Chris after the London Barcamp, and I confess the little chat we had was worth every second of it! Tara and Chris were a valuable inspiration!
Disclaimer: the following notes are my personal notes from Tara Hunt presentation on FOWA - Future of Web Apps which took place in London, last week. For better and more accurate information, you should also have a look at her presentation slides.

Building Fostering Online Communities
Before we could actually discuss about fostering online communities, we should ask ourselves some questions about the concept of community: what makes a community, which examples do we know about successful communities? What are the common community themes? And finally what factors are normally present to ensure a fertile ground for a community?
A community as I’ve wrote about on my notes from Stowe workshop, can include multiple dimensions: geographical, interests, goal oriented or psychological. By definition a virtual community is a based on a virtual space supported by a computer system, centered upon communication and interaction of it’s members, a community generates not only content in different forms but most importantly foster the creation of relationships between it’s members!
A virtual community according to Tara has certain fixed features:
- Personal Homepage/Profile
- Personal content creation
- Ability to interact with other content
- Ability to ‘friend’ and share content
and present their members with a set of benefits:
- Heightened customer policy: members develop an emotional locking
- Self policing
- Amplified word of mouth
- Better feedback: an engaged community will deliver excellent feedback
- Strong & more interesting filters on content
and the process of belonging to a community seems to be rather simple to describe: first one is a simple visitor, a guest of the community, once we became consumer, we’re half way thru the process of becaming a full member of the community.
According to Tara’s presentation, we can classify communities in three different levels:
1. Lightweight Social Processes
this set of communities present users with a lower social involvement, to belong a user has to take part in simple or not much involved actions, like voting or simply use the community services (recording). Some examples of communities in this set are:
2. Collaborative Information Structures
These set of communities requires or evolves around a “product” that’s somehow dependent or enhanced by a social component, normally requires a deeper interaction or participation from their members, and we have today clear online examples of communities on this set:
The third set of communities are the communities of practice, or as Tara called them:
3. Highend Collaboration Communities
which include communities built upon groups that use systems to make sense and share complex materials, content or data:
Every community has a Theme: Flickr is around photo sharing, Wordpress is around blogging, Threadless reins around special art-based apparel, Twitter about communication and Barcamp’s around geek communities, etc. But if we take a look at all of them, we see that the most successful ones, have certain common characteristics:
- Sense of fun/play: their founders actually have fun with them, users have fun using them, cases like the twitter founder stating that it all started with his goal of creating a fun place to work, Flickr offline messages, Wordpress “slow down cowboy” when we try to make to many posts on a short period of time, and you’ll find many examples like these one on successful communities.
- Keeping the dialog going by using their own products (not only showing how to use their own products, but also teaching them how to use them) and by taking personal care on the customer support: Tara effectively suggested this could be the most important item of this list and gave the example of the Flickr team, and how they spend a lot of time greeting every user that signs up on their site, offering help, and engaging users into the community.
- Take an experimental approach to development: always use the “wouldn’t it be awesome if….” approach! Follow the Google approach to business, make your working place a place where failure coexists with triumph, fertile in bubbling ideas!
- Maximize the the power of word of mouth: built from beginning a variety of ways to share: blog, rss, copy & paste urls (Flickr). Participants of your communities are content creators: podcasters, blogs, irc, wikis, barcamp, etc, so instead of adding more features, provide them with more on-ramps, more ways to actually promote their works, to help them discover!
- Involve the community on the decisions: listen carefully to your users & BE FLEXIBLE! Allow the community to CREATE content & take DECISIONS. “Community builders, should live and die for the community”! Putting the audience in charge is the winner factor from the Barcamp movement.
- Simple platforms: Keep it Simple, keep it open, simplicity makes it usable to build upon, focus on the building blocks rather than the final use of your product, design and implement tools and share documentation and techniques! Remember to Build like an expert and still make it usable by non-experts, in the end you product should have a simple but very extensible platform: provide a rich API! Mashup’s anyone?
- Compelling stories: gather the stories that make everyone ware of your communities benefits, share them and reward those that share them
- Reward community members: active members of your community, people that not only promote the community but also take an active role on the community should be rewarded differently.
This all seems quite obvious doesn’t it? So how can we settle a fertile ground for a community? Tara kind of unveiled some of the key factors behind community building. To be a successful creator, mentor or facilitator of a community, one has to have a sense of the motivation behind the community members, we have to understand:
- Sense of Community and the Feeling of Membership: people feel part of the community when the boundaries of our community are clearly stated, when everyone uses common symbols, when they have a personal profile page, if they’re allowed to network and friend other users, if there are groups within the community to which they might belong, if the community foster the personal and group expression, and if things as simple as welcome new members and personal introductions are common practices.
- Feeling of Influence: every member of a community has more or less interest in being able to influence the group. In some matters they all do, and all are influenced by the group. But when building a community some things like forums, chats, comments, blogs and personalized emails help creating the feeling of influence.
- Shared Emotional Connection
: relationships, shared expertise and history between community members is very important for successful communities. If a community allows frequent and quality interaction between it’s members. People invest time and resources on their participation and for that a sense of honor or humiliation appears, people create spiritual bonds with the community. A shared emotional connection can’t be created, but allowing members to share experiences help fostering them. Offline meet-ups, celebrations and developer days gatherings help to bond with and within the community.
- Integration and Fulfillment of Needs arise when people feel themselves being supported by others, when they achieve some sort of rewards for being a member, by sharing values and experiences they gather a sense of competence within a group. Implement features that help measure and distinguish members: karma, vips, etc.

In conclusion, Tara left one advice:
Fostering healthy communities is complicated, time consuming and requires dedication to
your members, but the rewards are high and long term.
Above all have in mind that sometimes it takes a long time! So never forget, BE PATIENT, VERY PATIENT!
March 2nd, 2007