UWP: Loving the Windows Template Studio Extension

I subscribe to a number of development blogs and articles, and I have been meaning to play around with the new Visual Studio extension that got announced at Build 2017 for a while now. What better time to use it than when I am about to complete the transition from “proof of concept” to fully fledged Universal Windows Store application?

Installing the Windows Template Studio Extension

Microsoft has made it super simple for anyone with Visual Studio to install this new extension. If you have Visual Studio 2017 (I have not personally tried it on an earlier version of Visual Studio), navigate to Tools – Extensions and Updates…

Once the new Extensions and Updates window appears, on the left hand side navigation pane select Online and then Visual Studio Marketplace. On the top right hand side there is a search bar, enter “windows template studio” and press the Enter key on the keyboard. You should see Windows Template Studio now appear in the list of tools and extensions. Click Install after selecting the Windows Template Studio extension; to start and complete the installation you will need to close Visual Studio.

After the installation process completes and you restart Visual Studio, you should see the extension Windows Template Studio with a green check mark. A screenshot of a successfully installed extension/tool is shown below.

WindowsTemplateStudioInstallation

Using the Windows Template Studio Extension

With the installation complete we can start using the new extension. I was super excited to see first hand how the extension could simplify the process of creating a new UWP application. If you haven’t opened Visual Studio, open the application. Create a new Project (default shortcut key is Ctrl + Shift + N). Open the Windows Universal Visual C# Template on the left hand side pane and select Windows Template Studio. Fill in your solution/project details as you see fit and click Ok.

UsingWindowsTemplateStudio

The Windows Template Studio wizard will launch and right off the bat it offers some templates and frameworks to get you started on the right foot; a good first sign. First you get to choose a Project Type; and you get three options (I guess the options they give are ones that most developers will use when developing their apps). You also get to choose a Framework, one of which is based on a third party; it looks like Microsoft isn’t playing any favourites here and is offering what they feel is best for developers (this goes to show how much Microsoft has changed and how much they really care about developers). Click Next once you have chosen a Project Type and Framework.

WindowsTemplateStudioWizard1

If you have never developed for the Universal Windows Platform then already having a Project Type and Framework setup for you makes things much easier for you in the future. But now is where the true customization and helpfulness really begins; in this part of the wizard you get to add the Pages and Features you want to your application. To make the next couple of choices easier for you, it would be beneficial if you nailed down how you would want your application to look and how many Pages you want (but you could always manually add more at a later date).

You first get to add Pages to your application. I found this part of the wizard extremely useful as it provides some common Page Types such as Settings, Map, etc. A bonus is that you can add as many as you want 🙂

WindowsTemplateStudioWizard2

Microsoft went above and beyond for the Features part I believe, kudos Microsoft. You get a plethora of Features to choose for your project. They are some of the most common when working on your application such as a First Run Prompt, Live Tiles, and Suspend and Resume. I really appreciate how Microsoft broke them all down them into easily recognizable Features, and on top of that if you are not sure what the Features do, there is a little information button you can click to learn more. Once you have selected all the Features you want click the Create button

WindowsTemplateStudioWizard3

If you look in your Solution Explorer, you will find all the Pages and Features that you selected ready for you to work on, just like magic. It could not be any simpler. If you want to start developing for the Windows platform and you choose UWP, then it would be foolish to not use this extension. It is easy to use, offers all the basics and groundwork to get started quickly. When I start working on any new UWP project, I’ll be using this extension going forward unless I can add all the necessary features faster myself (but most likely not). Overall I am very impressed with the options that you could choose to quick start your development.

For more information about the Windows Template Studio Extension have a look here and here.

Universal Windows Platform Programming Aid Series Incoming

Hello everyone, I hope this week has treated you well so far, I know it has me.

With my prototype bills tracker UWP app nearly converted over to a fully fledged commercial UWP app that is ready for the Windows Store; minus all the media elements that I still need to draw. I realised a couple of things when working on my app, some things that should have been easy and obvious were difficult and obscure or there was no clear documentation on how to perform a certain operation and the examples provided were lacking. I ended up relying on various Stack Overflow answers, other bloggers and technical forums or experimentation to solve the problems that I was facing.

In saying all of that I will be starting a small series which can hopefully act as aids and help you solve some of the issues that I faced when writing my app. I managed to solve my problems, so I only find it fitting that if there are other individuals out there scouring the internet looking for an answer to the same problem that I faced, why not provide a potential solution or aid in the understanding and how to come towards a solution. I will also be referencing and linking to the original answers to ensure full credit is provided to the ones who helped me (where available) and if my aids are helpful or you feel that they need amending then please let me know; I want my series to be as informative and correct as possible with software development best practises enforced. The more knowledge that we all share the greater chance we have of impacting someone’s life in a positive way.

So stay tuned in the coming weeks for the first “episode” of the series (it won’t be in a video format), and it will either be covering the lifecycle of a UWP app or binding values to controls like a ComboBox. If someone has any suggestions I will gladly take them on board for potential entries into the series.

Not One but Two New Apps Incoming

So it has been a little over a week (and I know I promised myself that I would be posting weekly, and I am a little late, terribly sorry) but I have been thinking what to write about. Do I write about my BJJ training and my upcoming grading (only one more day left)? The absolute blast I am having playing Prey or PLAYERUNKNOWN’S BATTLEGROUNDS with my friends? Or do I write about what I have been working on at work (been too busy to work on personal projects sadly)? But after a quick chat to my dad I know what I want to write about.

Before my dad and I had our chat, I knew for better part of a month what my new app was going to be. The idea I had for the app was a simple finance tracker where you can easily see your expenses and subscriptions. The reason that I am writing this app is so that:

  1. I can get some experience writing in C# and for the Universal Windows Platform.
  2. Better manage my expenses and subscriptions without having to use Microsoft Excel (not that Microsoft Excel is bad or anything).
  3. Potentially help others who need to track their expenses and subscriptions.

There are other apps or services on the market already but as my first and third points clearly state, it is about me learning and developing new skills while creating something I am going to use and potentially others as well. It is not all about the final product/solution for me.

Back to my chat with my dad now. He asked if there is an easy to use app or service that my mum can use to ensure that all the bills are paid on time, something to simply remind her. I first thought, “What? Are we not paying the bills on time?”, he said it was more of a measure to better budget and ensure nothing slips though the cracks; then I thought “Do we not have enough money to pay the bills?” Again he assured me everything is good and it is more about a better management system than the current management system. In my house we all use Windows machines (Windows 10 in particular), so I suggested first to use Cortana to set reminders. But then I remembered that she uses a local machine account and does not have a Microsoft account. Even if she had a Microsoft account, she really is not good with technology, especially computers. Creating an account, keeping it secure and having her manage something on the computer would be a little of a stretch if I was asked. She needs something simple, something that is easy for her to get a quick overview of all the bills that need paying when and how much. The UI needs to be basic as well, not just functionally basic.

That is when I decided to work on another finance app. A simple bills tracker. The user will be able to see what bills they have outstanding, what is due first, and how much. Nothing fancy and something that even my mum could use. I don’t know about most people but having this tool would be super useful and even better if someone like my mum could use it easily. Are there apps out there already? Again the answer is yes. But this way I can again work on my skills and tailor the app to suit my parents needs.

So there it is. Two new apps that I am working on. One that will be able to help you track your expenses and subscriptions and one that will help you manage your bills. Maybe they will end up being a single app, not sure yet. It would depend how I design the apps both visually and architecturally. Right now I am going to be focusing on bills tracker app to help my parents, and then either combine the finance tracker app to the bills tracker app or work on the finance tracker app as a standalone product.

Stay tuned for some new posts about the apps (or app).