Dropbox – Perpetual Beta

Dropbox is a service that allows users to store files on the cloud and on personal computers, simultaneously. The files automatically synchronise and update allowing the Dropbox folder to act as a shared folder between computers. Dropbox was originally released publicly in 2008. In January of 2015 Dropbox was valued at $10 billion (USD). This week we will be focusing on how Dropbox follows the web 2.0 design pattern, The Perpetual Beta, which is when online services release regular updates and patches instead of big changes at longer intervals.

One of the key characteristics of a Perpetual Beta is releasing early and often. This means that developers should be consistently releasing updates and features as soon as they have been completed instead of releasing one huge collection of fixes every few months (or years). Dropbox publishes their release notes, which clearly reflect the ‘Perpetual Beta’ characteristic.

A perfect example of this can be seen in October 2014 where Dropbox released 6 patches from minor performance enhancements to major compatibility updates for OSX. This characteristic allows Dropbox to keep up with its competitors and remain as a viable option for cloud based storage.

Another characteristic of the Perpetual Beta is to use dynamic tools and languages. While Dropbox has changed its back-end infrastructure it has always used simple and dynamic languages. Initially, Dropbox was primarily written in Python. Python is a great language for web services because it is easy to learn and has a multitude of compatible frameworks designed specifically for web (e.g. Django). Despite all of its advantages Dropbox realised that if they migrated performance critical back-ends to new infrastructure developed with Go they could drastically increase execution speed. Showing their commitment to this characteristic Dropbox had almost completed the migration from python by July 2014.

This migration brings us to the last practice we will be discussing today, engaging users as co-developers. Dropbox did not re-develop the entire back-end of their infrastructure and then release it. They did it slowly, replacing one section at a time and looking at how the change impacted the user base. This enables users to slowly (but thoroughly) test the impact which the changes have on the service.

With their consistent updates, easy to use design and a user base which boasts more than 175 million, Dropbox is poised to remain competitive even with Google launching Google drive and Microsoft launching One Drive. Dropbox has shown that through releasing often, using dynamic languages and engaging their users as co-developers they can continue to grow as a company and as a service.

References
Django. (2015). Overview. Retrieved from django project: 
Dropbox. (2015). Release Notes. Retrieved from Dropbox: 
GoLang. (2015). Try Go. Retrieved from golang:
Hoff, T. (2011, March 14). 6 Lessons From Dropbox – One Million Files Saved Every 15 Minutes. Retrieved from High Scalability: 
Lee, P. (2014, July 1). Open Sourcing Our Go Libraries. Retrieved from Dropbox Tech Blog: 
Mitroff, S. (2014, Feburary 19). OneDrive, Dropbox, Google Drive, and Box: Which cloud storage service is right for you? Retrieved from Cnet: 
p, C. (2013, July 10). Dropbox now boasting 175 million users, wants to synchronize your app data. Retrieved from Phone arena: 
Suba, R. (2015, January 20). Dropbox market value estimate tops $10 bn after getting $250 mn funding from BlackRock. Retrieved from Tech Times: 

Advertisements

4 thoughts on “Dropbox – Perpetual Beta

  1. Interesting read, especially interested in how they transferred more of their core and major infrastructure to Go, just to provide a faster and more responsive service for their end users.

    As you mentioned earlier, their incremental updates allowed a somewhat co-development interface, where end users can test the system for the business and provide feedback, on top of this I would like to add that along with these measures to test the system Dropbox also uses monitoring instruments to test the functionality of its product.

    With co-operation with its end users, Dropbox has monitoring tools to view the speeds, activities and functionality of the different services and how users interact with these interfaces. It would use these findings (page load speeds, upload speeds, page clicks etc) in conjunction with the users co-development findings to direct how the business will continue with the improvement of its service (compare its target marks with its findings).

    Like

  2. A good article about Perpetual Beta. Written in Python! a language I’ve learned in IFB104 last year. As a regular dropbox user, I can tell that it’s app and web interface is really good, one thing still lacking in the drop box app is that you cant export(download) whole folder in the dropbox. But it is possible with their web interface. hopefully it will be available in a future update.

    Like

  3. I knew Dropbox was originally developed using Python but had no idea they migrated it to a new setup. It really goes to show how the iterative development process can happen in front of the users eyes without them even realising it. So much of what we use online these days might be constantly changing and when the developers are just improving things like security or performance we usually will not have any idea about it.

    Like

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