cbc music mobile web

11
mobile web Tuesday, 19 March, 13

Upload: ash-mishra

Post on 02-Jul-2015

153 views

Category:

Technology


0 download

DESCRIPTION

A talk about the motivation and technology behind CBC Music for the Mobile web

TRANSCRIPT

Page 1: CBC Music Mobile web

mobile web

Tuesday, 19 March, 13

Page 2: CBC Music Mobile web

Where are we now? *Native iOS apps, and Android apps

* sneaky David Bowie referenceTuesday, 19 March, 13

Page 3: CBC Music Mobile web

Native Apps• Learning / knowledge ramp-up

• Development time

• Ongoing maintenance

• Ongoing enhancements

• Android and iOS have taught us:• Native apps look & function better,

but they cost magnitudes more to support

Tuesday, 19 March, 13

Page 4: CBC Music Mobile web

Why Mobile web?• Common across all platforms

• No apps to download and install

• music.cbc.ca/ already established (>100,000 pages) and advertised

• Ease of development (it’s HTML and JS)

• Ease of rollout and future enhancement

Tuesday, 19 March, 13

Page 5: CBC Music Mobile web

Have a listen...m.music.cbc.ca –

Tuesday, 19 March, 13

Page 6: CBC Music Mobile web

The Tech• This is becoming a standard stack:

• HTML 5

• jQuery

• Backbone.js for REST and MVC

• Handlebars.js for templating

• and for us ... Microsoft .Net

Tuesday, 19 March, 13

Page 7: CBC Music Mobile web

HTML 5• Audio tag is well supported now

• Local Storage – local browser caching

• History.pushState – address bar

Backbone• Models in JS – including relationships

• Routing – URL handling

• Communication with Web ServicesTuesday, 19 March, 13

Page 8: CBC Music Mobile web

.NET• Our web site is built using .Net =

familiar development environment

• Good tools for a development pipeline (dev, stage, production deployment) – MSBuild & MSDeploy

• Automated minification and versioning of JS & CSS using Bundles

• Configuration for different environments

Tuesday, 19 March, 13

Page 9: CBC Music Mobile web

It hasn’t been smooth sailing

• HTML 5 audio tag doesn’t stop buffering on built-in Android browser, nor does it automatically resume after an interruption

• Chrome doesn’t support background audio streaming on Android

• Windows Mobile IE doesn’t support background streaming

Tuesday, 19 March, 13

Page 10: CBC Music Mobile web

But...• It works on Windows, Android, iOS

• One codebase, not 3, 4 ...

• Very little platform specific code

• HTML 5 audio support on iOS is very good, handles interruptions, background playback, audio controls

Tuesday, 19 March, 13

Page 11: CBC Music Mobile web

• Web developers needed

• Unique working environment –agile, short sprints, music!

• HTML 5 / CSS 3 / jQuery

• Backbone.js, .NET – if you have it

[email protected]

Tuesday, 19 March, 13