71
OmniChannel Application Strategies How AngularJS and SPA Change The Game ___________________ Nick Van Weerdenburg Founder/CEO rangle.io http://rangle.io

Omnichannel Applications with AngularJS

  • Upload
    fitc

  • View
    1.364

  • Download
    2

Embed Size (px)

DESCRIPTION

Presented on June 07 2014 at FITC Spotlight:AngularJS more info at www.FITC.ca Omnichannel Applications with AngularJS with Nick Van Weerdenburg Nick will discuss how AngularJS can be used to build omnichannel applications that leverage one codebase for all applications platforms – web, mobile, and packaged iOS and Android apps. The result? Faster time to market, better product/market fit, a better user experience, and drastically lower costs. INTENDED AUDIENCE Developers, designers and managers who need to deliver lean agile solutions across web, mobile web, and packaged mobile apps. Nick Van Weerdenburg Nick is the founder of rangle.io and leads rangle.io’s business development, consulting, and enterprise architecture activities. He’s a firm believer in the thin-server, full-JavaScript stack, and actively evanglizes this across the Toronto tech community.

Citation preview

Page 1: Omnichannel Applications with AngularJS

OmniChannel Application StrategiesHow AngularJS and SPA Change The Game___________________Nick Van WeerdenburgFounder/CEO rangle.iohttp://rangle.io

Page 2: Omnichannel Applications with AngularJS
Page 3: Omnichannel Applications with AngularJS

Internet Development Has A Problem

Page 4: Omnichannel Applications with AngularJS

There are too many versions to buildWeb

Mobile Web

Apps (iOS, Android, Windows Phone, Windows 8, Blackberry, TVs)

???

Page 5: Omnichannel Applications with AngularJS

It's too expensive

Page 6: Omnichannel Applications with AngularJS

And it takes too long

Page 7: Omnichannel Applications with AngularJS

How many programming languages to deliver one project?» PHP, Ruby, Python, Java

» JavaScript (Node.js)

» Objective-C

» Java

» ?

Page 8: Omnichannel Applications with AngularJS

TCO of Code?

Page 9: Omnichannel Applications with AngularJS

4X...

Page 10: Omnichannel Applications with AngularJS

...The cost of development

Page 11: Omnichannel Applications with AngularJS

Your $100K development cost=

$400K lifetime support costnot including opportunity losses due to waterfall

Page 12: Omnichannel Applications with AngularJS

4 code bases in 4 languages with 4 teams requires waterfall development

Page 13: Omnichannel Applications with AngularJS

You need one codebase to be lean

Page 14: Omnichannel Applications with AngularJS

Trends in 2013

Page 15: Omnichannel Applications with AngularJS

Mobile Domination1.Mobile First Ecosystem Dominates

2.AngularJS hits maturity

3.HTML5 > 90% coverage of users

4.MVC + HTML5 = real architecture for web apps

Page 16: Omnichannel Applications with AngularJS

REAL ARCHITECTURE

Page 17: Omnichannel Applications with AngularJS

LOW COUPLING

Page 18: Omnichannel Applications with AngularJS

HIGH COHESION

Page 19: Omnichannel Applications with AngularJS
Page 20: Omnichannel Applications with AngularJS
Page 21: Omnichannel Applications with AngularJS

SPA Layered Architecture

Styling- CSS

Structure- HTML

Behaviour- JavaScript

Data- REST API

Dependencies are limited to adjacent layers, with Structure and Styling being largely independent of Data.

Page 22: Omnichannel Applications with AngularJS

HOW TO BUILD AN OMNICHANNEL APPLICATIONIt’s Easy! Use AngularJS.

Page 23: Omnichannel Applications with AngularJS

The beautiful, open source framework for developing hybrid mobile apps with HTML5.ionicframework.com

Page 24: Omnichannel Applications with AngularJS
Page 25: Omnichannel Applications with AngularJS
Page 26: Omnichannel Applications with AngularJS
Page 27: Omnichannel Applications with AngularJS
Page 28: Omnichannel Applications with AngularJS
Page 29: Omnichannel Applications with AngularJS

Client-Side Architecture is the Critical PieceIt's about AngularJS NOT the MEAN stack

Page 30: Omnichannel Applications with AngularJS
Page 31: Omnichannel Applications with AngularJS
Page 32: Omnichannel Applications with AngularJS
Page 33: Omnichannel Applications with AngularJS
Page 34: Omnichannel Applications with AngularJS
Page 35: Omnichannel Applications with AngularJS

AngularJS Enables OmniChannel

Page 36: Omnichannel Applications with AngularJS

The Business Case Demands OmniChannel

Page 37: Omnichannel Applications with AngularJS

Other Business Options?

Page 38: Omnichannel Applications with AngularJS

Serve one market?

Page 39: Omnichannel Applications with AngularJS

Not an Option

Page 40: Omnichannel Applications with AngularJS

1) competition

Page 41: Omnichannel Applications with AngularJS

2) customer acquisition channels

Page 42: Omnichannel Applications with AngularJS

If B2B, web, or mobile customer acquisition needs

You are doing...web +mobile web +mobile apps

Page 43: Omnichannel Applications with AngularJS

Mobile is Eating the World

http://ben-evans.com

Page 44: Omnichannel Applications with AngularJS
Page 45: Omnichannel Applications with AngularJS
Page 46: Omnichannel Applications with AngularJS
Page 47: Omnichannel Applications with AngularJS
Page 48: Omnichannel Applications with AngularJS
Page 49: Omnichannel Applications with AngularJS

The Business Case for AngularJS and Omnichannel

Page 50: Omnichannel Applications with AngularJS

TIME AND MARKET-FIT?» Developing 4 apps requires a waterfall development

approach (complete specs built to spec)

» Market feedback needs to go into 4 codebases

» Many companies get stuck when they can’t find developers

» If you miss the mark, your cost is x2 (8X more expensive)

» You are late to market with a poor fit since you had to use waterfall.

» 4 development teams = varying quality

Page 51: Omnichannel Applications with AngularJS

Time to Market >> Cost to Market

Page 52: Omnichannel Applications with AngularJS

Market Fit >> Cost to Market

Page 53: Omnichannel Applications with AngularJS

STRATEGY BEFORE TACTICS» Before debating native vs. HTML 5 mobile, figure

out your strategy!

» Do you need agile? Frequent delivery for rapid feedback?

» Do you NEED multiple apps?

» How important is mobile web vs. app UX?

Your MVP May Demand HTML5

Page 54: Omnichannel Applications with AngularJS

Determining Your Platform Strategy

Page 55: Omnichannel Applications with AngularJS

WHAT TO CONSIDER?» mobile only?

» web site as important as mobile?

» mobile web important (no install barrier, easy hyperlinking, occasional use)?

customer channel- app store or other?

Page 56: Omnichannel Applications with AngularJS

Customer Acquisition

Page 57: Omnichannel Applications with AngularJS

ACQUISITION CHANNELS» App Store + App PR Channels (reviews, bloggers,

etc)

» Social Media

» Email

» Web Applications

» Desktop Applications## Multitouch marketing- how many touches to convert to an app user?

Page 58: Omnichannel Applications with AngularJS

Think ContentHow is your content found?

» App Store

» Media Coverage

» Search

» Links from Social Media

» Email

Page 59: Omnichannel Applications with AngularJS

OK. BUT WHAT EXACTLY IS OMNICHANNEL?

Page 60: Omnichannel Applications with AngularJS

ONE CODEBASE TO RULE THEM ALL!

A single application for all channels:

>> Web

>> Mobile Web

>> iOS App, Android App, Windows Phone, Windows 8, TV, etc.

Page 61: Omnichannel Applications with AngularJS

HTML 5 Applications!» HTML 5 + JavaScript

» MVC JavaScript Frameworks: AnglarJS, Backbone, …

» Modern CSS Frameworks: Bootstrap, Foundation, Topcoat.io, Ionic

» Thin-servers behind a REST API

» Packaging for app stores with PhoneGap/Cordova or similar

Page 62: Omnichannel Applications with AngularJS

WHY OMNICHANNEL?>> Get the RIGHT app to market in 1/2 the time, at 1/4 the cost.

>> Respond to metrics and market condition in hours instead of months.

Page 63: Omnichannel Applications with AngularJS

WHY NOT OMNICHANNEL?

Not as good as native?

Not for long!

Page 64: Omnichannel Applications with AngularJS

They used to say “Not as good as desktop”

OmniChannel and HTML5 are disruptive technologies that get better ever month

Page 65: Omnichannel Applications with AngularJS

BEST PRACTICES

Page 66: Omnichannel Applications with AngularJS

Skinny Controllersangular.module('plannerApp.controllers') .controller('ChartCtrl',

['$scope', 'activities', '$log', 'user','filters','$q',

function ($scope, activities, $log, user, filters, $q) { ... }]);

Page 67: Omnichannel Applications with AngularJS

Controller Checkist1.No $http/$resource in controllers - use services

2.No DOM manipulation - use directives

3.Few business rules - use services

4.Single Responsibility, short

5.One controller per file

6.Tests!!! (testable = modular = reusable )

Page 68: Omnichannel Applications with AngularJS

WRAPUP

Page 69: Omnichannel Applications with AngularJS

Responsive Web + PhoneGap Tips» Plan your directory structure early

» Build for PhoneGap early

» Leverage Gulp/Grunt and other build tools

» Automate tests and deployment

» Use a MVC framework to separate logic from presentation

» Find a good mobile lab to leverage

» QA early and often!

Page 70: Omnichannel Applications with AngularJS

OMNICHANNEL SUMMARY» 1/2 the time, 1/4 the development cost (not even

considering TCO)

» agile vs. waterfall processes

» more available developers

» front-end developers essential

» compounding benefits when responding to feedback- i.e. the benefits of Agile development and continuous deployment

Page 71: Omnichannel Applications with AngularJS

Nick Van WeerdenburgCEO/Founder of rangle.io

@n1cholasvEmail: [email protected]

http://rangle.io

Twitter: @rangleioBlog: http://rangle.io/blog

Subscribe to our newsletter on our site!