cbc music mobile web
DESCRIPTION
A talk about the motivation and technology behind CBC Music for the Mobile webTRANSCRIPT
mobile web
Tuesday, 19 March, 13
Where are we now? *Native iOS apps, and Android apps
* sneaky David Bowie referenceTuesday, 19 March, 13
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
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
Have a listen...m.music.cbc.ca –
Tuesday, 19 March, 13
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
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
.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
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
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
• Web developers needed
• Unique working environment –agile, short sprints, music!
• HTML 5 / CSS 3 / jQuery
• Backbone.js, .NET – if you have it
Tuesday, 19 March, 13