Microsoft Architect Council Mobile Applications


Published on

I was invited as an industry expert on an architect council from Microsoft.
I presented some DO's and DON'Ts in design of mobile applications and finished with a whishlist of what Microsoft should put in Windows Mobile 8

Published in: Technology
  • Be the first to comment

Microsoft Architect Council Mobile Applications

  1. 1. Mobile applications for your customers
  2. 2. Case study: Brussels community website <ul><li>Customer </li></ul><ul><ul><li>Brussels hoofdstedelijk gewest </li></ul></ul><ul><ul><li>CIBG (central IT department of Brussels) </li></ul></ul><ul><li>Goals </li></ul><ul><ul><li>Reinforce economy by creating a digital local community </li></ul></ul><ul><ul><li>Monetise services / platform (in the long term) </li></ul></ul><ul><li>Must-have features </li></ul><ul><ul><li>Works offline: permanent presence on the user’s phone </li></ul></ul><ul><ul><li>Automatic update of content through web services </li></ul></ul><ul><ul><li>Easy distribution (SMS “MyService” to 3236) </li></ul></ul><ul><ul><li>Website integration </li></ul></ul><ul><ul><li>Works on 80% of mobile phones </li></ul></ul>
  3. 3. Functionality: online city community
  4. 7. Solution architecture: Citylive Community Services Platform <ul><li>Functionality </li></ul><ul><ul><li>Service creation </li></ul></ul><ul><ul><li>Service delivery </li></ul></ul><ul><ul><li>Service management </li></ul></ul><ul><li>Technical </li></ul><ul><ul><li>SOA architecture </li></ul></ul><ul><ul><li>SQL server 2000 DB </li></ul></ul><ul><ul><li>MS .NET 3.0 framework backend / ASP.NET frontend </li></ul></ul><ul><ul><li>Web services (JSON, REST, SOAP) through WCF </li></ul></ul><ul><ul><li>Session management and telco service integration through Microsoft Connected Services Framework 3.0 </li></ul></ul>
  5. 8. Solution hardwarde <ul><li>Hosting:Kangaroot datacenter with Global Crossings, Tiscali and FreeBIX 1GB connections </li></ul><ul><li>Servers: HP cluster with SAN as virtual server host </li></ul><ul><li>Mobile phones: everything that runs Windows Mobile or Java J2ME </li></ul>
  6. 9. Solution software: Hydra <ul><li>Functionality: </li></ul><ul><ul><li>Collection of enabling services out-of-the-box </li></ul></ul><ul><ul><li>Central & secure repository for profile and application data </li></ul></ul><ul><ul><li>Provides abstraction layer for applications & websites using simple API’s </li></ul></ul><ul><ul><li>Controlled environment handling privacy/authentication/authorization </li></ul></ul><ul><li>AD based authentication of services (internal or external) </li></ul><ul><li>Impersonation for non-authenticated service consumers </li></ul><ul><li>Authorisation: own service or CSF </li></ul>
  7. 10. Solution software: Application creation
  8. 11. Solution software: Mobile Widget engines <ul><li>Reference implementation on .NET Compact Framework </li></ul><ul><li>After validation, porting to J2ME, Javascript, Flash </li></ul><ul><li>Symbian: tried, but too fragmented / difficult process / weird architecture </li></ul>
  9. 12. Operation / system management <ul><li>Service Operator : Has a web-based management interface </li></ul><ul><li>Widget authors : publish their apps and remain responsible (are supported through separate website and can come to information sessions) </li></ul><ul><li>Community members : can transfer ownership of data entities in the system to each other. Escalation process with manual intervention if no agreement </li></ul><ul><li>Users : select their own content & widgets, create their own accounts, distribution by SMS and self-installation </li></ul><ul><li>Technical operations : regular process monitoring / server monitoring with MOM, regular DB and software maintenance schedules </li></ul>
  10. 13. Development cycle for mobile <ul><li>Starts on PC </li></ul><ul><ul><li>prototyping in .NET on desktop before implementing in .NET CF (is one of the bis advantaged of Windows Mobile) </li></ul></ul><ul><li>Methodology: Scrum++ </li></ul><ul><ul><li>agility linked with the room to breath for some innovation </li></ul></ul><ul><li>Tools: Microsoft toolchain </li></ul><ul><ul><li>Visual studio, team server with sourcesafe, documentation on Sharepoint </li></ul></ul>
  11. 14. Challenges / lessons learned <ul><li>Things to do </li></ul><ul><li>Make mock-ups FIRST </li></ul><ul><ul><li>Mobile apps have no set expectation </li></ul></ul><ul><ul><li>You can’t predict what will work </li></ul></ul><ul><ul><li>Do extensive user testing </li></ul></ul><ul><ul><li>Be prepared to change your concept </li></ul></ul><ul><ul><li>Technical POC alone is not enough </li></ul></ul><ul><li>Use the internet & its protocols </li></ul><ul><ul><li>A mobile does not live in your network </li></ul></ul><ul><ul><li>VPN’s are a thing of the past </li></ul></ul><ul><ul><li>SOAP is nice when critical, XML is easier </li></ul></ul><ul><ul><li>Use the universal firewall bypass port (80) </li></ul></ul><ul><li>Think Multi-platform </li></ul><ul><ul><li>1 platform only is not realistic </li></ul></ul><ul><ul><li>When you can: move up an abstraction layer or two (but web browser might be too thin) </li></ul></ul><ul><li>Things to avoid </li></ul><ul><li>Stay out-of-control </li></ul><ul><ul><li>With mobile, the user is in control </li></ul></ul><ul><ul><li>You can’t manage his device. Forget it. </li></ul></ul><ul><ul><li>Give users tools so they can DIY. </li></ul></ul><ul><li>Avoid the bigger picture </li></ul><ul><ul><li>Focus on a concrete function with an immediate value add for the user </li></ul></ul><ul><ul><li>Trying to change work processes, integrate with business intelligence, cover a larger scope: it will all fail </li></ul></ul><ul><ul><li>Mobile is new: create demand first </li></ul></ul><ul><ul><li>When it’s time for the bigger picture, current technology will be obsolete </li></ul></ul><ul><li>Translate the web to mobile </li></ul><ul><ul><li>In some cases, mobile websites are OK </li></ul></ul><ul><ul><li>But: don’t just convert existing web tools </li></ul></ul><ul><ul><li>Mobile has a different usage model then fixed (“browsing” is done on a desk) </li></ul></ul>
  12. 15. Influence of future evolutions from MS <ul><li>XAML : would make a great open cross-platform mobile abstraction layer (please) </li></ul><ul><li>SQL server compact : gets you there fast, but needs to open up to other platforms to be viable outside of corporate walls. (e.g. use XML schemes in WCF) </li></ul><ul><li>Popfly (mashup dev tool): will really take of if given some mobile service delivery blocks </li></ul><ul><li>DirectX : user input,video rendering,sound and 3D are big problems in mobile. MS has a nice architecture here </li></ul><ul><li>Directpush : Don’t keep the magic for Activesync, open up the API to ISV’s. </li></ul> Whishlist of things Microsoft can do for the mobile application industry
  13. 16. Stay in touch