• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Helping the Lions Roar

Helping the Lions Roar



Presentation at MvvmCross London by Sequence Agency

Presentation at MvvmCross London by Sequence Agency



Total Views
Views on SlideShare
Embed Views



40 Embeds 2,265

http://slodge.blogspot.co.uk 1101
http://slodge.blogspot.com 454
http://slodge.blogspot.com.es 98
http://slodge.blogspot.nl 86
http://slodge.blogspot.fr 77
http://slodge.blogspot.de 72
http://slodge.blogspot.ca 67
http://slodge.blogspot.no 34
https://jabbr.net 27
http://slodge.blogspot.it 27
http://slodge.blogspot.com.br 24
http://slodge.blogspot.ch 24
http://slodge.blogspot.ru 21
http://slodge.blogspot.com.au 21
http://slodge.blogspot.be 14
http://slodge.blogspot.co.at 14
http://slodge.blogspot.pt 11
http://slodge.blogspot.co.nz 11
http://slodge.blogspot.in 11
http://slodge.blogspot.dk 8
http://slodge.blogspot.jp 7
http://android-original.blogspot.com 6
http://slodge.blogspot.ro 5
http://slodge.blogspot.sk 5
http://slodge.blogspot.ie 5
http://www.slodge.blogspot.com.br 5
http://slodge.blogspot.mx 4
http://slodge.blogspot.se 4
http://slodge.blogspot.tw 4
http://slodge.blogspot.cz 3
http://missary14.chirasu.com 2
http://slodge.blogspot.hk 2
http://slodge.blogspot.co.il 2
http://slodge.blogspot.hu 2
http://forwards79.rssing.com 2
http://slodge.blogspot.com.ar 1
http://www.slodge.blogspot.co.uk 1
http://translate.googleusercontent.com 1
http://feedwrangler.net 1
http://www.newsblur.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Helping the Lions Roar Helping the Lions Roar Presentation Transcript

    • © Sequence 2013www.sequence.co.ukHelping the Lions Roarwith Microsoft Win8 & WP8February 2013Jon Stonemanjon.stoneman@sequence.co.ukSteve Dunfordstephen.dunford@sequence.co.uk
    • IntroFor the next 17mins- ish we want to discuss the mobile market today and how the mobileuser is changing. We will also touch upon the opportunity that Windows 8 & WindowsPhone 8 brings to this key channel and your brands. However our main focus will be toshowcase the upcoming release of the Official application for the British & Irish Lions.so lets begin…. First up
    • 05 The Application
    • The briefCreate a multi-platform application that works on desktop,tablet and mobile.Excite fans with a slick application experience andexclusivecontent centered around this year’s tour.Integrate with 3rd party APIs to provide real timeinformation.
    • TV goes social
    • Second screen
    • SolutionArchitecture
    • SolutionArchitecture
    • SolutionArchitecture• App content & structurecontrolled via CMS• Apps fully functional offline• Cache pre-populated withcontent/images fromAzurewhen building apps
    • Lions app core
    • Lions app core
    • Lions app core• Uses the IoC built in to Mvx to implement a SOA(Service OrientatedArchitecture) approach• Allows for components to be swapped in / out easily– Fake data source– Different caching strategies– Unit Testing / Mocking
    • Customizing MvvmCross• Overriding Mvx components to do non “out-of-the-box” stuff• Adding custom cross-platform services
    • Customizing MvvmCross – Overriding Components
    • Customizing MvvmCross – Overriding Components• App.cs (our MvxApplication in our PCL)• This approach gets really messy really quickly…//Inject our own image caching into MvxCirrious.MvvmCross.Plugins.File.PluginLoader.Instance.EnsureLoaded();var imageFileCache = new LionsImageCacheService(………);this.RegisterServiceInstance<IMvxFileDownloadCache>(imageFileCache);
    • Customizing MvvmCross – Overriding Components• Plugin Managerpublic class DroidPluginManager : MvxFileBasedPluginManager{public DroidPluginManager(): base("Droid"){}protected override Cirrious.MvvmCross.Interfaces.Plugins.IMvxPlugin LoadPlugin(Type toLoad){if (toLoad == typeof (Cirrious.MvvmCross.Plugins.DownloadCache.PluginLoader)) {return new LionsCachePlugin();}return base.LoadPlugin(toLoad);}public class LionsImagePlugin : IMvxPlugin{public void Load(){//Do exactly what the Mvx plugin does, except load our custom service instead}}}
    • Customizing MvvmCross – Cross-platform services• Providing images from the app package – a platformspecific task• In the core:var packageProv = this.GetService<IPackagedImageProvider>();var fileName = packageProv.GetPackagedImageFileName(httpSource);if (!String.IsNullOrEmpty(fileName)){packageProv.CopyPackagedImage(fileName, (succeeded) =>{…});}
    • Customizing MvvmCross – Cross-platform services• In Windows 8 Setup:protected override void InitializeFirstChance(){this.RegisterServiceInstance<IPackagedImageProvider>(new Win8PackagedImageProvider());base.InitializeFirstChance();}
    • Customizing MvvmCross – Manual Navigation• Using some Mvx services to navigate when we’re notin a view modelvar myParams = new { nodeId }.ToSimplePropertyDictionary();var req = new MvxShowViewModelRequest(viewModelType, myParams, true, MvxRequestedBy.Bookmark);this.GetService<IMvxViewDispatcherProvider>().Dispatcher.RequestNavigate(req);
    • Challenges
    • Multi-platform challenges• Cross training• Design / UX consistency• Content• ViewModel design• PCLs• MvvmCross
    • Windows Phone• Emulator requires specific hardware• Android emulator animosity• Supporting WP7 and WP8
    • Windows 8• ObservableCollections
    • iOS challenges• Interface Builder• PCL support• Slow store publishing
    • Android• Fragmentation• Windows Phone emulator animosity• Slow/unreliable emulator• Memory leaks (InPurgeable)
    • Android (continued)• Xamarin.Android– Slow debug cycle– Crashes & hangs– Debugging PCLs– Layout IntelliSense– No layout validation on PC– VS unhelpful error reporting for layouts/resources
    • Kindle• It’s just Android!
    • Thank you.Owen Davies/ Paul Thomas+44 (0) 7976 095 519 / +44 (0) 7970 283 466owen.davies@sequence.co.uk /paul.thomas@sequence.co.ukFitzalan House, Fitzalan Road, Cardiff, CF24 0ELClerkenwell Workshops, 27-31 Clerkenwell Close, London, EC1R 0ATenquiries@sequence.co.ukwww.sequence.co.uk© Sequence 2012