Pilot Project Highlights: Ruby on Rails - November 2006
-
Upload
juliannacole -
Category
Career
-
view
55 -
download
1
Transcript of Pilot Project Highlights: Ruby on Rails - November 2006
ExtroVert Proof of Concept/Prototype
Last Updated 11/2/06
Intended Audience: Non-Technical
2
Agenda
History of the ExtroVert Proof of Concept/Prototype
Obvious Questions
Next Steps
11/2/06 - Ruby on Rails Pilot
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
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
Obvious Questions
6
What is Ruby on Rails and why did you use it? Is it used by a lot oforganizations? 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
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
Why was this so much faster than the solutions originallyproposed 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
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
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