building

Becomming a Windows 10 Developer.

My journey so far on developing an app for Windows 10.

Up until now I have been a web developer, using Microsoft (C#, ASP.NET) and non-Microsoft (PHP, MySql, on Mac) technologies. I have also dabbled in app development, even buying the mobile devices to have a go. I use an iPhone as my daily device, and own Android (LG K8) as well as Windows (Lumia 650) phones. As I own a Mac and Windows machines, it is suffice to say that if it exists, I have used it and probably done a bit of coding on it.

I have always liked the direction Microsoft had been taking Windows 10. When I first saw it in Berlin (the Microsoft Digital Eatery is a great place!), I was impressed with how it looked and worked. Various keynotes at events Microsoft had laid on (I hadn't attended, just watched online), increased my excitement at the platform. Then, when the current version of Windows 10, called Fall Creators Update, was announced along with a new design lanugage, Fluent Design, I wondered even more whether I should give app development another go.

In October 2017 I received an email about a sweepstake to win some great Microsoft products. The Surface team had produced some brilliant products over recent years, and there was a chance to win them if I developed an app for Windows 10 that used some of the new features included in the latest version of Windows. I decided I would develop a timesheet application, as I thought it would help me record the time I spend on projects at work (I used Notepad up until then).

So, over the next 3 weeks, giving 1 clear week at the end for the app submission process, I developed Done. Although I had developed Windows desktop applications before, there were some things that had changed:

  1. Changing the format of dates and times has changed. There is now something called a 'DateTimeFormatter'. Not sure it makes sense to me yet!
  2. How you process a dropdown box in an app seems to have changed. I had to connect it (technical term is 'binding') to data.
  3. Navigation bars and command bars.

As I got used to those changes, and the more it drew closer to the deadline, I got more excited. Even if I didn't win some cool Surface devices, I would have an app in the Microsoft Store. Quite an achievement.

There were, however, a few problems. I had to change how my app would work because of some limitations with developing for Windows 10. Other issues were just plain annoying:

  1. I wanted to include flyouts, small windows with a couple of fields in, so the user could enter details in quickly. I couldn't see how to dismiss these once the fields had data in them, so had to convert the flyouts to full screens.
  2. I couldn't send an email from my app, even though C# as a language includes the functionality. I had to open the default email application so the user then has to send the email. Might not be a bad thing, as it enables the user to check the email before sending it, but was a little inconvienient.
  3. How can I generate invoices as PDFs? Didn't want to spend a fortune on a plugin (not all developers have £1000 to spare!). Had to resort to email instead!
  4. Although the app would load on my Windows phone, running Fall Creators Update, I couldn't use the nice Fluent Design that Microsoft had introduced. If the app were to be submitted for the deadline, I would have suggested it was maybe desktop only.
  5. Then there is the whole app submission process...

I had hoped that Microsoft would make it far easier for developers to submit apps to their store in the hope that more apps would be produced. Not so. I first attempted to submit my app on 10th November, a full week before the competition closing date, to give me chance to resolve any problems that arose. However, my account couldn't be verified, so I couldn't even proceed to submit my app.

It took Microsoft 2 weeks to sort that out, so I had missed out on the sweepstakes. However, I persevered, wanting to have an app on the store to prove that I could do it. After my account had been verified, I entered the information to submit the app to the store. But there was a problem in the Payout information - the bank details required so if people pay for your app then Microsoft can pay you.

More than 2 weeks went by, where I kept receiving emails from Microsoft which basically said "we're looking into this, and it will take between 3 - 5 business days"! Eventually I decided they couldn't pay into my bank, so I opted for PayPal instead.

After this, my account still had to be verified. More time passed, and I couldn't submit my app to the store. On 11th December, I had had enough. Microsoft had 1 week to sort it otherwise I would move on. My patience had run out with the whole process. I had enjoyed developing the app, but the submission process fell far short of my expectations (an email every couple of days saying it will take a few more days, for something so simple, isn't enough). I thought to myself that if this wasn't resolved by the end of the week, I would consider a "Classic" (read "old") desktop application, or make it web based. I have some doubts about web based applications - at work we've had issues with servers, and previous employers caused me to lose confidence. I wanted this to end, so I can say that I have achieved something and not given up.

Finally, early morning on Saturday 16th December, I received an email that my account was verified. I quickly opened the Developer Dashboard, and submitted the app. That's it! Done (pun intended!) My app has finally been submitted to the Microsoft Store. Now all it has to do is pass the tests...

Where does this leave me? At the moment, I'm excited because my app is nearly ready for download. I'm really pleased I've achieved something and released an app. I'm also excited for the future - what shall I code next?

Relieved. Hopefully now this app is through the process, the next ones (if there are next ones) will make it through a lot quicker and easier.

I'm also nervous. Nervous about what people think and will they find it useful? Anxious about negative reviews on the store, or abuse on social media. People these days post anything on social media not realising that there is a person at the other end who will read what they're written.

I'm also aware that the app took only 3 weeks to develop, in my spare time. Unfortunately, not a lot of time went into it, so it means it does miss a lot of features that I want it to have. I want the reporting section to be nicer and present the information better. I want to include a help system, so you can submit requests from within the app. I want the invoicing to be better. All of these will now have to wait until the New Year. I've created a website where I list these upcoming features - I hope to be able to cross them off one-by-one as the app gets better.

Last of all, I'm disappointed I couldn't enter the sweepstakes. A Surface Studio would look great on my desk. I'm now going to save up for a Surface Book 2...