Pimp My Editor "Taking Eclipse to the film Industry" #ece2011

Post on 10-May-2015

1276 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

This talk will present the story of Story Touch (http://storytouch.com), a novel script writing software developed for brazilian based O2 Filmes, South America's largest movie producer. The development process took over 3 years using agile methodologies. The first version was released after just 2 weeks of the beginning of the project evolving to a full featured solution ready to compete with the Industry's standard solution. We will show how we helped our client shape his ideas into an unprecedented tool that gives the power of dramaturgy analysis to script writers. We will share our difficulties and show how we used RCP technologies like StyledText, dynamic ContributionItems and P2 to build a complete desktop solution with an awesome WYSIWYG text editor, with features like pages, zoom, printing, line counting (with soft-wrap), variable margins and all the standard stuff you expect. We will also release this text editor as an open source plugin to give back to this wonderful community. The attendants will better understand how to use the full potential of RCP to explore new industries and provide them with professional solutions. You will learn from our mistakes and understand how to best use features like auto-updates and bug reporting to keep your customers satisfied. We will share our knowledge of applying agile practices like TDD, automated functional tests, continuous integration and continuous deployment. Story Touch is an RCP application which is updated to the customer base nightly, it has had over a thousand versions built in its lifetime. One month after it's recent launch it reached a thousand customers.

Transcript

PimpMy EditorTaking Eclipse to the Film industry

@freire_da_silva ffreire@thoughtworks.com

Alexandre Freire@freire_da_silva

alex@indutriallogic.com

Fernando Freireffreire@thoughtworks.com

!"#$"%#&'%())***+ ,-./-++***01+2*34

Script Writing - Overview

!"#$%&#'%()*!)+,-#''.../ /01/1//...2340.56

Tone and Rhythm

!"#$%&'()**+++, -./0.,,+++12,3+45

Tracks and Scenes Table

It’s a big RCP application

•45 plugins•22 test plugins

•5 fragments •9 features•7 products

•66k lines of code•62k lines of test code

Latin America’s biggest production company

Our client: Paulo Morelli

What’s wrong with Final Draft?

What’s wrong with Final Draft?

Nothing! After all everybody uses it...

Project Inception

X

Project Inception

X XUL RCP

Project Inception

X XUL RCP

Project Inception

X XUL RCP

Fast delivery Customized

Project Inception

X XUL RCP

Fast delivery Customized

Project Inception

X XUL RCP

Fast delivery Customized

MPL EPL

Project Inception

X XUL RCP

Fast delivery Customized

MPL EPL

Development: 3 month Prototype

1st Iteration: June 08

Software for controlled use

Agile: Continuous Integration

4th Iteration: October 08

Does the client want to Demo?

•Not yet...

•Only imports from Final Draft

•Can’t change text

•We need an editor

•New deadline

6th Iteration: December 08

Demo?

New rules

•It’s my product now!

•Pay the technical debt

•Less presure

•No deadline

Difficulties

Eclipse Goodies: StyledText

But it doesn’t do everything

•Header•Footer•Pages•Print•Export to PDF•Zoom•Count lines•Variable margins•Paragraph spacing•Soft-wrap•WYSIWYG

Agile but small

Agile: Collaboration

•Closed scope contract•3 iterations•Phased integration

•Merge pain•Took longer than expected•Performance issues

Lessons: extend Eclipse’s components

Fragment

The result

ExtendedStyledText: APIExtend SourceViewer:

•Use a custom DocumentAdapter

•Create ExtendedStyledText

ExtendedStyledText: API

Your DocumentAdaptor needs to implement:

ExtendedStyledText: APIFor Headers and Footers:

You can also decorate lines

ExtendedStyledText: Architecture

Agile: Premature Optimization

Open Source: we love it!https://github.com/thoughtworks/eclipse_editor_widget

Eclipse Goodies: Dynamic Contribution Items

Eclipse Goodies: P2

Eclipse Goodies: PDE

Eclipse Goodies: Perspectives

Eclipse Goodies: Perspectives

Eclipse Goodies: Perspectives

Eclipse Goodies: i18n

Eclipse Goodies: Auto Complete

Eclipse Goodies: Themes

Eclipse Goodies: Themes

the emo storywe had to override some stuff, art director, looking forward to eclipse 4 - CSS!

Eclipse Goodies: Feature based Product

Eclipse Goodies: Undo and Redo

Eclipse Goodies: Community

Agile: TDD

Agile: Tracking Technical Debt

Agile: Refactoring

Agile: Pair Programming

Agile: Functional Tests

Agile: Prioritizing

Agile: Close interaction with end users

Present State

Collaborate!https://github.com/thoughtworks/eclipse_editor_widget

•USE IT!•6 FIXMEs•5 TODOs•Testing•More Testing•Support for RTF Cut & Paste•More Page Sizes•Images•Eclipse 4 version

Thank YouQuestions ???

@freire_da_silva ffreire@thoughtworks.com

We are hiring!

top related