Highlights of Tribune Interactive's first production deployment of Open Source technologies (Ruby on Rails, MySQL, Lucene, etc.) in support of the 2007 Metromix product re-launch.
Pilot Project Highlights: Ruby on Rails - November 2006
1. ExtroVert Proof of Concept/Prototype
Last Updated 11/2/06
Intended Audience: Non-Technical
2. 2
Agenda
History of the ExtroVert Proof of Concept/Prototype
Obvious Questions
Next Steps
11/2/06 - Ruby on Rails Pilot
3. 3
ExtroVert Proof of Concept Background
TI/Technology’s self-imposed challenges
How far can we take a 100% open source solution in a short period of time?
Can the organization adapt and evolve?
• Use of a packaged solution or a rapid-application-development framework
• Agile-like software development approach
Proof of concept goals
Support preliminary ExtroVert technical design efforts
Suitable for use in usability studies
• Polished look-and-feel
• Real data
Select ExtroVert functionality
• 27 features in the areas of search, content management and utility
• Informed by snapshot of requirements as of 10/2/06
Identify suitable external resources for upcoming CSS/DIV-based HTML layout efforts
Rules of engagement
Small, focused, empowered team
• Manish Shah, Brian Durand, Evan Petrie, Kyle Crum
Team encouraged to “think as a user” when confronted with ambiguities
• Select questions escalated to single contact: Tony Bagdy
• Answers to be provided within 1 hour
Frequent (weekly) releases/product iterations
11/2/06 - Ruby on Rails Pilot
4. 4
The Result
2 Prototypes
Packaged open source solution - Drupal
Custom solution w/open source framework -
Ruby on Rails
ExtroVert Prototype
Packaged solution forced many compromises
Ruby on Rails, Ferret/Lucene, MySQL
27 features
3 FTEs
1 month (10/2/06-10/31/06)
• Significant overtime
Incremental Cost - $6K
Manifest Digital - West-loop design firm
Convert screenshots to CSS/DIV-based HTML
Pilot effort to gauge suitability for GEN3 work
Positive impact on TI – Almost Priceless
Renewed team energy
Proof of Agile-like concepts presented to the ISC
Front-end Functionality
Restaurant/Bars-Clubs search – Search restaurants and bars/clubs using search box
Restaurant/Bars-Clubs facets - Search restaurants and bars/clubs using facets
Restaurant/Bars-Clubs home page – Home page for restaurants and bars/clubs
Restaurant/Bars-Clubs view item – View a Restaurant or Bar/Club
Email content item – Email a Restaurant or Bar/Club
RSS – Subscribe to RSS feeds (These are currently static lists)
View more related items – View related items to content item currently being viewed
What’s nearby? - Show other venues that are in proximity to the selected venue
Mapping - Map the venue and near by venues
Ability to rate a restaurant or bar/club gallery – View images
Polls
Tagging (user creation only)
Neighborhood search term auto-complete
View photo galleries
Sort search results by Picks, Rating, Alpha
Content Management Functionality
Bulk import of Metromix venue and event data
Create/Update/Delete venues/events/articles/photo/polls/reviews/photo gallery
Create/Update/Delete collection for features and utility rails
Search content/quick search content
Associate any content item to any content item
Create user
Change user password
Create new collections
Create/Update/Delete attributes
Create/Update/Delete taxonomy
Create/Update/Delete classifications
Create/Update/Delete content types
Create/Update/Delete geographic boundaries using geocodes
Manage external sources/services
Create/Update/Delete new sites/channels
Multiple image croppings for new content
My Tasks
11/2/06 - Ruby on Rails Pilot
6. 6
What is Ruby on Rails and why did you use it? Is it used by a lot of
organizations? I’ve never heard of it.
Open source web application framework
First released to public in July 2004
Increases developer productivity by 4X-8X (vs Java only or other frameworks)
Acceptance and adoption by developer community has been tremendous
Imitation is the sincerest form of flattery
• More than 15 “Rails-like” frameworks for other languages
TI/Tech researched open source technologies for iLab in mid-2005
• Frameworks: Ruby on Rails, Django (both young frameworks)
• Languages: PHP, Python, Java/JSP
• Selected PHP for iLab, but retained Ruby on Rails on “watch” list
Used by a variety of Web 2.0 companies – no “large” scale sites to date
Basecamphq.com, odeo.com, 43things.com
Enterprise use is still emerging – small CNET projects
Latimes.com – Inpage RSS Reader, Travel(?)
Provide insight into potential challenges for latimes.com’s Ruby on Rails Projects:
Inpage RSS reader and Travel (?)
11/2/06 - Ruby on Rails Pilot
7. 7
Can we use Ruby on Rails to launch ExtroVert early?
Not recommended
Only consider if willing to accept significant risk
Product may to scale to support anticipated ExtroVert national traffic (testing still in progress)
Productivity gains are real and significant, but long-term viability is questionable
There are many languages and frameworks, likely that only 1-2 will dominate over the long-term
• Java – 25 frameworks
• Ruby – 4 frameworks
• PHP – 58 frameworks
• Python – 9 frameworks
Criteria beyond “developer productivity” suggest frameworks other than Ruby on Rails may dominate
Ultimately, too little information and too early in the space to attempt to predict a winner
Use of Ruby on Rails for ExtroVert might prompt conversion to another solution in
18+ months
General attempt to rationalize technology environment OR
Difficulty locating resources/talent
11/2/06 - Ruby on Rails Pilot
8. 8
Why was this so much faster than the solutions originally
proposed for ExtroVert?
Primary contributing factors
50% tool selection
50% development methodology
Tool selection
Use of an open source framework that improves productivity – Ruby on Rails
Able to accept some risk with viability of framework since result was Proof of concept/prototype
Risk was acceptable for a Proof of Concept with short “shelf life”
Should be possible to recreate this – with slightly less productivity? – with similar tool
Development methodology
Adopted an “agile-like” approach
Emphasis on action/people over process
Should be possible to realize additional value after engaging an Agile coach
11/2/06 - Ruby on Rails Pilot
9. 9
Ruby on Rails & Other Open Source Elements – Too Good to Be True?
Why Ruby on Rails
TI/Tech researched open source technologies for Innovation Lab in mid-2005
• Frameworks: Ruby on Rails, Django
• Languages: PHP, Python, Java/JSP
Ruby on Rails favored by TI/Tech architect
• Significantly improves developer productivity
• Very promising framework, but still emerging and unproven in high-traffic scenarios
• Placed on a list of TI “watch” technologies
• ExtroVert POC goals provided opportunity for additional investigation
Other Considerations
LA’s technology architect (consultant) arrived at similar conclusion w/o influence from TI
LA plans to use Ruby on Rails for conversations with TI
11/2/06 - Ruby on Rails Pilot
10. 10
Next Steps
Complete scalability test - 11/28/06
Refine proof of concept for usability tests – TBD w/Product Development
Complete analysis of “best bet” web application framework for ExtroVert – 12/15
Conversations with framework creators
Feedback from Web 2.0
Add’l industry research
Integrate feedback from ongoing Open Networks conversations
11/2/06 - Ruby on Rails Pilot