Pilot Project Highlights: Ruby on Rails - November 2006

10
ExtroVert Proof of Concept/Prototype Last Updated 11/2/06 Intended Audience: Non-Technical

Transcript of Pilot Project Highlights: Ruby on Rails - November 2006

Page 1: Pilot Project Highlights: Ruby on Rails - November 2006

ExtroVert Proof of Concept/Prototype

Last Updated 11/2/06

Intended Audience: Non-Technical

Page 2: Pilot Project Highlights: Ruby on Rails - November 2006

2

Agenda

History of the ExtroVert Proof of Concept/Prototype

Obvious Questions

Next Steps

11/2/06 - Ruby on Rails Pilot

Page 3: Pilot Project Highlights: Ruby on Rails - November 2006

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

Page 4: Pilot Project Highlights: Ruby on Rails - November 2006

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

Page 5: Pilot Project Highlights: Ruby on Rails - November 2006

Obvious Questions

Page 6: Pilot Project Highlights: Ruby on Rails - November 2006

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

Page 7: Pilot Project Highlights: Ruby on Rails - November 2006

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

Page 8: Pilot Project Highlights: Ruby on Rails - November 2006

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

Page 9: Pilot Project Highlights: Ruby on Rails - November 2006

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

Page 10: Pilot Project Highlights: Ruby on Rails - November 2006

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