Perpetual Beta – Development 2.0

This week I examine Tim O’Reilly’s 6th Web 2.0 pattern: Perpetual Beta and it’s corresponding best practices as harnessed by the social networking giant Facebook.

Software being in a state of perpetual beta means simply that it is is constantly evolving, constantly being shaped and crafted right in front of the eyes of its users. Software must be forever changing to remain a competitive commodity in the current era. Users no longer see software being “under construction” as something they have to wait out; an inconvenience. Rather, it is instant exposure to new developments, ideas and features for which they can provide instant feedback and rest assured that the developers are listening.

Perpetual BETA

Development 2.0 allows users to shape software with developers permanently implementing new concepts that rate highly  and those that rate poorly quickly disappearing from view.  Users must be treated as co-developers  the software release cycle is no longer about versions, it has become versionless – does anyone really know what version of Facebook they are using?  New features are integrated seamlessly and service remains uninterrupted. This is possible due to software moving away from an install once, wait, download update, install again cycle to an always on, always connected, Software as a Service.  O’Reilly states that “so fundamental is the shift from software as artifact to software as service that the software will cease to perform unless it is maintained on a daily basis.”  There is no down time, if you are not using your favorite web app someone else is and it is the opinions of these very users that dictates what is developed and when.

facebook

Facebook, like Google, exist among the pioneers of perpetual beta and adopt the best practices in textbook like fashion.

(1) Release early and release often

Facebook are masters in this realm, the introduction of timeline, chat and different layout format are classic examples of releasing early so that user feedback can be obtained and utilised to gauge interest in, and reception of, the new features it plans to introduce. If a feature is popular it is often quickly integrated and tailored around user feedback.

(2) Engage users as co-developers and real-time testers

Another advantage of releasing early and allowing users to trial new features well before a planned integration date is the fact that any bugs, whether they be logical or technical in nature, are likely to be uncovered by early adopters. This also allows Facebook to monitor user behavior and make well informed decisions regarding the way it rolls out the new features and what user demographic receives them first. “Timeline” is a classic feature that was made available to users as an optional update on September 29 2011, and after an overwhelming positive response eventually became a non-negotiable part of Facebook for all users.

(3) Instrument your product

It is absolutely essential to establish a framework for measuring success and implement metrics that provide an accurate snapshot based on this framework. Facebook features are meticulously monitored throughout different stages of implementation. Data gathered from user participation in varying areas is referenced against business objectives to further aid in successful feature implementation.

(4) Incrementally create new products

Facebook is constantly releasing new products and additions and manages strategic decisions through this, moving with technology in response to competition and to flat out user demand . Releasing a stand alone chat application for mobile devices competing with the likes of MSN and simultaneously recognizing the high demand for its chat feature is testament to such strategy.

(5) Make operations a core competency

Facebook realises that the people they employ are paramount to its continued success. They capture this perfectly by stating “We don’t have rules, we have values, focus on impact, move fast, be bold, be open, build social value”. Second to none systems monitoring, built in redundancies, state of the art hardware,  simplified fault tolerance, and razor sharp execution of all is the technology through which it empowers.

(6) Use dynamic tools and languages

Through utilising cutting edge agile development models Facebook is able to offer industry leading technology at all levels  including:

Front end: LAMP (Linux, Apache, MySQL and PHP); Back end: C++, Python, Java, Erlang

In addition to this Facebook offers an impressive array of open source developments.

facebook2

Further Reading:

Version-Less Development: What is it and Why it’s Important

How Does Facebook Work? The Nuts and Bolts [Technology Explained]

Will product innovation win it for Facebook?

Careers at Facebook

Advertisements

6 thoughts on “Perpetual Beta – Development 2.0

  1. Hi Adam,

    With perpetual beta, users of the web does not have to be worried about updating their software anymore. As you have mentioned, perpetual beta have made these services versionless. Facebook is a great example of how perpetual beta is applied. With updates both major and minor happening quite often, no one knows what version it is already. Perpetual beta adds a lot of value to the service and keeps the users engaged and in a way looking forward for new things. One problem with Facebook is how they choose to update their services. Sometimes the updates are really great and do come from feedback from the users but many times its just an update that forces users to change the way they use the service. Do you think use of perpetual beta updates that forces new concepts to users without their feedback is more advantages?

    -Sukshan

    • Hi Sukshan,

      Thank you for your comment. In answer to your question I personally do not like timeline. However, lets look at this from Facebook’s perspective. If the feedback had not been overwhelmingly positive it would have been a mistake to implement it. I know that there are people who do absolutely love Timeline but in my group of friends they are few and far between.

      I think in the future perpetual beta will work in a way where sites can be completely divided according to user preference. My view of Facebook could be totally different to yours based on what I had to say about the features they had wanted to introduce. It will take a while for technology to develop to a point where consistency can be maintained in a situation like this but I think it is bound to happen.

      I do not like being forced into change, but if we weren’t occasionally forced would we ever change ? That is food for thought right there 🙂

      Thank you.

      Adam.

  2. Unfortunately Facebook has also had a few misses, however the beauty of using a perpetual beta is the ease of which functionality can be changed and improved behind the scenes.

    The future definitely looks strong for the utilization of perpetual betas (I like to think of them as organically evolving websites) and look forward to seeing new innovations outside of social media.

    • I agree with you Andrew, Perpetual betas is like organically evolving websites. Facebook still didn’t stop their development and continue to release more features and make them easier for their user to use and also try to collect more data from their users.

      Prapat W.

      • I also see Andrews point Prapat, and think he is a very intuitive human being 🙂 Facebook will never stop their development and will continue to release more features and make them easier to use. That is the whole idea of Perpetual Beta. Don’t you think the idea of collecting more data from their users is to promote further inter-connectivity?

    • Hi Andrew,

      Thanks for your comment – I notice you have been an avid watcher of my blogs since my very first semester and I really appreciate it!

      You are right, Facebook has had some misses, but in the world of Perpetual beta is a miss really a miss? It saves the software developer actually having to “release” something that people dislike, it just never gets fully implemented. This is a far cry from the way this happened in the days when software was an artifact. People would be stuck with a product (read Windows Me) that they just couldn’t stand.

      The future looks bright and I think perpetual beta is here to stay – who better to influence development than the end users themselves?

      Cheers!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s