pimp my editor "taking eclipse to the film industry" #ece2011

71
Pimp My Editor Taking Eclipse to the Film industry @freire_da_silva [email protected]

Upload: alexandre-freire

Post on 10-May-2015

1.279 views

Category:

Technology


2 download

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

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

PimpMy EditorTaking Eclipse to the Film industry

@freire_da_silva [email protected]

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

Alexandre Freire@freire_da_silva

[email protected]

Page 4: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 5: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 6: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011

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

Script Writing - Overview

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

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

Tone and Rhythm

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

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

Tracks and Scenes Table

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

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

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

Latin America’s biggest production company

Page 11: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 12: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 13: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011

Our client: Paulo Morelli

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

What’s wrong with Final Draft?

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

What’s wrong with Final Draft?

Nothing! After all everybody uses it...

Page 16: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 17: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 18: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 19: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011

Project Inception

X

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

Project Inception

X XUL RCP

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

Project Inception

X XUL RCP

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

Project Inception

X XUL RCP

Fast delivery Customized

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

Project Inception

X XUL RCP

Fast delivery Customized

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

Project Inception

X XUL RCP

Fast delivery Customized

MPL EPL

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

Project Inception

X XUL RCP

Fast delivery Customized

MPL EPL

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

Development: 3 month Prototype

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

1st Iteration: June 08

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

Software for controlled use

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

Agile: Continuous Integration

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

4th Iteration: October 08

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

Does the client want to Demo?

•Not yet...

•Only imports from Final Draft

•Can’t change text

•We need an editor

•New deadline

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

6th Iteration: December 08

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

Demo?

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

New rules

•It’s my product now!

•Pay the technical debt

•Less presure

•No deadline

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

Difficulties

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

Eclipse Goodies: StyledText

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

But it doesn’t do everything

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

Page 38: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Page 39: Pimp My Editor "Taking Eclipse to the film Industry" #ece2011

Agile but small

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

Agile: Collaboration

•Closed scope contract•3 iterations•Phased integration

•Merge pain•Took longer than expected•Performance issues

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

Lessons: extend Eclipse’s components

Fragment

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

The result

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

ExtendedStyledText: APIExtend SourceViewer:

•Use a custom DocumentAdapter

•Create ExtendedStyledText

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

ExtendedStyledText: API

Your DocumentAdaptor needs to implement:

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

ExtendedStyledText: APIFor Headers and Footers:

You can also decorate lines

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

ExtendedStyledText: Architecture

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

Agile: Premature Optimization

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

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

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

Eclipse Goodies: Dynamic Contribution Items

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

Eclipse Goodies: P2

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

Eclipse Goodies: PDE

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

Eclipse Goodies: Perspectives

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

Eclipse Goodies: Perspectives

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

Eclipse Goodies: Perspectives

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

Eclipse Goodies: i18n

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

Eclipse Goodies: Auto Complete

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

Eclipse Goodies: Themes

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

Eclipse Goodies: Themes

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

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

Eclipse Goodies: Feature based Product

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

Eclipse Goodies: Undo and Redo

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

Eclipse Goodies: Community

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

Agile: TDD

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

Agile: Tracking Technical Debt

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

Agile: Refactoring

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

Agile: Pair Programming

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

Agile: Functional Tests

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

Agile: Prioritizing

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

Agile: Close interaction with end users

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

Present State

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

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

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

Thank YouQuestions ???

@freire_da_silva [email protected]

We are hiring!