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