Faster! Faster! Accelerate your business with blazing prototypes

3,124 views
2,714 views

Published on

Bring your ideas to life! Convince your boss to that open source development is faster and cheaper than the "safe" COTS solution they probably hate anyway. Let's investigate ways to get real-life, functional prototypes up with blazing speed. We'll look at and compare tools for truly rapid development including Python, Django, Flask, PHP, Amazon EC2 and Heroku.

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

No Downloads
Views
Total views
3,124
On SlideShare
0
From Embeds
0
Number of Embeds
1,260
Actions
Shares
0
Downloads
3
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Very wide list of technologies Personally ASP, .NET, ColdFusion, PHP, Perl, Python
  • Also “What’s new in Perl 6”
  • Fear of failure… but is failure necessarily a bad thing?
  • Those 80’s clothes in my closet!
  • Reward ideas
  • Trust
  • Recent discussion with a big COTS CMS platform… No customization required! What? It’s all configuration.
  • Evolve to production
  • Faster! Faster! Accelerate your business with blazing prototypes

    1. Faster! Faster!Accelerating your business with blazing prototypes Drew Engelson @handofdoom
    2. Why am I here?
    3. I’m Drew Engelson I work for Celerity - “The business acceleration consultancy” - We help get companies “unstuck” I help organizations decide what tech to buy or build - National Geographic Society - PBS - American Diabetes Association Then we make it happen
    4. First… a disclaimer I’m a Pythonista I’m a Djangonaut Blame OSCON 2006
    5. Hence, my huge man-crush on JKMPhoto: Jason Samsa @ Flickr
    6. Cultures of stagnation
    7. Risk aversion
    8. Always choosing path well traveled
    9. "Innovation is R&D’s job” a.k.a. Not your job
    10. Dwelling on past investments
    11. Over-management and review of new ideas
    12. “We have too much real work to do.”
    13. Cultures of Innovation Props to Josh Linkner
    14. Fuel passion
    15. Celebrate ideas
    16. Foster autonomy
    17. Encourage courage
    18. Fail forward
    19. Think small
    20. Institutionalize this stuff
    21. COTS vs. Open Source
    22. “COTS is the safer choice”No one ever got fired for choosing ___________.
    23. “COTS does it out of the box” That’s horse crap!
    24. Photo: Daleeast @ Flickr
    25. Photo: Kethera @ Flickr
    26. Rapid Prototypes
    27. “If only I could show you!”
    28. Developers [sometimes] have good ideas Give ‘em a chance!
    29. Reduce the potential cost of failure; Timebox the experiment “OK, you get 2 days”
    30. The Framework Showdown
    31. The challenge Build a simple, fully functional prototype - A basic web service for image transformation Requirements - Pass in a source image url, desired height and width - Pull down the image to server - Resize the image on the server - Return derivative image
    32. The challenge ur l = ht t p: / / f ar m s t at i c f l i c kr . c om 7138/ 7576110858_d66eec 09f 5_z . j pg 8. / w dt h = 200 i hei ght = 200Photo: Tomcrenshaw @ Flickr
    33. I’m talking REAL functional code; minimize throw away work Evolve to production
    34. Surveyed a few frameworks PHP - Zend - CodeIgniter Python - Django - Flask - Bottle  I know, there are many other choices… Which is your favorite?
    35. Compared on Learning curve Ease of bootstrapping dev environment Ease of development - # of files created or touched - # of lines written or modified - Complexity of code Speed of deployment - Need to share with others, right? Note: This is a very non-scientific study
    36. The non-scientific results
    37. $ pip install Flask requests PIL Then write ~19 lines of Python
    38. i mp o r t c S t r i n g I Oi mp o r t r e q u e s t sf r o m PI L i mp o r t I mag ef r o m f l as k i mp o r t F l as k , r e q u e s t , s e n d _ f i l eap p = F l as k ( _ _ n ame _ _ )@ap p . r o u t e ( / , me t h o d s = [ GET , ] )d ef res i z e( ) : u r l = r e q u e s t . val u e s [ u r l ] r e q = r e q u e s t s . ge t ( u r l ) r e s o u r c e = c S t r i n g I O. S t r i n g I O( r e q . c o n t e n t ) i mag e = I mag e . o p e n ( r e s o u r c e ) i mag e = i mag e . r e s i z e ( ( i n t ( r e q u e s t . val u e s [ w ] ) ,i n t ( r e q u e s t . val u e s [ h ] ) ) , I mag e . ANTI AL I AS ) r e s o u r c e = c S t r i n g I O. S t r i n g I O( ) i mag e . s ave ( r e s o u r c e , JPEG ) r e s o u r c e . s e e k ( 0) r e t u r n s e n d _ f i l e ( r e s o u r c e , mi me t yp e = i mag e / j p e g )i f _ _ n ame _ _ = = _ _ mai n _ _ : ap p . r u n ( d e b u g = Tr u e )
    39. Quick and easy local server Django: manage.py runserver Flask: app.run()
    40. Get boilerplate out of the way!
    41. Don’t trust anything that has built-in smilies  Sorry, CodeIgniter
    42. How do I share it?
    43. $ git push heroku masterReally... does anything else matter?
    44. What does this all mean?
    45. Use what you know!Learning curve is biggest time suck.
    46. Keep it realDon’t assume failure… this may have legs.
    47. Don’t be afraid of…Failure; the unknown; the undead
    48. Give ‘em a little rope… But don’t hang ‘em with it
    49. Hold a few “hack days”
    50. Spread knowledge;Hold sessions to share ideas I call these “mind melds”
    51. Increased pace of innovation leads to…
    52. Happier developers leads to…
    53. Greater productivity leads to…
    54. GOTO 50
    55. Resources http://flask.pocoo.org/ https://www.djangoproject.com/ http://codeigniter.com/ http://bottlepy.org/ http://framework.zend.com/ Josh Linkner- http://www.inc.com/articles/201106/josh-linkner-7-steps-to-a-culture-of-innovation.html I know, there are many other choices… What’s your favorite?
    56. Thanks for coming! Drew Engelson - @handofdoom dengelson@celerity.com http://www.celerity.com/

    ×