Leveraging Open Source Software to Maximize Your Development Resources (and the problems you can expect with success)
Upcoming SlideShare
Loading in...5
×
 

Leveraging Open Source Software to Maximize Your Development Resources (and the problems you can expect with success)

on

  • 1,029 views

As presented at LOGIN 2010, Seattle, WA on March 13, 2010. ...

As presented at LOGIN 2010, Seattle, WA on March 13, 2010.

Session Summary:

IMVU has become a leader in virtual goods, avatars and user generated content. Open Source Software has been critical to this success, helping IMVU scale to 45 million registered users, a $30 million run rate and a catalog of over 3 million user-generated virtual goods. As a result, IMVU is the largest running installation of multiple Open Source Software projects.

One of the key factors to IMVU’s success was experimenting with features to discover a product that would lead to a profitable business. To conserve cash and allow the most focus on product and feature experiments, Open Source Software was heavily utilized to solve any problem that was not specific to the IMVU offering. This approach allowed rapid iteration and testing of feature ideas instead of large development / big-bet type features. In many cases project that would have been several months of work were delivered, tested and abandoned in days. In other cases, features were tested, found successful and adopted – these frequently lead to a new set of problems, from security vulnerabilities to scaling limitations.

Statistics

Views

Total Views
1,029
Views on SlideShare
1,022
Embed Views
7

Actions

Likes
0
Downloads
21
Comments
0

3 Embeds 7

http://www.linkedin.com 5
http://www.slideshare.net 1
http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Leveraging Open Source Software to Maximize Your Development Resources (and the problems you can expect with success) Leveraging Open Source Software to Maximize Your Development Resources (and the problems you can expect with success) Presentation Transcript

    • Leveraging Open Source Software to Maximize Your Development Resources (and the problems you can expect with success) LOGIN 2010, Seattle, WA March 13, 2010 Brett G. Durrett (@bdurrett) Vice President Engineering & Operations, IMVU, Inc. 0
    • Who is This Guy? • VP Engineering & Operations, IMVU – 5 years, plan on many more • VP Operations / GM Consumer, There.com – 5 years • CEO, Asylum Entertainment – Independent game studio – 7 years, 20+ titles 1
    • Why Am I Here? • Talking about Open Source Software – How it was critical to IMVU’s success – Problems that resulted – Why it is probably important to you • More about business than technology 2
    • An online community where members use 3D avatars to meet new people, chat, create and have fun with their friends
    • How We Work • Agile – 2-3 week sprints • Continuous Deployment – No QA or staging servers – Every commit goes live to production, 20 min – New code goes live 20-50 times each day • Data Driven – Make decisions using customer metrics 4
    • IMVU is Built on Open Source Python MySQL Audiere PHPBB Nagios Boost OSCommerce Cacti Ogg Vorbis Apache Server Coppermine Phorum Linux Buildbot Cfengine Memcached XULRunner FAI MogileFS YUI Solr Perlbal jQuery Subversion PHP B2evolution Eclipse 5
    • What Scale are We Talking About? • Over 4 million user-generated items • 2 million monthly active users • 10 million monthly unique visitors • 50 million registered users • Peak ~120K concurrent IM client logins • It’s a real business! – $40 million run rate – Profitable and doubled revenue in 2009 6
    • Don’t Sue Me I’m not a lawyer – I don’t play one on TV I am not offering legal advice Before using Open Source software, read the license, consult an attorney if needed 7
    • Is Open Source the right solution for you? 8
    • What business problem are you trying to solve? 9
    • Why Open Source? • Problem is finding right product, not scale – A product that supports your business • Limited resources • Wheels have already been invented 10
    • Why IMVU Chose OSS • 2004 – are avatars and virtual goods even a business? • Wanted to spend limited resources only on problems somebody else hadn’t solved • Quickest path to customer feedback 11
    • IMVU Launch, 2004 • Small team – 2 engineers, 3 content / design • Resources spent on unique problem – 3D IM Client – Derivable 3D UGC • Open Source for everything else – LAMP stack – Catalog (and payments) – Forums 12
    • OSS Early Value • Conception to ship in 6 months • > 80% code was free • Real customer feedback – Quickly learning what had to change 13
    • And we continued… • Photo galleries – Coppermine added in weeks • Blogs – B2evo added in one day • Groups – Phorum added in about a week 14
    • OSS Opportunities • Back end (server side) • Website – Libraries – Applications • Application libraries Quick mention: • Development Tools • Office Productivity 15
    • Who Is Making This Stuff Majority of Open Source projects designed, created and maintained by technical people • Good news for systems & infrastructure • Not so much for UI for non-technical users 16
    • Back End (server side) • Software in mature state • Works “out of the box” • Scalable solutions for several problems – Database, caching, storage, monitoring • Active contributors from large companies – Facebook and Google are working for you 17
    • MogileFS Business problems • Lots of UGC • Little cash • Despise being hostage to vendor upgrade MogileFS • Distributed, redundant data store • Using 32 Tb, 600 million files 18
    • Website Libraries • Popular packages are well supported – YUI – jQuery • Already built many common components – Dialogs, menus, images, pagination – Fancy AJAX / DHTML • Can handle browser idiosyncrasies 19
    • Website Applications – the Bad • Software varies in maturity & quality • Usually requires integration work – UI consistency – Interfaces with existing data structures • It probably won’t scale without investment 20
    • Website Applications - the Good • Early solution for non-core problems – Customer service – Profiles – Account basics • Great for testing feature interest 21
    • Testing Feature Interest Do our customers care about blogs? • B2evo integrated & deployed in 1 day • Real customer feedback (usage metrics) 22
    • Application Libraries • Available for big components – Rendering – Audio – Effects • Double check the license! 23
    • XULRunner • 2008 updated IM client • Wanted to rapidly iterate on UI • Used Mozilla HTML libraries • HTML / Javascript programmers for UI – Was previously C++ programmer 24
    • Client UI – Old School 25
    • Client UI – New Hotness 26
    • Client UI – Catalog 27
    • HTML/JS
    • Development Tools • Lot’s of great tools – Ranging from editors to testing frameworks – Built by engineers for engineers • Extendable – You have the source! 30
    • Office Productivity • Great options when cash critical – Free alternatives for Office, Photoshop, etc. • Sometimes obscure compatibility issues with commercial versions • Frequently suffers from unintuitive UI see http://www.osalt.com/ 31
    • Congratulations! You spent your resources wisely You built a product customers love You’re growing a business Now you have some problems to solve 32
    • Scalability • Back-end systems will probably scale – Easy to scale by following examples – Some exceptions for trending and alerting • Web applications will likely require investment to scale 33
    • Scaling Web Applications • Most packages think of users in the hundreds or thousands – “SELECT * FROM USERS WHERE 1” • Usually no shared (network) caching – Beneficial for scaling by adding servers • Nobody has horizontal database partitioning – Eliminates database as scaling limiter 34
    • Web App Scaling Cheat Sheet Database is almost always your problem 1. Add read slaves to database 2. Use shared (network) caching of queries 3. Vertical partition 4. Horizontal partitions …and SSDs will buy you a lot of time!!! 35
    • Reality Check In most cases you probably should not have been solving those problems anyway (yet) 36
    • Feature Testing • Hypothesis test big wins – highly valuable – completely worthless • Additional difficulties when not definitive – Kill it or invest in improvements? • Won’t catch right feature, wrong implementation • Can lead to orphaned features 37
    • Blogs • Customers liked them… kinda • Largest user base within a few days – Forced investment to scale the software – (still less than if we had written them) 38
    • Security • The world has access to your source code • Popular back-end systems pretty good • Web applications less solid – Cross-site scripting – SQL injection – Admin scripts – Beware PHP “helpers” 39
    • Free Upgrades FTW! Active Open Source projects receive ongoing improvements New features and security updates for free! 40
    • No Soup for You …but you might not benefit from them • As your source changes hard to integrate updates (unless they are libraries) – Keeping your changes compatible with OS package requires more investment • Some benefit from diffs / patches 41
    • Other Challenges • Code maintainability – Unlikely matches your coding standards – May not have test coverage • New hires learn by example – Early integrations may not be best example 42
    • In conclusion… Open Source Can Work For You! • Invest to solve your truly unique problems • Let others solve your common problems • Yes, this can lead to future problems – Many are good, they mean you’re successful – Better than solving problems you won’t have 43
    • Q&A Questions? 44
    • Thank You! Brett G. Durrett bdurrett@imvu.com Twitter: @bdurrett IMVU was recognized as one of the “Best Places to Work” (and we’re hiring) http://www.imvu.com/jobs/ 45