Take the Xamarin Challenge!

Posted on March 18, 2017 by Paul Thurrott in Dev with 32 Comments

Take the Xamarin Challenge!

I’m excited to announce the Xamarin Challenge, a special promotion aimed at getting developers started with Xamarin’s amazing cross-platform mobile app capabilities. And if you complete the challenge, you’ll be entered into a drawing to win one of two Surface Studios.

I know, right?

Here’s how it works. Head on over to the Xamarin Challenge on Thurrott.com and register. Then, you’ll be sent an email with the first of four steps, or tasks, to complete. These steps walk you through the process of using Xamarin and Visual Studio 2017 to create cross-platform mobile apps that run on Android, iOS, and Windows 10. And as you complete a step, you will receive an email with the next step after a 72-hour waiting period. Complete all three steps and you’re entered in the drawing.

As you may know, I’ve recently returned to the Microsoft development fold after several months of experimenting with Android app development. This promotion is coincidental to that—in fact, I literally had nothing to do with it—but it’s nice timing, for me. So I’ve entered the challenge as well—don’t worry, I don’t qualify for a Surface Studio—because I’ve been meaning to learn Xamarin development anyway. So this is a great start to that effort, and I’ve already completed the first step.

From what I can see so far, the Xamarin Challenge should be easy to complete, even for beginning developers. That is, you do need to be detail-oriented, of course. But I’ve already seen the weather app that you build light up on different mobile platforms, which is pretty amazing if you’ve never used Xamarin before.

The three steps break down like so:

Step 1: Download and modify. Here, you download the prerequisites to complete the challenge (Visual Studio 2017, which is free) and configure the environment for Xamarin development. Then, you download a fully functioning cross-platform app and import it into Visual Studio, and then become familiar with Xamarin by making a few minor revisions to the code.

Step 2: Enhance the app. In Step 2, you add a new page to the app and integrate with an external online service.

Step 3: Test and telemetry. In the final step, you learn about app deployment and configure crash analytics and reporting.

Your total time commitment here, not counting the time it takes to get Visual Studio 2017 up and running, is less than two hours: Step one takes an estimated 45 minutes, for example, and the other two steps are about 30 minutes each. You can do this. Plus, you might win a Surface Studio.


Tagged with ,

Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Comments (32)

32 responses to “Take the Xamarin Challenge!”

  1. JHawkZZ

    This is super cool, Paul!

    One note, and maybe I'm missing something obvious, but when I went to install Visual Studio, there were no Emulator options for "Visual Studio Emulator for Android" nor "Windows 10 Mobile Emulator". I checked the Community, Professional and Enterprise installers, and none had them. The only difference I can think of is that I was doing an install, and the example screenshot provided was "modifying" an existing installation.

    I sent an email to the support email letting them know!

    • andrewtechhelp

      In reply to JHawkZZ:

      It may be possible that your machine doesn't have Hyper-V enabled (either your PC isn't capable of Hyper-V, your PC has the required setting disabled in the BIOS/UEFI, or you have Windows 8.1 or 10 Home which don't support Hyper-V).

      Hyper-V is required to run those two emulators and I think if the Visual Studio Installer detects that it isn't able to install it, then it hides those options from even appearing.

  2. mortarm

    Unfortunately I was too late. Is there another way to do the challenges?

  3. halvey

    Waiting for Step 2 to open for me and my countdown timer has gone into negative territory by about 3 and a half hours ....

    There is a 72 hour wait period between each step. 

    Currently this step of the Challenge is closed and will open in:

    0Days-3 Hours-30Minutes-57Seconds

    You will receive an email when Step 2 is open.

    Please make it open for me :-)

    Thanks halvey

  4. snagy

    I'm still in the 1st step of the challenge and following exactly as it says in the instructions, and still getting various errors.

    I just installed Visual Studio Professional 2017 fresh with the options requested.

    The 1st error happened when I tried to create the blank project after step 3 from Exercise 2:

    Error: package installation error: could not add all required packages to the project Microsoft.NETCore.UniversalWindowsPlatform.5.1.0

    I have found the solution here:


    The steps to fix were:

    1. Tools > NuGet Package Manager > Package Manager Console

    2. In the PM select the UWP project as the default project

    3. type and run in PM: Install-Package Microsoft.NETCore.UniversalWindowsPlatform -Version 5.1.0

    4. Save and build.

    So moving forward.

    Now 2nd error I'm getting when I want to run the Android app as default. 1st it broke my Internet connection (since I have static IP for IPV4, I had to put that back, then it was OK), then after closing the emulator and trying again, I'm still getting these errors:

    No way to resolve conflict between "mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=, Culture=neutral, PublicKeyToken=7cec85d7bea7798e". Choosing "mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089" arbitrarily.

    The $(TargetFrameworkVersion) for FormsViewGroup.dll (v7.0) is greater than the $(TargetFrameworkVersion) for your project (v6.0). You need to increase the $(TargetFrameworkVersion) for your project.

    The $(TargetFrameworkVersion) for Xamarin.Forms.Platform.Android.dll (v7.0) is greater than the $(TargetFrameworkVersion) for your project (v6.0). You need to increase the $(TargetFrameworkVersion) for your project.

    The $(TargetFrameworkVersion) for Xamarin.Forms.Platform.dll (v7.0) is greater than the $(TargetFrameworkVersion) for your project (v6.0). You need to increase the $(TargetFrameworkVersion) for your project.

    So the emulator starts, but the app doesn't

  5. DRG

    Long time lurker, first time post.

    I would respectfully suggest that a caveat be added to the contest/installation notes please - if you install VS 2017 and the Xamarin tools (specifically the emulators) on a 2016 MacBook Pro Bootcamp partition you will break your system.   It's not that the components won't install, you will actually place Windows 10 into an unusable state.   Hyper-V is not supported on this hardware even though the emulators are selectable during the installation process (you can read about the issue in the Apple Support Communities).   I don't have the courage right now to try a VM on the Sierra side, however, I've read some posts indicating that this configuration will also break the Bootcamp partition.

    I realize that there are many machines that don't support Hyper-V and that you can't be responsible for vetting the entire list for your community, however, I don't think it's unreasonable to assume that a meaningful percentage of your readers who are interested in cross-platform development may be running Windows 10 on a MacBook Pro.

    The first boot after installation will take 10 minutes for the pre-login screen to appear, however, the internal keyboard and trackpad will not work.   I won't go into all of the steps that I took to get the machine back to a fully-functioning state because that's not the purpose of this post, however, the "45 minute" challenge turned into a 5 hour marathon.   Other users who ran into the problem eventually gave up and just installed Windows 10 from scratch again.   I would also prefer not to get into a back-and-forth about deploying on test machines first, making images before deploying new software etc., I simply wanted to warn other users about the problem.

  6. mikefarinha

    PSA: Going through the initial setup you will not be able to install the Android or Windows 10 Mobile emulators if you do not have virtualization enabled on your PC.

    • Codesmith

      In reply to mikefarinha: Yes, true, and so of course be aware you can't do the Challenge on a VM, as you can't have a VM-in-VM. Thanks for the PSA! :)

      • KAW 24

        In reply to Codesmith:

        Nested virtualization works fine for me in Parallels. I can run the Android emulator from within Visual Studio 2017 on my Windows VM. I haven't tried the Windows Mobile emulator yet but I would expect it to work.

  7. TheJoeFin

    I signed up on Friday and I didn't get a follow up email; how long should it take? I did try to sign up again and it confirmed I had, but no email. I also checked my junk, so far nothing.

  8. jrswarr

    Thanks for the challenge. I have been dancing around the edges - trying to figure out a way to jump in and really play with this stuff.  Each individual technology - while not difficult individually - are cumulatively daunting.  

    Should be fun - plus I may even win a Surface Studio.

  9. wpbest

    Xamarin is a buggy development system. It's not the same standard as Visual Studio. Because of the many changes of .NET with the .NET Core and the .NET standard, everything is in flux! It might be best to wait until after Build to start any development. I'm hoping Visual Studio for Mac will be the first true stable release that will be usable when it is available for production.

    • Matt Goldman

      In reply to wpbest:

      I agree. I think maybe experienced developers who are used to encountering bugs and build errors can deftly navigate the monsoon of these you get when using Xamarin. Not suitable for beginners at all. Take this challenge for example. Download and install VS2017 Community on a fresh build. Download prerequisites. Download challenge pack. Follow instructions to the letter. First build fails.

    • Codesmith

      I have personally found the Xamarin Platform, especially Xamarin Forms, to be extremely stable. The only issues the average developer tends to run into seems to be environmental, especially with making sure XCode and Channel updates are correct and up-to-date, and sometimes Android SDK versions.

      I honestly think the Xamarin Platform is amazing, and actually can't believe they pull it off so well!

    • andrewtechhelp

      In reply to wpbest:

      Are you talking about Xamarin Studio rather than Xamarin?

      Xamarin itself is very a very stable and mature product and you can use it in Visual Studio or in Xamarin Studio.

      Xamarin Studio (on macOS) I would agree is a long way behind Visual Studio in terms of it's capabilities and just general user experience and that's mostly because Xamarin Studio has never had the huge development team behind it that Visual Studio has. It's also a much newer product. It looks as though Visual Studio for Mac is going to close that gap slightly, but don't expect it to meet the same bar as Visual Studio on Windows for a long time, if ever.

      • wpbest

        In reply to andrewtechhelp:I have been using Visual Studio for over twenty years now. I have used Mono since 2005 and Xamarin since 2009. Even Migual del lcaza states in a video last year Xamarin software quality has had issues. Since April of last year I have been tryng to utilize Xamarin.Forms for all three platforms; Android, iOS and UWP. Compared to creating a strictly UWP using XAML/C# and Xamarin.Forms and the portable class libraries there is a significant difference in the quality of tools. MVVMCross seems to be more of stable library compared to Xamarin.Forms. Sorry, but In my opinion, Xamarin has never been a mature product compared to the quality of Visual Studio. I expect this will get better over time. Again Sorry, I'm just used to the quality of Visual Studio.

        • Codesmith

          In reply to wpbest: I think it's just a perspective issue. I have been using Visual Studio since before it was even Visual Studio (like even since InterDev) and using Xamarin for over 8 years as well. I don't know RE: pure Xamarin, but for Xamarin Forms I find it just as stable as any other "app type" or platform. Not as an IDE, per se, but as a "platform".

  10. Saeed212

    am i suppose to receive the email as soon as I register?

    because from yesterday I didn't receive any email.

    one more thing , is this open to all countries?

  11. stephen888

    Last week I stumbled over the Xamarin Challenge in my Facebook timeline. A click later I was in the middle of a so called “coding challenge”, with three challenges ahead of me. If you didn’t took part in the challenge yet, no matter, you can start anytime.

    free steam wallet codes 2016