[{"author":null,"categories":null,"contents":"\u003cp\u003eThis is a reimagined version of Troy Hunt\u0026rsquo;s \u003ca href=\"https://www.troyhunt.com/building-password-purgatory-with-cloudflare-pages-and-workers/\" target=\"_blank\" rel=\"noopener\"\u003ePassword Purgatory\u003c/a\u003e\n; written as a dotnet app and automatically published to Azure.  It is not a 1:1 recreation of Troy\u0026rsquo;s, but maintains its spirit, see all the source code on GitHub at \u003ca href=\"https://github.com/LanceMcCarthy/dotnet-password-purgatory\" target=\"_blank\" rel=\"noopener\"\u003edotnet-password-purgatory\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003eJust imagine, thousands of dollars is only a button click away, but your password keeps failing because of with the following rules:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453467-4962c6c2-d955-4270-93d8-8ecb02c26fa8.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eFirst entry form seems normal, some standard client-side validation to make sure I complete both fields.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453247-50578c2f-6fbb-4326-aff2-fb0bebbb2412.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eOkay, so I didn\u0026rsquo;t have a number in my password\u0026hellip;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453267-eab6d8e0-945b-4cfb-b0b3-7c343711c0dc.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eWhoops, maybe I shouldn\u0026rsquo;t have just jammed a \u0026ldquo;1\u0026rdquo; on the end of the password\u0026hellip;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453272-774a05a3-21ac-4aba-8754-6c4e8e66e3e3.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eUgh, okay, an upper-case character (starting to feel annoyed).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453276-464481ef-e3a7-4347-847f-8d45edfb1921.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eThis seems my own fault, nothing lets you use short password anymore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453281-36502559-19f7-464d-8e8f-a4e57a87ed28.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eWait, what? This is starting to seem like I\u0026rsquo;m being given the run-around\u0026hellip; but adding \u0026lsquo;dog\u0026rsquo; to the end is easy enough\u0026hellip;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453293-b1e46b2f-7f54-4868-b7c6-13ed8def1ac7.png\" alt=\"image\"\u003e\n\u003cul\u003e\n\u003cli\u003eReally, cat? Okay, three letters, lets add it and keep going because I want to see where this is going.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"/en/blog/2026.03.22-csharp-scammer-trap/184453301-b28f9136-a510-4c65-a186-7e4aac0f0ec4.png\" alt=\"image\"\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eIf they keep going\u0026hellip;\u003c/p\u003e","date":"2026-03-22T00:00:00Z","permalink":"/en/blog/2026.03.22-csharp-scammer-trap/","tags":["scammer trap","trap","purgatory","tutorial","GitHub Actions","automation","password"],"title":"Password Purgatory, a C# Scammer Trap"},{"author":null,"categories":null,"contents":"\u003cp\u003eMost of us are familiar with Dependabot and how it can open an Issue in your GitHub repo when there\u0026rsquo;s a pending dependency update or a security issue. However, did you know that you can also have it automatically open a Pull Request, do all the builds, make sure checks pass, and \u003cstrong\u003emerge\u003c/strong\u003e it, too?\u003c/p\u003e\n\u003cp\u003eI find this capability very helpful and time saving when the dependencies are not core SDK components. Particualrly with node.js projects, there are can be a lot of updates that are not related directly to the code, but instead of part of the toolchain or IDE. These updates take time to manually do and can be annoying to maintain.\u003c/p\u003e","date":"2026-01-15T00:00:00Z","permalink":"/en/blog/2026.01.15-automatic-dependabot-prs/","tags":["github","dependabot","CI/CD","CI-CD","tutorial","GitHub Actions","automation"],"title":"Automating Dependabot Pull Requests"},{"author":null,"categories":null,"contents":"\u003cp\u003eThere has been a lot of news around generative AI and LLMs. As a traditional client app developer you might have wanted to add this capability to your app, but there\u0026rsquo;s usually something that is a roadblock\u0026hellip; you don\u0026rsquo;t want to learn something new right now, you don\u0026rsquo;t want to pay for a cloud service, or just don\u0026rsquo;t have the time to invest in that one app.\u003c/p\u003e\n\u003cp\u003eThese excuses are hard to justify now you have the Windows AI APIs in the WinApp SDK; it\u0026rsquo;s all available on-device and can be done in a few lines of code.\u003c/p\u003e","date":"2025-05-17T00:00:00Z","permalink":"/en/blog/2025.05.17-add-copilot-to-your-app-in-10m/","tags":["copilot","AI","WinUI","winAppSdk","tutorial","Windows AI","Windows AI Foundry"],"title":"Use Windows AI APIs to Your App in 10 Minutes"},{"author":null,"categories":null,"contents":"\u003cp\u003eSay goodbye to managing PFX files and problems code signing your apps. Over the past year or so, I\u0026rsquo;ve been working with Microsoft to test a service that lets you sign your code using an HSM-backed private key. This means your identity is verified by Microsoft, and you can sign all your stuff with a simple API call!\u003c/p\u003e\n\u003ch2 id=\"azure-trusted-signing\"\u003eAzure Trusted Signing\u003c/h2\u003e\n\u003cp\u003eI have a real-world app where I code sign the app and appinstaller automatically. I walk you through how that is done so you can copy it, but first I should step back and explain what the service is.\u003c/p\u003e","date":"2025-03-15T00:00:00Z","permalink":"/en/blog/2025.03.15-trustred-signing/","tags":["azure","code signing","windows","winui","GitHub Actions","Azure DevOps","tutorial"],"title":"Trusted Signing"},{"author":null,"categories":null,"contents":"\u003cp\u003eIt\u0026rsquo;s been a while since I\u0026rsquo;ve written a new post. This was mostly due to an ongoing battle with trying to move my Wordpress installation from an older Windows app Service on Azure. There is a new Linux-based App Service option that can do it, but Azure requires some expensive components to support it. So, I thought why not take this opportunity to try new things?\u003c/p\u003e\n\u003ch2 id=\"exporting\"\u003eExporting\u003c/h2\u003e\n\u003cp\u003eThe first thing I needed to do was export the 10+ years of posts that already existed. This was relatively easy enough, there are many Wordpress Exporter/Importer plugins, but I liked the results from \u003ca href=\"https://wordpress.org/plugins/all-in-one-wp-migration/\" target=\"_blank\" rel=\"noopener\"\u003eAll-in-One WP Migration and Backup\u003c/a\u003e\n the most. It is free up to a certain export size. Mine was quite large (\u0026gt;250mb), so I needed to upgrade but was worth every penny.\u003c/p\u003e","date":"2024-12-25T00:00:00Z","permalink":"/en/blog/2024.12.24-migrating-from-wordpress-to-hugo/","tags":["migrating","wordpress","Hugo","GitHub Pages","tutorial"],"title":"Migrating from WordPress to Hugo"},{"author":null,"categories":null,"contents":"\u003cp\u003eThis page contains quick links to resources, tips \u0026amp; tricks, documentation and anything helpful for you to build your apps. If you have anything you\u0026rsquo;d like me to add, find me on Twitter™ at \u003ca href=\"https://twitter.com/l_anceM\" target=\"_blank\" rel=\"noopener\"\u003e@l_anceM\u003c/a\u003e\n.\u003c/p\u003e\n\u003ch2 id=\"apis\"\u003eAPIs\u003c/h2\u003e\n\u003cp\u003eHere is a list of APIs to help give you app ideas:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://api.adviceslip.com/\" target=\"_blank\" rel=\"noopener\"\u003eAdvice Slip API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://api.agify.io/?name=lance\" target=\"_blank\" rel=\"noopener\"\u003eAgify API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://aws.amazon.com/\" target=\"_blank\" rel=\"noopener\"\u003eAmazon Web Services\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.ap.org/\" target=\"_blank\" rel=\"noopener\"\u003eAssociated Press API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.balldontlie.io/#introduction\" target=\"_blank\" rel=\"noopener\"\u003eBall Don\u0026rsquo;t Lie API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dev.bitly.com/\" target=\"_blank\" rel=\"noopener\"\u003eBit.ly\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.boredapi.com/\" target=\"_blank\" rel=\"noopener\"\u003eBored API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developers.box.com/\" target=\"_blank\" rel=\"noopener\"\u003eBox.net\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.brewerydb.com/\" target=\"_blank\" rel=\"noopener\"\u003eBreweryDB API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.clarifai.com/\" target=\"_blank\" rel=\"noopener\"\u003eClarifai API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://cloud.google.com/natural-language/docs/\" target=\"_blank\" rel=\"noopener\"\u003eCloud Natural Language API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developers.coinbase.com/\" target=\"_blank\" rel=\"noopener\"\u003eCoinbase API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.compete.com/developer/\" target=\"_blank\" rel=\"noopener\"\u003eCompete\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developer.constantcontact.com/\" target=\"_blank\" rel=\"noopener\"\u003eConstant Contact\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://covid19api.com/\" target=\"_blank\" rel=\"noopener\"\u003eCOVID19 API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dev.datasift.com/\" target=\"_blank\" rel=\"noopener\"\u003eDatasift\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://deckofcardsapi.com/\" target=\"_blank\" rel=\"noopener\"\u003eDeck of Cards API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://disqus.com/api/docs/\" target=\"_blank\" rel=\"noopener\"\u003eDisqus\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.dropbox.com/developers\" target=\"_blank\" rel=\"noopener\"\u003eDropbox\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developers.dwolla.com/\" target=\"_blank\" rel=\"noopener\"\u003eDwolla\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.x.com/developers/ebay\" target=\"_blank\" rel=\"noopener\"\u003eeBay\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.etsy.com/developers/\" target=\"_blank\" rel=\"noopener\"\u003eEtsy\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developer.eventbrite.com/\" target=\"_blank\" rel=\"noopener\"\u003eEventbrite\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://dev.evernote.com/\" target=\"_blank\" rel=\"noopener\"\u003eEvernote\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developers.facebook.com/\" target=\"_blank\" rel=\"noopener\"\u003eFacebook\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.factual.com/\" target=\"_blank\" rel=\"noopener\"\u003eFactual\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.flickr.com/services/api/\" target=\"_blank\" rel=\"noopener\"\u003eFlickr\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.foursquare.com/\" target=\"_blank\" rel=\"noopener\"\u003eFourSquare\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.fullcontact.com/developer/\" target=\"_blank\" rel=\"noopener\"\u003eFull Contact\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://funtranslations.com/api/\" target=\"_blank\" rel=\"noopener\"\u003eFun Translations API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.genius.com/\" target=\"_blank\" rel=\"noopener\"\u003eGenius API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developers.giphy.com/\" target=\"_blank\" rel=\"noopener\"\u003eGiphy\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://jobs.github.com/api\" target=\"_blank\" rel=\"noopener\"\u003eGitHub Jobs API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developers.google.com/maps/\" target=\"_blank\" rel=\"noopener\"\u003eGoogle Maps\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developers.google.com/\u0026#43;/\" target=\"_blank\" rel=\"noopener\"\u003eGoogle+\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://instagram.com/developer/\" target=\"_blank\" rel=\"noopener\"\u003eInstagram\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://kanye.rest/\" target=\"_blank\" rel=\"noopener\"\u003eKenya Rest API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developer.linkedin.com/\" target=\"_blank\" rel=\"noopener\"\u003eLinkedIn\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.marvel.com/\" target=\"_blank\" rel=\"noopener\"\u003eMarvel Comics API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.meetup.com/meetup_api/\" target=\"_blank\" rel=\"noopener\"\u003eMeetup\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://api.nasa.gov/index.html\" target=\"_blank\" rel=\"noopener\"\u003eNASA\u003c/a\u003e\n (highly recommended)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developers.naver.com/main/\" target=\"_blank\" rel=\"noopener\"\u003eNaver Open API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.newsblur.com/api\" target=\"_blank\" rel=\"noopener\"\u003eNewsBlur\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.omdbapi.com/\" target=\"_blank\" rel=\"noopener\"\u003eOMDb API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://openlibrary.org/developers/api\" target=\"_blank\" rel=\"noopener\"\u003eOpen Library API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://openweathermap.org/api\" target=\"_blank\" rel=\"noopener\"\u003eOpen Weather API\u003c/a\u003e\n (recommended)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://pokeapi.co/docs/v2\" target=\"_blank\" rel=\"noopener\"\u003ePokemon API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://polygon.io/docs/\" target=\"_blank\" rel=\"noopener\"\u003ePolygon.io\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.programmableweb.com/\" target=\"_blank\" rel=\"noopener\"\u003eProgrammable Web\u003c/a\u003e\n (recommended)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.rapleaf.com/developers/overview/\" target=\"_blank\" rel=\"noopener\"\u003eRapLeaf\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://spoonacular.com/food-api\" target=\"_blank\" rel=\"noopener\"\u003eRecipe API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://restcountries.eu/\" target=\"_blank\" rel=\"noopener\"\u003eREST Countries\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.qrtag.net/api/\" target=\"_blank\" rel=\"noopener\"\u003eQR Tag API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://quickchart.io/\" target=\"_blank\" rel=\"noopener\"\u003eQuickchart API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developer.force.com/\" target=\"_blank\" rel=\"noopener\"\u003eSalesForce\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://sendgrid.com/\" target=\"_blank\" rel=\"noopener\"\u003eSendGrid\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://msdn.microsoft.com/en-US/live/ff519582\" target=\"_blank\" rel=\"noopener\"\u003eSkyDrive\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/r-spacex/SpaceX-API\" target=\"_blank\" rel=\"noopener\"\u003eSpaceX\u003c/a\u003e\n (recommended)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.spotify.com/documentation/web-api/\" target=\"_blank\" rel=\"noopener\"\u003eSpotify API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://stripe.com/\" target=\"_blank\" rel=\"noopener\"\u003eStripe\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developer.echonest.com/\" target=\"_blank\" rel=\"noopener\"\u003eThe EchoNest\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://jservice.io/\" target=\"_blank\" rel=\"noopener\"\u003eTrivia API (jservice.io)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.twilio.com/\" target=\"_blank\" rel=\"noopener\"\u003eTwilio\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://dev.twitter.com/\" target=\"_blank\" rel=\"noopener\"\u003eTwitter\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://www.usa.gov/About/developer-resources/developers.shtml#1usagov\" target=\"_blank\" rel=\"noopener\"\u003eUSA.gov API endpoints, resources and documentation\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.vonage.com/communications-apis/\" target=\"_blank\" rel=\"noopener\"\u003eVonage API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://screenshotapi.net/documentation\" target=\"_blank\" rel=\"noopener\"\u003eWebsite Screenshot API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://products.wolframalpha.com/api/\" target=\"_blank\" rel=\"noopener\"\u003eWolfram Alpha\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://blog.xero.com/developer/api-overview/\" target=\"_blank\" rel=\"noopener\"\u003eXero\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://developer.zappos.com/\" target=\"_blank\" rel=\"noopener\"\u003eZappos\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor more great APIs see \u003ca href=\"https://github.com/public-apis/public-apis\" target=\"_blank\" rel=\"noopener\"\u003ehttps://github.com/public-apis/public-apis\u003c/a\u003e\n.\u003c/p\u003e","date":"2023-10-19T00:00:00Z","permalink":"/en/page/resources/","tags":null,"title":"Resources"},{"author":null,"categories":null,"contents":"\u003cp\u003eWhen using .NET MAUI, we have some great capabilities to affect the way the native platform works. We can take advantage of this part of lifecycle to check if:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIs the runtime platform is Windows?\u003c/li\u003e\n\u003cli\u003eFirst attempt to use Mica, if the user\u0026rsquo;s device supports it (Windows 11).\u003c/li\u003e\n\u003cli\u003eIf it doesn\u0026rsquo;t support Mica, then we try to use Acrylic.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHere\u0026rsquo;s what the end result looks like in your MauiProgram.cs code, nice and clean thanks to using lifecycle builder extension methods.\u003c/p\u003e","date":"2023-03-13T00:00:00Z","permalink":"/en/blog/2023.03.13-mica-or-acrylic-with-winui-and-net-maui/","tags":[".NET MAUI","Acrylic","Mica","Styling","tutorial","windows10","Windows11","WinUI"],"title":"Mica or Acrylic with WinUI and .NET MAUI"},{"author":null,"categories":null,"contents":"\u003cp\u003eDid you know you can deploy and debug your Android projects from Visual Studio 2022 (17.3+) to WSA (Windows Subsystem for Android)? This is a quick post to show you how to have your WSA appear in the list of target Android devices in Visual Studio.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"/en/blog/2022.06.22-windows-subsystem-for-android-and-net-maui/image.png\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003eWSA as the target device\u003c/p\u003e\n\u003cp\u003eFirst, make sure you have WSA installed and enabled, find the instructions here \u003ca href=\"https://docs.microsoft.com/en-us/windows/android/wsa/\" target=\"_blank\" rel=\"noopener\"\u003eWindows Subsystem for Android™️ | Microsoft Docs\u003c/a\u003e\n. Once it is installed, start the Amazon App Store app to ensure WSA has been started.\u003c/p\u003e","date":"2022-06-22T00:00:00Z","permalink":"/en/blog/2022.06.22-windows-subsystem-for-android-and-net-maui/","tags":[".NET MAUI","android","dotnet maui","MAUI","Subsystem for Android","Tools I Use","tutorial","Windows11"],"title":"Windows Subsystem for Android and .NET MAUI"},{"author":null,"categories":null,"contents":"\u003cp\u003eAs you evolve as a developer, you start to venture into the world of CI-CD. This is because you want to spend more time coding and less time with the repetitive and tiresome nature of compiling for different targets, packaging and publishing.\u003c/p\u003e\n\u003cp\u003eI frequently write content about CI-CD; whether it is Azure DevOps, GitHub Actions or just a PowerShell command that does a ton of work for you. In today\u0026rsquo;s post, I\u0026rsquo;m going to take you on a journey that shows you how to use Azure DevOps to automatically build, package and publish your app to the Microsoft Store.\u003c/p\u003e","date":"2022-03-04T00:00:00Z","permalink":"/en/blog/2022.03.04-free-yourself-with-devops/","tags":["Azure DevOps","CI-CD","GitHub Actions","Microsoft Store","PowerShell","publishing","Tools I Use","tutorial","UWP","UWP DevOps"],"title":"Free Yourself With DevOps"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you\u0026rsquo;re a fan of using GitHub Actions or Azure DevOps, you might have had some trouble configuring builds for .NET MAUI. This is likely due to needing specific workloads installed and understanding what parameters to use for a single project to compile for multiple target platforms.\u003c/p\u003e\n\u003cp\u003eIn today\u0026rsquo;s post, I\u0026rsquo;ll show you how to setup your build that will work for any MAUI target platform. If you would like to review the final result as you read through this, here\u0026rsquo;s the workflow file =\u0026gt; \u003ca href=\"https://github.com/LanceMcCarthy/DevOpsExamples/blob/main/.github/workflows/main_build-maui.yml\" target=\"_blank\" rel=\"noopener\"\u003eDevOpsExamples/main_build-maui.yml\u003c/a\u003e\n.\u003c/p\u003e","date":"2021-11-24T00:00:00Z","permalink":"/en/blog/2021.11.24-building-net-maui-with-github-actions/","tags":[".NET MAUI","android","Azure DevOps","CI-CD","dotnet","GitHub Actions","iOS","MacCatalyst","MAUI","tutorial","WinUI 3","Workflows"],"title":"Building .NET MAUI with GitHub Actions"},{"author":null,"categories":null,"contents":"\u003cp\u003eOne of the hallmarks of a professional workspace is an efficient workflow with powerful tools. It is a win for everyone when you can consolidate multiple tasks into a single workspace and workflow. This is why I love the new support for GitHub Pull Requests in \u003cstrong\u003eGitKraken\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eIn today\u0026rsquo;s post, I\u0026rsquo;m going to show the high level set of features inside of GitKraken that let you achieve the basic set of operations that are needed when you\u0026rsquo;re reviewing and approve a Pull Request. For more in-depth information, please visit \u003ca href=\"https://support.gitkraken.com/working-with-repositories/pull-requests/#github-pull-request-view\" target=\"_blank\" rel=\"noopener\"\u003ethis official documentation\u003c/a\u003e\n. If you don\u0026rsquo;t have GitKraken yet, you can get it \u003ca href=\"https://www.gitkraken.com/invite/5G9KUffp\" target=\"_blank\" rel=\"noopener\"\u003eusing my personal invite link\u003c/a\u003e\n.\u003c/p\u003e","date":"2021-06-24T00:00:00Z","permalink":"/en/blog/2021.06.24-pull-requests-in-gitkraken/","tags":["git","GitHub","GitHub Actions","gitkraken","tutorial"],"title":"Pull Requests in GitKraken"},{"author":null,"categories":null,"contents":"\u003cp\u003eHere\u0026rsquo;s a visual walkthrough of the Windows 11 installation and initial desktop experience, with Dark Mode. There will be very little words in this article, my intention is to let you explore the image galleries (click to enlarge any image).\u003c/p\u003e\n\u003cp\u003eI will say this, it not a repeat of the windows 7 to Windows 8 upgrade. I really like the experience moving around the OS; it feels smooth, lots of color and well polished. I recommend that you not judge on the pictures alone, use it for a day with your normal workflow and see that your cheese has not been moved :)\u003c/p\u003e","date":"2021-06-23T00:00:00Z","permalink":"/en/blog/2021.06.23-windows-11/","tags":["editorial","operating systems","preview","walkthrough","windows","windows 11","Windows11"],"title":"Windows 11"},{"author":null,"categories":null,"contents":"\u003cp\u003eI\u0026rsquo;m honored to be chosen by Microsoft to be a Dev M.C. for Microsoft Build 2021! Part of my duties as an MC is to help guide you through the gamut of sessions and resources available to you. This post is to share these things with you.\u003c/p\u003e\n\u003cp\u003eIt\u0026rsquo;s almost halfway through 2021 right now, at this point most of us have become proficient at attending remote events. From sending the kids to virtual school, 1:1 work meetings, or major conferences requiring a personal agenda, we\u0026rsquo;ve learned to navigate the virtual landscape of bringing the remote venue into your home.\u003c/p\u003e","date":"2021-05-25T00:00:00Z","permalink":"/en/blog/2021.05.25-build-2021/","tags":["Build 2021","DevMC","Events","microsoft build","MSBuild","resources"],"title":"Microsoft Build 2021"},{"author":null,"categories":null,"contents":"\u003cp\u003eAs a part of my ongoing \u0026ldquo;Tools That I Use\u0026rdquo; series, I wanted to share another favorite, \u003ca href=\"https://www.gurusquad.com/GSRICHCOPY360\" target=\"_blank\" rel=\"noopener\"\u003eRichCopy 360\u003c/a\u003e\n. On premise, I have a 80 TB HDD array, separated into multiple drive pools by \u003ca href=\"https://stablebit.com/DrivePool\" target=\"_blank\" rel=\"noopener\"\u003eStablebit DrivePool\u003c/a\u003e\n (post coming soon). However, to meet the critical \u003ca href=\"https://www.hanselman.com/blog/the-computer-backup-rule-of-three\" target=\"_blank\" rel=\"noopener\"\u003eRule of 3\u003c/a\u003e\n, I needed to add a 3rd off-site option.\u003c/p\u003e\n\u003cp\u003eI considered several different ways to do this and decided on taking advantage of my OneDrive for Business disk space (OneDrive gives you up to 5 TB). So, what do I use to copy that data up to OneDrive?\u003c/p\u003e","date":"2021-05-09T00:00:00Z","permalink":"/en/blog/2021.05.09-automatic-onedrive-backup/","tags":["disk storage","tools","Tools I Use","tutorial"],"title":"Automatic OneDrive Backup"},{"author":null,"categories":null,"contents":"\u003cp\u003eAs a nice year-end present for us, he has done it again, visit \u003ca href=\"https://www.hanselman.com/blog/scott-hanselmans-2021-ultimate-developer-and-power-users-tool-list-for-windows/\" target=\"_blank\" rel=\"noopener\"\u003eScott Hanselman\u0026rsquo;s 2021 Ultimate Developer and Power Users Tool List for Windows\u003c/a\u003e\n.\u003c/p\u003e\n\u003cp\u003eSomeone had left a great comment about compiling a list of all his suggestions as Windows Package Manager (aka winget) or Chocolatey package IDs. I mentioned this to Scott and he thought it was a great idea, too. So I offered to compile the list.\u003c/p\u003e\n\u003cp\u003eWhy is this a wonderful suggestion? You only need to run a quick one-liner command, \u003ccode\u003ewinget install \u0026lt;id\u0026gt;\u003c/code\u003e or \u003ccode\u003echoco install \u0026lt;id\u0026gt;\u003c/code\u003e, and you have installed the software.\u003c/p\u003e","date":"2020-12-29T00:00:00Z","permalink":"/en/blog/2020.12.29-scotts-2021-ultimate-list/","tags":["choco","resources","tools","Tools I Use","tutorial","winget"],"title":"Scott's Ultimate Tools via Winget"},{"author":null,"categories":null,"contents":"\u003cp\u003eIn case you missed it, I spoke this year at DevReach 2020. DevReach is Europe\u0026rsquo;s Premier Developer Conference that takes place every year in Sofia, Bulgaria. This year\u0026rsquo;s conference was online only, but was still a lot of fun.\u003c/p\u003e\n\u003cp\u003eIn my session, I show you how to write GitHub Actions workflows for a full CI/CD experience that automatically builds and releases your Xamarin.Forms, Xamarin.Android, Xamarin.iOS and UWP apps.\u003c/p\u003e\n\u003cdiv style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\n\t\t\t\u003ciframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https://www.youtube.com/embed/OJhg8rB5D90\u0026amp;t=3222?autoplay=0\u0026amp;controls=1\u0026amp;end=0\u0026amp;loop=0\u0026amp;mute=0\u0026amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"\u003e\u003c/iframe\u003e\n\t\t\u003c/div\u003e\n\n\u003cblockquote\u003e\n\u003cp\u003eMy session starts at \u003ccode\u003e53:22\u003c/code\u003e and I go until \u003ccode\u003e1:36:12\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e","date":"2020-11-04T00:00:00Z","permalink":"/en/blog/2020.11.04-devreach-2020/","tags":["AppCenter","DevOps","DevReach","Events","GitHub","GitHub Actions","tutorial","UWP","UWP DevOps","Workflows","Xamarin","Xamarin","Xamarin.Android","Xamarin.Forms"],"title":"DevReach 2020"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you\u0026rsquo;re running Home assistant in Hyper-V, you\u0026rsquo;ve probably encountered a \u003cem\u003esignificant\u003c/em\u003e limitation\u0026hellip; \u003cstrong\u003eHyper-V doesn\u0026rsquo;t let you pass-through a USB device\u003c/strong\u003e, so you can\u0026rsquo;t use your \u003ca href=\"https://www.home-assistant.io/docs/z-wave/controllers/#supported-z-wave-usb-sticks--hardware-modules\" target=\"_blank\" rel=\"noopener\"\u003eZ-Wave dongle\u003c/a\u003e\n or zigbee dongle.\u003c/p\u003e\n\u003cp\u003eSo why am I writing this blog post? I have found a way to make it work, feast your eyes on the following screenshot!\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"/en/blog/2020.10.23-usb-in-hyper-v/image.png\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003eClick to enlarge. Z-Wave USB dongle available to Home Assistant container inside Hyper-V\u003c/p\u003e\n\u003cp\u003eThe left side is Home Assistant\u0026rsquo;s frontend in the web browser, open to the \u003ca href=\"https://www.home-assistant.io/integrations/ozw/\" target=\"_blank\" rel=\"noopener\"\u003eOpen Z-Wave Add-On\u003c/a\u003e\n page. Notice in the yellow highlight, that is a Z-Wave USB dongle plugged into the Windows 10 machine.\u003c/p\u003e","date":"2020-10-23T00:00:00Z","permalink":"/en/blog/2020.10.23-usb-in-hyper-v/","tags":["Debian","debian buster","home assistant supervised","homeassistant","Hyper-V","OpenZWave","tools","Tools I Use","tutorial","usb","usb passthrough","windows10","Z-Wave"],"title":"USB Support for Home Assistant in Hyper-V"},{"author":null,"categories":null,"contents":"\u003cp\u003eThis post is a quick tutorial you can follow to get Home Assistant working on Hyper-V so you can take advantage of your PC\u0026rsquo;s compute power instead of running it on a Raspberry Pi. This installation method is really quick and doesn\u0026rsquo;t require any command line setup.\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e**Important**: If you want to use USB devices in Home Assistant, please this different tutorial -\u0026gt; [USB Support for Home Assistant on Hyper-V](https://www.dvlup.com/2020/10/23/usb-in-hyper-v/). The approach used in this article doesn\u0026#39;t allow for USB devices.\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"step-1---create-hyper-v-machine\"\u003eStep 1 - Create Hyper V Machine\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eDownload the \u003cstrong\u003eVHDX\u003c/strong\u003e file (hassos_ova-[version].vhdx.gz) from \u003ca href=\"https://github.com/home-assistant/operating-system/releases/\" target=\"_blank\" rel=\"noopener\"\u003ethe home-assistant GitHub Releases page\u003c/a\u003e\n.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eI recommend only using the latest non-beta release so you won\u0026rsquo;t have trouble with HA\u0026rsquo;s built-in updater. As of writing this, that is version 3.13:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cimg src=\"https://user-images.githubusercontent.com/3520532/82828657-92d9bd80-9e7f-11ea-98d6-ec0ab36983fb.png\" alt=\"image\"\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRight-click on the downloaded \u003ccode\u003e.gz\u003c/code\u003e file, select \u0026ldquo;Properties\u0026rdquo;, check the \u0026ldquo;Unblock\u0026rdquo; checkbox and click OK.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtract the \u003cstrong\u003e.vhdx\u003c/strong\u003e file from the\u003ccode\u003e.gz\u003c/code\u003e file (you can use \u003ca href=\"https://www.7-zip.org/download.html\" target=\"_blank\" rel=\"noopener\"\u003e7-Zip\u003c/a\u003e\n to do this). Don\u0026rsquo;t worry about where you extract it to, Hyper-V will make a copy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOpen \u003cstrong\u003eHyper-V Manager\u003c/strong\u003e app on Windows 10.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIn the right pane, select \u003cstrong\u003eQuick Create\u003c/strong\u003e (at the top right).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eChoose \u0026ldquo;\u003cstrong\u003eLocal Installation Source\u003c/strong\u003e\u0026rdquo; option for an OS and use the extracted \u003ccode\u003e.vhdx\u003c/code\u003e file.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cimg src=\"https://user-images.githubusercontent.com/3520532/82827423-0201e280-9e7d-11ea-8c6f-2f4d54ddce70.png\" alt=\"image\"\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eYou\u0026rsquo;ll be presented with the VM\u0026rsquo;s Settings window before starting it up. Here are some recommendations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn the \u003cstrong\u003eMemory\u003c/strong\u003e tab, set the RAM to at least 2048 MBs or higher and disable Dynamic Memory\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"https://user-images.githubusercontent.com/3520532/82827917-febb2680-9e7d-11ea-88ac-78f0f8324a4d.png\" alt=\"image\"\u003e\u003c/li\u003e\n\u003cli\u003eUnder the \u003cstrong\u003eSecurity\u003c/strong\u003e tab, make sure Secure Boot is disabled:\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"https://user-images.githubusercontent.com/3520532/74442771-15de8700-4e40-11ea-83a9-daf6b9708621.png\" alt=\"image\"\u003e\u003c/li\u003e\n\u003cli\u003eUnder the \u003cstrong\u003eAutomatic Stop Action\u003c/strong\u003e tab, change the setting to \u0026ldquo;Shut down the guest operating system\u0026rdquo;:\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"https://user-images.githubusercontent.com/3520532/82828346-d7b12480-9e7e-11ea-85f1-14ee9a94975d.png\" alt=\"image\"\u003e\u003c/li\u003e\n\u003cli\u003eFinally, select the \u003cstrong\u003eAutomatic Start Action\u003c/strong\u003e tab and set your preferred option:\u003c/li\u003e\n\u003cli\u003e\u003cimg src=\"https://user-images.githubusercontent.com/3520532/82829015-4a6ecf80-9e80-11ea-8fcf-6ea9a23fda4b.png\" alt=\"image\"\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStart the machine and wait for initial setup to complete and you see the \u003cem\u003eWelcome to HassOS\u003c/em\u003e prompt.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e","date":"2020-05-25T00:00:00Z","permalink":"/en/blog/2020.05.25-installing-home-assistant-on-hyper-v/","tags":["DYI","hassio","hassos","homeassistant","Hyper-V","tools","Tools I Use","tutorial","windows 10","windows10"],"title":"Installing Home Assistant on Hyper-V"},{"author":null,"categories":null,"contents":"\u003cp\u003eI have stopped by the \u003ca href=\"https://www.unraid.net/\" target=\"_blank\" rel=\"noopener\"\u003eUnraid website\u003c/a\u003e\n several times, longing for those the features on offer\u0026hellip; like Charlie looking into Willy Wonka\u0026rsquo;s front gates imagining the wonders that lay beyond.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://i.giphy.com/media/sDcfxFDozb3bO/giphy.webp\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003eHowever, I got scared off each time when I read the setup instructions and never took the next step to implement it. I wish I had done this sooner, it was really easy\u0026hellip; literally plug and play (with a couple button clicks to confirm I wanted to format the drive 😊).\u003c/p\u003e","date":"2020-04-26T00:00:00Z","permalink":"/en/blog/2020.04.26-migrate-to-unraid-from-openmediavault/","tags":["computer management","disk storage","linux","media management","omv","openmediavault","RAID","storage","Tools I Use","tutorial","unraid","VM"],"title":"Migrate to Unraid from openmediavault"},{"author":null,"categories":null,"contents":"\u003cp\u003eI hope that you\u0026rsquo;ve landed here before spending hours/days trying to find a solution as to why you can\u0026rsquo;t forward the Home Assistant port in Docker. The solution is frustratingly easy.\u003c/p\u003e\n\u003ch2 id=\"problem\"\u003eProblem\u003c/h2\u003e\n\u003cp\u003eThe \u003ca href=\"https://www.home-assistant.io/docs/installation/docker/#windows\" target=\"_blank\" rel=\"noopener\"\u003einstall Home Assistant in docker on Windows\u003c/a\u003e\n instructions are great, with one exception. It explains the required prerequisites to make sure docker has access to a host disk. However, those instructions have outdated instructions to setup the port-forward rules, which ultimately makes it a waste of time.\u003c/p\u003e","date":"2020-02-17T00:00:00Z","permalink":"/en/blog/2020.02.17-setting-up-home-assistant-in-docker-for-windows-with-port-forwarding-enabled/","tags":["docker","homeassistant","tools","Tools I Use","tutorial","windows10"],"title":"Setting up Home Assistant in Docker for Windows with Port Forwarding Enabled"},{"author":null,"categories":null,"contents":"\u003cp\u003e\u003cstrong\u003eMy cat uses the human toilet\u003c/strong\u003e. However, he doesn\u0026rsquo;t know how to flush when he\u0026rsquo;s done. So, I thought, \u0026ldquo;Why not train a custom trained machine learning model to know when to flush the toilet for him? That way, I can go on vacation without asking friends to stop by.\u0026rdquo;\u003c/p\u003e\n\u003cp\u003eThat single thought began my trip through some great modern developer tools and tech to build a full solution for the problem. In this post, I\u0026rsquo;ll walk you through everything and you can explore the code and parts list here \u003ca href=\"https://github.com/LanceMcCarthy/Flusher\" target=\"_blank\" rel=\"noopener\"\u003ehttps://github.com/LanceMcCarthy/Flusher\u003c/a\u003e\n.\u003c/p\u003e","date":"2020-02-13T00:00:00Z","permalink":"/en/blog/2020.02.13-using-windows-iot-signalr-azure-custom-vision-and-xamarin-forms-to-flush-a-toilet/","tags":["ASP.NET Core","Azure Custom Vision","Computer Vision","LUIS","SignalR","tutorial","UWP","Web API","windows iot","windows10","Xamarin","xamarin forms"],"title":"Using Windows IoT, SignalR, Azure Custom Vision and Xamarin Forms to Flush a Toilet"},{"author":null,"categories":null,"contents":"\u003cp\u003eYou know that little indicator in a chat that shows if someone is currently typing? I am working on a new post (coming soon, link will be here) that uses SignalR to communicate who is currently typing in a chat room along with the messages themselves.\u003c/p\u003e\n\u003cp\u003eTo determine who is typing, I use a timer and the \u003ccode\u003eTextChanged\u003c/code\u003e event. The timer logic itself is straightforward, in the \u003ccode\u003eTextChanged\u003c/code\u003e event starts a timer.\u003c/p\u003e","date":"2020-01-02T00:00:00Z","permalink":"/en/blog/2020.01.02-custom-typingstarted-and-typingended-events/","tags":["c#","Chat","Chat Room","Label","SignalR","TextBlock","tutorial","Xamarin","Xamarin","xamarin forms","xaml"],"title":"Custom TypingStarted and TypingEnded Events"},{"author":null,"categories":null,"contents":"\u003cp\u003eThere\u0026rsquo;s a new headache in town. If you run self-hosted Azure DevOps agent, or .NET Core project, on a Mac running Catalina (v 10.15+) and Microsoft Edge, you will have noticed a new behavior where the OS prevents the .NET assembly from working.\u003c/p\u003e\n\u003cp\u003eThis is because it has been marked with a \u0026ldquo;quarantine\u0026rdquo; file attribute when it was downloaded with the browser. It\u0026rsquo;s a security measure that I\u0026rsquo;m familiar with on Windows. I would typically remove this attribute by right clicking on the file, select \u0026ldquo;Properties\u0026rdquo;, then check \u0026ldquo;Unblock\u0026rdquo;:\u003c/p\u003e","date":"2019-10-31T00:00:00Z","permalink":"/en/blog/2019.10.31-unblocking-net-dlls-on-mac-catalina/","tags":[".NET","dotnet","MacOS","tutorial"],"title":"Unblocking .NET DLLs on Mac Catalina"},{"author":null,"categories":null,"contents":"\u003cp\u003ePreface - This is not Microsoft-provided information, just my guess after digging around the Microsoft.UI.Xaml source code after a conversation on Twitter. This is not coming from any MVP-NDA or other NDA source. I will update this post when official information becomes available.\u003c/p\u003e\n\u003cp\u003eThere is suspiciously missing control from the XAML Gallery app - \u003cstrong\u003eTwoPaneView\u003c/strong\u003e. It\u0026rsquo;s in the WinUI 2.2 release, but there\u0026rsquo;s no documentation, guidance or examples of it being used (yet). The only thing you\u0026rsquo;ll find is the API reference, which is automatically generated during the build process.\u003c/p\u003e","date":"2019-10-03T00:00:00Z","permalink":"/en/blog/2019.10.03-preparing-apps-for-windows-x-and-surface-duo-or-neo-devices/","tags":["android","Surface","tutorial","windows10","Xamarin"],"title":"Preparing apps for Windows X and Surface Duo or Neo Devices."},{"author":null,"categories":null,"contents":"\u003cp\u003e[Update May 2020] This has been fixed in the 19041 SDK. Install the 19041 SDK, set your project\u0026rsquo;s Target SDK to 19041 and finally Rebuild the project/solution**.**\u003c/p\u003e\n\u003cp\u003eOne of the more frustrating things for me is not being able to debug a problem. After updating my UWP app\u0026rsquo;s Target SDK to 18362 (Windows 10 1903), I was no longer able to compile. I got a very vague error. that I had to dig out of the msbuild logs:\u003c/p\u003e","date":"2019-08-07T00:00:00Z","permalink":"/en/blog/2019.08.07-postmortem-child-node-2-compilation-error-after-updating-to-18362-sdk/","tags":["18362","18362 SDK","Child node \u0026quot;2\u0026quot;","Compilation Error","Compile Error","MSBuild","SDK18362","tutorial","UWP","UWP Error","visual studio","Visual Studio 2019","XAML Error"],"title":"Postmortem - Child node \"2\" compilation error after updating to 18362 SDK"},{"author":null,"categories":null,"contents":"\u003cp\u003eIn this tutorial, I\u0026rsquo;ll show you how to draw your own pie chart just using lines and a list of data items. The code itself is in C#, but the concept can be used on any platform that has a drawing library and ArcSegments.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"/en/blog/2019.04.18-draw-your-own-pie-chart-dynamically/2019-04-18_13-44-40.png\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003eYou can view the entire solution in \u003ca href=\"https://gist.github.com/LanceMcCarthy/b64ee5afdd27b125b8b47816799306e0\" target=\"_blank\" rel=\"noopener\"\u003ethis GitHub Gist\u003c/a\u003e\n. Okay, let\u0026rsquo;s get started!\u003c/p\u003e\n\u003ch2 id=\"setting-up\"\u003eSetting Up\u003c/h2\u003e\n\u003cp\u003eThe first thing you\u0026rsquo;ll need to understand is how the platform\u0026rsquo;s drawing library makes arcs. In this code, I\u0026rsquo;ll be using \u003ca href=\"https://docs.telerik.com/devtools/xamarin/controls/path/path-overview\" target=\"_blank\" rel=\"noopener\"\u003eRadPath\u003c/a\u003e\n from \u003ca href=\"https://www.telerik.com/xamarin-ui\" target=\"_blank\" rel=\"noopener\"\u003eTelerik UI for Xamarin\u003c/a\u003e\n most libraries work the same way. RadPath lets you use a custom Geometry which has \u003ca href=\"https://docs.telerik.com/devtools/xamarin/controls/path/getting-started/geometry-structure#radarcsegment\" target=\"_blank\" rel=\"noopener\"\u003eRadArcSegment\u003c/a\u003e\n  object, which has helpful \u003cstrong\u003eStartAngle\u003c/strong\u003e and \u003cstrong\u003eSweepAngle\u003c/strong\u003e properties.\u003c/p\u003e","date":"2019-04-18T00:00:00Z","permalink":"/en/blog/2019.04.18-draw-your-own-pie-chart-dynamically/","tags":["android","c#","custom control","drawing","iOS","tutorial","UI","UWP","windows","windows10","Xamarin","Xamarin","xamarin forms"],"title":"Draw Your Own Xamarin Pie Chart dynamically"},{"author":null,"categories":null,"contents":"\u003cp\u003eThere are many scenarios where a UI component might not have a Command or bindable property available for certain features that you need to access from the view model. There is a simple, but powerful, thing you can do to allow this and not break MVVM or testing capability, leverage the Interface.\u003c/p\u003e\n\u003ch2 id=\"scenario\"\u003eScenario\u003c/h2\u003e\n\u003cp\u003eLet\u0026rsquo;s imagine the scenario where we have a special ListView control that has a \u003cstrong\u003eHighlightItem\u003c/strong\u003e method that can only be called with a direct reference to that control. There isn\u0026rsquo;t a Command or DependencyProperty (aka BindableProperty in Xamarin.Forms) alternative, so it has to be done in the code behind.\u003c/p\u003e","date":"2019-04-16T00:00:00Z","permalink":"/en/blog/2019.04.16-talk-to-the-view/","tags":[".NET","c#","MVVM","tutorial","UWP","ViewModel","Xamarin.Forms","xaml"],"title":"Talk to the View"},{"author":null,"categories":null,"contents":"\u003cp\u003e\u003cimg src=\"/en/blog/2019.01.04-using-powershell-to-installing-msi-in-a-devops-build/image-4.png\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003eI have \u003ca href=\"https://github.com/LanceMcCarthy/MvpApi\" target=\"_blank\" rel=\"noopener\"\u003ean open source UWP project\u003c/a\u003e\n that relies on the Ad SDK and Engagement SDK to be installed to Visual Studio. This normally isn\u0026rsquo;t a problem, because you can just run the MSI on your PC (see installation instructions \u003ca href=\"https://docs.microsoft.com/en-us/windows/uwp/monetize/microsoft-store-services-sdk\" target=\"_blank\" rel=\"noopener\"\u003ehere\u003c/a\u003e\n and \u003ca href=\"https://docs.microsoft.com/en-us/windows/uwp/monetize/install-the-microsoft-advertising-libraries\" target=\"_blank\" rel=\"noopener\"\u003ehere\u003c/a\u003e\n).\u003c/p\u003e\n\u003cp\u003eI decided to move the project into DevOps so that I get some of that CI/CD goodness to build and publish new releases automatically to the Microsoft Store. However, there was a problem, when trying to build the project in a DevOps build pipeline, you\u0026rsquo;ll get the following error:\u003c/p\u003e","date":"2019-01-04T00:00:00Z","permalink":"/en/blog/2019.01.04-using-powershell-to-installing-msi-in-a-devops-build/","tags":["Ad SDK","Azure","Build Server","DevOps","Engagement SDK","Pipelines","PowerShell","tutorial","tutorial","UWP","UWP. DevOps","VSTS","windows 10"],"title":"Using PowerShell to Install an SDK in a DevOps Build Pipeline"},{"author":null,"categories":null,"contents":"\u003cp\u003eAlmost every developer I speak with agrees that getting a nicely working OAuth flow can be difficult. After much trial and error, I\u0026rsquo;ve built a UWP \u003ca href=\"https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.ContentDialog\" target=\"_blank\" rel=\"noopener\"\u003eContentDialog\u003c/a\u003e\n that makes this easy and has built-in refresh token support.\u003c/p\u003e\n\u003ch2 id=\"using-the-logindialog\"\u003eUsing the LoginDialog\u003c/h2\u003e\n\u003cp\u003eThis is very simple to use, when the app launches, instantiate the dialog by passing your Live SDK ClientID and let the LoginDialog do the heavy lifting:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-csharp\" data-lang=\"csharp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#6272a4\"\u003e// Pass your app\u0026#39;s OAuth ClientId (sometimes called an AppId)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#8be9fd\"\u003evar\u003c/span\u003e loginDialog = \u003cspan style=\"color:#ff79c6\"\u003enew\u003c/span\u003e LoginDialog(\u003cspan style=\"color:#f1fa8c\"\u003e\u0026#34;YourAppClientId\u0026#34;\u003c/span\u003e);\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#6272a4\"\u003e// *** Perform login **** //\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#6272a4\"\u003e// Case 1 - If the user was previously signed in, there is a refresh_token stored and no user-entered credentials are needed.\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#6272a4\"\u003e// Case 2 - If the access token fails, or if it\u0026#39;s the first sign-in, the user will see a popup to enter credentials.\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#ff79c6\"\u003eawait\u003c/span\u003e loginDialog.SignInAsync();\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#ff79c6\"\u003eif\u003c/span\u003e(!\u003cspan style=\"color:#8be9fd\"\u003estring\u003c/span\u003e.IsNullOrEmpty(loginDialog.Authentication))\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e{\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#6272a4\"\u003e// This will be the access token you can use for API calls.\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#8be9fd\"\u003evar\u003c/span\u003e accessToken = loginDialog.Authentication;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#6272a4\"\u003e// Make your API calls with the accessToken, for example:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#8be9fd\"\u003evar\u003c/span\u003e user = \u003cspan style=\"color:#ff79c6\"\u003eawait\u003c/span\u003e apiService.GetUserProfileAsync(accessToken);\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e}\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eThis works just like a MessageDialog, but instead will show a WebView for the user to sign in, or automatically sign them in silently if they were previously logged in.\u003c/p\u003e","date":"2018-12-06T00:00:00Z","permalink":"/en/blog/2018.12.06-logindialog-for-easy-live-sdk-oauth/","tags":["Authentication","ContentDialog","OAuth","tutorial","UWP","windows 10","windows10"],"title":"LoginDialog for easy Live SDK OAuth"},{"author":null,"categories":null,"contents":"\u003cp\u003eMy friends at Microsoft have put together an amazing compilation of resources of all the new stuff available in the Windows 10 October 2018 Update (aka RS5). Below is a list of some of those resources relevant to developers and enthusiasts, enjoy!\u003c/p\u003e\n\u003ch2 id=\"sdk-downloads\"\u003eSDK Downloads\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEXE -  \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkID%3D2023014\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7Cf712adbdbc96472b3cdb08d628ab863a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741114525989667\u0026amp;sdata=kom4ugWrudzfJDtFao%2FLQZoTEkkCgXUd4oSre4Ot7SI%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003ehttp://go.microsoft.com/fwlink/?LinkID=2023014\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eISO - \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkID%3D2022797\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7Cf712adbdbc96472b3cdb08d628ab863a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741114525989667\u0026amp;sdata=rg%2BzQxzGfn8jl1U3RfGpA0QnGwdgAzUDnAvKEo4Ugl0%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003ehttp://go.microsoft.com/fwlink/?LinkID=2022797\u003c/a\u003e\nYou can also install the\u003c/li\u003e\n\u003cli\u003eVisual Studio Installer - Choose the UWP workload and select 17763 SDK under additional components\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"new-samples-and-sample-updates\"\u003eNew Samples and Sample Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindows-appsample-Xaml-Hosting\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=zYP2LKGrSA8F7%2F80aHpP7b7Xjfus9gUc2XxLZCkpq0Q%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eXAML Hosting API Sample\u003c/a\u003e\n uses the new XAML hosting API and C++/WinRT to demonstrate usage of XAML controls within a Win32 application.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindows-appsample-customers-orders-database\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=0sHa9VAeC3lYgaE8%2B8wUDzV8mGhxm9chfqfw9KlBfFs%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eCustomer Orders Database Sample\u003c/a\u003e\n has been updated to use the new Data Grid and other new controls in RS5.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindows-appsample-photo-editor\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=3Z%2FiexJ5pXIlgwSWmLegqh%2B5FqCtDwIbEDoWMzy1Yh4%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003ePhoto Editor C++/WinRT Sample\u003c/a\u003e\n has been updated to build with the RS5 SDK and to use the new single_threaded_observable_vector function to create an IObservableVector for data binding. An additional performance update will be coming out in a couple weeks.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fdata-binding%2Fdata-binding-and-mvvm\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=mHChhGRskDLw%2FJt%2FPHV4iPY3onsDx5GQIR1NuGXsM3Q%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eData binding and MVVM\u003c/a\u003e\n is a new topic that was identified as a need based on the Code First program. The topic describes the benefits of using the MVVM design pattern and how it has been applied to the sample apps.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"videos\"\u003eVideos\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DAgngKzq4hKI%26feature%3Dyoutu.be\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=uLi62ajmLZwT2Ogjn5P3Tgq0txhbGBAnfJPflngcQos%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eCreate and customize a form on Windows 10\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D5C_uD8g2QKg%26feature%3Dyoutu.be\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=Euhd2Oycn5eHrLm7l%2BRsnTpB5aqTpmRFSHWKPFhXN7M%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eEnhance your Bot with Personality Chat\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DfVQZ-YgwNpY%26feature%3Dyoutu.be\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=TsQKjizeZ5qv3Lq8ezRgOshFVhvIqSiGD%2FTsqsoKtxc%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eXbox live Unity plugin\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLWs4_NfqMtoxjy3LrIdf2oamq1coolpZ7\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=7TdjcspuzA8mmSQHcQGn4ieUIHtQno8pjSqfyZCkAd8%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eOne Dev Question w/Raymond Chen\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLWs4_NfqMtoyPUkYGpJU0RzvY6PBSEA4K\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=BQuGfHuBwVOt9o7onN5pSHimgpRhk7tygh88NPOnX0w%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eOne Dev Question w/Larry Osterman\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLWs4_NfqMtoyPHoI-CIB71mEq-om6m35I\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=RFAntfw0KI8pQXRzHzBdWoL4RbBIr%2Bd%2F6JLxIraSl8s%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eOne Dev Question w/Aaron Gustafson\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLWs4_NfqMtow00LM-vgyECAlMDxx84Q2v\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=fVMj%2Bt3ENS0fDnsVKEfDT%2BaV%2FnvFKdefRI2sdaVwrI8%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eOne Dev Question w/Chris Heilmann\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"application-developer-resources\"\u003eApplication Developer Resources\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDev Center site page updates (\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fwindows\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217490521\u0026amp;sdata=sB0njwbD0LSITvZci27AJJgsUXc4v4URrnvC2K%2B5tYI%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eHome page\u003c/a\u003e\n, \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fwindows%2Fget-started-windows-10\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217490521\u0026amp;sdata=UX6sgEzyFFHoZNq2E3Uh06i0YkK8IpQuEArDP39uXHw%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eGet started\u003c/a\u003e\n, \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fwindows%2Fwindows-10-for-developers\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217564250\u0026amp;sdata=mq0fUIRUuiJpkGI64UJfqNa2pzdxFEU8V6%2Bod15z13k%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWhat’s cool\u003c/a\u003e\n, \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fwindows%2Fdesktop\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217574268\u0026amp;sdata=Jt2kM9j9X5Xa%2BI4WO3t3nSOwbJi3OAljdjQUs%2BdSsyg%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eDesktop\u003c/a\u003e\n, \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fwindows%2Fdownloads\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217584269\u0026amp;sdata=CjGPkw7gV%2BS6dvs4XngCO5dRM6CuZjt71QrKAjrISGc%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eDownloads\u003c/a\u003e\n, and more)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fwhats-new%2Fwindows-10-build-17763\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217584269\u0026amp;sdata=448DxujCrz5Iu%2FP9lo8xGmOXwej51vEwWqukUXe1E0I%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWhat\u0026rsquo;s New in Windows 10 for developers, build 17763\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fwhats-new%2Fwindows-10-build-17763-api-diff\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217594283\u0026amp;sdata=iGo9FwEnCWJBmP4O463rAvDkniwVBGgY8WIfOwje2J0%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eNew APIs in Windows 10 build 17763\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eFluent Design controls (\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fdesign%2Fcontrols-and-patterns%2Fcommand-bar-flyout\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217604287\u0026amp;sdata=NtRYFD6hXDdaGdzpYnPR3Ur9%2F0WjXmc5mVUtrbHlNrc%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eCommandBarFlyout\u003c/a\u003e\n, \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fdesign%2Fcontrols-and-patterns%2Fmenus\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217604287\u0026amp;sdata=aHR6x%2BjzcJJIMT5jfPgvmVUdKyPmuVMnYWGqlsFoofQ%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eMenuBar\u003c/a\u003e\n, \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fdesign%2Fcontrols-and-patterns%2Ftree-view\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217614297\u0026amp;sdata=FAgUsKk690ixtbjR58X0TQDRBg%2FX7edFB7z4pq%2B5Wuk%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eTreeView\u003c/a\u003e\n, and more)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fdesign%2Fmotion%2Findex\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217624302\u0026amp;sdata=oV6N%2FCxKP7fBn0PAIWahrtz2sGxsD7e%2BR%2BFru0S5Y9g%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eMotion in Fluent Design\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fdesign%2Finput%2Fgaze-interactions\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217624302\u0026amp;sdata=0pLamd9ePWg9c4gxvJa%2B54B5ainKTyo9cbe6D5%2B%2Bgok%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eGaze input and interactions\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fuwp%2Ftoolkits%2Fwinui%2F\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217634311\u0026amp;sdata=hG%2B%2FfS4HGZeO%2B06dT9%2Bb%2FiuqIcWven0EZH3TuklB%2B44%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWindows UI Library (WinUI)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fmsix%2Foverview\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217644316\u0026amp;sdata=oyRcigYue1ny5KnvTBBkHvCuoGWMHJlhLoVOcrmzQM8%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eMSIX\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fxaml-platform%2Fxaml-host-controls\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217644316\u0026amp;sdata=tSBdNM6fbZypsr9sBTVC2jPQlFxl8QMIjv%2BH3DnNjdo%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eUWP Controls in desktop applications\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fcpp-and-winrt-apis%2Findex\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217654321\u0026amp;sdata=Iynzw%2BTzfuNChReUIJEjimCnrf%2FIkadsTyfh74C761g%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eC++/WinRT\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fdesktop%2Fdirect3ddxgi%2Ffor-best-performance--use-dxgi-flip-model\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217664326\u0026amp;sdata=X%2FUbBnUag81eWhCkghVBWVnUdOcgVcLSXALYs9yismg%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eDirectX Graphics Infrastructure (DXGI)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fproject-rome%2F\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217664326\u0026amp;sdata=qh6KYwBojd48w2UJ9VrZ6v3eSJfHdJqSSbDIbCnd9zg%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eProject Rome\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fai%2F\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217674335\u0026amp;sdata=fiyYvZACHLELIH2yBRrf5iabsJf2aXlawBYzHLuHEsk%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWindows Machine Learning\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fmonetize%2Faccess-analytics-data-using-windows-store-services\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217684344\u0026amp;sdata=KpPCdbfLU1GLlE5P%2FwbmY9BwGFfGLUle0Sr2Tz%2FOF2M%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eStore Analytics API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://aka.ms/devguide_edgehtml_18\" target=\"_blank\" rel=\"noopener\"\u003eEdgeHTML 18\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoft-edge%2Fprogressive-web-apps\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217684344\u0026amp;sdata=PrzZCOyA57xow5EpJCt%2Fyghteb5WRa7q5%2B65I0AmdSM%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eProgressive Web Apps\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoft-edge%2Fwebvr%2F\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C2a52d708e4364c0d78b608d62938c810%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741721217694349\u0026amp;sdata=GpTd7%2BkaomR72cTg%2B6K%2BJefWDlE3v04qAflg1CwzUIY%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWebVR\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"driver-developer-resources\"\u003eDriver Developer Resources\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23windows-hardware-dev-center-dashboard\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138721853147\u0026amp;sdata=jVZtJwSc7RM1Ptpx3vk7uxmJ7CplFiE41W4APqnrMq4%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWindows Hardware Dashboard\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23debugging-tools-for-windows\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138721853147\u0026amp;sdata=L2OINoEX1feU30Se9LnOXcIroNS%2FYE%2BdHyNprbhHvDA%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eDebugger Data Model API\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23windows-driver-frameworks-wdf\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138721853147\u0026amp;sdata=gSV%2BYCSDX5OEdNwZhi20xvhMdNrF%2FXTV8%2BkdfCojMiU%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWindows Driver Framework (WDF)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23audio-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138721853147\u0026amp;sdata=nReOyWk947B%2BC0KeqpAMb5AeIeICfsefyahVlw9HmX4%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eAudio\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23bluetooth-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138721853147\u0026amp;sdata=V%2Fnin2JOEVcZ%2BuYnwKHQeUK3YYBZ93F6U5fRZIiQAwA%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eBluetooth\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23display-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722009392\u0026amp;sdata=5QygAXw723TeiB2dUtl%2Fg2pKSJVFDKJLUDonrQAnbLk%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eDisplay\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23kernel-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722009392\u0026amp;sdata=EVCWNeHIYhWUiuI0lK1Fz6WxoYo%2FUoidXxJno%2BoZUmk%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWindows Kernel\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23networking-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722009392\u0026amp;sdata=8BfpgwKjcSdwoUgEW8Hblb4OkWHAPAdvYs%2B9ll5oFyM%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eNetworking\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23mobilebroadband-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722009392\u0026amp;sdata=6CBTIBSelWWvHUimND5Oh%2Bg2qL1L3zw0TvyNeCeeTDE%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eMobile Broadband\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23sensors-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722009392\u0026amp;sdata=3qXZ6l4ZFuN3LX%2BBuYJzn9b5fcviP5tjMFVs6WrTPuo%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eSensors\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23usb-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722009392\u0026amp;sdata=tgZPQrG2bU1nXYCfZRHH1ziwzN28%2FENKkkt%2B%2B7kDmzg%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eUSB\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%23wifi-1809\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138722165650\u0026amp;sdata=nuEeqq9WirC7sysyK97B3S5Nblu8hwwNxPWbKcImeII%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003eWi-fi\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003eGo \u003ca href=\"https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.docs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Fwhat-s-new-in-driver-development%3Fbranch%3Dmaster\u0026amp;data=02%7C01%7CMatthijs.Hoekstra%40microsoft.com%7C330185751f54470692d108d628b11ad3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636741138721853147\u0026amp;sdata=xQCbmPX047SH%2FwRFMfjo4s%2F9Hqk7n7S%2BBLezGPHKUPI%3D\u0026amp;reserved=0\" target=\"_blank\" rel=\"noopener\"\u003ehere\u003c/a\u003e\n to see a list of comprehensive list of doc changes.\u003c/li\u003e\n\u003c/ul\u003e","date":"2018-10-03T00:00:00Z","permalink":"/en/blog/2018.10.03-the-rs5-update-resources-and-tutorials/","tags":["resources","resources","RS5","sdk","universal app development","UWP","windows 10","Windows 10 Update","windows10"],"title":"The RS5 Update Resources and Tutorials"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you\u0026rsquo;re in the process of updating a Xamarin.Forms app to a more modern style project set up (NET Standard 2.0, PackageReference, etc), you may get the following error.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eError XF001: Xamarin.Forms targets have been imported multiple times. Please check your project file and remove the duplicate import(s).\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis can be because of the move to using PackageReference for your NuGet packages and a simple fix awaits you.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eClose Visual Studio and navigate to the Solution in File Explorer\u003c/li\u003e\n\u003cli\u003eDelete the hidden \u003cstrong\u003e.vs\u003c/strong\u003e folder\u003c/li\u003e\n\u003cli\u003eGo into each affected project sub folder and delete the following files; \u003cstrong\u003eproject_name.nuget.props\u003c/strong\u003e and \u003cstrong\u003eproject_name.nuget.targets\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eOpen the solution in Visual Studio, do a Clean and Rebuild, \u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e \u003c/p\u003e","date":"2018-10-01T00:00:00Z","permalink":"/en/blog/2018.10.01-error-xf001-xamarin-forms-targets-have-been-imported-multiple-times/","tags":["tutorial","visual studio","Xamarin","xamarin forms"],"title":"Error XF001: Xamarin.Forms targets have been imported multiple times"},{"author":null,"categories":null,"contents":"\u003cp\u003eThis post will walk you through setting up a \u003ca href=\"https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/effects/introduction\" target=\"_blank\" rel=\"noopener\"\u003eXamarin Platform Effect\u003c/a\u003e\n and show you how to wire up an event handler so you can leverage native APIs in the case that the Xamarin.Forms wrapper doesn\u0026rsquo;t yet have. For this example, I\u0026rsquo;ll use the Telerik UI for Xamarin RadCalendar.\u003c/p\u003e\n\u003cp\u003etl;dr \u003cem\u003eFull source code on GitHub \u003ca href=\"https://github.com/LanceMcCarthy/CustomXamarinDemos/tree/master/RangeSelectionTest\" target=\"_blank\" rel=\"noopener\"\u003ehere\u003c/a\u003e\n.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eI get frequently asked how to enable RangeSelection (aka Multiple Selection) for the RadCalendar. The native platform calendar controls all have Range Selection available, so we only need to create a  Platform Effect to access that native feature.\u003c/p\u003e","date":"2018-07-17T00:00:00Z","permalink":"/en/blog/2018.07.17-custom-events-and-xamarin-forms-effect/","tags":["tutorial","windows10","Xamarin"],"title":"Custom Events and Xamarin.Forms Effect"},{"author":null,"categories":null,"contents":"\u003cp\u003eThis website address is \u003ca href=\"https://dvlup.com\" target=\"_blank\" rel=\"noopener\"\u003ehttps://dvlup.com\u003c/a\u003e\n, the complete source code can be found at \u003ca href=\"https://github.com/LanceMcCarthy/dvlup-blog\" target=\"_blank\" rel=\"noopener\"\u003ehttps://github.com/LanceMcCarthy/dvlup-blog\u003c/a\u003e\n. It is generated by \u003ca href=\"https://gohugo.io/\" target=\"_blank\" rel=\"noopener\"\u003eHugo\u003c/a\u003e\n, which is a static site generator, there is no server-side processing or interaction. We do not collect, store, use, or process any visitor data.\u003c/p\u003e\n\u003ch3 id=\"embedded-content-from-other-websites\"\u003eEmbedded content from other websites\u003c/h3\u003e\n\u003cp\u003eEven static websites can integrate with external services, articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.\u003c/p\u003e","date":"2018-05-20T00:00:00Z","permalink":"/en/page/privacy-policy/","tags":null,"title":"Privacy Policy"},{"author":null,"categories":null,"contents":"\u003cp\u003eYour one-stop shop for Microsoft Build 2018 sessions, slide decks, post links, keynotes and much more.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/windows-ml--uwp-app-developer?playlist=5122af4c-63c2-4970-a4af-f5d006357a5b\" target=\"_blank\" rel=\"noopener\"\u003eAI, Windows ML and Cognitive Services\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/msix-inside-and-out-pptx?playlist=80d147e8-f3b0-4ca0-a96f-cfc8e80bec20\" target=\"_blank\" rel=\"noopener\"\u003eDesktop - Windows Store (UWP, Win32 and IoT)\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/building-web-api-solutions-with-authentication?playlist=d41c5eba-2ea9-4200-be07-62099c3c89ff\" target=\"_blank\" rel=\"noopener\"\u003eASP.NET, PWA and Web\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/free-ebook--developers-guide-to-microsoft-azure?playlist=0b7ba19f-91fa-42aa-be2f-87c0613fde9d\" target=\"_blank\" rel=\"noopener\"\u003eAzure and Cloud Services\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/achieving-scale-with-hololens-and-bim?playlist=f0e2f1d8-49cd-4f66-9cf0-d49f0a35c61f\" target=\"_blank\" rel=\"noopener\"\u003eHololens and Mixed Reality\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/multi-sense-multi-device-world?playlist=fea8e802-aae4-4e11-89a0-00b61869ef23\" target=\"_blank\" rel=\"noopener\"\u003eMicrosoft Graph and Microsoft 365\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/build-xamarin-solutions-with-authentication?playlist=42f17792-3441-4502-a95f-21e115f1c717\" target=\"_blank\" rel=\"noopener\"\u003eXamarin\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/keynote-microsoft-365-app-development?playlist=ee7be727-1f8c-47ba-b1d9-3ae99eff9e3f\" target=\"_blank\" rel=\"noopener\"\u003eKeynotes and other key presentations\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://developer.microsoft.com/en-us/events/build/content/windows-subsystem-for-linux?playlist=5440cdfa-f151-43d8-8f74-9f23cbcd35ce\" target=\"_blank\" rel=\"noopener\"\u003eWindows Features\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLiving Document Note:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThese Playlists will continue to be reordered and updated in real time as new content becomes available. However, the links will always remain the same and you can refresh the playlist page to get any updated ordering/content.\u003c/p\u003e","date":"2018-05-09T00:00:00Z","permalink":"/en/blog/2018.05.09-epic-2018-playlists/","tags":["AI","ASP.NET","Azure","build 2018","Cognitive services","microsoft 365","microsoft build","microsoft build 2018","microsoft graph","mixed reality","MixedReality","PWA","resources","tutorial","UWP","Web","Win32","Windows ML","windows10","Xamarin"],"title":"Epic Build 2018 Playlists"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you\u0026rsquo;re a Xamarin Forms developer, you\u0026rsquo;ve likely used \u003ca href=\"https://github.com/dsplaisted/PCLStorage\" target=\"_blank\" rel=\"noopener\"\u003ePCLStorage\u003c/a\u003e\n (or other Dependency Service) to interact with the target platform\u0026rsquo;s file system in the portable class library\u0026rsquo;s code. However, since November 2017, Xamarin.Forms now uses a .NET Standard 2.0 class library and PCLStorage is no longer supported.\u003c/p\u003e\n\u003ch2 id=\"systemiofile\"\u003eSystem.IO.File\u003c/h2\u003e\n\u003cp\u003eThis isn\u0026rsquo;t a problem because in .NET Core 2.0 you now have access to System.IO.File\u0026rsquo;s GetFolderPath and SpecialFolder methods (see \u003ca href=\"https://docs.microsoft.com/en-us/dotnet/api/system.io.file?view=netcore-2.0\" target=\"_blank\" rel=\"noopener\"\u003eSystem.IO.File in .NET Core 2.0 docs\u003c/a\u003e\n).\u003c/p\u003e","date":"2018-04-19T00:00:00Z","permalink":"/en/blog/2018.04.19-migrating-from-pclstorage-to-net-standard-2-0/","tags":[".NET Standard 2.0","c#","cross platform","file IO","tutorial","windows10","Xamarin","xamarin forms"],"title":"Migrating from PCLStorage to .NET Standard 2.0"},{"author":null,"categories":null,"contents":"\u003cp\u003e[EDIT Updated to include ARM64]\u003c/p\u003e\n\u003cp\u003eI was given the honor of having early access to \u003cstrong\u003e\u003ca href=\"https://docs.microsoft.com/en-us/windows/uwp/porting/apps-on-arm\" target=\"_blank\" rel=\"noopener\"\u003eWindows 10 on ARM\u003c/a\u003e\n\u003c/strong\u003e (WoA) so that I could chronicle the experience and provide you with tips to ensure that your development experience is smooth. I\u0026rsquo;ll go through a list of potential issues you might encounter, along my fix for each.\u003c/p\u003e\n\u003ch3 id=\"what-this-post-is\"\u003eWhat this post is:\u003c/h3\u003e\n\u003cp\u003eThis article is intended to be a quick guide on how to set up the device so that you can deploy and debug your apps. I will be writing this from a UWP developer\u0026rsquo;s perspective, sharing the experience of deploying and debugging \u003ca href=\"https://github.com/LanceMcCarthy/WoA_Tests\" target=\"_blank\" rel=\"noopener\"\u003ethis real time video effects test app\u003c/a\u003e\n.\u003c/p\u003e","date":"2018-03-08T00:00:00Z","permalink":"/en/blog/2018.03.08-windows-10-on-arm-day-one-developer-experience/","tags":["resources","tutorial","windows10"],"title":"Windows 10 on ARM: Day-One Developer Experience"},{"author":null,"categories":null,"contents":"\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://www.telerik.com/xamarin-ui\" target=\"_blank\" rel=\"noopener\"\u003eTelerik UI for Xamarin\u003c/a\u003e\n\u003c/strong\u003e comes with two themes out of the box, Default and Blue. You can easily style individual items, but you can also define an entire theme at once in a separate ResourceDictionary.\u003c/p\u003e\n\u003cp\u003eWith this approach you can swap out ResourceDictionaries at runtime for a nice user-selected theme feature in your app\u0026rsquo;s settings. Let me walk you through a very simple demo to illustrate the approach.\u003c/p\u003e\n\u003ch3 id=\"step-1-create-your-custom-themes-resourcedictionary\"\u003eStep 1. Create your custom theme\u0026rsquo;s ResourceDictionary\u003c/h3\u003e\n\u003cp\u003eXamarin.Forms doesn\u0026rsquo;t have a good ResourceDictionary template, so start with a \u003cstrong\u003eContent Page\u003c/strong\u003e (XAML) template and then change the ContentPage type to \u0026ldquo;ResourceDictionary\u0026rdquo; in both the XAML and code-behind.\u003c/p\u003e","date":"2018-02-19T00:00:00Z","permalink":"/en/blog/2018.02.19-custom-themes-in-ui-for-xamarin/","tags":["tutorial","Xamarin"],"title":"Custom Themes in UI for Xamarin"},{"author":null,"categories":null,"contents":"\u003cp\u003eMicrosoft has opened up the ability to have a 3D app launcher to all developers in the Fall Creator\u0026rsquo;s Update. In this blog post, I\u0026rsquo;m going to show you how to build your own 3D app launcher from scratch (accompanying YouTube tutorial video embedded below).\u003c/p\u003e\n\u003cp\u003eWhat is a 3D app launcher?\u003c/p\u003e\n\u003ch2 id=\"app-launchers\"\u003eApp Launchers\u003c/h2\u003e\n\u003cp\u003eUp until now, you\u0026rsquo;ve only been able to have a regular 2D tile in the Start menu and the user could place a 2D frame of your app on a surface in the Cliff House (the Mixed Reality home) or on a surface in your HoloLens mapped area. Clicking the app frame would launch the app in the same frame.\u003c/p\u003e","date":"2017-09-06T00:00:00Z","permalink":"/en/blog/2017.09.06-creating-3d-icons-for-your-mixed-reality-uwp-app/","tags":["hololens","mixed reality","MixedReality","Tools I Use","tutorial","windows 10","Windows Holographic","windows10"],"title":"Creating 3D Icons for your Mixed Reality UWP app"},{"author":null,"categories":null,"contents":"\u003cp\u003eDid you just get a new Mixed Reality headset? Were you so excited that you ripped open the box and plugged it in only to to find that after setting up  your floor and boundaries that you got the following error:\u003c/p\u003e\n\u003ch3 id=\"cannot-download-windows-mixed-reality-software\"\u003e\u003cstrong\u003eCannot download Windows Mixed Reality software\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003eScreeching halt!\u003c/p\u003e\n\u003cp\u003eI spent a lot of time digging around the Hololens forums and long conversations on the Holodevelopers Slack and it seemed there was a wide variety of reason for this. However, after looking at my Developer Mode settings page (in Windows Settings), there was an incomplete dev package installation.\u003c/p\u003e","date":"2017-08-03T00:00:00Z","permalink":"/en/blog/2017.08.03-cannot-download-windows-mixed-reality-software-error-fix/","tags":["HMD","HP","mixed reality","MixedReality","tutorial","windows 10","Windows Holographic","windows10"],"title":"\"Cannot download Windows Mixed Reality software\" error fix!"},{"author":null,"categories":null,"contents":"\u003cp\u003eThe upcoming Windows 10 update, the Fall Creator\u0026rsquo;s Update, introduces a new design system, \u003ca href=\"http://fluent.microsoft.com/\" target=\"_blank\" rel=\"noopener\"\u003eMicrosoft Fluent Design System\u003c/a\u003e\n. The design system has 5 major building blocks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLight\u003c/li\u003e\n\u003cli\u003eDepth\u003c/li\u003e\n\u003cli\u003eMotion\u003c/li\u003e\n\u003cli\u003eMaterial\u003c/li\u003e\n\u003cli\u003eScale\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can use any of these in a multitude of ways, however Microsoft has made it very easy to use in the latest Preview SDK (16190). Some of the things that used to be relatively hard, or at the least verbose, can now be done with a few lines of code.\u003c/p\u003e","date":"2017-06-18T00:00:00Z","permalink":"/en/blog/2017.06.18-easy-xamlcompositionbrushbase/","tags":["BackdropBrush","Brushes","Composition","CompositionAPI","CompositionEffect","Fall Creators Update","ImageBrush","Interoperability","SolidColorBrush","tutorial","UWP","Win2D","windows 10","windows10","xaml","XamlCompositionBrushBase","XCBB"],"title":"Easy XamlCompositionBrushBase"},{"author":null,"categories":null,"contents":"\u003cp\u003eI wanted to be able to have my office shades go up or down automatically, depending on the amount of light outside. Then I thought, why not take it to the next level with \u003cstrong\u003eWindows IoT?\u003c/strong\u003e  I could design a UI with the help of \u003ca href=\"https://github.com/telerik/ui-for-uwp\" target=\"_blank\" rel=\"noopener\"\u003ethe recently open-sourced\u003c/a\u003e\n \u003cstrong\u003eTelerik UI for UWP\u003c/strong\u003e and also leverage a FEZ HAT\u0026rsquo;s \u0026amp; Raspberry Pi 3 to drive the motors, detect light levels and temperature.\u003c/p\u003e","date":"2017-02-14T00:00:00Z","permalink":"/en/blog/2017.02.14-smart-shades-with-windows-iot-1/","tags":["fez hat","raspberry pi","smart shade","telerik","tutorial","ui for uwp","windows iot","windows10"],"title":"Smart Shades with Windows IoT 1"},{"author":null,"categories":null,"contents":"\u003cp\u003eYou know that bottom drawer on the Windows 10 navigation app where the upcoming turns are in a list? You know how you can drag it up or down to show more or less of the content? Want to learn how to create it? You\u0026rsquo;re in luck because that\u0026rsquo;s what today\u0026rsquo;s topic is!\u003c/p\u003e\n\u003cp\u003eHere\u0026rsquo;s the result of what you\u0026rsquo;ll be able to do:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"/en/blog/2017.01.10-manipulation-is-easier-than-you-think/navdrawer.gif\" alt=\"navdrawer\"\u003e\u003c/p\u003e\n\u003ch3 id=\"the-approach\"\u003eThe Approach\u003c/h3\u003e\n\u003cp\u003eLet\u0026rsquo;s get started. Since there are no built-in controls that do this, we\u0026rsquo;ll create a simple layout (links to source code at the end of the article).\u003c/p\u003e","date":"2017-01-10T00:00:00Z","permalink":"/en/blog/2017.01.10-manipulation-is-easier-than-you-think/","tags":["tutorial","windows10"],"title":"Manipulation is easier than you think"},{"author":null,"categories":null,"contents":"\u003cp\u003eI was given a Surface Dial the other day and I thought \u0026ldquo;what can I do with this to create a better experience for the user\u0026rdquo;. One thing came right to mind, applying real-time video effects.\u003c/p\u003e\n\u003cp\u003eI have a UWP app in the Windows Store, \u003ca href=\"https://www.microsoft.com/store/apps/9wzdncrdmgbf\" target=\"_blank\" rel=\"noopener\"\u003eVideo Diary\u003c/a\u003e\n, where you can apply real-time video effects while recording a video. One of the features of these effects is to increase or decrease the video effect\u0026rsquo;s properties. For example, the intensity of a Vignette effect, here\u0026rsquo;s what I want:\u003c/p\u003e","date":"2016-11-11T00:00:00Z","permalink":"/en/blog/2016.11.11-surface-dial-and-real-time-video-effects/","tags":["RadialController","Surface","Surface Dial","Tools I Use","tutorial","UWP","video","Video Effects","windows10"],"title":"Surface Dial and Real-Time Video Effects"},{"author":null,"categories":null,"contents":"\u003cp\u003eTelerik has recently ported the \u003ca href=\"http://docs.telerik.com/windows-universal/controls/radimageeditor/imageeditor-visual-structure\" target=\"_blank\" rel=\"noopener\"\u003eRadImageEditor\u003c/a\u003e\n to \u003cstrong\u003eWindows Universal\u003c/strong\u003e (8.1 Universal right now, UWP is coming very soon). It is \u003cem\u003epowerful\u003c/em\u003e for something that only needs a few lines of code to use the 20 predefined tools.\u003c/p\u003e\n\u003cp\u003eBut what if you wanted something not in those 20? Or what if you didn\u0026rsquo;t want to have a dependency on the Lumia Imaging SDK (needed for the built-in tools)?\u003c/p\u003e\n\u003cp\u003eOne great features of RadImageEditor is the ability to make a custom tool, tool group or layer. Today I\u0026rsquo;ll show you how to create a Win2D tool group and add a custom GaussianBlurTool.\u003c/p\u003e","date":"2016-02-19T00:00:00Z","permalink":"/en/blog/2016.02.19-build-a-custom-win2d-radimageeditor-tool/","tags":["tutorial","windows10"],"title":"Build A Custom Win2D RadImageEditor Tool"},{"author":null,"categories":null,"contents":"\u003cp\u003eI recently needed to send image data to a server for processing and thought I\u0026rsquo;d share how to do that using System.Net.Http.\u003cstrong\u003eHttpClient\u003c/strong\u003e in a UWP (Universal Windows) app. First, let\u0026rsquo;s start with the API\u0026rsquo;s requirements, it states:\u003c/p\u003e\n\u003cp\u003eParameter: \u003cstrong\u003eimage\u003c/strong\u003e - The image parameter should be the binary file data for the image you would like analyzed (PNG, GIF, JPG only). Files cannot be larger than 500k.\u003c/p\u003e\n\u003cp\u003eSo that means I have to send image data as binary data with the parameter \u003cstrong\u003eimage\u003c/strong\u003e. I can use System.Net.Http.\u003cstrong\u003eByteArrayContent\u003c/strong\u003e for the image data. To get the image data from the file as a \u003ccode\u003ebyte[]\u003c/code\u003e the approach I use is the following (there are other ways to do this):\u003c/p\u003e","date":"2016-01-12T00:00:00Z","permalink":"/en/blog/2016.01.12-sending-image-data-with-parameter-using-httpclient-post/","tags":["tutorial","windows10"],"title":"Sending Image Data with parameter using HttpClient Post"},{"author":null,"categories":null,"contents":"\u003cp\u003eOne of the new features of DevCenter is the ability to generate \u003cstrong\u003ePromotional Codes\u003c/strong\u003e for your app. With this new ability, I\u0026rsquo;ve started rewarding my users for taking the time to make the app better.\u003c/p\u003e\n\u003cp\u003eLet\u0026rsquo;s be specific so that you know exactly what \u0026rsquo;m talking about. I have a relatively popular app in the store and get all sorts of feedback, crazy nonsense and helpful alike. For those users whom send in a helpful bug report or would get the following email from me:\u003c/p\u003e","date":"2015-10-14T00:00:00Z","permalink":"/en/blog/2015.10.14-reward-your-users-for-feedback-and-bug-reports/","tags":["editorial","tutorial","windows10"],"title":"Reward your users for feedback and bug reports"},{"author":null,"categories":null,"contents":"\u003cp\u003eMost people think of IoT (Internet of Things) as a collection of tiny brains, without user interfaces, collecting data. Some think it\u0026rsquo;s \u003ca href=\"http://www.ipetcompanion.com/\" target=\"_blank\" rel=\"noopener\"\u003ea remote controlled animal shelter cat toy\u003c/a\u003e\n or a \u003ca href=\"https://en.wikipedia.org/wiki/Deadblow\" target=\"_blank\" rel=\"noopener\"\u003eGrant Imahara style robot\u003c/a\u003e\n to do battle. The truth is that IoT is a very broad term, it covers many types of devices, including remote cat toys!\u003c/p\u003e\n\u003cp\u003eHere\u0026rsquo;s a Vine of what Windows IoT means to me\u0026hellip; \u003cstrong\u003eTelerik UI on IoT\u003c/strong\u003e! This post is a overview tutorial, \u003cstrong\u003e\u003ca href=\"https://github.com/LanceMcCarthy/TelerikOnWindowsIoT\" target=\"_blank\" rel=\"noopener\"\u003efind the full source code on GitHub\u003c/a\u003e\n.\u003c/strong\u003e (#bananaForScale)\u003c/p\u003e","date":"2015-07-30T00:00:00Z","permalink":"/en/blog/2015.06.30-telerik-universal-on-raspberry-pi2/","tags":["tutorial","windows10"],"title":"Telerik Universal on Raspberry Pi2"},{"author":null,"categories":null,"contents":"\u003cp\u003eOne of the great things about the new DevCenter is the ability to generate Promotional codes for your in-app-purchase products, so I generated 100 codes last night for the launch of Windows 10.\u003c/p\u003e\n\u003cp\u003eI gave out many codes today but I started getting \u0026ldquo;the promo code didn\u0026rsquo;t work\u0026rdquo; emails. After a quick investigation I found that the LicenseInformation for the user wasn\u0026rsquo;t refreshed automatically or even after the user restarted their phone. I suspect that this is just temporary, but I found a workaround\u0026hellip;\u003c/p\u003e","date":"2015-07-29T00:00:00Z","permalink":"/en/blog/2015.07.29-devcenter-promo-codes-not-working/","tags":["resources"],"title":"DevCenter Promo Codes Not Working?"},{"author":null,"categories":null,"contents":"\u003cp\u003eWith Windows 10 being rolled out as I write this article, there will be updated sample Windows Platform apps available soon (today). It\u0026rsquo;s also time to update your projects.\u003c/p\u003e\n\u003cp\u003eHowever, you may find yourself not able to deploy to Windows 10 Mobile after updating your projects or older samples to Windows 10 (build 10240). This post will show you how to resolve this problem.\u003c/p\u003e\n\u003ch2 id=\"the-problem\"\u003eThe Problem\u003c/h2\u003e\n\u003cp\u003eYou\u0026rsquo;ll see an error something like this when deploying to a physical Windows 10 Mobile device:\u003c/p\u003e","date":"2015-07-28T00:00:00Z","permalink":"/en/blog/2015.07.28-error-dep3321-cant-deploy-to-windows-10-mobile/","tags":["tutorial"],"title":"Error : DEP3321 - Can't deploy to Windows 10 Mobile"},{"author":null,"categories":null,"contents":"\u003cp\u003eI was recently involved in a conversation on how to have the easiest way to maintain a XAML view across a UWP (Universal Windows Project) a Windows 8.1 and Windows Phone 8.1 projects. There are a few options and the most straight forward way to do it with a UserControl residing in a Portable Class Library. However\u0026hellip;\u003c/p\u003e\n\u003cp\u003eWhat if you wanted to have **tailored code for each **without littering your code with #ifdef but still share a XAML view?  The XAML View might be what you\u0026rsquo;re looking for. This is a tutorial on how to do just that. An example project is available for download at the end of the article. Let\u0026rsquo;s get started:\u003c/p\u003e","date":"2015-05-27T00:00:00Z","permalink":"/en/blog/2015.05.27-one-xaml-for-uwp-windows-8-1-and-windows-phone-8-1/","tags":["resources","tutorial","Universal Windows Project","UWP","windows phone","xaml"],"title":"One XAML for UWP, Windows 8.1 and Windows Phone 8.1"},{"author":null,"categories":null,"contents":"\u003cp\u003eI recently wanted to make a header with tabs for my app\u0026rsquo;s pages that have a Pivot. Something like Office Mobile, but without the drop-down menus. Here\u0026rsquo;s the result I got in my upcoming app. I decided to post a tutorial and provide a sample app.\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"/en/blog/2015.04.09-custom-pivot-header-with-animation/custompivotheader.gif\" alt=\"CustomPivotHeader\"\u003e\u003c/p\u003e\n\u003cp\u003eNotice the fast fade-in of the background color of the tab, this is important and is where you\u0026rsquo;ll be able to add your own flavor to the style after you\u0026rsquo;ve completed this tutorial. Ok, let\u0026rsquo;s get started!\u003c/p\u003e","date":"2015-04-09T00:00:00Z","permalink":"/en/blog/2015.04.09-custom-pivot-header-with-animation/","tags":["pivot","resources","style","tutorial","xaml"],"title":"Custom Pivot Header with Animation"},{"author":null,"categories":null,"contents":"\u003cp\u003eNormally, if you want different page transitions (\u003ca href=\"https://msdn.microsoft.com/en-us/library/windows.ui.xaml.media.animation.navigationthemetransition.aspx\" target=\"_blank\" rel=\"noopener\"\u003eNavigationThemeTransition\u003c/a\u003e\n) for your Universal XAML Windows Phone 8.1 app, you\u0026rsquo;d set it on the page\u0026rsquo;s XAML directly. For example, let\u0026rsquo;s do a \u003cstrong\u003eContinuumTransition\u003c/strong\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-xml\" data-lang=\"xml\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;Page.Transitions\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;TransitionCollection\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;NavigationThemeTransition\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e            \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;NavigationThemeTransition.DefaultNavigationTransitionInfo\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e               \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;ContinuumNavigationTransitionInfo\u003c/span\u003e \u003cspan style=\"color:#ff79c6\"\u003e/\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e            \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;/NavigationThemeTransition.DefaultNavigationTransitionInfo\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;/NavigationThemeTransition\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;/TransitionCollection\u0026gt;\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#ff79c6\"\u003e\u0026lt;/Page.Transitions\u0026gt;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eHowever, if you have a XAML page in your Universal app\u0026rsquo;s \u003cstrong\u003eshared\u003c/strong\u003e folder, you can\u0026rsquo;t use XAML because page transitions are not available for Windows 8.1 apps. Since there isn\u0026rsquo;t a conditional compilation for XAML, we\u0026rsquo;ll need to do it from the code behind.\u003c/p\u003e","date":"2015-02-07T00:00:00Z","permalink":"/en/blog/2015.02.07-page-transitions-for-universal-xaml-pages/","tags":["animation","transitions","tutorial","UI","universal app development","UX","windows phone 8.1"],"title":"Page Transitions for Universal XAML Pages"},{"author":null,"categories":null,"contents":"\u003cp\u003eAs we approach Windows 10, many of you are considering updating your SL 8.0 apps to WinRT. In fact, Larry Lieberman and team recommend you do this and have \u003ca href=\"http://blogs.windows.com/buildingapps/2014/12/17/bring-your-windows-phone-silverlight-apps-to-windows-runtime-xaml-prepare-for-universal-app-development-in-windows-10/\" target=\"_blank\" rel=\"noopener\"\u003eshared some resources\u003c/a\u003e\n to help facilitate the move. I\u0026rsquo;ve done this for a couple apps so far and wanted to share some of my experience while migrating Silverlight \u003ca href=\"http://msdn.microsoft.com/en-us/library/windows/apps/windows.phone.media.capture.audiovideocapturedevice.aspx\" target=\"_blank\" rel=\"noopener\"\u003eAudioVideoCaptureDevice\u003c/a\u003e\n API to WinRT MediaCapture, because you\u0026rsquo;ll need to rewrite your approach.\u003c/p\u003e\n\u003cp\u003eThe WinRT documentation helps with a lot of stuff, but there are holes that I had to discover for myself. To help ease the process, I\u0026rsquo;m sharing some of the solutions that I\u0026rsquo;ve discovered, uncovered and smash-my-head-on-the-desk about. Let\u0026rsquo;s get started:\u003c/p\u003e","date":"2015-01-20T00:00:00Z","permalink":"/en/blog/2015.01.20-winrt-mediacapture-tips/","tags":["MediaCapture","resources","Tips","tutorial"],"title":"WinRT MediaCapture Tips"},{"author":null,"categories":null,"contents":"\u003cp\u003eOne of the best things you can do for your app\u0026rsquo;s users is to report the progress of an operation. Showing a progress bar can greatly increase the patience of the user, not knowing how long something is going to take can make the operation just \u003cstrong\u003efeel\u003c/strong\u003e longer.\u003c/p\u003e\n\u003cp\u003eLuckily, many WinRT Tasks will return an \u003ca href=\"http://msdn.microsoft.com/en-us/library/windows/apps/br206581.aspx\" target=\"_blank\" rel=\"noopener\"\u003eIAsyncActionWithProgress\u003c/a\u003e\n. I\u0026rsquo;ve seen many blog posts about this topic, but most are deeply involved and weren\u0026rsquo;t suited for a quick lookup. This post will show you a quick example, which you can apply in your app..\u003c/p\u003e","date":"2015-01-12T00:00:00Z","permalink":"/en/blog/2015.01.12-report-iasyncaction-with-progress/","tags":["IAsyncAction","progress","tutorial","user experience","windows phone 8.1","winRT"],"title":"Report progress - IAsyncActionWithProgress"},{"author":null,"categories":null,"contents":"\u003cp\u003eFor those of you who are building multimedia related apps, you\u0026rsquo;ll want to consider disabling the display timeout of the user\u0026rsquo;s device. This prevents the screen from dimming or locking while the user is playing/recording media.\u003c/p\u003e\n\u003cp\u003eIn my case, I have a view where the user is doing some video recording. so I don\u0026rsquo;t want the screen to time out on that page\u003c/p\u003e\n\u003cp\u003e1)  Create a class scope variable::\u003c/p\u003e\n\u003cp\u003eprivate DisplayRequest dRequest;\u003c/p\u003e","date":"2015-01-07T00:00:00Z","permalink":"/en/blog/2015.01.07-how-to-disable-display-timeout-in-winrt/","tags":["display","tutorial","windows 8.1","windows phone 8.1","winRT"],"title":"How to disable display timeout in WinRT"},{"author":null,"categories":null,"contents":"\u003cp\u003eUnfortunately, there is no EmailMessage class for big Windows. It is such a nice feature of Windows Phone to be able to quickly compose an email programmatically and launch the built-in email app. However, I have created a working approach for the windows portions of my Universal Windows apps and I wanted to share it with you.\u003c/p\u003e\n\u003cp\u003eMy first attempt was with using a ShareContract, but it doesn\u0026rsquo;t allow you to fill in the \u0026ldquo;To:\u0026rdquo; field and sometimes my error report data was too long to fit into DataTransferManager\u0026rsquo;s SetText() method.\u003c/p\u003e","date":"2014-12-31T00:00:00Z","permalink":"/en/blog/2014.12.31-showcomposenewemailasync-approach-for-windows/","tags":["tutorial","universal","universal app development","windows 8.1"],"title":"EmailMessage class Approach for Windows"},{"author":null,"categories":null,"contents":"\u003cp\u003eTelerik has released a new toolset, \u003ca href=\"http://www.telerik.com/windows-universal-ui\" target=\"_blank\" rel=\"noopener\"\u003eUI for Windows Universal\u003c/a\u003e\n. You can now use many components like Charts and Calendars in a shared XAML page in your application. If you already have the Telerik Windows Phone or Windows 8.1 XAML controls, \u003cem\u003eyou now have a license for the Universal controls, too\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003eIt is very simple to add it to your project. Let me show you in a quick File \u0026gt; New example:\u003c/p\u003e","date":"2014-11-10T00:00:00Z","permalink":"/en/blog/2014.11.10-adding-telerik-universal-to-your-app/","tags":["telerik","telerik controls","tutorial","universal app development","windows 10","windows 8.1","windows phone 8.1","windows universal","wpdev"],"title":"Adding Telerik Universal"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you are having a Windows Store application fail certification or being unpublished because you have violated \u003cstrong\u003ePolicy 2.1.2\u003c/strong\u003e  - \u003cem\u003erequires a visible address bar that displays a secure connection to users when they enter financial information or complete a transaction\u003c/em\u003e (\u003ca href=\"http://msdn.microsoft.com/en-us/library/windows/apps/hh184841%28v=vs.105%29.aspx\" target=\"_blank\" rel=\"noopener\"\u003esee policy definitions\u003c/a\u003e\n).\u003c/p\u003e\n\u003cp\u003eThe reason for this rule is because you are bringing the user to a site that is using HTTPS and the user may be entering in secure information. You \u003cstrong\u003eneed to give the user confidence\u003c/strong\u003e that you are not spoofing the website and stealing the entered information.\u003c/p\u003e","date":"2014-10-26T00:00:00Z","permalink":"/en/blog/2014.10.26-read-only-address-bar-for-webview/","tags":["resources","sample app","TextBlock","tutorial","universal app","WebView","windows 8.1","windows phone","winRT"],"title":"Read-only Address Bar for Webview"},{"author":null,"categories":null,"contents":"\u003cp\u003eWe are now seeing the beginning of the fast decline of Windows Phone 7 as it exits the market over the next several months, many of you will need to act to update your app to at least Windows Phone 8.  I did this for all of my WP7 apps and there was one error that was In just about every upgrade:\u003c/p\u003e\n\u003cp\u003eAn error on this XAML namespace declaration:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003exmlns:controls=\u0026#34;clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls\u0026#34;\n\n```Previous to Windows Phone 8, the Pivot and Panorama controls were part of a toolkit. The Windows Phone team did a solid by included these in the OS, they also added new controls like the LongListSelector to replace the toolkit\u0026#39;s ListPicker . These controls are now found in the Phone namespace.\n\nIt\u0026#39;s a very frustrating problem if you\u0026#39;re seeing it for the first time. Don\u0026#39;t worry, there is a really easy fix... Delete the xmlns:controls line and use only the xmlns:phone one or edit it and remove the \u0026#34;.Contols\u0026#34; part of the assembly pointer. Here is what it will look like after doing the edit option:\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003exmlns:controls=\u0026ldquo;clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone\u0026rdquo;\u003c/p\u003e","date":"2014-08-04T00:00:00Z","permalink":"/en/blog/2014.08.04-invalid-xaml-error-updating-from-wp7/","tags":["error","invalid code","namespace error","panorama","pivot","resources","tutorial","visual studio","windows phone","windows phone 7","xaml"],"title":"Invalid XAML error updating from WP7"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you\u0026rsquo;re like me, you like to fiddle and tweak things to \u003ca href=\"http://www.windowsphone.com/en-us/store/app/vsauce-supreme/296588cc-ca8f-4851-a1df-8e1cc5de8246\" target=\"_blank\" rel=\"noopener\"\u003eget just the right result\u003c/a\u003e\n. Recently, Microsoft has really beefed up \u003ca href=\"http://appstudio.windows.com/\" target=\"_blank\" rel=\"noopener\"\u003eApp Studio\u003c/a\u003e\n apps and if you explore the downloaded source code you\u0026rsquo;ll see a new Universal app structure leveraging MVVM. Let\u0026rsquo;s start with the before and after photo (\u003cem\u003eclick any image to view larger\u003c/em\u003e):\u003c/p\u003e\n\u003cfigure\u003e\u003cimg src=\"/en/blog/2014.07.02-app-studio-design-time-sample-data/before-after-blog.png\"\n\t\t\talt=\"Before and after changes to the items lists\"\u003e\u003cfigcaption\u003e\n\t\t\t\u003cp\u003eBefore and after changes to the items lists\u003c/p\u003e\n\t\t\u003c/figcaption\u003e\n\u003c/figure\u003e","date":"2014-07-02T00:00:00Z","permalink":"/en/blog/2014.07.02-app-studio-design-time-sample-data/","tags":["App Studio","blend","customizing","DataTemplate","design time data","item templates","resources","sample data","source code","tutorial","visual studio"],"title":"App Studio - Design-Time Sample Data"},{"author":null,"categories":null,"contents":"\u003cp\u003eSince the prizes are really awesome for \u003ca href=\"https://publishwindows.com/view/dbf025303ff74739bee936fbfa69cc4c\" target=\"_blank\" rel=\"noopener\"\u003ethis event\u003c/a\u003e\n (May 17th), I\u0026rsquo;m going to start off with them. We will be rewarding the best student, best individual, and best company in each of the categories below:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTop Windows 8.1 app\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eTrip to the 2014 Formula 1 United States Grand Prix in Austin, TX.\u003c/li\u003e\n\u003cli\u003e9 runner-up Nokia Lumia 1520 prizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTop Windows Phone app\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003e$10,000 to build your own \u0026ldquo;Dev Cave\u0026rdquo;\u003c/li\u003e\n\u003cli\u003e9 Runner-up Nokia Lumia 1520 prizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTop Cross Platform app\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eMakerBot 3D printer\u003c/li\u003e\n\u003cli\u003e9 Runner-up Nokia Lumia 1520 prizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBreakthrough in App Innovation and Design\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eMakerBot 3D printer\u003c/li\u003e\n\u003cli\u003e9 Runner-up Nokia Lumia 1520 prizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBut wait, there\u0026rsquo;s more! I will be giving away these prizes at the end of the day\u0026hellip;\u003c/p\u003e","date":"2014-04-18T00:00:00Z","permalink":"/en/blog/2014.04.18-attend-publish-boston-win-big/","tags":["contest","giveaways","hackathon","Nokia official","prizes","publish windows","resources","win8dev","windows phone","windows phone 8.1","wpdev"],"title":"Attend Publish Boston \u0026 Win Big"},{"author":null,"categories":null,"contents":"","date":"2014-04-16T00:00:00Z","permalink":"/en/blog/2014.04.16-transparent-live-tile-for-windows-phone-8-1/","tags":["tutorial"],"title":"Transparent Live Tile For Windows Phone 8.1"},{"author":null,"categories":null,"contents":"\u003cp\u003eThis year\u0026rsquo;s Microsoft Build conference was jam packed with Windows Phone goodness. In fact, there is too much to take in at once. So what I\u0026rsquo;ve done for you is break it down into sections so that you can bookmark this page and come back at your leisure.\u003c/p\u003e\n\u003cp\u003eThese videos are in no particular order, so review them all before you choose, enjoy!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWindows Phone Development\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-507\" target=\"_blank\" rel=\"noopener\"\u003eDeveloping apps using the common XAML UI framework\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-517\" target=\"_blank\" rel=\"noopener\"\u003eWhat\u0026rsquo;s new with Windows Phone Silverlight apps\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/3-591\" target=\"_blank\" rel=\"noopener\"\u003eUsing Visual Studio to build XAML converged apps\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/9-2663\" target=\"_blank\" rel=\"noopener\"\u003eCortana Contextual Awareness\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-503\" target=\"_blank\" rel=\"noopener\"\u003eBuilding your first Windows Unity game\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-516\" target=\"_blank\" rel=\"noopener\"\u003eWhat about XAML UI and Controls?\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-530\" target=\"_blank\" rel=\"noopener\"\u003eIntegrating your app into the Windows Phone Speech Experience\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-662\" target=\"_blank\" rel=\"noopener\"\u003eBuilding games for Windows\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/3-564\" target=\"_blank\" rel=\"noopener\"\u003eDirect 3D 12 API preview\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-518\" target=\"_blank\" rel=\"noopener\"\u003eMultitasking and triggered background tasks\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-521\" target=\"_blank\" rel=\"noopener\"\u003eNotification platform development on Windows\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/3-510\" target=\"_blank\" rel=\"noopener\"\u003eInnovations in high performance graphics with DirectX across Windows and Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/3-578\" target=\"_blank\" rel=\"noopener\"\u003eDiagnosing issues in Windows Phone XAML apps using Visual Studio\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-525\" target=\"_blank\" rel=\"noopener\"\u003eModern camera and imaging apps in Windows and Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-537\" target=\"_blank\" rel=\"noopener\"\u003eNavigation Model for Windows XAML applications\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-520\" target=\"_blank\" rel=\"noopener\"\u003eContracts and pickers: Building apps that work together on Windows\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-528\" target=\"_blank\" rel=\"noopener\"\u003eBuilding video and audio streaming apps\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-538\" target=\"_blank\" rel=\"noopener\"\u003eBuilding awesome experiences with Facebook\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-523\" target=\"_blank\" rel=\"noopener\"\u003eLive Tiles enhancements\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-526\" target=\"_blank\" rel=\"noopener\"\u003eBuilding geo-aware apps with maps and geofencing\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-555\" target=\"_blank\" rel=\"noopener\"\u003eThe new video edit APIs for Windows Phone: Windows.Media.Editing\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-586\" target=\"_blank\" rel=\"noopener\"\u003eStrategies for developing cross device applications with VS 2013\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-550\" target=\"_blank\" rel=\"noopener\"\u003eWindows runtime for Windows Phone developers\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-565\" target=\"_blank\" rel=\"noopener\"\u003eApp Studio for Windows and Windows Phone: pre-launch preview\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-659\" target=\"_blank\" rel=\"noopener\"\u003eExtend your Windows apps with Nokia SDKs\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-519\" target=\"_blank\" rel=\"noopener\"\u003eBuilding great Bluetooth apps for Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-522\" target=\"_blank\" rel=\"noopener\"\u003eDealing with data: Storage, roaming and backup on Windows and Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-529\" target=\"_blank\" rel=\"noopener\"\u003eSensors platform enhancements in Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/3-542\" target=\"_blank\" rel=\"noopener\"\u003eManaging resource constraints on Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-533\" target=\"_blank\" rel=\"noopener\"\u003eNew integration opportunities with Wallet on Windows Phone\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/2-546\" target=\"_blank\" rel=\"noopener\"\u003eWindows Platform SDL (Lifecycle) best practices\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"http://channel9.msdn.com/Events/Build/2014/3-548\" target=\"_blank\" rel=\"noopener\"\u003eSequencers, synthesizers and software, Oh my! Building great music creation apps for Windows Store\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eWindows and Windows Phone Design related\u003c/strong\u003e\u003c/p\u003e","date":"2014-04-06T00:00:00Z","permalink":"/en/blog/2014.04.06-build-2014-videos/","tags":["bldwin","blue","build 2014","conference","design","development","Nokia official","resources","tutorials","video","windows","windows phone","windows phone 8.1","wpdev"],"title":"Build 2014 Videos"},{"author":null,"categories":null,"contents":"\u003cp\u003e12 hours, 250 developers, 150 feet of Subway, 68 pizzas\u0026hellip; one awesome day, priceless.\u003c/p\u003e\n\u003cp\u003eAt the beginning of the day, I performed the developer equivalent of crowd surfing\u0026hellip; the Vine surf\u003c/p\u003e\n\u003ch4 id=\"photos\"\u003ePhotos\u003c/h4\u003e\n\u003cp\u003eThere lots of pictures taken and shared, you can see all of them here at \u003ca href=\"https://twitter.com/search?q=%23DVLUPday\u0026amp;mode=photos\u0026amp;src=taoc\" target=\"_blank\" rel=\"noopener\"\u003e#DVLUPday photos\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003eHere are some of my favorites:\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjv6j3vcyaar4jc1.jpg\" alt=\"BjV6J3VCYAAR4jC\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjvbycniiaaesw5.jpg\" alt=\"BjVbycNIIAAeSW5\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjvbzyviyaa9yjb.jpg\" alt=\"BjVbZYVIYAA9yJB\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjvk-nrciae66uw.jpg\" alt=\"BjVk-NrCIAE66uW\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjvzalxcqaa_wit.jpg\" alt=\"BjVZALXCQAA_wiT\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjwdwpfciaapq7f.jpg\" alt=\"BjWdwPfCIAApq7f\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjwexiocmaesjfu.jpg\" alt=\"BjWexioCMAESjfU\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjwopn1igaaln0g.jpg\" alt=\"BjWoPN1IgAALn0G\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjwt4vcicaa05wp.jpg\" alt=\"BjWt4VcIcAA05wp\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjwtj1mciaeilhk.jpg\" alt=\"BjWTJ1mCIAEiLHk\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjwtt7gigain9_b.jpg\" alt=\"BjWtT7gIgAIn9_b\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjxvkf7iuaayl95.jpg\" alt=\"BjXVKf7IUAAyl95\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjycq13iqaetgjb.jpg\" alt=\"BjYCQ13IQAETGJb\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/bjyy9kjieaacnbc.jpg\" alt=\"BjYy9kJIEAACnbc\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/wp_20140322_002.jpg\" alt=\"????????????????????????????????????????????????????????\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/wp_20140322_09_16_59_pro.jpg\" alt=\"????????????????????????????????????????????????\"\u003e [\u003cimg src=\"/en/blog/2014.03.23-dvlupday-nyc-highlights/13337751223_397bde49de_z.jpg\" alt=\"13337751223_397bde49de_z\"\u003e\u003c/p\u003e","date":"2014-03-23T00:00:00Z","permalink":"/en/blog/2014.03.23-dvlupday-nyc-highlights/","tags":["dvlupday","microsoft","nokia","Nokia official","wpdev"],"title":"DVLUPday NYC Highlights"},{"author":null,"categories":null,"contents":"\u003cp\u003eOne of the best things you can have when developing a Windows Phone app is design-time sample data. I will show you in this post how to create sample data from a class using Blend. (click images to view larger)\u003c/p\u003e\n\u003cp\u003eYou can apply this technique to an existing class you have, but for the purposes of this tutorial I\u0026rsquo;ll be using a File \u0026gt; New Visual Studio 2013 Windows Phone project.  If you have an existing app, you can skip to Step 3, but I recommend skimming the first two.\u003c/p\u003e","date":"2014-03-19T00:00:00Z","permalink":"/en/blog/2014.03.19-creating-design-time-sample-data/","tags":["blend","design time","pixel perfect","resources","sample data","visual studio","wpdev"],"title":"Creating Design-Time Sample Data"},{"author":null,"categories":null,"contents":"\u003ch4 id=\"update-the-winner-for-march-is-shawn-murphy-congratulations\"\u003eUPDATE: The winner for March is Shawn Murphy, congratulations!\u003c/h4\u003e\n\u003cp\u003eTo reward developers staying active, I am giving away a Nokia Lumia (winner\u0026rsquo;s choice of the 1020, 928, 925 or 920). Eligibility is simple::\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003ePublish or update a Windows Phone app between Feb 1st and March 31st\u003c/li\u003e\n\u003cli\u003eYou live in one of the following states: MA, RI, CT, NH, ME, VT, MI, OH, IL or IN (USA state abbreviations, not countries).\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eIf you can say yes to 1 and 2, send me an email to \u003cstrong\u003eext-lance.mccarthy at nokia dot com\u003c/strong\u003e with the following information (deadline is March 31st):\u003c/p\u003e","date":"2014-03-10T00:00:00Z","permalink":"/en/blog/2014.03.10-march-lumia-giveaway/","tags":["giveaway","nokia lumia","Windows Phone app"],"title":"March Lumia Giveaway"},{"author":null,"categories":null,"contents":"\u003cp\u003eSo, you\u0026rsquo;d like to put some ads in your awesome App Studio app? No problem! I thought I would write a post to show just how easy it can be. Follow these easy steps and you\u0026rsquo;ll start earning money from ads\u0026hellip;\u003c/p\u003e\n\u003ch3 id=\"ad-provider\"\u003eAd provider\u003c/h3\u003e\n\u003cp\u003eThe ad provider is the service the AdControl in your app gets the ad to display and also where you earn the revenue. As of Windows Phone 8 there is a PubCenter AdControl built into the framework, all you need to do is get an \u003cstrong\u003eApplicationId\u003c/strong\u003e and an \u003cstrong\u003eAdUnitId\u003c/strong\u003e. You get that information from \u003ca href=\"https://dev.windowsphone.com/en-us\" target=\"_blank\" rel=\"noopener\"\u003eWindows Phone DevCenter\u003c/a\u003e\n, find out how to get your ApplicationId and AdUnitId in \u003ca href=\"http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/10/10/tips-for-using-ads-in-your-windows-phone-apps.aspx\" target=\"_blank\" rel=\"noopener\"\u003ethis great blog post\u003c/a\u003e\n.\u003c/p\u003e","date":"2014-03-07T00:00:00Z","permalink":"/en/blog/2014.03.07-monetizing-app-studio-with-ads/","tags":["resources","visual studio","windows phone","wpdev"],"title":"Monetizing App Studio with Ads"},{"author":null,"categories":null,"contents":"\u003cp\u003eFor most applications that provide dynamic content, using an API is critical. It\u0026rsquo;s the engine of the engaging experience in a data based app. APIs can also be a powerful muse when you\u0026rsquo;re looking for a new idea for an app. Take a look at the two items below to start exploring the vast world of APIs and spark your imagination.\u003c/p\u003e\n\u003cp\u003eMy recommendation is to go to Mashery first, create your developer account and get the API keys to the ones you want to use. Next, go to theRightAPI and start playing with the API, see the results you get from different queries. Then once you pick an API, you can use the output in theRightAPI to help create your object classes (for example, if you\u0026rsquo;re getting json results, you can use tools like \u003ca href=\"http://json2csharp.com/\" target=\"_blank\" rel=\"noopener\"\u003eJson To Csharp\u003c/a\u003e\n to generate your classes).\u003c/p\u003e","date":"2014-02-19T00:00:00Z","permalink":"/en/blog/2014.02.19-using-apis-for-new-app-ideas/","tags":["resources","wpdev"],"title":"Using APIs for new app ideas"},{"author":null,"categories":null,"contents":"\u003cp\u003eThe Windows Phone developer community is amazing in and of itself, but what happens when you add something like \u003ca href=\"https://twitter.com/search?q=%23makeAnAppDevHappyDay\u0026amp;src=typd\" target=\"_blank\" rel=\"noopener\"\u003e#makeAnAppDevHappyDay\u003c/a\u003e\n? You get pure \u003cem\u003eawesomeness\u003c/em\u003e. What is \u003cstrong\u003e#makeAnAppDevHappyDay\u003c/strong\u003e?  Nokia DVLUP added fuel to an idea started by Dan Colasanti for developers to help them get the word out about their apps and generate app reviews.\u003c/p\u003e\n\u003ch3 id=\"share-your-app\"\u003eShare your app\u0026hellip;\u003c/h3\u003e\n\u003cp\u003ePost your app\u0026rsquo;s name and link to the store on twitter with the #makeAnAppDevHappyDay, other devs will download your app and leave a review. you do the same for them (It\u0026rsquo;s also a great way for you to find new apps). Here is an example:\u003c/p\u003e","date":"2014-02-07T00:00:00Z","permalink":"/en/blog/2014.02.07-make-an-app-dev-happy-day/","tags":["dvlup","Nokia official","resources","windows phone","Windows Phone developer community","wpdev"],"title":"Make An App Dev Happy Day"},{"author":null,"categories":null,"contents":"\u003ch4 id=\"update-this-event-is-sold-out-if-you-were-not-able-to-register-in-time-and-need-help-getting-your-app-published-send-me-an-email-and-ill-help-you-directly\"\u003eUPDATE: This event is sold-out! If you were not able to register in time and need help getting your app published, \u003ca href=\"/about/\" title=\"About\"\u003esend me an email\u003c/a\u003e\n and I\u0026rsquo;ll help you directly.\u003c/h4\u003e\n\u003ch2 id=\"wpdev-day\"\u003eWPDev Day\u003c/h2\u003e\n\u003cp\u003eMe and several other experts will be spending 6 hours with you on Saturday February 1st, 2014 to help you over come any obstacles that is preventing you from publishing an app. If you do not have any apps in the works, then come and build an App Studio app with our help. \u003cstrong\u003eClick the Eventbrite button above to get your ticket\u003c/strong\u003e.\u003c/p\u003e","date":"2014-01-21T00:00:00Z","permalink":"/en/blog/2014.01.21-get-it-in-the-store/","tags":["App Studio","DevCenter","giveaway","nokia","resources","training","windows phone","wpdev"],"title":"Get It In The Store"},{"author":null,"categories":null,"contents":"\u003cblockquote\u003e\n\u003cp\u003eUPDATE The winners have been picked, congratulations to all (I emailed you directly if you were a winner)! If you did not win, keep your app up to date (update at least once every 60 days) and you\u0026rsquo;ll always be eligible for my giveaways.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eI\u0026rsquo;m raffling off all my remaining gadgets and swag in two weeks (deadline is Dec 31st)! The only 2 conditions to enter are that you are in my region (see below) and that you published or updated an app in the last 6 months (since June 31st).\u003c/p\u003e","date":"2013-12-15T00:00:00Z","permalink":"/en/blog/2013.12.15-everything-must-go/","tags":["giveaway","nokia","windows phone","wp8dev","wpdev"],"title":"Everything Must Go!"},{"author":null,"categories":null,"contents":"\u003ch3 id=\"now-that-youre-publishedget-this-kitfrom-my-friends-at-microsoft\"\u003eNow that you\u0026rsquo;re published, get this kit from my friends at Microsoft\u0026hellip;\u003c/h3\u003e\n\u003cp\u003eGet your app noticed with your personalized Windows Developer Success Kit. With customized promo materials specifically for your app, plus a little fun thrown in, we want to help you reap the rewards of your hard work.\u003c/p\u003e\n\u003cp\u003eYour Windows Developer Success Kit contains:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e100 customized business cards with app tile \u0026amp; down\u0026hellip;load directions for you to hand out\u003c/li\u003e\n\u003cli\u003e100 customized stickers with app tile to give away Promotion on MSDN East’s Facebook page facebook.com/msdneast\u003c/li\u003e\n\u003cli\u003eA $5.00 USD Starbucks card to keep you awake while you work on your next great app\u003c/li\u003e\n\u003cli\u003e1600 Xbox Live points for a gaming break between coding sessions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHow to get your kit: Email: \u003ca href=\"mailto:msdneast@Microsoft.com\"\u003emsdneast@Microsoft.com\u003c/a\u003e\n Include: Your name, your app name and deep link, your physical mailing address, and the workshop/city you attended if any.\u003c/p\u003e","date":"2013-12-08T00:00:00Z","permalink":"/en/blog/2013.12.08-wpdev-success-kit/","tags":["giveaway","resources","windows phone","wpdev"],"title":"WpDev Success Kit"},{"author":null,"categories":null,"contents":"\u003ch2 id=\"registration-has-ended\"\u003eRegistration has ended!\u003c/h2\u003e\n\u003cp\u003eUPDATE Registration is closed, the hard deadline for stragglers was 12:00 PM 11-16-2013.  Thank you for making this one of the highest registered events I\u0026rsquo;ve ever held at 90% of max building capacity!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIMPORTANT: Make sure you are present at the welcome presentation at 10 AM on the 4th floor. You will learn the answer to a secret question that proves you attended.\u003c/strong\u003e\u003c/p\u003e\n\u003ch2 id=\"event-description\"\u003eEvent Description\u003c/h2\u003e\n\u003cp\u003eLearn to make amazing Windows Phone apps at Boston Nokia DVLUP Day and win big prizes just for participating. Nokia Ambassadors, \u003cstrong\u003eLance McCarthy\u003c/strong\u003e and \u003cstrong\u003eNick Landry\u003c/strong\u003e, will provide hands-on Windows Phone development training. Whether you\u0026rsquo;re a seasoned dev or don\u0026rsquo;t know a line of code, you will walk away with the ability to write an app.\u003c/p\u003e","date":"2013-10-28T00:00:00Z","permalink":"/en/blog/2013.10.28-nokia-dvlup-day/","tags":["contest","giveaway","hackathon","las vegas trip","lumia","nokia developer","Nokia official","portathon","resources","training","windows phone","wodev","wpdev"],"title":"Nokia DVLUP Day"},{"author":null,"categories":null,"contents":"\u003cp\u003e\u003cstrong\u003eUPDATE\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis offer ends midnight, Sunday, October 20th, 2013. If you have been stalling, now is the time to get it finished up.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eHere\u0026rsquo;s my current offer for all you devs who are sitting on the fence about creating a Windows Phone app:\u003c/p\u003e\n\u003ch2 id=\"i-will-give-you-a-nokia-premium-developer-program-token-1500-value-if-you-email-me-your-workingprototype-for-windows-phone\"\u003e\u003cstrong\u003eI will give you a Nokia Premium Developer Program token ($1500 value) if you email me your working prototype for Windows Phone.\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eI\u0026rsquo;ll then help you finish the app by providing guidance, resources or whatever you need to get it ready for the store. You can use any number of resources to build this prototype:\u003c/p\u003e","date":"2013-09-23T00:00:00Z","permalink":"/en/blog/2013.09.23-get-prototyping/","tags":["apps","development","giveaway","guidance resources","NPDP","premium developer program","resources","technology","windows phone","wpdev"],"title":"Get Prototyping"},{"author":null,"categories":null,"contents":"\u003cp\u003eMicrosoft has just launched a new Windows Phone app builder website, \u003ca href=\"http://apps.windowsstore.com/default.htm\" target=\"_blank\" rel=\"noopener\"\u003eWindows Phone App Studio\u003c/a\u003e\n. You can now build a great looking app in no time and earn a free phone from me in the process. You don\u0026rsquo;t need to be a great programmer, but if you are\u0026hellip; you get the source code for the app when you\u0026rsquo;re done with the template! No other app builder does that for you.\u003c/p\u003e","date":"2013-08-06T00:00:00Z","permalink":"/en/blog/2013.08.06-doesnt-get-any-easier-than-this/","tags":["app maker","developer","getting started","nokia lumia","resources","windows phone","wpdev"],"title":"Doesn't Get Any Easier Than This"},{"author":null,"categories":null,"contents":"\u003cp\u003eI\u0026rsquo;m doing an awesome one-night mini-code camp on August 21st. Pascal Rettig \u003ca href=\"https://twitter.com/cykod\" target=\"_blank\" rel=\"noopener\"\u003e(@cykod\u003c/a\u003e\n), organizer of the \u003ca href=\"http://www.meetup.com/Boston-HTML5-Game-Development/\" target=\"_blank\" rel=\"noopener\"\u003eBoston HTML5 Game Development\u003c/a\u003e\n meetup group, is giving me the floor to show you how to bring your awesome HTML5 skills to \u003ca href=\"http://venturebeat.com/2013/06/03/iphone-windows-phone-growing-faster-than-android-in-u-s/\" target=\"_blank\" rel=\"noopener\"\u003ethe fastest growing mobile platform\u003c/a\u003e\n, Windows Phone. \u003ca href=\"http://www.meetup.com/Boston-HTML5-Game-Development/events/119452042/\" target=\"_blank\" rel=\"noopener\"\u003e\u003cstrong\u003eGo here to sign up, it\u0026rsquo;s free\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003eBefore I explain what I\u0026rsquo;ll be showing you, check out the prizes I am giving away\u0026hellip;\u003c/p\u003e\n\u003ch3 id=\"awesome-giveaways\"\u003eAwesome Giveaways!\u003c/h3\u003e\n\u003cp\u003eI will be giving away some great stuff, including:\u003c/p\u003e","date":"2013-08-03T00:00:00Z","permalink":"/en/blog/2013.08.03-mini-code-camp/","tags":["code camp","gaming","giveaway","html5","javascript","js","mobile","publishing","resources","windows phone 8","wpdev"],"title":"Mini Code Camp"},{"author":null,"categories":null,"contents":"\u003cscript type=\"module\" src=\"https://get.microsoft.com/badge/ms-store-badge.bundled.js\"\u003e\u003c/script\u003e\n\u003cstyle\u003e\n    ms-store-badge::part(img) {\n        max-height: 35px;\n        vertical-align: sub;\n      }\n\u003c/style\u003e\n\u003c!-- \u003cscript src=\"/js/manup.js\"\u003e\n  mspb('9PD3JFK7W5MB', function(badge) { document.getElementById('mspb-4zufkjer8q2r').innerHTML = badge; });\n  mspb('9NBLGGH6850J', function(badge) { document.getElementById('mspb-ww4g6hunw4oc').innerHTML = badge; });\n  mspb('9WZDNCRDMGBF', function(badge) { document.getElementById('mspb-k193fm4umxlm').innerHTML = badge; });\n  mspb('9NSQ8PJ89SJT', function(badge) { document.getElementById('mspb-ti88ik4tr4lb').innerHTML = badge; });\n  mspb('9NRXNX3WLH77', function(badge) { document.getElementById('mspb-3i2h3xag964m').innerHTML = badge; });\n  mspb('9MZNMK3MPV8R', function(badge) { document.getElementById('mspb-sgk85bl4po35').innerHTML = badge; });\n  mspb('9NBLGGH08QC1', function(badge) { document.getElementById('mspb-32sw15rc8ttc').innerHTML = badge; });\n  mspb('9NBLGGH0F2CN', function(badge) { document.getElementById('mspb-pwivk2tr4yny').innerHTML = badge; });\n  mspb('9NBLGGH3G0SN', function(badge) { document.getElementById('mspb-ed5fyf2zm1aq').innerHTML = badge; });\n  mspb('9WZDNCRDMGJ4', function(badge) { document.getElementById('mspb-p2h9y1xar4ke').innerHTML = badge; });\n  mspb('9PMCKHT7M93P', function(badge) { document.getElementById('mspb-x0pjwfzwg043').innerHTML = badge; });\n  mspb('9NBLGGH08QDZ', function(badge) { document.getElementById('mspb-brmaan3fpktc').innerHTML = badge; });\n\u003c/script\u003e --\u003e\n\u003cp\u003eSee all of my currently visible apps in the Microsoft Store\u0026rsquo;s new website here \u003ca href=\"https://apps.microsoft.com/search/publisher?name=Lancelot\u0026#43;Software\u0026amp;hl=en-us\u0026amp;gl=US\" target=\"_blank\" rel=\"noopener\"\u003eMicrosoft Apps - Lancelot Software\u003c/a\u003e\n.\u003c/p\u003e","date":"2013-08-02T00:00:00Z","permalink":"/en/page/apps/","tags":null,"title":"Apps"},{"author":null,"categories":null,"contents":"\u003ch3 id=\"update-winners-announced\"\u003e[UPDATE] Winners announced!\u003c/h3\u003e\n\u003cp\u003eCongratulations to the following developers:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eJerrell Blankenship\u003c/strong\u003e: JBL Powerup\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMarcus Vaal\u003c/strong\u003e: Wenger Computer Backpack\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAnthony Russell\u003c/strong\u003e: Wenger Computer Backpack\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGary Ritter Jr\u003c/strong\u003e.: Nokia Wireless Charging Plate\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAustin Andrews\u003c/strong\u003e: Nokia Purity In-Ear Headphones\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI will reach out via email to get your shipping info and color preference (if applicable).\u003c/p\u003e\n\u003ch3 id=\"giveaway-details\"\u003eGiveaway Details\u003c/h3\u003e\n\u003cp\u003eYep, it\u0026rsquo;s time again and it\u0026rsquo;s a good one! The picture shows what I am giving away on \u003cstrong\u003eJuly 31st, 2013\u003c/strong\u003e, here is the exact list:\u003c/p\u003e","date":"2013-07-27T00:00:00Z","permalink":"/en/blog/2013.07.27-giveaway-time/","tags":["giveaway","jbl speaker","nokia","purity","technology","windows phone","wireless charging","wpdev"],"title":"Giveaway Time!"},{"author":null,"categories":null,"contents":"\u003cp\u003eThere have been many questions recently about how to properly redeem your shiny new Nokia Premium Developer Program. What better way than to record a video for you? Without further ado, here is how to redeem the token, as well as how to get at the Telerik goodness in the center.\u003c/p\u003e\n\u003cdiv style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\n\t\t\t\u003ciframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https://www.youtube.com/embed/LDEJPi-B8f8?autoplay=0\u0026amp;controls=1\u0026amp;end=0\u0026amp;loop=0\u0026amp;mute=0\u0026amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"\u003e\u003c/iframe\u003e\n\t\t\u003c/div\u003e\n\n\u003cp\u003eAfter doing this, you\u0026rsquo;ll know how to get the Microsoft DevCenter token as well as the Buddy.com token because it is the same process to retrieve the individual tokens.\u003c/p\u003e","date":"2013-06-11T00:00:00Z","permalink":"/en/blog/2013.06.11-redeeming-a-nokia-premium-developer-program-token/","tags":["controls","nokia","Nokia official","npdp token","premium developer program","redeeming token","resources","telerik","windows phone","wpdev"],"title":"Redeeming a Nokia Premium Developer Program token"},{"author":null,"categories":null,"contents":"\u003cp\u003eNokia has gone to great lengths to make it easy for developers to create promotional materials for their Windows Phone apps. This quick video shows you how to do it.\u003c/p\u003e\n\u003cdiv style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\n\t\t\t\u003ciframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https://www.youtube.com/embed/caCZ1w9ZUak?autoplay=0\u0026amp;controls=1\u0026amp;end=0\u0026amp;loop=0\u0026amp;mute=0\u0026amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"\u003e\u003c/iframe\u003e\n\t\t\u003c/div\u003e\n\n\u003ch2 id=\"steps-to-make-your-own\"\u003eSteps to make your own\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003eGot to the \u003ca href=\"http://developer.nokia.com/resources/promoting-your-app/index.jsp\" target=\"_blank\" rel=\"noopener\"\u003eMarketing Toolkit main page\u003c/a\u003e\n (you\u0026rsquo;ll need to be signed in)\u003c/li\u003e\n\u003cli\u003eSelect the checkbox under \u0026ldquo;Promotional Video\u0026rdquo;\u003c/li\u003e\n\u003cli\u003ePaste in the Store URL to your app\u003c/li\u003e\n\u003cli\u003eSelect the platform of your choice (I chose Lumia 920)\u003c/li\u003e\n\u003cli\u003eSelect a language\u003c/li\u003e\n\u003cli\u003eClick \u0026ldquo;Continue\u0026rdquo;\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eOn the next page:\u003c/p\u003e","date":"2013-06-07T00:00:00Z","permalink":"/en/blog/2013.06.07-make-an-awesome-video-for-your-app/","tags":["how-to","lumia","marketing","nokia","Nokia official","resources","software","technology","tutorial","video","windows phone","wpdev"],"title":"Make an Awesome Video for Your App"},{"author":null,"categories":null,"contents":"\u003ch2 id=\"update-we-have-a-winner\"\u003e[UPDATE] We have a winner!\u003c/h2\u003e\n\u003cp\u003eThank you to everyone who worked so hard to get their first app in the Windows Phone Store! Keep it up, as I have many more contests coming up. Update your app entry with a new feature, or optimize it\u0026rsquo;s layout, to get the app ready for my next contest ;)\u003c/p\u003e\n\u003cp\u003eNow, without further ado, the winner of the June giveaway\u0026hellip; drum roll\u0026hellip; \u003cstrong\u003eRichard Huang of Boston, MA\u003c/strong\u003e. \u003ca href=\"http://www.windowsphone.com/en-us/store/app/languages-on-the-go/920df3b0-dcd2-4f36-b913-e342f1c37d32\" target=\"_blank\" rel=\"noopener\"\u003eHere is a link\u003c/a\u003e\n to his Windows Phone app entry for the drawing. To everyone else who didn\u0026rsquo;t enter, if you\u0026rsquo;re a developer who fits the qualifications below, email me to get a head start on my next giveaway.\u003c/p\u003e","date":"2013-05-20T00:00:00Z","permalink":"/en/blog/2013.05.20-nokia-lumia-822-and-lumia-800-giveaway/","tags":["giveaway","lumia","lumia 800","lumia 822","mobile","nokia","technology","tile sizes","windows phone","wp8dev","wpdev"],"title":"Nokia Lumia 822 and Lumia 800 giveaway [winner!]"},{"author":null,"categories":null,"contents":"\u003cp\u003eI will be writing a more in-depth blog post (with videos and event pictures) on the Telerik website when all the media is done being edited. For now, I wanted to quickly get a post up to show the winners of \u003ca href=\"http://thebostonhackathon.eventbrite.com/\" target=\"_blank\" rel=\"noopener\"\u003eThe Boston Hackathon\u003c/a\u003e\n. There were over 40 apps created, submitted and presented! Every developer who went through my grueling training schedule on day one, built their app, got it in by 3:30PM on day two and had the courage to present to the audience, earned a Nokia Premium Developer Program token ($1,500 value)! They will all be able to publish their apps to the Windows Phone Store.\u003c/p\u003e","date":"2013-04-16T00:00:00Z","permalink":"/en/blog/2013.04.16-hackathon-winners/","tags":["apps","boston","ckathon","coding","contest","fitness","hackathon","maps","mobile","nokia","nokia developer","nokia maps api","Nokia official","speech maps","telerik controls","windows phone","wp8dev","wpdev"],"title":"Hackathon Winners"},{"author":null,"categories":null,"contents":"\u003cp\u003eThe Boston Marathon gives you 26.2 miles, but the \u003ca href=\"http://thebostonhackathon.eventbrite.com/\" target=\"_blank\" rel=\"noopener\"\u003e\u003cstrong\u003eThe Boston Hackathon\u003c/strong\u003e\u003c/a\u003e\n can give you 26.2 smiles!\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"/en/blog/2013.03.28-twentysix-point-two-smiles/eventbrite_450x200.jpg\" alt=\"eventbrite_450x200\"\u003e\u003c/p\u003e\n\u003cp\u003eI am throwing a huge bash of a hackathon during the weekend of the marathon (april 13th - 14th). Awesome prizes awarded for your guts, and recognition for your glory. Just showing up proves your level of awesomeness, so you\u0026rsquo;ll get $1,500 worth of goodies just for building an app\u003c/p\u003e\n\u003cp\u003eHere\u0026rsquo;s a snapshot of the prizes:\u003c/p\u003e","date":"2013-03-28T00:00:00Z","permalink":"/en/blog/2013.03.28-twentysix-point-two-smiles/","tags":["competition","contest","giveaway","hackathon","nokia","prizes","radcontrols","telerik","windows phone","wpdev"],"title":"26.2 Smiles"},{"author":null,"categories":null,"contents":"\u003cp\u003eUPDATE: We have a winner! Congratulations Imran Shaquif, of Dangling Neuron, who has won the March Lumia 620 giveaway.\u003c/p\u003e\n\u003ch2 id=\"march-lumia-620-giveaway\"\u003eMarch Lumia 620 Giveaway\u003c/h2\u003e\n\u003cp\u003eI am giving away a Lumia 620 to a lucky WPDev.\u003c/p\u003e\n\u003cp\u003eThe rules are simple:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou have published a new Windows Phone app (starting Feb 1st 2013)\u003c/li\u003e\n\u003cli\u003eYou live in the US and are \u003cstrong\u003enot\u003c/strong\u003e in California, Texas or New York\u003c/li\u003e\n\u003cli\u003eYou\u0026rsquo;re a member of Nokia\u0026rsquo;s \u003ca href=\"https://www.dvlup.com\" target=\"_blank\" rel=\"noopener\"\u003ehttps://www.dvlup.com\u003c/a\u003e\n (Go to \u003ca href=\"https://www.dvlup.com\" target=\"_blank\" rel=\"noopener\"\u003ehttps://www.dvlup.com\u003c/a\u003e\n and register, you don\u0026rsquo;t need a code anymore)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you meet these conditions, send the following information to \u003cstrong\u003eext-lance.mccarthy (at) Nokia.com\u003c/strong\u003e:\u003c/p\u003e","date":"2013-03-05T00:00:00Z","permalink":"/en/blog/2013.03.05-lumia-620-giveaway/","tags":["contest","giveaway"],"title":"Lumia 620 Giveaway"},{"author":null,"categories":null,"contents":"\u003ch3 id=\"grab-your-scuba-gear-because-were-diving-into-new-wp8-features\"\u003eGrab your scuba gear because we\u0026rsquo;re diving into new WP8 features\u003c/h3\u003e\n\u003cp\u003eWindows Phone 8 ushered in a bunch of new APIs to hook into. I am providing my Dvlup\u0026rsquo;rs with a one-on-one training experience via email (and soon, via Skype). Take a look at the topics below. I will do a mini-code camp with you on a topic of your choice, then we can apply what you\u0026rsquo;ve learned to your app idea.\u003c/p\u003e","date":"2013-02-07T00:00:00Z","permalink":"/en/blog/2013.02.07-deep-diving-with-lance/","tags":["dive","mobile","resources","training"],"title":"Deep Diving with Lance"},{"author":null,"categories":null,"contents":"\u003ch1 id=\"offer-ends-feb-11th-2013-500-pm-pst\"\u003e\u003cstrong\u003eOffer ends Feb 11th, 2013 5:00 PM PST\u003c/strong\u003e\u003c/h1\u003e\n\u003cp\u003eSo you\u0026rsquo;ve published an app and you\u0026rsquo;ve worked hard to keep its rating at 4+ stars. You\u0026rsquo;ve had at least 50 ratings, proving that it\u0026rsquo;s not a fluke. Now what? Let me bring you into the fold of the elite.\u003c/p\u003e\n\u003cp\u003eYou and your app will get:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWindows Phone Store Placement\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eApp Highlights Placement\u003c/strong\u003e (Nokia\u0026rsquo;s app that is preinstalled on all new Nokia Lumias)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNAX Credits\u003c/strong\u003e for you to advertise your app in other apps\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSo if you meet the conditions (has minimum 50 ratings, is currently 4 stars or higher, and you\u0026rsquo;re DVLUP member or eligible to be) send me an email \u003cstrong\u003e\u003ca href=\"mailto:ext-lance.mccarthy@nokia.com\"\u003eext-lance.mccarthy@nokia.com\u003c/a\u003e\n\u003c/strong\u003e\u003c/p\u003e","date":"2013-02-07T00:00:00Z","permalink":"/en/blog/2013.02.07-rewarding-quality/","tags":["apps","developers","dvlup","giveaway","mobile","Nokia official","quality","resources","technology","windows phone","wpdev"],"title":"Rewarding Quality"},{"author":null,"categories":null,"contents":"\u003cp\u003eOne of my responsibilities as a Nokia Developer Ambassador is to help developers get started. I thought to myself, what better way to welcome \u003cstrong\u003enew\u003c/strong\u003e developers than \u003cstrong\u003egive them a new phone and a DevCenter Token ($99 value) or a Nokia Premium Developer Program token ($1,500 value) for building your first Windows Phone app\u003c/strong\u003e. I will knight you into the brotherhood of Windows Phone developers by giving you one of those sweet prizes and I made it as simple as possible to get one. If you are in my Ambassador area of coverage (see the bottom of the post for regions) send me an email to get started. Here are the three easy-breezy categories:\u003c/p\u003e","date":"2013-01-18T00:00:00Z","permalink":"/en/blog/2013.01.18-an-offer-you-cant-refuse/","tags":["account","android","androiddev","developer","enter","free phone","giveaway","iOS","iosdev","microsoft","nokia","Nokia official","premium","resources","roiddev","software","sweet prizes","windows phone"],"title":"An Offer You Can't Refuse"},{"author":null,"categories":null,"contents":"\u003cp\u003eI just returned from the 2013 AT\u0026amp;T Developer Summit in Las Vegas, and boy can I say it was a good one! Approximately 50% of mobile apps submitted to the hackathon were Windows Phone apps and the #1 winner of it all was a\u0026hellip; you guessed it, a Windows Phone app! The winner, Ruggero Scorcioni, took home a $30,000 prize for creating an app that uses brainwave readings to determine whether or not it is a good time to make or accept a phone call. We also had other winners who created awesome Windows Phone apps. I\u0026rsquo;ll write a future post on a list of the winners, for now, lets see some pictures.\u003c/p\u003e","date":"2013-01-11T00:00:00Z","permalink":"/en/blog/2013.01.11-developer-summit-awesomeness/","tags":["ambassador","attdeveloper","contest","developer","hackathon","las vegas","Nokia official","windows phone"],"title":"Developer Summit Awesomeness"},{"author":null,"categories":null,"contents":"\u003cp\u003eWith the entrance of Visual Studio 2012 we saw a new interface to edit your WMAppManifest file. This is a great tool to help you properly setup your app\u0026rsquo;s meta data. There is one limitation you should be aware of\u0026hellip; there is no support for extensions. What are extensions? They are the added functionality that lets you tie your app into other parts of the OS and user experience. This blog post will cover the extensions for photos, but the process is the same for other extensions.\u003c/p\u003e","date":"2013-01-02T00:00:00Z","permalink":"/en/blog/2013.01.02-registering-extensions/","tags":["added functionality","extensibility","extensions","mobile","Nokia official","o extensibility","photo","picture hub","resources","software","technology","ture hub","visual studio","vs2012","wmappmanifest"],"title":"Registering Extensions"},{"author":null,"categories":null,"contents":"\u003cp\u003eThis post is to get you started on Windows Phone Development \u0026ldquo;from the ground up\u0026rdquo; and is targeted towards people who have \u003cem\u003eno prior experience\u003c/em\u003e with the Windows Phone SDK.  At any time you can refer to my \u003ca href=\"http://nokiawpdev.wordpress.com/resources/\" target=\"_blank\" rel=\"noopener\"\u003eresources page\u003c/a\u003e\n for additional links to WPDev assets, tutorials and example code.\u003c/p\u003e\n\u003ch2 id=\"ok-lets-begin\"\u003eOk, let\u0026rsquo;s begin.\u003c/h2\u003e\n\u003cp\u003eThe first thing you should know is that is does not cost a penny to develop for Windows Phone! The SDK and the tools are free. The only time you will need to pay is when you sign up for your Microsoft DevCenter account. The DevCenter is your portal to the Windows Phone Store. It is where you will submit, update and track your apps. I can help mitigate those costs for you. If you are an Android or iOS Developer and are porting an app, or a true \u0026ldquo;from the ground up\u0026rdquo; developer,  I will pay for your first year\u0026rsquo;s DevCenter fee. \u003ca href=\"/about/\"\u003eContact me\u003c/a\u003e\n for details.\u003c/p\u003e","date":"2012-12-27T00:00:00Z","permalink":"/en/blog/2012.12.27-from-the-ground-up/","tags":["debugging","deploy","device","mobile","Nokia official","resources","sdk","software","technology","visual studio","windows phone","windows phone 8","wp7","wp8","wpdev"],"title":"From The Ground Up"},{"author":null,"categories":null,"contents":"\u003cp\u003eSo, you got an email from DVLUP stating that your challenge submission was denied.  Why were you denied? What did you miss?  I wanted to write this post to share the top reasons for denial and how to fix it\u0026hellip; 90% of these are due to the fact you didn\u0026rsquo;t edit your WMAppManifest file.\u003c/p\u003e\n\u003cp\u003eHere are the top offenders:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNot all Live Tiles Sizes\u003c/li\u003e\n\u003cli\u003eNo animated Tiles\u003c/li\u003e\n\u003cli\u003eNot all WP8 resolutions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e#1- You need to have all three tile sizes enabled for your app. Here is a list of the tile sizes from the \u003ca href=\"http://msdn.microsoft.com/en-US/library/windowsphone/develop/hh202948%28v=vs.105%29.aspx#BKMK_Tilesizesandresolutions\" target=\"_blank\" rel=\"noopener\"\u003eMSDN Documentation\u003c/a\u003e\n. To rectify this problem, simply toggle the \u0026ldquo;Support for large Tiles\u0026rdquo; property in your WMAppManifest file. See the image in answer #2 for more details.\u003c/p\u003e","date":"2012-12-13T00:00:00Z","permalink":"/en/blog/2012.12.13-denied/","tags":["c#","dvlup","e tiles","fest","live tiles","mobile","nokia","Nokia official","resolutions","resources","support","technology","tiles","tutoria","windows phone","wpdev","xaml"],"title":"Denied?"},{"author":null,"categories":null,"contents":"\u003cp\u003eAre you building a Windows Phone 8 app but don\u0026rsquo;t have a device to test your app on? Are you using the NFC or Bluetooth APIs and having a WP8 device would finalize your testing? There are 3 ways to get a device: Earn one with your rewards points, Trade up your current phone for a new one, or get a loaner device.\u003c/p\u003e\n\u003cp\u003eThis post is about the third option, I can line you up with a loaner device from Nokia. Take the following steps (if you are already a DVLUP member, skip to step 2) and let\u0026rsquo;s get your app to market!\u003c/p\u003e","date":"2012-11-27T00:00:00Z","permalink":"/en/blog/2012.11.27-get-a-loaner-windows-phone-8-device/","tags":["Nokia official","resources"],"title":"Get a loaner Windows Phone 8 device"},{"author":null,"categories":null,"contents":"\u003cp\u003eI have another giveaway and challenge for my developers today. In addition to being a Nokia Developer Ambassador, I work full time as a XAML Support Specialist at Telerik, yep the awesome RadControls people. So, I\u0026rsquo;d like to ask you, \u0026ldquo;How Rad is your app?\u0026rdquo;\u003c/p\u003e\n\u003cp\u003eI don\u0026rsquo;t want this post to sound like an ad, but rather a testimonial. That\u0026rsquo;s why I make it a point to say that I used the RadControls long before I became an employee, their components are a powerful, indispensable part of my development toolbox. The RadControls make your app look like you had a whole team of designers.  I just released an app powered by the RadControls, \u0026ldquo;Conferenced In\u0026rdquo;.  \u003ca href=\"http://www.windowsphone.com/s?appid=04322c10-d1d3-4b4d-8589-0fdb2c5b9f83\" target=\"_blank\" rel=\"noopener\"\u003eGet it here\u003c/a\u003e\n so you can follow along with this post as I make a simple comparison.\u003c/p\u003e","date":"2012-11-24T00:00:00Z","permalink":"/en/blog/2012.11.24-how-rad-is-your-app/","tags":["contest","development toolbox","giveaway","radcontrols","resources","software","technology","telerik","windows phone","wpdev"],"title":"How Rad is your app?"},{"author":null,"categories":null,"contents":"\u003cp\u003eYou\u0026rsquo;re sitting in front of your PC, steaming cup of \u003cinsert favorite beverage here\u003e next to you and your fingers are posed over the keyboard ready to strike. Visual Studio is full screen and Expression Blend is waiting to assist in the background, but your cursor is blinking steadily in the same place it was 15 minutes ago. You\u0026rsquo;re blank, the ideas aren\u0026rsquo;t flowing, the classes of objects haven\u0026rsquo;t materialized yet.\u003c/p\u003e","date":"2012-11-23T00:00:00Z","permalink":"/en/blog/2012.11.23-comatose-cursor/","tags":["apps","contest","freebies","idea","inspiration","mobile","music","music lab","newsblur","nokia","resources","windows phone","wpdev"],"title":"Comatose Cursor"},{"author":null,"categories":null,"contents":"\u003ch2 id=\"update\"\u003e[UPDATE]\u003c/h2\u003e\n\u003cp\u003eNAX has been discontinued and rolled up into Inneractive accounts]\u003c/p\u003e\n\u003ch2 id=\"original-post\"\u003eOriginal Post\u003c/h2\u003e\n\u003cp\u003eThe purpose of this post is to demonstrate how easy it is to get started using the Nokia Ad Exchange (NAX) SDK with your Windows Phone 8 (WP8) app. Although there is no specific SDK for WP8, the process is the same with only one difference. You need to manually check off the capabilities your app will use. \u003cem\u003eLet’s get started\u003c/em\u003e.\u003c/p\u003e","date":"2012-11-19T00:00:00Z","permalink":"/en/blog/2012.11.19-getting-started-nax-and-windows-phone-8/","tags":["Nokia official","resources"],"title":"Getting Started: NAX and Windows Phone 8"},{"author":null,"categories":null,"contents":"\u003cp\u003eHuh? Unless you were one of the developers I just gave codes to join the \u003ca href=\"/level-up-with-dvlup/\"\u003enew Nokia program DVLUP\u003c/a\u003e\n, the title of this post makes no sense. So, what am I talking about?\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf you build and publish 3 Windows Phone apps for me, I will give you a Nokia Lumia 800.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf you build and publish 5 windows Phone apps for me, I will give you a Nokia Lumia 900.\u003c/strong\u003e\u003c/p\u003e","date":"2012-11-14T00:00:00Z","permalink":"/en/blog/2012.11.14-to-3-or-not-to-3-that-is-the-question/","tags":["contest","giveaway"],"title":"To 3 or not to 3, that is the question"},{"author":null,"categories":null,"contents":"\u003cp\u003eIf you\u0026rsquo;re going to be in the Boston area on Thursday December 6th, come on over to Microsoft Research \u0026amp; Development in Cambridge (NERD). I\u0026rsquo;m doing a 90 minute group explaining how Nokia\u0026rsquo;s new developer program \u003ca href=\"/level-up-with-dvlup/\"\u003e(DVLUP)\u003c/a\u003e\n works and what it can do for you. I\u0026rsquo;ll also be introducing you to other the new stuff Nokia is providing for developers, most of it unprecedented and groundbreaking. Nokia fully believes in the fact that if you give developers the tools and resources, they will produce amazing apps.\u003c/p\u003e","date":"2012-11-10T00:00:00Z","permalink":"/en/blog/2012.11.10-you-have-apps-and-i-have-phones-lets-meetup/","tags":["giveaway","Nokia official"],"title":"You have apps and I have phones, let's MeetUp!"},{"author":null,"categories":null,"contents":"\u003cp\u003eGot your developer hat on? Check. Got your gamer hat on? Check. Ready to earn awesome rewards for doing what you love? Check!\u003c/p\u003e\n\u003cp\u003eGreat, then let’s get rolling! I am officially announcing the beginning of a brand new, groundbreaking program from Nokia for Windows Phone developers, DVLUP. You are formally invited to participate in this currently invite-only program where you earn points for your apps through completing challenges. Spend your XP on Xbox 360s, new Nokia Lumias and more.\u003c/p\u003e","date":"2012-11-06T00:00:00Z","permalink":"/en/blog/2012.11.06-level-up-with-dvlup/","tags":["gaming","mobile","Nokia official","resources","technology","xbox 360s"],"title":"Level Up with DVLUP!"},{"author":null,"categories":null,"contents":"\u003cp\u003eYep, you heard right. I really, really want to give away two Nokia Lumias (First place get a 900 and second place gets an 800). I need you to do something for me in return, build a winning app! So how do you win? There are two ways, one device for each of the following categories:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eCreate an awesome app for Windows Phone from scratch\u003c/li\u003e\n\u003cli\u003ePort your existing Android/iOS app to Windows Phone\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eEven if you don\u0026rsquo;t win a top prize this contest, you will be ready for my next giveaway. Bring the apps and I\u0026rsquo;ll bring the swag!\u003c/p\u003e","date":"2012-11-05T00:00:00Z","permalink":"/en/blog/2012.11.05-i-want-to-give-you-a-nokia-lumia/","tags":["contest","giveaway"],"title":"I want to give you a white Nokia Lumia 900!"},{"author":null,"categories":null,"contents":"\u003cp\u003eI am officially announcing that I’ve joined Nokia as a Nokia Developer Ambassador! So, what does this mean for you?\u003c/p\u003e\n\u003cp\u003eIf you are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn experienced Windows Phone Developer (WPDev) with tons of published apps\u003c/li\u003e\n\u003cli\u003eHave dabbled in WPDev, but haven’t published yet\u003c/li\u003e\n\u003cli\u003eAn experienced iOS or Android Developer with apps (published or not)\u003c/li\u003e\n\u003cli\u003eJust getting started on any platform and are thirsty for more\u003c/li\u003e\n\u003cli\u003eIn school and don’t know your Int from your Long\u003c/li\u003e\n\u003cli\u003eYou have great app ideas but don’t know a lick of code\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e…then you’re in luck. If you want to bring an app or an app idea to life, I am your man.\u003c/p\u003e","date":"2012-11-05T00:00:00Z","permalink":"/en/blog/2012.11.05-nokia-developer-ambassadorship/","tags":["Nokia official","resources"],"title":"Nokia Developer Ambassadorship"},{"author":null,"categories":null,"contents":"\u003cp\u003eI moved this blog post into its own page. Select the \u0026ldquo;Resources\u0026rdquo; tab above, or use \u003ca href=\"http://nokiawpdev.wordpress.com/resources/\" target=\"_blank\" rel=\"noopener\"\u003ethis link\u003c/a\u003e\n.\u003c/p\u003e\n\u003cp\u003eIf you have any questions, or if you are in the Boston area (New England), send me an email at \u003ca href=\"mailto:nokia-dev@outlook.com\"\u003enokia-dev@outlook.com\u003c/a\u003e\n or on twitter at @lancewmccarthy\u003c/p\u003e","date":"2012-11-05T00:00:00Z","permalink":"/en/blog/2012.11.05-resources-resources-resources/","tags":["buddy","nokia","Nokia official","premium","resources","sdk","telerik"],"title":"Resources, Resources, Resources!"},{"author":"Lance McCarthy","categories":null,"contents":"\u003cp\u003eThis page is a living cookbook of content features available in this site. It combines standard Markdown, Hugo built-in shortcodes, and custom shortcodes in one place so future posts are fast to author.\u003c/p\u003e\n\u003ch2\u003e\u003c/h2\u003e","date":"2010-01-01T00:00:00Z","permalink":"/en/blog/2010.01.01-rich-content-shortcodes/","tags":["shortcodes","markdown","code","youtube","vimeo","twitter"],"title":"Rich Content and Shortcodes"},{"author":"Lance McCarthy","categories":null,"contents":"\u003cp\u003e\u003cimg src=\"../../lance_mccarthy-transparent-925-300x300.png\" alt=\"headshot\"\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSocials\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"http://www.linkedin.com/in/dvlup\" target=\"_blank\" rel=\"noopener\"\u003eLinkedIn\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bsky.app/profile/lance.boston\" target=\"_blank\" rel=\"noopener\"\u003ebsky - @lance.boston\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://x.com/l_anceM\" target=\"_blank\" rel=\"noopener\"\u003eX - @l_anceM\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBios\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.progress.com/blogs/meet-lance-mccarthy-technical-support\" target=\"_blank\" rel=\"noopener\"\u003eMeet Lance McCarthy, Manager, Technical Support at Progress\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://mvp.microsoft.com/en-us/mvp/Lance%20%20McCarthy-5000553\" target=\"_blank\" rel=\"noopener\"\u003eMicrosoft MVP (.NET | Windows Dev)\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.credly.com/users/lance-mccarthy\" target=\"_blank\" rel=\"noopener\"\u003eCredly Profile (badge wallet)\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"bio-by-peers\"\u003eBio, by peers\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://www.linkedin.com/in/dvluper/\" target=\"_blank\" rel=\"noopener\"\u003eLance McCarthy\u003c/a\u003e\n, Microsoft MVP, is an exceptional community leader with an acute expertise for all things .NET and C# favoring Windows, .NET MAUI and ASP.NET Core/Blazor on containers. He has won many hackathons (e.g., 1st place @ Microsoft Build hackathon), and is a published developer with over a million downloads in the Microsoft Store.\u003c/p\u003e","date":"1970-01-01T00:33:46Z","permalink":"/en/page/about/","tags":null,"title":"About Me"}]