WP 7.5 from Zero 2 Marketplace


Published on

This talk will take you step by step on a journey all the way to the Marketplace. We cover development station requirements, differences between WP7, WP8, tablets, devices availability, how to consume web-services, mobile ads solutions, when to go with a paid or ads supported app, how to persist data easily and more.

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • WP over iPhone and AndroidCall quality. I actually use my phone as a phoneSimplicity. Samsung Focus S, Nokia 900 and Nokia 800 were flawless out of the box. No junk software. Speaking of science experiments, I also tried a Android on Samsung Galaxy, Captivate, HTC MyTouchsoftware that cannot be deleted and restarts itself? Simplicity again. Everything after set up has been painless as well. Adding apps, setting up email accounts, etc. I thought the iPhone was good. WP set up was actually smoother and took WAY less time. Same for Wi-Fi, etc.Speed. The 900 4Gdidn’t seem to lag the way the iPhone did at times. Live Tiles. It’s a minor thing but the Metro tiles are pretty cool.
  • Hardware/SoftwareDev SubscriptionsCertificate typesDistribution ModelsTestingMobile add solutions/providersHow to consume Web ServicesPush Notifications
  • `
  • Annual registration fee of $99No limit to the number of paid apps submitted 5 free apps per registration, $19.99 each after thatFree registration to DreamSpark students (same unlimited paid and 5 free apps applies)A new optional push notification service to help developers stay engaged with customersA new optional Trial API – trials mean more customers try your app, and less likelihood that they return it. The length or type of trial is fully controlled by the developerThe ability to publish to all available Marketplace markets through a new “worldwide distribution” option, allowing developers to pay once and distribute broadlyWider range of business models; free, paid, freemium and ad-fundedEqually important to many developers is what isn’t changingA revenue share of 70/30Developers manage their business with Marketplace via the self service portal http://developer.windowsphone.comPayout takes place monthly for developers that have earned more than USD$200 worldwideDevelopers can make ad funded applications (i.e. $.94 / eCME)All applications go through a process of technical and content certificationMarketplace offers support for credit card commerce, and where available mobile operator billing.Microsoft continues its practice of publishing policies, guidelines, and submission process details to developers so they understand exactly how marketplace works.
  • Tombstoning BasicsSilverlight in the browser and on the phone runs in a special “security sandbox” that isolates the host system from the application’s runtime environment. The phone environment adds a layer of complexity because multiple applications can co-exist on the platform. While the underlying OS of the phone supports multitasking, third-party applications aren’t provided with access to this layer. 
Instead, applications have the opportunity to run “in the foreground” but can be quickly swapped out to make way for other applications, incoming phone calls or hardware features such as the Back button and search. When the application is deactivated, there’s a chance it may be “killed,” with the opportunity to be revived if and when the user navigates back. This is the process known as tombstoning.The “Mango” update to Windows Phone 7 will limit tombstone scenarios by providing “fast application switching.” Applications will no longer be automatically tombstoned. While this functionality is already present in the Windows Phone 7 Developer Tools, it’s important to recognize that it doesn’t eliminate the tombstone scenario. Factors such as other running applications and available memory will influence whether the application is tombstoned.The problem with tombstoning is that when the application is revived, new instances of the pages that are part of the application are created. Therefore, anything the user was working on when the event occurred—such as selecting an item from a pick list or entering text—is lost. It’s up to you, the developer, to maintain this state and restore it when the application returns to provide a seamless experience to the user. Imagine the confusion of a typical user who’s in the middle of filling out a form and clicks on search to look up a term, only to return and find the application has navigated to a separate, blank page!Saving State on the PhoneFortunately, Windows Phone 7 does provide several mechanisms for saving state. To work with applications on the OS, you’ll need to become familiar with these methods. The options include SQL CE (with the Mango update), a page state dictionary, the application state dictionary and isolated storage. I’ll focus on the last option, isolated storage, but a quick review of the first three will help shed light on why Sterling is useful on the phone.SQL CE The Mango update will provide SQL CE, a compact version of the popular SQL Server database. The difference between this database and the other options listed here is that SQL is a relational database. It relies on special table formats that must be mapped from your classes and controls. Object-oriented databases can take the existing class structures—even when they include nested classes, lists and other types—and serialize them without any additional mapping or modifications.Page State Each Page object provides a State property that exposes a dictionary that’s defined by key names and related objects. Any key or object may be used, but the object must be serializable, and then only shallow (top level) serialization occurs. In addition, the page state only allows for up to 2MB of data per page (4MB for the entire application) and can only be used after the start of the OnNavigatedTo and before the OnNavigatedFrom methods on the page. This limits the practical use to simple value types. The fact that it can only function within the page navigation methods makes it a poor choice for patterns such as Model-View-ViewModel (MVVM) that synchronize the view state using a separate ViewModel.Application State This is also a dictionary. Like the page state, it takes a string key and an object value, and the object must be serializable. The application object on the phone has a Deactivated event called when tombstoning occurs, and an Activated event called when the application returns from the tombstone state. The application state can be accessed anytime between activation and deactivation. It’s accessed using the static PhoneApplicationService class (there’s a Current property that references a single application-wide instance). There’s no documented limit to the size of the application state dictionary, but at some point attempting to store too many items will result in an unhandled COM exception being thrown.Isolated Storage This is by far the most flexible option for maintaining state. Isolated storage isn’t unique to the phone, and in fact works almost exactly the same way in Silverlight and in the Microsoft .NET Framework runtime. Isolated storage provides a layer of abstraction from the host file system, so instead of dealing with direct file storage, you interface with an indirect mechanism that provides folders and files in an isolated sandbox. In Windows Phone 7, that sandbox is isolated to the level of your phone application. You may access the storage anywhere from within the application, but not from any other application on the phone.Isolated storage also has some powerful advantages. While it does provide a settings dictionary similar to the page and application settings described earlier, it also allows you to organize data in folders and as files. In fact, any type of file—XML, binary or text—can be created and accessed in isolated storage. There’s no quota for the size of isolated storage on the phone, so you’re effectively limited by the amount of memory and storage available on the phone. The only drawback is that the process of writing to storage and retrieving from storage is somewhat slower than the other methods that store the lists in active memory.
  • This is the test that can be performed during Activation. If the test fails it means that we have to reload everything.
  • Jay has shown you
  • WP 7.5 from Zero 2 Marketplace

    1. 1. http://geekswithblogs.net/mrad@MarkRadacz
    2. 2. click here to view if video not playing
    3. 3. 800 MHz]
    4. 4. LIVE
    5. 5. The Windows Phone SDK includes the followingMicrosoft Visual Studio 2010 Express for Windows PhoneWindows Phone EmulatorWindows Phone SDK 7.1 AssembliesSilverlight 4 SDK and DRTWindows Phone SDK 7.1 Extensions for XNA Game Studio 4.0Microsoft Expression Blend SDK for Windows Phone 7Microsoft Expression Blend SDK for Windows Phone OS 7.1WCF Data Services Client for Window PhoneMicrosoft Advertising SDK for Windows Phone
    6. 6. Windows Phone Xbox 360Make free, paid, or ad-funded apps and games Access to 25 million Xbox LIVE members worldwideSubmit unlimited paid apps to Windows Phone Submit up to 10 games on Xbox LIVE IndieMarketplace GamesSubmit up to 100 free apps to Windows Phone Develop and debug on your retail Xbox 360Marketplace; additional submissions are $19.99 console with XNA Game Studio ConnectUSD per submission Customize your games for individual regions andExpand your reach with worldwide distribution languagesand trial options Peer review new Indie Games before theyreApps are content and code-certified released Get premium deals from middleware providers and partners
    7. 7. Fast App Resume runningState preserved!e.IsApplicationInstancePreserved Save State!== true activated deactivated dormant Phone resources detached Threads & timers suspended
    8. 8. Resuming .. .Restore state!e.IsApplicationInstancePreserved running== false activated deactivated Tombstone the oldest app dormant Phone resources detached Tombstoned Threads & timers suspended
    9. 9. private void Application_Activated(object sender, ActivatedEventArgs e){ if (e.IsApplicationInstancePreserved) { // Dormant - objects in memory intact } else { // Tombstoned - need to reload }}
    10. 10. MediaPlayer.Pause MediaElement.Pause SoundEffectInstance.Pause VibrateController.Stop PhotoCamera.Dispose Save page/global stateXNA Audio PausedSensors Notifications suppressedNetworking CancelledSockets DisconnectedMediaElement DisconnectedCamera Disposed
    11. 11. MediaElement.Source/Position/PlaySocket.ConnectAsyncnew PhotoCamera/VideoCameraRestore app state if tombstonedXNA Audio ResumedSensors Notifications resumedNetworking Completed with CancellationSockets -MediaElement -Camera -
    12. 12. revenue share of 70/30
    13. 13. −−−−−− source: www.wp7applist.com
    14. 14. Function WP 7.8 WP 8.0Browser IE9 IE10Skype A separate application IntegratedVoice commands Yes Yes, an extended setDataSmart A separate application YesBing Аudio Yes Yes, improved recognition TVRCS-e A separate application IntegratedCloud OneNote, Office 365 Synchronization of all contentUpdated startup screen Yes YesOTA No, only the notification YesVisual Voicemail Only for some countries Yes
    15. 15. Find more at: http://create.msdn.com/en-US/resources/partners
    16. 16. http://msdn.microsoft.com/en-us/WindowsPhoneTrainingCoursehttp://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=27570http://create.msdn.com/en-US/home/membershiphttp://create.msdn.com/en-US/resources/partnershttp://geekswithblogs.net/mradradacz.mcp@gmail.com