Slide 1

Slide 1 text

CHOOSING THE TECHNOLOGY FOR YOUR NEW PRODUCT Benjamin Lupton Founder, Bevry

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

RESOURCES CHOOSING THE TECH

Slide 6

Slide 6 text

RESOURCES Q&A Stack Exchange Quora LEARNING Code Academy Khan Academy Udemy Tech Pub Smashing Magazine General Assembly

Slide 7

Slide 7 text

RESOURCES DESIGN DeviantArt Designmoo Pixabay 99designs ThemeForest Dribbble FONTS TypeKit Google Fonts

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

COLLABORATION CHOOSING THE TECH

Slide 10

Slide 10 text

COLLABORATION MANAGED Google Apps Basecamp Bugherd GitHub Toggl Doodle Skype DIY Git IRC ActiveCollab TYING THEM TOGETHER Zapier

Slide 11

Slide 11 text

COLLABORATION RECAP Google apps - email, calendar Basecamp - todo, team Bugherd - design, testers, clients GitHub - code, developers Toggl - freelancers Skype - standard Zapier - incredibly useful

Slide 12

Slide 12 text

DESKTOP APPS CHOOSING THE TECH

Slide 13

Slide 13 text

DESKTOP APPS UNIVERSAL Java Node.js SCRIPTING Bash Python PHP Ruby OSX/NATIVE XCode WINDOWS/NATIVE .NET

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

MOBILE APPS CHOOSING THE TECH

Slide 16

Slide 16 text

MOBILE APPS NATIVE XCode Andriod SDK RubyMotion WEB/UNIVERSAL PhoneGap Sencha Touch jQuery Mobile Zepto

Slide 17

Slide 17 text

MOBILE APPS DATABASES Parse Firebase iCloud

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

WEB APPS CHOOSING THE TECH

Slide 20

Slide 20 text

WEB APPS RUBY Rails Middleman NODE.JS Express.js DocPad PHP Symfony Zend Framework CakePHP CodeIgnitor JAVA .NET

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

CLIENT-SIDE CHOOSING THE TECH

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

CLIENT-SIDE TOOLING Brunch Grunt Yeoman DocPad CodeKit PACKAGERS NPM Bower Component Browserify RequireJS

Slide 25

Slide 25 text

CLIENT-SIDE PRE-PROCESSORS CSS Stylus SASS LESS JS CoffeeScript TypeScript HTML Markdown CoffeeKup HAML Jade Eco

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

BLOGGING CHOOSING THE TECH

Slide 28

Slide 28 text

BLOGGING PHP Wordpress B2evolution RUBY Octopress Middleman NODE.JS DocPad MANAGED Wordpress.com Tumblr Medium

Slide 29

Slide 29 text

BLOGGING RECAP Often monolithic - try to use dedicated solutions and patch them together Utilise the right tool for your needs

Slide 30

Slide 30 text

CONTENT MANAGEMENT SYSTEMS CHOOSING THE TECH

Slide 31

Slide 31 text

CONTENT MANAGEMENT SYSTEMS PHP Drupal Joomla MediaWiki RUBY Locomotive Radiant Refinary Python Django MANAGED Squarespace Wordpress + Plugins

Slide 32

Slide 32 text

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)

Slide 33

Slide 33 text

E-COMMERCE CHOOSING THE TECH

Slide 34

Slide 34 text

E-COMMERCE MANAGED Ebay Amazon Shopify Gumroad

Slide 35

Slide 35 text

E-COMMERCE: DIY JAVA Broadleaf PHP Magento Drupal Commerce Wordpress + Plugins RUBY Spree PYTHON Satchless Django Oscar

Slide 36

Slide 36 text

E-COMMERCE RECAP Ebay - auctions Amazon - physical products Shopfiy - control over your store Gumroad - simple DIY - often cumbersome and expensive

Slide 37

Slide 37 text

CUSTOMERS CHOOSING THE TECH

Slide 38

Slide 38 text

CUSTOMERS SUPPORT SupportBee Freshdesk COMMUNICATION Disqus Zopim Wufoo Get Satisfaction TelAPI REWARDS PunchTab

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

AUTHENTICATION CHOOSING THE TECH

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

DATABASES CHOOSING THE TECH

Slide 44

Slide 44 text

DATABASES MANAGED Iris Couch MongoHQ Parse Firebase DIY MongoDB CouchDB Redis MySQL In-Memory 1/1

Slide 45

Slide 45 text

DATABASES RECAP MongoDB - popular, easy Parse & Firebase - interesting, useful Redis - fast, good for small realtime data In-Memory - can go a long way

Slide 46

Slide 46 text

PAYMENTS CHOOSING THE TECH

Slide 47

Slide 47 text

PAYMENTS USA ONLY Simple Stripe Google Checkout WePay USA & AUS PayPal via Merchant Recurly via ^ Braintree via Merchant GumRoad Pin

Slide 48

Slide 48 text

PAYMENTS RECAP Shoeboxed - digitizes receipts Xero - collaborative accounting

Slide 49

Slide 49 text

ACCOUNTING CHOOSING THE TECH

Slide 50

Slide 50 text

ACCOUNTING MANAGED Shoeboxed Xero

Slide 51

Slide 51 text

ACCOUNTING RECAP Shoeboxed - digitizes receipts Xero - collaborative accounting

Slide 52

Slide 52 text

EMAILS CHOOSING THE TECH

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

VIDEO CHOOSING THE TECH

Slide 56

Slide 56 text

VIDEO MANAGED Youtube Vimeo DIY Screenflow Handbrake HTML5 + Flash Video.js Popcorn.js

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

ANALYTICS CHOOSING THE TECH

Slide 59

Slide 59 text

ANALYTICS MANAGED Google Analytics Gauges MixPanel KissMetrics

Slide 60

Slide 60 text

ANALYTICS RECAP Google Analytics - great all rounder Gauges - pretty MixPanel - in-app stats KissMetrics - process tracking

Slide 61

Slide 61 text

RELIABILITY CHOOSING THE TECH

Slide 62

Slide 62 text

RELIABILITY MANAGED Pingdom NewRelic Airbrake Loggly TravisCI

Slide 63

Slide 63 text

RELIABILITY RECAP Pingdom - ensure site is up NewRelic - ensure app is functioning correctly Airbrake - track errors Loggly - track logs TravisCI - ensure code works

Slide 64

Slide 64 text

DOMAINS CHOOSING THE TECH

Slide 65

Slide 65 text

DOMAINS MANAGED GoDaddy Name.com CloudFlare DNSimple

Slide 66

Slide 66 text

DOMAINS RECAP GoDaddy - controversial values Name.com - great customer service CloudFlare - amazing DNSimple - reseller accounts

Slide 67

Slide 67 text

HOSTING CHOOSING THE TECH

Slide 68

Slide 68 text

HOSTING: MANAGED EVERYTHING Heroku AppFog FULL STACK Amazon EC2 RackSpace Azure STATIC GitHub Pages Amazon S3 PHP Media Temple NODE.JS Nodejitsu

Slide 69

Slide 69 text

HOSTING: DIY DIY Apache HTTP Server Ngnix IIS Node.js Local Tunnel

Slide 70

Slide 70 text

HOSTING RECAP Reliability tools Backup plans if you offer SLAs CloudFlare - amazing Node - quick and easy Local tunnel - good for dev showcasing

Slide 71

Slide 71 text

OUTSOURCING CHOOSING THE TECH

Slide 72

Slide 72 text

OUTSOURCING DESIGN 99designs Dribbble CODE GitHub Geeklist Stack Exchange MISC FancyHands AirTasker Assistants LEARNING Freelance Switch 4 Hour Work Week

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

SUCCESS CHOOSING THE TECH

Slide 75

Slide 75 text

RECAP ITERATE QUICKLY Spread the word A minute is a long time Commit intelligently Promote collaboration Push & release often Ensure reliability Outsource abundantly

Slide 76

Slide 76 text

RECAP SCALING EFFECTIVELY Document code Document process Outsource abundantly

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

RECAP SUGGESTIONS Blog Out-Source, Open-Source Share, Collaborate Subscribe Focus Read Audio Books

Slide 79

Slide 79 text

THANKS CHOOSING THE TECH @balupton balupton.com bevry.me