Daniel Hindrikes
Developer and architect with focus on mobile- and cloud solutions!
Developer and architect with focus on mobile- and cloud solutions!
All videos from .NET Frontend Day 2022 are now uploaded as individual videos on YouTube. You find them in the playlist below, and don’t forget to subscribe to the channel!
On Thursday 10 Feb, this year of .NET Frontend Day will be streamed with 8 great speakers talking about .NET MAUI/Xamarin, Blazor and more. Read more here: https://dotnet-frontend.com
On Geek dagen I did a talk about .NET MAUI. The talk is now uploaded to YouTube. Note, the talk is in Swedish.
Visual Studio for Mac is not supporting the current .NET preview. But that doesn’t mean that you cannot start to play with MAUI. But you have to use the terminal and for example Visual Studio Code. Install .NET MAUI If you do not have installed the preview yet, I recommend you to do that with […]
It is now about two weeks since I got my Apple Macbook Pro M1 delivered. It is the one with 16 GB of RAM and 2 TB SSD. Delivery time was quite long, I ordered it at the beginning of December. But now when I have used it as my primary machine for a while […]
To build and publish TinyMvvm I have used Azure Pipelines and a classic build pipeline together with a release pipeline. For the upcoming 3.0 release (in preview right now) I have migrated the pipeline to GitHub Actions. There are several reasons for that: I want to make the CI/CD open so all can see what […]
My session from Xam Expert Day is published on YouTube:
I den här episoden prata Daniel och Johan om något som är nödvändigt i nästan alla applikationer, säkerhet. De pratar om att hantera identiteter, autentisering och säkerhet i allmänhet. Områden som de pratar om är bland annat Azure AD B2C, autentisering i .NET Core, autentisering i Xamarin appar och App Service Environments i Azure. Azure […]
I den här episoden pratar Daniel och Johan om Nullable Reference Types, en feature som kom i C# 8 och som vi nu använt ett tag. De pratar också om några kommande saker i C#9.
The Code Behind med Johan Karlsson och Daniel Hindrikes är tillbaka. I första avsnittet i denna nya serie, eller The Code Behind 3.0 som vi säger pratar Daniel och Johan om framtiden för Xamarin och Xamarin.Forms och vad som händer i och med transformeringen till .NET MAUI.
Sometimes you need a more flexible button than the one that is shipped with Xamarin.Forms. That was the case for me with the app I am working with right now. I wanted to be able to have more flexible content and I also wanted to style it more than I was able to when I […]
Today, I released a new version of TinyMvvm, 2.4.1. The release contains this: Added ShellViewBase to optimize how ViewModels are created. Before the ViewModel was created during OnAppearing when using Shell navigation. It also ran Initialize during OnAppearing. But there are cases where you want it to run earlier, so I added a new class […]
Today I released TinyInsights 1.1.7 with some improvements. I have removed so it will not await when sending events to providers anymore. The reason is that it affected one of my apps in a negative way when I was tracking page views in the OnAppearing (when using Xamarin.Forms) method for a view. Also, users experienced […]
In the release of Xamarin.Forms 4.7, Microsoft introduced a Shapes, an API to draw shapes without having to use an external library like SkiaSharp. In this blog post I will show how you can use Xamarin.Forms and Shapes to create a rating control without using an external library. The complete code for this control can […]
The second edition of Xamarin.Forms Projects is now published. You can buy it from Packt or Amazon. It will also be available in other book stores. More Information An example-driven guide to help you build native cross-platform mobile apps using Xamarin, .NET Core 3, and Visual Studio 2019. Set up Xamarin.Forms for building native apps […]
I recently added a resolver that is powered by TinyIoC to TinyMvvm because I got a request to do so because they said that performance was better. I have used Autofac for many years and I have never had any problems with it. But I decided to replace Autofac with TinyIoC in one app that […]
There was an issue created for TinyMvvm regarding to use TinyIoC as the IoC-container. I had created an implementation of IResolver for Autofac. But now I decided to create one for TinyIoC too. The implementation for it can be installed via the NuGet package, TinyMvvm.TinyIoC, https://www.nuget.org/packages/TinyMvvm.TinyIoC. The code for setting up the container and the […]
This is a tutorial that will guide you through how to get started building an app using Xamarin.Forms and TinyMvvm. Create a new project based on the template for a blank Xamarin.Forms app. In this example, the name of the project will be SampleApp. The template will generate one project for shared code and one […]
Today I released TinyMvvm 2.2 (2.2.2). In this version I have added support for passing parameters when navigating with ShellNavigationHandler. You can now use both query parameters and passing a object as a parameter. So in your ViewModel with ViewModelBase as the base class you can use it like this: var persons = new List<string>() […]
Today I released TinyMvvm 2.1.1. The release contains the following: Updated Xamarin.Forms dependency so it has dependency on the lastest stable version of Xamarin.Forms. ViewModel navigation ViewModel navigation The idea about ViewModel navigation is from Shane Neuville from the Xamarin.Forms team, he reviewed TInyMvvm in one of his live streams on Twitch. During the stream […]
TinyMvvm is a library that I created a couple of years ago. The idea was to build a small (tiny) MVVM library that made me more productive. I first released TinyNavigationHelper that helped med to abstract the Xamarin.Forms navigation, because I do not want my ViewModels to have references to Xamarin.Forms. Last time I updated […]
In this episode, Daniel Hindrikes shows how to use a model that is trained by Custom Vision in Azure Cognitive Services in an app built with Xamarin.
For a pretty long time I have had code that I have used for a couple of different apps that uses SkiaSharp to convert an svg image to a Xamarin.Forms ImageSource. I also blogged about it two years ago, https://danielhindrikes.se/index.php/2018/03/13/use-skiasharp-to-convert-svg-to-xamarin-forms-imagesource/. But I never released it as a library until now. Get started with TinySvgHelper The […]
Read my blog post about Android Image Classification with TensorFlow Lite & Azure Custom Vision Service on the official Xamarin blog, https://devblogs.microsoft.com/xamarin/image-classification-xamarin-android/
About two and a half years ago I created a library with the name TinyInsights with the idea to abstract away the underlying provider for diagnostics and analytics. The reason was that I wanted to make it possible to change the provider without that it affected my code more than in the initial setup of […]
A common pattern in mobile apps is to use a swipe menu, a menu that appears when a user is swiping an item in a list for example. We often see this in mail- and messages apps. For Xamairn.Forms ListView we had ContextActions. but they were pretty limited. But in the upcoming 4.4.0 release of […]
TinyCache, https://github.com/TinyStuff/TinyCache, is an open-source library created by Mats Törnberg and it is a part of the collection of libraries that we call TinyStuff. It is a library that makes caching a little bit easier. Today we are releasing version 2.0 of TinyCache. In the first version, you could only have a single instance of […]
iOS 13 introduces Dark Mode, David Ortinau has written a great blog post on the official Xamarin blog about Dark Mode and Xamairn.Forms, https://devblogs.microsoft.com/xamarin/modernizing-ios-apps-dark-mode-xamarin/. In this post, I will show how we can use MergedDictionaries to work with a base theme that applies both to the dark mode and the light mode. First, create two […]
With Uno, you can build native apps and Web Assembly apps with C# and XAML using WinRT (UWP) APIs. In this episode, Daniel is talking with Jérôme Laban, the CTO of Uno Platform about what Uno is, the history of Uno, the current state of Uno and much more. Jérôme Laban on LinkedIn: https://www.linkedin.com/in/jeromelaban/ Jérôme […]
Coding After Work is very happy, in collaboration with tretton37 and Sup46, to present Microsoft’s James Montemagno for a special presentation showing off all of the amazing advancements that are happening for mobile development with Xamarin and .NET. In this packed session, James will show off everything that you need to know that is coming […]
In episode 2, Daniel show hot to set up Azure DevOps pipelines for a Xamarin app. Here is the recording from the stream:
Together with my friends and colleagues, Johan Karlsson and Mats Törnberg, we have started to live code on Twitch, https://www.twitch.tv/danielhindrikes. Right now we have started to build a Xamarin.Forms app from scratch, the plan is to continue to build that app, live on Twitch every Monday at 12:00 CET (Swedish time). If you missed it, […]
Det är snart dags för semester, men innan det passar Daniel och Johan på att prata genom vad som är nytt i Xamarin.Forms.
Christopher MANUE has worked as a mobile developer for over 10 years, he has for example worked with the MSN and Deezer apps. In this episode, he shares some of his experience and tells us some weird stories from developing high scale apps.
Last week when we hosted a community day in Stockholm with .NET on mobile devices in focus. One of the big discussions what about what tools and frameworks to start with for a developer that is new to mobile app development. That discussion inspired me to write this blog post about why to use Xamarin […]
With Xamarin.Forms 3.6 Xamarin/Microsoft is shipping a new feature, Visual. Visual was earlier a part of the Xamarin.Forms 4.0 release, but now it was included in the Xamarin.Forms 3.6 release. Material design Visual was created with the idea to make it easy for developers to implement one common user experience for both iOS and Android. […]
Azure SignalR Service is a service in Microsoft Azure that makes it possible for developers to build applications with real-time communications without having to think about how to host it. Azure will handle all that for us. If you are interested to learn more about SignarlR service and Xamarin apps there is a chapter in […]
For the second episode of App In The Cloud I invited the Program Manager of Xamarin.Forms, David Ortinau. I and David are talking about how Xamarin.Forms have evolved and the news in the upcoming version of Xamarin.Forms.
In the book Xamarin.Forms Project by me and Johan Karlsson there is a chapter about how to build an AR app using ARKit, ARCore and UrhoSharp. In the podcast, The Code Behind, (in Swedish) that we are recording we speak about that topic. So if you don’t speak Swedish, this is a great chance to […]
I am probably not the only one that has created my own RepeaterView, where I extend a StackLayout or a FlexLayout so I was able to bind a collection to them and generate content based on a template. In Xamarin.Forms 3.5 Xamarin/Microsoft introduced a new feature that they call BindableLayout. With BindableLayout it is possible […]
I have together with Johan Karlsson written a book Xamarin.Forms. Xamarin.Forms is a lightweight cross-platform development toolkit for building applications with a rich user interface. In this book you’ll start by building projects that explain the Xamarin.Forms ecosystem to get up and running with building cross-platform applications. We’ll increase in difficulty throughout the projects, making […]
In iOS 11, Apple introduced CoreML. CoreML makes it possible to do prediction on trained models locally on iOS devices. For image predictions I recommend you to read my earlier blog post, https://danielhindrikes.se/index.php/2018/07/05/using-machine-learning-for-image-classification-in-your-apps/. This blog post will focus on how to make prediction with text input. If you don’t have a model that you have […]
With iOS 12, Apple introduced Siri shortcuts. For us developers, we can create shortcuts using SiriKit. In this blog post, we will walk through how to do that in an app that we are building with Xamarin.iOS. The first step is to update our provisioning profile. Sign in to https://developer.apple.com. Go to the account page […]
Recently I started to build a map-based app where I wanted to show a map with map images as an overlay. For example, if I have an image for a specific area I want to show it on the map in the app. The way to do that is to use GroundOverlayOptions. and just use […]
Last fall, me, my family and a friends family took a trip to the forest for collection mushrooms. This blog post will not be about the trip to the forest, but that my friend not was good to recognize mushroom species I got an idea to write an app for that. So this post will be […]
There are a lot of great analytics services out there. But I always use to create wrappers around their native SDK:s so I easily can replace them. But what I did with TinyInsights is that I added support for multiple service providers. That makes it possible to track data to multiple destinations with one common […]
I have used many different MVVM frameworks/libraries, MvvmLight, Prism, MvvmCross etc. But I have not found any library that I think works great with Xamarin.Forms. When I created TinyNavigationHelper I had an idea about that I did not needed an MVVM library and that it was enough to have an abstraction for the navigation part, so […]
If you want to use AOT-compiling (AOT = Ahead of Time) for your Xamarin.Android it requires that Android NDK (Native Development Kit) is installed on the machine that will build your app. I using VSTS to build my apps and I using the “Hosted VS2017” build agent. After I enabled AOT and LLVM (Low Level […]
I found a intellisense setting in Visual Studio for Mac that makes me write code way faster. I turned on “Show import items”, after that I will get code completion even for classes that are in namespaces that I don’t have added a using for. I think it makes me write code faster and it […]
To work with images in an app project could be a hell while you need a lot of different resolution of every image. But what if we could use vector based images to create an image in the right solution? Xamarin.Forms has no support for that out of the box. But it possible to do […]
Since Xamarin.Forms was introduced many has asked for a visual designer for building user interface like the one we have for building WPF or UWP apps. But I don’t think it is many that uses it like a designer, I think it is mostly used like a previewer of the XAML that you are writing. […]
In many apps you want to store user data locally on the device, it could, for example, be passwords, credit card numbers etc. Even if the storage is sandboxed to your apps, you don’t want to store it in clear text, you want to store it encrypted. I have used Xamarin.Auth for many apps while […]
In iOS 11 Apple introduce large tiles in their design language. You can read more about it on the Xamarin blog, https://blog.xamarin.com/go-large-ios-11/, this post will focus on how to implement that in Xamarin.Forms. Note: There is a pull request for Xamarin Forms about iOS11 fixes created by Rui Marinho, so this will probably be in […]
TinyNavigationHelper is a helper that I created together with Johan Karlsson for a project where I don’t want to install a separate MVVM framework, but I still wanted to have an abstraction for the Navigation so that I could handle navigation in my ViewModels without having a reference to Xamarin.Forms in the ViewModels. The reason […]
In this post, I will describe how I have created base classes for my views and ViewModels in my latest projects. It will probably break some of the MVVM rules, but I think this is a productive way to work. Please leave a comment about your thoughts about in a comment below. First of all, […]
If we want to use other maps than the platforms default in our apps we need to provide tiles to the map view. To do that we need to create a custom renderer per platform. iOS In iOS we need to create an url template that contains {x}, {y} and {z}. Those be replaced with […]
I often see code that for example binds colors and texts for a button when they want to show different color and/or text when app is in different states. For example a button for login/logout the XAML could look like below.
MvvmLight is a very popular Mvvm framework created by Laurent Bugnion. I like to use MvvmLight but when developing mobile apps I miss the possibility to create modals, so I created an extension to the navigation service in MvvmLight, read more about it here. We can also use MvvmLight when we developing apps with Xamarin.Forms […]
Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly ‘Microsoft.Windows.Design.Extensibility, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’. Perhaps it doesn’t exist in the Mono for Android profile? If you updated the nuget packages for Xamarin Forms to 2.0+ and the android project stops to build there are a simple solution. Just delete the references which ends with .Design. In […]
Are you getting out of memory exception when your running your Android app? It’s common that the reason is that a large image is loaded. If it’s the case, take a look at this article at the Xamarin developer portal, http://developer.android.com/training/displaying-bitmaps/load-bitmap.html. But how to implement it when you’re building your apps with Xamarin.Forms? In this […]
Intresserad av effektiv testning av mobila enheter? Med Xamarin TestCloud kan man köra automatiserade UI-tester på mer än 1800 fysika iOS och Android enheter. Jag har skapat en kort introduktion på ca 10 minuter.
Last week I wrote a blog post about Xamarin.iOS and MvvmLight. Now it’s time for the second post about MvvmLight, this time about how to use it with Xamarin.Android. Because I put the ViewModels in a separate project I can use the same ViewModels for both Android and iOS. First we install the NuGet package […]
I think MVVM is a good design pattern to separate UI and business logic. MvvmLight is one of the most popular frameworks for MVVM. In this blog post I will show how you can use MvvmLight when we’re building a iOS app with Xamarin. The fist step is to create a view model. I always […]
Xamarin.Forms makes it possible to write UI for all the major mobile platforms, iOS, Android and Windows Phone with one shared code base. Many developers think that Xamarin.Forms isn’t is good enough to create apps that will be published and they think Xamarin.Forms is more a tool for prototyping. If you think Xamarin.Forms is a […]
If you are running Xamarin projects in Visual Studio 2015 you maybe have a lot of error related to assemblies that not is referenced. Even if there are errors the project will build successfully. Microsoft says this is a Xamarin bug and that the have reported it to Xamarin. Until it’s fixed there are a […]
Den 20 oktober börjar TechDays med förkonferens, jag och Johan Karlsson kommer att dela med oss av våra kunskapar gällande cross-platformutveckling. Att bygga cross-platformlösningar är alltid en stor utmaning då det i grunden är olika operativsystem, programmeringsspråk och utvecklingsmiljöer. Xamarin löser en stor del av cross platform problematiken genom att man kan utveckla appar för […]
In this post I will show you how to build a range slider for Xamarin.iOS and how to write a custom renderer if you want to use it with Xamarin.Forms. If you want to use the range slider control you can write the code yourself or use the flipper forms control library, https://github.com/johankson/flipper, that can […]
A common control in many iOS apps is the segmented control. Xamarin.Forms has no support for the segemented control out of the box. This blog post will show you how to create a control in Xamarin.Forms that is mapped to UISegmentedControl in iOS. In my sample I have named the control, FilterControl because is often […]
If you’re building an iOS app you maybe want to add content to the NavigationBar. This blog post will show you how to build a generic solution so you don’t have to write a custom renderer for each view that you want NavigationBar content for. First of all I creating a new class that inherits […]
When Google introduced Material Design for Android they introduced a new view called CardView. Xamarin.Forms doesn’t have support for CardView by default but you can easily create your own view that renderers a CardView on Android. First step is to create a Xamarin.Forms control in your shared project. public class CardContentView : ContentView { public […]
Xamarin has finally released support for Windows apps using WinRT. This make it possible to write apps for Windows Phone 8.1 (the stable release uses Windows Phone 8 Silverlight but can be upgraded to Windows Phone 8.1 Silverlight by changing target platform) and Windows 8.1. It’s still in preview and Xamarin not recommending that we […]
When using the Entry control in Xamarin.Forms with IsPassword set to true the text color property will not affect placeholder text on Windows Phone. To solve this you need to create a custom renderer for entry in your Windows Phone project. The native control will be a Grid that contains a PasswordBox (PhoneTextBox if IsPassword […]
By default all your data from your previous runs is deleted when you’re deploying an Xamarin.Android app. In many cases you don’t want the data to be deleted. Visual Studio To preserve data go to Tools -> Options -> Xamarin -> Android Settings and check “Preserve application data/cache on device between deploys”. Xamarin Studio To […]
This blog post will show you how to build a screenshot manager to use from shared code when building apps with Xamarin for Windows Phone, Android and iOS. First of all we need to create an interface in the shared code library. In this example there will be one method in the screenshot manager. This […]
One of the news in Xamarin.Forms 1.3 is what Xamarin call context actions. With context actions you can make a ListView much more richer. What you can do is to add a menu to every row in the ListView. On Windows Phone and Android is the menu showing when you’re long pressing on a item, […]
In many cases when you want a list of items you want to group them in the list. To use groups in a ListView with Xamarin.Forms is very easy. Below are screenshots from Android, iOS and Windows Phone where there is no HeaderTemplate used. First step is to create a group class that inherits from […]
I Think it’s really important to monitor apps. Of course the most important part is to log errors in the app. But I also like to track how my users uses my apps. For the lastest app I have built I have used a monitoring tool from Xamarin called Insights, http://xamarin.com/insights. While I alwas have […]
Many applications need to store data related to the application. If you’re building applications for multiple platforms the APIs for storage is different. Following five storage types is the most common ones: Local storage Storage to store application data locally on the device. Remote storage Storage to store application data in the cloud, for example OneDrive or […]
One common scenario when building an app is that we want to use tabs on iOS and Android and a Panorama on Windows Phone. Xamarin.Forms has a control called TabbedPage that render tabs on iOS and Android. At the bottom of the page for iOS and at the top of the page under the ActionBar for […]
The label control in Xamarin.Forms does not have a FontColor property. But the control is easy to extend. First create a new class that inherits from Label. Create a FontColor property of type string. The value of the FontColor will in this example be an RGBA string. public class CustomLabel : Label { public static readonly […]
Den 9 oktober anordnar Sogeti i Borlänge Sogeti Inspiration Day, temat är “Lyckas med din digitala resa”. Jag och Johan Karlsson(http://www.johankarlsson.net/ kommer att vara föreläsare på en session om att utveckla appar med C# och Xamarin. Där kommer vi berätta hur man kan använda Xamarin för att utveckla appar för alla stora mobila plattformar med […]
When I building an app with a MVVM framework I want to have my view models in a portable class library so I can use same view models for the Windows Phone app as for the iOS and Android app when building apps using Xamarin. If I press the back button in a Windows Phone […]
As I wrote in an earlier post, MvvmCross has IoC built-in. If you for some reason want to use a different IoC provider then the built-in when using MvvmCross you can write your own provider and use for example Autofac or TinyIoC. This post will show you how to use Autofac. I create an own […]
MvvmCross has IoC built-in, in this post I will show how to use it. The Mvx class has a few static metods that you can use for configure the IoC container. RegisterType Use the register type method to register new types to the IoC container. //Register a type Mvx.RegisterType(); //Register a type as a singleton Mvx.RegisterSingleton(new […]
Att bygga ett onlinespel innebär många utmaningar, att bygga ett onlinespel cross platform innebär ännu fler utmaningar. Under TechDays kommer jag och Johan Karlsson att berätta om våra erfarenheter efter att vi byggde ordspelet WordRoom där vi använde Xamarin dels för att kunna använda C#, men främst för att kunna dela klientkod mellan alla plattformarna […]
This post will show you how to use ValueConverters in an Android app built with Xamarin. For an introduction to Xamarin and MvvmCross read this blog post. If you want to convert values before you bind it to a property you can use value converters. For example if you want to view an element if […]
The ListView control in Xamarin.Forms has a background color property. But iOS has a default color on each cell, because of that it will not work to set a color with that property. One solution is to use a custom renderer for the ListView on iOS. A custom renderer can be created for the ListView […]
Xamarin.Forms is one of the biggest news with Xamarin 3. With Xamarin.Forms you can build UI for 3 platforms (Windows Phone, iOS and Android) with one shared codebase. What is unique for Xamarin.Forms is that the UI code you are writing with Xamarin.Forms will render native UI controls. That means that the UI will look […]
When I would deploy to the iOS simulator from Visual Studio I got a message that I hade to sync iOS SDK version with the build. But when I tried to sync I got an error that the sync process couldn’t connect to the server. Then I tried to open Xamarin Studio to check if […]
In my Visual Studio solution I have both client projects and server side projects. The client projects are for Windows Phone, Xamarin iOS, Xamarin Android and WPF. The server side project is a Mobile Services .NET backend project. My problems started yesterday when I would publish the latest update of my backend to Azure. I right […]
When developing apps for Android I’m using Xamarin and Visual Studio. I’m running Windows under Parallels.Therefor I can’t use the x86 emulator with HAXM for hardware acceleration. But Android emulator is really slow without hardware acceleration, because of that i running the emulator on the host OS, in my case OS X. To set up remote […]
Den 19-20 november (17-20 november med pre-conf inkluderat) anordnas utvecklarkonferensen TechDays av Microsoft. Jag och min Sogeti- och IO2GameLabs kollega Johan Karlsson har fått äran att vara med på den. Vi kommer att prata om det vi brinner mest för nämligen cross platform utveckling för mobila enheter. På pre-conf (den 17 november) kommer vi tillsammans […]
When I tried to build my project in Xamarin Studio (it will build in Visual Studio) that uses several NuGet packages I got following error. Error: Command ‘mono –runtime=v4.0.30319 [Path]/.nuget/NuGet.exe install “” -source “” -RequireConsent -solutionDir “[Path]/”‘ exited with code: 1. ([Project]) The error occurred because that the path contained one or more spaces. If […]
A way to reuse so much code as possible when working with Xamarin is to use the MVVM-pattern. A framework for MVVM that works great with Xamarin is MvvmCross (http://www.nuget.org/packages/MvvmCross/3.1.1). This blog post shows the basics about to use MvvmCross with Xamarin for an Android app. More posts about Xamarin and MvvmCross will come later. […]
In a current project I working with an app that uses a .NET Backend in Azure Mobile Services. Backend is a WebAPI. On client side I have all the code for networking in portable class library so I can reuse it on other platforms. Right now we are building the app for Windows Phone, but […]
If you get this message when developing Android apps with Xamarin, “Invalid or Corrupt License” it does not necessary means that it is something wrong with the licens. In my case it was API level 19 that caused the problems. After I unistalled it from SDK Manager I have not seen the message. This seems to be […]
In my current project, a multiplayer game for mobile devices I only using Windows Azure Mobile Services as backend. The game will be available for multiple platforms and I will use Xamarin for iOS and android. When using Xamarin I can reuse a lot of code if I using PCL (Portal Class Library) that i […]
WordRoom started as a Windows Phone project, the third client we started to develop and the first one we released was for Windows 8. We developed the windows 8 relative fast because we could reuse a lot of the code from the Windows Phone project in that we used portal library for the core logic. […]