4. community request
• Belgian Apps
• are a Windows Phone developer ?
• can‟t find your app in this app ?
• mail your ApplicationId to :
johan.p@live.be
26/04/201
2
5. speakers of today
Michael Bruyninckx
@modul8com
Bart Lannoeye
@bartlannoeye
Glenn Versweyveld tweet
@depechie #wiphug
26/04/201
2
6. agenda
Marketplace submission process
MVVMLight 4.0
MS SQL Server CE
AgFx
Cimbalino
HubTiles
JeffWilcox.Maps & Bing Maps
mtiks for Windows Phone
26/04/201
2
7. Marketplace submission
submit a new app
status ongoing
submissions
download statistics
daily vs total
26/04/201
2
8. Marketplace submission
upload page
give your app a name
select XAP
select if it‟s a beta or not
give a version number
beta submission
give your app to max 50
testers and let them
evaluate it during max 90
days
26/04/201
2
9. Marketplace submission
describe your App
the xap is uploaded and analyzed
in case of multi language support, several “detail pages”
have to be filled out, short description, detailed description,
keywords, even artwork and screenshots, etc. – a lot of
work!
add multi language support directly in project file
<project name>.csproj
<SupportedCultures>nl,fr,de,en</SupportedCultures>
26/04/201
2
10. Marketplace submission
set your price
and select the availability per country
26/04/201
2
11. Marketplace submission
test information
the most important setting of the
publishing process, i.e. “the publish
options”
26/04/201
2
12. Marketplace submission
Approval process = +- 5 working days
If rejected, perfect explanation why
• pdf document that details problems
• step by step reproduction of problem
Test your app with the Marketplace Test kit
26/04/201
2 Bart Demo
13. MVVMLight 4.0
what is MVVM ?
• architectural design pattern
• targeted to modern UI development
• Windows Presentation Foundation (WPF)
• Silverlight
• Windows Phone
• HTML5 (KnockOut.js for example)
• Windows 8
26/04/201
2
14. MVVMLight 4.0
why MVVM ?
• collaboration (designers and developers)
• maintainability
• model never changes when view changes
• viewmodel rarely changes when view changes
• code is easier to find
• flexible UI changes
• separation of concerns
• single responsibility
• unit testability
• reusability of components
26/04/201
2
16. MVVMLight 4.0
the Model
• as good as all possible data sources
• expose data as collections
• one Model can serve several ViewModels
• use Interfaces to provide data
• allows database mocking
• Eliminate tight coupling of services with Model
26/04/201
2
17. MVVMLight 4.0
the View
• represent the user interface
• contains no testable logic
• keep as simple as possible
• designers playground
26/04/201
2
18. MVVMLight 4.0
the ViewModel
• abstraction of the view
• glue between view and model
• keeps the View‟s state
26/04/201
2
19. MVVMLight 4.0
why MVVMLight 4.0 ?
• developed by Laurent Bugnion (MVP)
• same framework for Silverlight, WPF,
Windows Phone 7 and Windows 8
• emphasis on “blend-ability”
• easy to learn, lots of examples online
26/04/201
2
20. MVVMLight 4.0
How does it work ?
• uses a locator pattern via ViewModelLocator
• uses ICommand for Commanding
• bind with Buttons
• bind with Event Triggers for Events
• Or with MVVM Light RelayCommands
• uses Event Aggregator / mediator / messenger
• ViewModels communicate with each other
26/04/201
2 Glenn Demo
21. MS SQL Server CE
• build in database support since WP 7.5
• database SQL Server CE (.sdf file)
• uses isolated storage
• DB server runs only when app is active
• code first approach
• Linq to SQL to query
26/04/201
2
22. MS SQL Server CE
create POCO‟s
• classes = tables
• properties = columns (& indexes)
• create associations between tables
create DataContext classes
• expose tables
26/04/201
2 Bart Demo
23. AgFx
what is it ?
• framework for fetching and caching data
• keeps the work off the UI thread
• optimizes network usage
• automatically determines if cache is valid
• MVVM support
26/04/201
2
24. AgFx
how ?
• describe how to fetch data
• tell it how to deserialize that data
• say when the data expires, so fresh
data can be fetched
• then all the rest happens automagically
26/04/201
2 Glenn Demo
25. Cimbalino
what is it ?
a set of useful and powerful elements:
• an ApplicationBar behaviour to make it bindable
• MVVM navigation service
• MVVM compatible services for camera access
• and a few other sevices
• converters, helper classes and extension methods
26/04/201
2
26. Cimbalino
how ?
• NavigationService
• constructor injects the NavigationService in your
ViewModels
• ApplicationBar Behaviour
• add a namespace reference in XAML to
Cimbalino.Phone.Toolkit.Behaviors
26/04/201
2 Glenn Demo
27. HubTiles
what is it ?
• in-app „live tiles‟
• makes the app more vivid
• control available in the Silverlight Toolkit for WP
26/04/201
2 Bart Demo
28. Bing Maps
how to use the map ?
• register at http://www.bingmapsportal.com
• use your Windows (Live) Account
• generate a “mobile” key
• 1 key for all your mobile apps !
• use key in app
• BingMaps Control : CredentialsProvider
property
• JeffWilcox.Maps : Application.Resources
26/04/201
2
29. JeffWilcox.Maps
what is it ?
• performance optimisation
• image button
• image = Bing or Google Map
• only 1 – non templated pushpin
• click event shows Bing Maps
• Bing Maps key via Application.Resources
26/04/201
2 Glenn Demo
30. mtiks for Windows Phone
allows analytics
real time app usage statistics
anti piracy protection
super easy implementation
26/04/201
2
35. mtiks for Windows Phone
why mtiks and not another ?
Microsoft Marketplace Flurry
+ out of box + fast results
- delay 1 week - incorrect results
Distimo Google Analytics
+ rich data + feature rich
- 3 to 4 days delay - lots of code
26/04/201
2
36. mtiks for Windows Phone
how to implement ?
1. register at http://www.mtiks.com/signup
2. nuget mtiks
or download SDK = zip containing a DLL and reference it
3. in App.XAML
using System.Reflection;
using com.mtiks.winmobile;
4. in Application_Launching and Application_Activated
mtiks.Instance.Start(“YourKey", Assembly.GetExecutingAssembly());
5. In Application_Deactivated and Application_Closing
mtiks.Instance.Stop();
26/04/201
2 Bart Demo
37. mtiks for Windows Phone
anti piracy ?
protection against illegal downloads
how ?
- silent piracy tracking
- automatic message box
26/04/201
2 Demo
40. planned events
24/05 Advanced data access strategies
Kevin Dockx
21/06 Community Day
June 3 speakers, 3 sessions
20/09 MVVMLight & Bing Maps
Joost Van Schaik (MVP NL)
25/10 Application lifecycle, isolated Storage & local database
Kevin Dockx
more planned in november & december !
26/04/201
2