Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
-
Upload
alexandre-freire -
Category
Technology
-
view
1.280 -
download
2
description
Transcript of Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
PimpMy EditorTaking Eclipse to the Film industry
@freire_da_silva [email protected]
Alexandre Freire@freire_da_silva
!"#$"%#&'%())***+ ,-./-++***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