Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Choosing the tech for your next product

Choosing the tech for your next product

When designing your web or mobile product, it’s important to choose the right technology and balance functionality with performance, reliability, cost, and time. If you have a great idea that is going to take the digital world by storm, but you have no idea which platforms to choose, let alone which language you are going to code your product in and what off-the-shelf solutions are available, then this class is for you.

In this class, you will learn: An overview of the major programming langauges and stacks The advantages and disadvantages of the major open source content management systems and software as a service products How to get started quickly and iterate your product as you grow An overview of the latest hosting products and the cloud What software systems you can use to build your product yourself How and when to engage with a developer, freelancer, outsourcer or agency to build your product

Benjamin Lupton

January 15, 2013
Tweet

More Decks by Benjamin Lupton

Other Decks in Technology

Transcript

  1. CHOOSING THE TECHNOLOGY FOR YOUR NEW PRODUCT Benjamin Lupton Founder,

    Bevry
  2. WHY WE’RE HERE AGENDA ‣ We have an idea for

    a product or service that we’d like to execute ourselves ‣ We want to know what tech and practices are available to us ‣ We’d like to be able to iterate quickly and scale easily ‣ We may not have all the skills we need to implement our idea, so will need to know where and whom to look for help
  3. WHAT WE’LL COVER AGENDA ‣ The software systems you can

    use to build your product yourself ‣ An overview of the major programming languages and stacks ‣ The advantages and disadvantages of the major open source content management systems and software as a service products ‣ How to get started quickly and iterate your product as you grow ‣ An overview of the latest hosting products and the cloud ‣ How and when to engage with a developer, freelancer, outsourcer or agency to build your product
  4. HOW WE’LL COVER IT AGENDA ‣ Technology will be broken

    down into the tasks they are used for We shouldn’t be asking “I know this technology, what can I build with it?” but rather; “I have an idea, what can I use to accomplish it?” ‣ We’ll split the technology into Managed and DIY sections ‣ We’ll break out and have a discussion when switching from particular areas
  5. RESOURCES CHOOSING THE TECH

  6. RESOURCES Q&A Stack Exchange Quora LEARNING Code Academy Khan Academy

    Udemy Tech Pub Smashing Magazine General Assembly
  7. RESOURCES DESIGN DeviantArt Designmoo Pixabay 99designs ThemeForest Dribbble FONTS TypeKit

    Google Fonts
  8. RESOURCES RECAP Learning is easy, fun and productive Stack Exchange

    is a great resource and tool for recruiting Tools are fantastic but don’t waste too much time
  9. COLLABORATION CHOOSING THE TECH

  10. COLLABORATION MANAGED Google Apps Basecamp Bugherd GitHub Toggl Doodle Skype

    DIY Git IRC ActiveCollab TYING THEM TOGETHER Zapier
  11. COLLABORATION RECAP Google apps - email, calendar Basecamp - todo,

    team Bugherd - design, testers, clients GitHub - code, developers Toggl - freelancers Skype - standard Zapier - incredibly useful
  12. DESKTOP APPS CHOOSING THE TECH

  13. DESKTOP APPS UNIVERSAL Java Node.js SCRIPTING Bash Python PHP Ruby

    OSX/NATIVE XCode WINDOWS/NATIVE .NET
  14. DESKTOP APPS RECAP Java very popular but cumbersome and slow

    Node very early in this area but very promising Scripting languages easy but limited XCode and .NET great choices
  15. MOBILE APPS CHOOSING THE TECH

  16. MOBILE APPS NATIVE XCode Andriod SDK RubyMotion WEB/UNIVERSAL PhoneGap Sencha

    Touch jQuery Mobile Zepto
  17. MOBILE APPS DATABASES Parse Firebase iCloud

  18. MOBILE APPS RECAP Native VS Web/Universal - big debate Universal

    build once runs everywhere Web familiar and already trained developers Native less developers but best for hardware intense applications Remote database services very useful
  19. WEB APPS CHOOSING THE TECH

  20. WEB APPS RUBY Rails Middleman NODE.JS Express.js DocPad PHP Symfony

    Zend Framework CakePHP CodeIgnitor JAVA .NET
  21. WEB APPS RECAP Plenty of options - choose wisely Conventions

    VS Configuration VS Simple Ruby huge community Node very appealing PHP mature though phasing out JAVA, .NET big in enterprise but not elsewhere
  22. CLIENT-SIDE CHOOSING THE TECH

  23. CLIENT-SIDE LIBRARIES jQuery Zepto FRAMEWORKS Backbone.js Ender Ember.js Angular.js TodoMVC

  24. CLIENT-SIDE TOOLING Brunch Grunt Yeoman DocPad CodeKit PACKAGERS NPM Bower

    Component Browserify RequireJS
  25. CLIENT-SIDE PRE-PROCESSORS CSS Stylus SASS LESS JS CoffeeScript TypeScript HTML

    Markdown CoffeeKup HAML Jade Eco
  26. CLIENT-SIDE RECAP Huge area - lots of learning Fastly evolving

    - the tools today may not be the tools next year jQuery is defacto, however frameworks aren’t Pre-processors are amazing
  27. BLOGGING CHOOSING THE TECH

  28. BLOGGING PHP Wordpress B2evolution RUBY Octopress Middleman NODE.JS DocPad MANAGED

    Wordpress.com Tumblr Medium
  29. BLOGGING RECAP Often monolithic - try to use dedicated solutions

    and patch them together Utilise the right tool for your needs
  30. CONTENT MANAGEMENT SYSTEMS CHOOSING THE TECH

  31. CONTENT MANAGEMENT SYSTEMS PHP Drupal Joomla MediaWiki RUBY Locomotive Radiant

    Refinary Python Django MANAGED Squarespace Wordpress + Plugins
  32. CONTENT MANAGEMENT SYSTEMS RECAP Cumbersome - always question if there

    is a simpler way Often lock-in - difficult to migrate out of Alternative - use dedicated managed solutions for different parts of your app, tie together with tooling (see docpad)
  33. E-COMMERCE CHOOSING THE TECH

  34. E-COMMERCE MANAGED Ebay Amazon Shopify Gumroad

  35. E-COMMERCE: DIY JAVA Broadleaf PHP Magento Drupal Commerce Wordpress +

    Plugins RUBY Spree PYTHON Satchless Django Oscar
  36. E-COMMERCE RECAP Ebay - auctions Amazon - physical products Shopfiy

    - control over your store Gumroad - simple DIY - often cumbersome and expensive
  37. CUSTOMERS CHOOSING THE TECH

  38. CUSTOMERS SUPPORT SupportBee Freshdesk COMMUNICATION Disqus Zopim Wufoo Get Satisfaction

    TelAPI REWARDS PunchTab
  39. CUSTOMERS RECAP Disqus - make sure configure properly Zopim -

    great for improving conversion Wufoo - great for subscriptions and surveys Get Satisfaction - easy forum TelAPI - automate phone systems SupportBee & Freshdesk - great for helpdesk PunchTab - better customer loyalty
  40. AUTHENTICATION CHOOSING THE TECH

  41. AUTHENTICATION NODE.JS Passport.js MANAGED Authy Persona DIY O-Auth Single-Sign On

  42. AUTHENTICATION RECAP Authy & Persona - easy O-Auth, Single-Sign-On -

    pain - best to find module that handles many (like passport) Passport - best for node.js
  43. DATABASES CHOOSING THE TECH

  44. DATABASES MANAGED Iris Couch MongoHQ Parse Firebase DIY MongoDB CouchDB

    Redis MySQL In-Memory 1/1
  45. DATABASES RECAP MongoDB - popular, easy Parse & Firebase -

    interesting, useful Redis - fast, good for small realtime data In-Memory - can go a long way
  46. PAYMENTS CHOOSING THE TECH

  47. PAYMENTS USA ONLY Simple Stripe Google Checkout WePay USA &

    AUS PayPal via Merchant Recurly via ^ Braintree via Merchant GumRoad Pin
  48. PAYMENTS RECAP Shoeboxed - digitizes receipts Xero - collaborative accounting

  49. ACCOUNTING CHOOSING THE TECH

  50. ACCOUNTING MANAGED Shoeboxed Xero

  51. ACCOUNTING RECAP Shoeboxed - digitizes receipts Xero - collaborative accounting

  52. EMAILS CHOOSING THE TECH

  53. EMAILS MANAGED Sendgrid Campaign Monitor Mailchimp Customer.io Pushover DIY SMTP

    IMAP POP3
  54. EMAILS RECAP Sendgrid - managed version of DIY tech Campaign

    Monitor - aussie, reseller friendly Customer.io - aussie, great for retention Pushover - combine with zapier DIY - risky
  55. VIDEO CHOOSING THE TECH

  56. VIDEO MANAGED Youtube Vimeo DIY Screenflow Handbrake HTML5 + Flash

    Video.js Popcorn.js
  57. VIDEO RECAP Vimeo - better for embedding control Youtube -

    better for discoverability Screenflow - for screencasts Handbrake - format conversion HTML + Flash - dominant web formats Video.js - HTML5 + Flash player Popcorn.js - embed data to your video
  58. ANALYTICS CHOOSING THE TECH

  59. ANALYTICS MANAGED Google Analytics Gauges MixPanel KissMetrics

  60. ANALYTICS RECAP Google Analytics - great all rounder Gauges -

    pretty MixPanel - in-app stats KissMetrics - process tracking
  61. RELIABILITY CHOOSING THE TECH

  62. RELIABILITY MANAGED Pingdom NewRelic Airbrake Loggly TravisCI

  63. RELIABILITY RECAP Pingdom - ensure site is up NewRelic -

    ensure app is functioning correctly Airbrake - track errors Loggly - track logs TravisCI - ensure code works
  64. DOMAINS CHOOSING THE TECH

  65. DOMAINS MANAGED GoDaddy Name.com CloudFlare DNSimple

  66. DOMAINS RECAP GoDaddy - controversial values Name.com - great customer

    service CloudFlare - amazing DNSimple - reseller accounts
  67. HOSTING CHOOSING THE TECH

  68. HOSTING: MANAGED EVERYTHING Heroku AppFog FULL STACK Amazon EC2 RackSpace

    Azure STATIC GitHub Pages Amazon S3 PHP Media Temple NODE.JS Nodejitsu
  69. HOSTING: DIY DIY Apache HTTP Server Ngnix IIS Node.js Local

    Tunnel
  70. HOSTING RECAP Reliability tools Backup plans if you offer SLAs

    CloudFlare - amazing Node - quick and easy Local tunnel - good for dev showcasing
  71. OUTSOURCING CHOOSING THE TECH

  72. OUTSOURCING DESIGN 99designs Dribbble CODE GitHub Geeklist Stack Exchange MISC

    FancyHands AirTasker Assistants LEARNING Freelance Switch 4 Hour Work Week
  73. OUTSOURCING RECAP Learn about out-sourcing FancyHands, AirTasker - one-off tasks

    Assistant - longer tasks 99designs - many options, one price Dribbble & GitHub - great for recruiting Geeklist, Stack Exchange - great checks for closed-source developers
  74. SUCCESS CHOOSING THE TECH

  75. RECAP ITERATE QUICKLY Spread the word A minute is a

    long time Commit intelligently Promote collaboration Push & release often Ensure reliability Outsource abundantly
  76. RECAP SCALING EFFECTIVELY Document code Document process Outsource abundantly

  77. RECAP OUT-SOURCING Open-Source counts SaaS counts Done is better than

    doing Always get an expert’s opinion Must be dependable, if not, be agnostic (have fallbacks) Don’t out-source your core business value
  78. RECAP SUGGESTIONS Blog Out-Source, Open-Source Share, Collaborate Subscribe Focus Read

    Audio Books
  79. THANKS CHOOSING THE TECH @balupton balupton.com bevry.me