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. 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
  2. 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
  3. 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
  4. RESOURCES Q&A Stack Exchange Quora LEARNING Code Academy Khan Academy

    Udemy Tech Pub Smashing Magazine General Assembly
  5. 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
  6. COLLABORATION MANAGED Google Apps Basecamp Bugherd GitHub Toggl Doodle Skype

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

    team Bugherd - design, testers, clients GitHub - code, developers Toggl - freelancers Skype - standard Zapier - incredibly useful
  8. 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
  9. 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
  10. WEB APPS RUBY Rails Middleman NODE.JS Express.js DocPad PHP Symfony

    Zend Framework CakePHP CodeIgnitor JAVA .NET
  11. 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
  12. 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
  13. BLOGGING RECAP Often monolithic - try to use dedicated solutions

    and patch them together Utilise the right tool for your needs
  14. CONTENT MANAGEMENT SYSTEMS PHP Drupal Joomla MediaWiki RUBY Locomotive Radiant

    Refinary Python Django MANAGED Squarespace Wordpress + Plugins
  15. 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)
  16. E-COMMERCE: DIY JAVA Broadleaf PHP Magento Drupal Commerce Wordpress +

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

    - control over your store Gumroad - simple DIY - often cumbersome and expensive
  18. 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
  19. 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
  20. DATABASES RECAP MongoDB - popular, easy Parse & Firebase -

    interesting, useful Redis - fast, good for small realtime data In-Memory - can go a long way
  21. PAYMENTS USA ONLY Simple Stripe Google Checkout WePay USA &

    AUS PayPal via Merchant Recurly via ^ Braintree via Merchant GumRoad Pin
  22. 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
  23. 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
  24. ANALYTICS RECAP Google Analytics - great all rounder Gauges -

    pretty MixPanel - in-app stats KissMetrics - process tracking
  25. RELIABILITY RECAP Pingdom - ensure site is up NewRelic -

    ensure app is functioning correctly Airbrake - track errors Loggly - track logs TravisCI - ensure code works
  26. DOMAINS RECAP GoDaddy - controversial values Name.com - great customer

    service CloudFlare - amazing DNSimple - reseller accounts
  27. HOSTING: MANAGED EVERYTHING Heroku AppFog FULL STACK Amazon EC2 RackSpace

    Azure STATIC GitHub Pages Amazon S3 PHP Media Temple NODE.JS Nodejitsu
  28. HOSTING RECAP Reliability tools Backup plans if you offer SLAs

    CloudFlare - amazing Node - quick and easy Local tunnel - good for dev showcasing
  29. OUTSOURCING DESIGN 99designs Dribbble CODE GitHub Geeklist Stack Exchange MISC

    FancyHands AirTasker Assistants LEARNING Freelance Switch 4 Hour Work Week
  30. 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
  31. RECAP ITERATE QUICKLY Spread the word A minute is a

    long time Commit intelligently Promote collaboration Push & release often Ensure reliability Outsource abundantly
  32. 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