PimpMyEditorTaking Eclipse to the Film industry @freire_da_silva   ffreire@thoughtworks.com
Alexandre Freire        @freire_da_silva  alex@indutriallogic.com
Fernando Freireffreire@thoughtworks.com
Script Writing - Overview
Tone and Rhythm
Tracks and Scenes Table
It’s a big RCP application•45 plugins      •5 fragments   •66k lines of code                 •9 features•22 test plugins •...
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        XXUL                   RCP
Project Inception        XXUL                   RCP
Project Inception                XXUL                    RCPFast delivery          Customized
Project Inception                XXUL                    RCPFast delivery          Customized
Project Inception                XXUL                    RCPFast delivery          CustomizedMPL                    EPL
Project Inception                XXUL                    RCPFast delivery          CustomizedMPL                    EPL
Development: 3 month Prototype
1 st   Iteration: June 08
Software for controlled use
Agile: Continuous Integration
4 th   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
6 th   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•S...
Agile but small
Agile: Collaboration•Closed scope contract   •Merge pain•3 iterations            •Took longer than expected•Phased integra...
Lessons: extend Eclipse’s componentsFragment
The result
ExtendedStyledText: APIExtend SourceViewer: •Create ExtendedStyledText •Use a custom DocumentAdapter
ExtendedStyledText: APIYour 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: Themesthe emo storywe had to overridesome stuff, artdirector, lookingforward 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 f...
Thank You                   Questions ???                   We are hiring!@freire_da_silva    ffreire@thoughtworks.com
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Pimp My Editor "Taking Eclipse to the film Industry" #ece2011
Upcoming SlideShare
Loading in …5
×

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

1,572 views
1,405 views

Published on

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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,572
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. PimpMyEditorTaking Eclipse to the Film industry @freire_da_silva ffreire@thoughtworks.com
  2. 2. Alexandre Freire @freire_da_silva alex@indutriallogic.com
  3. 3. Fernando Freireffreire@thoughtworks.com
  4. 4. Script Writing - Overview
  5. 5. Tone and Rhythm
  6. 6. Tracks and Scenes Table
  7. 7. It’s a big RCP application•45 plugins •5 fragments •66k lines of code •9 features•22 test plugins •7 products •62k lines of test code
  8. 8. Latin America’s biggest production company
  9. 9. Our client: Paulo Morelli
  10. 10. What’s wrong with Final Draft?
  11. 11. What’s wrong with Final Draft?Nothing! After all everybody uses it...
  12. 12. Project Inception X
  13. 13. Project Inception XXUL RCP
  14. 14. Project Inception XXUL RCP
  15. 15. Project Inception XXUL RCPFast delivery Customized
  16. 16. Project Inception XXUL RCPFast delivery Customized
  17. 17. Project Inception XXUL RCPFast delivery CustomizedMPL EPL
  18. 18. Project Inception XXUL RCPFast delivery CustomizedMPL EPL
  19. 19. Development: 3 month Prototype
  20. 20. 1 st Iteration: June 08
  21. 21. Software for controlled use
  22. 22. Agile: Continuous Integration
  23. 23. 4 th Iteration: October 08
  24. 24. Does the client want to Demo?•Not yet...•Only imports from Final Draft•Can’t change text•We need an editor•New deadline
  25. 25. 6 th Iteration: December 08
  26. 26. Demo?
  27. 27. New rules•It’s my product now!•Pay the technical debt•Less presure•No deadline
  28. 28. Difficulties
  29. 29. Eclipse Goodies: StyledText
  30. 30. But it doesn’t do everything•Header•Footer•Pages•Print•Export to PDF•Zoom•Count lines•Variable margins•Paragraph spacing•Soft-wrap•WYSIWYG
  31. 31. Agile but small
  32. 32. Agile: Collaboration•Closed scope contract •Merge pain•3 iterations •Took longer than expected•Phased integration •Performance issues
  33. 33. Lessons: extend Eclipse’s componentsFragment
  34. 34. The result
  35. 35. ExtendedStyledText: APIExtend SourceViewer: •Create ExtendedStyledText •Use a custom DocumentAdapter
  36. 36. ExtendedStyledText: APIYour DocumentAdaptor needs to implement:
  37. 37. ExtendedStyledText: APIFor Headers and Footers:You can also decorate lines
  38. 38. ExtendedStyledText: Architecture
  39. 39. Agile: Premature Optimization
  40. 40. Open Source: we love it!https://github.com/thoughtworks/eclipse_editor_widget
  41. 41. Eclipse Goodies: Dynamic Contribution Items
  42. 42. Eclipse Goodies: P2
  43. 43. Eclipse Goodies: PDE
  44. 44. Eclipse Goodies: Perspectives
  45. 45. Eclipse Goodies: Perspectives
  46. 46. Eclipse Goodies: Perspectives
  47. 47. Eclipse Goodies: i18n
  48. 48. Eclipse Goodies: Auto Complete
  49. 49. Eclipse Goodies: Themes
  50. 50. Eclipse Goodies: Themesthe emo storywe had to overridesome stuff, artdirector, lookingforward to eclipse 4 -CSS!
  51. 51. Eclipse Goodies: Feature based Product
  52. 52. Eclipse Goodies: Undo and Redo
  53. 53. Eclipse Goodies: Community
  54. 54. Agile: TDD
  55. 55. Agile: Tracking Technical Debt
  56. 56. Agile: Refactoring
  57. 57. Agile: Pair Programming
  58. 58. Agile: Functional Tests
  59. 59. Agile: Prioritizing
  60. 60. Agile: Close interaction with end users
  61. 61. Present State
  62. 62. 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
  63. 63. Thank You Questions ??? We are hiring!@freire_da_silva ffreire@thoughtworks.com

×