I am an idiot (a Windows Phone development story)

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.

  1. 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.

  2. 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.

  3. Plug your phone to enable development
    Problem: you need to unlock your phone first.

  4. 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.

  1. 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.

  2. 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.

My plan to save online advertising

After my last blog post arguing that advertisers should fall on a well and die, I've given the issue some more thought. After all, how would this little blog survive without ads? How would I keep up my product reviews without advertisers sending them to me for free?

Therefore, I came up with a plan to save the advertising industry from the scourge known as "ad-blockers". It's not precisely cheap, but we can still make it work in volume.

First of all, the Central Bureau of Advertising (or similar agency) has to announce publicly that they intend to make a raffle. The prizes have to be pretty good - The main prize should be at least a car, and the minor prizes should be iPhones (or even better, access to a yet-unreleased version), tablets, smartwatches and the like. You'll need a lot of them, so this is the expensive part. Ad agencies have to create quite a buzz, but then again, that's what they do for a living anyway.

Once we've assembled what is essentially the coolest contest on Earth, we announce the rules. In a nutshell, they will be:

  1. Everyone is allowed to claim a prize
  2. Winners will be selected via ads, served through the usual channels.
  3. Other than reading "you've won", there's no requirement about what the ads will look like
  4. The campaign will go on as long as there are prizes left. New prizes can be added at any moment

Here's the genius part: the winning ads will look as sketchy as possible. I suggest flashing gifs straight out of the 90s. Think about it: if the buzz for the campaign is high enough, we won't just have thousands (millions?) of users disabling their ad-blockers; we'll have effectively trained them to click on anything, no matter how suspicious it looks! All you need is to drag the contest long enough for little Johnny to think "I wish I could disable the ads, but then I might miss my chance to win". Once smaller companies start running their own contests in the same way, it's game over for ad-blockers.

There are of course some details to sort out, but I think you get the main idea. Some people will argue that this is dishonest, and that will lead to thousands of virus infections from rogue ads. Don't listen to these people: it's not your problem if some schmuck fails to protect his/her computer, and then again, if you cared about "dishonesty" your industry wouldn't be in this problem anyway.

I'm confident you'll find my scheme worth trying, and I hope this will clear any remaining bad blood between us. No need to thank me.