AtlasCamp 2013: Scratch your own itch

597 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
597
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AtlasCamp 2013: Scratch your own itch

  1. 1. Hi! I'm Tim, a.k.a @kannonboy Slides: tinyurl.com/scratch-your-own-itch STUFF I LIKE STUFF I DON'T LIKE coding DVCS new technology APIs time savers star wars meetings time tracking office documents business process diagrams SOE management science
  2. 2. Legions of Atlassian developers
  3. 3. 1. Scratch your own itch 2. Build a back scratcher 3. Design for extension 4. Sell to millions
  4. 4. KEEPING DEVS HAPPY
  5. 5. Integration plugins Extending JQL Application Links Reconciling issues and code REST APIs Client-side git hooks Branching from broken commits Designing for extensibility Plugins for your plugin Exporting Java APIs "Suggesting" PR reviewers
  6. 6. “ Because source is truth. ”
  7. 7. HOW IT WORKS
  8. 8. INTEGRATE ALL THE THINGS Answer interesting questions Kill context switching UAL makes it easy: Authentication Zero-Conf Pluggable
  9. 9. GIT HOOKS $ git clone git@stash.atlassian.com:STASH/stash.git Cloning into 'stash'... done. $ ls stash/.git/hooks applypatch-msg.sample commit-msg.sample prepare-commit-msg.sample pre-rebase.sample pre-applypatch.sample pre-commit.sample post-update.sample update.sample
  10. 10. “ Why is everything broken!? ”
  11. 11. $ git checkout 2.4.1 Switched to branch '2.4.1' 171957a has 5 green builds. $ git checkout master Switched to branch 'master' Warning! c25e64d has 3 red builds. (Plus 3 green and 0 in progress) Details: https://stash.atlassian.com/rest/build-status/latest/com mits/c25e64d $ git checkout tpettersen/STASH-1984 Switched to branch 'tpettersen/stash-1984' ff1837 hasn't built yet.
  12. 12. HOW IT WORKS
  13. 13. DESIGNING FOR EXTENSION - REST Expose your data UI is hard - let them script! Organic growth Auto-discovery via REST API browser
  14. 14. “ Because domain experts. ”
  15. 15. HOW IT WORKS
  16. 16. DESIGNING FOR EXTENSION modular design toggle per customer x-product deployments <module.. application="jira" /> customisation by external developers trivial to implement : <module-type key="my-type" class="MyModuleDescriptor"> MyModuleDescriptor.java MyModuleInterface.java
  17. 17. DESIGNING FOR EXTENSION export services & utility classes multi-module plugins sell add-ons for your add-ons other developers can stand on your shoulders trivial to implement: <component class="MyService" public="true" /> <instructions> <Export-Package> com.myplugin.api*;version=1.0 </Export-Package> </instructions>
  18. 18. THIS IS JUST THE BEGINNING...
  19. 19. 1. SCRATCH YOUR OWN ITCH
  20. 20. 2. BUILD A BACK SCRATCHER
  21. 21. 3. DESIGN FOR EXTENSION REST API Java API SPI (plugin points)
  22. 22. 4. SELL TO MILLIONS
  23. 23. Come talk to me about..
  24. 24. Thanks!

×