I was warned. I was told this wasn't a good idea. I mean, even the price should have pointed out that something was not what it seemed. But no, I had to go ahead. I had to be cooler than the other guys, and I was certainly going to prove everyone that you can't go wrong with a Nokia phone. So I got myself a Windows Phone 8.1 (again), and today I say to you, that was a stupid choice and I'm stupid for going with it.
I've chronicled in a previous blog^1 how much of a pain it was to try to develop for a Windows Phone (WP). That alone should have kept me away from buying a smartphone with a too-good-to-be-true price. But on I went, tricked by memories of me saying "this is not so bad after all", carefully ignoring that I only said that before I tried to write my own app. And here we are again.
This is, step by step, what my experience trying to develop a very simple app for my (Lumia 530) Windows Phone was like. Yours might vary, of course, but I'm not betting on it.
Install Visual Studio Community 2015 (free), following the Official WP develop guidelines
Problem: all versions that could work in Windows 7 (the one I have) are deprecated for WP development one way or another: they don't have required tools, cannot be activated because the servers are gone, or just won't work. So get Windows 10 and that comes bundled with itwant it or not, and try again.
Update your Windows and Install Visual Studio Community 2015 (free), following the official WP develop guidelines
Problem: the installer doesn't actually install the WP tools. Go back to the installer and modify your requirements.
Plug your phone to enable development
Problem: you need to unlock your phone first.
Sign up to Microsoft's Dev Network to register as a developer to get your phone unlocked
Problem: you need to pay €14, because reasons.
3.1 (Optional) Sign up on Dreamspark as a student to get a free developer account
Problem: the automatic verification process is broken. You need instead to send a copy of your ID, your student ID, and a transcript of your grades to Microsoft over unencrypted email. But don't worry, this data will be destroyed after they use it. "Anna" promised me so over email.
Start Visual Studio, create your first project, and add a couple text fields
Problem: bugs! The auto-complete is buggy, running my app once would force me to restart every time, and adding a control on the GUI while the text cursor is in the wrong place can (and will) erase every other control. But hey, at least we are finally developing something.
Add a "select date" field to your project
Problem: you need the DatePicker control to do this, but it's not included - I guess people don't select dates in phone apps. You have to follow several steps to get it working. However, as there's a library incompatibility somewhere, you'll get stuck anyway.
If you have been following all the steps you'll notice that, after several GiB of downloads and a lot of hours spent on internet forums, I have not yet managed to finish the first screen. I spent three days trying to get things running, which is the time I budgeted for the whole app, I'm out €14, and yet I haven't even managed to add a control that should have been there anyway. I also gave Microsoft quite some money, along with a lot of my personal information.
But the worst part is that I knew this is what development would be like, and yet I insisted on giving it another try. This is why I'm an idiot, and if you think your experience will be any better, it is my opinion that you are deluding yourself too.
Listen to my advice, dear reader: Windows Phone? Not even once.
^1 As of now I haven't restored the backup anywhere, but once I do you should see a link to that post here.