npower Developer Challenge

Reading time: 9 mins

I like to think that I’m generally a pretty laid back person, however as those who know me well will testify, every now and again something will come along that turns me temporarily into a ranty, wildly gesturing little ball of vitriol. For at least a couple of minutes anyway, until something else shiny catches my eye on the internet, or I become more interested in having a nap.

One such thing happened earlier today, when a friend of mine tweeted “FAO: Nerds. npower Developer Challenge – 2013 Challenge – npower:“. Ooh! Nerd things! Developer things! Exactly the kind of screen-based distraction that I enjoy!

Unfortunately, on visiting the website, I rapidly realised that this was not the kind of thing that I enjoy. This is actually the kind of thing that I am strongly against. And now, in true keyboard warrior fashion (and because my boyfriend really doesn’t care enough about this thing for my ranty, flappy-hand routine to provide much satisfaction by directing it at him) I will proceed to tell you, the internet, why I do not care for this ‘developer challenge’.

1) Didn’t we already establish that crowdsourcing is bad?

Firstly and most obviously, this is a pretty clear case of npower wanting to end up with an app, but more importantly:

a) Not wanting the bother of going through any kind of proper process

b) Not paying people appropriately for their expertise and work

c) Thinking more about the PR “opportunities”

Yes folks, it’s yet another “genius” crowdsourcing campaign thought up by some guys in suits, completely out of touch with the way that the developer community actually works.

“…(s)he will, as a condition of entry, grant npower a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to use, reproduce, publicly perform, publicly display and create a derivative work from, any entry or App that the entrant submits…”

Entrants will be required to provide commentary for code where it isn’t self documenting.

“If any images are included entrants must include the source files in your submission”


The top prize for the competition is £10,000. Rates will vary, but I’m sure that for a lot of people, to design, develop, test, and publish an “innovative“, “responsive web app for mobile, tablet or desktop users which combines energy usage data with other third party or device based data“, their quote would come out a lot higher even if they were guaranteed to be paid for their time, which, of course almost everyone won’t be.

Oh but don’t forget the three runners up prizes! A 32GB Nexus 7 tablet, which Amazon currently have listed at £200. Working off Netmag’s 2012 survey data on average rates, this equates to roughly 4.65 HOURS of time. Again, if you’re lucky enough to win.

But this isn’t just about prizes, you silly, materialistic capitalist! It’s about giving back to the community! Helping drive innovation! Presenting them with a novel scenario from which they can learn! Yeah… about that…

2) Where is the challenge?

“The npower Developer Challenge has been launched to drive innovation in the development of apps for UK energy consumers”

How exactly is this driving innovation in the development of apps? It isn’t. It’s driving foolish people, or people who have nothing better to do, to create apps for you which you will then rip off and use for your own benefit. npower, why don’t you use the money you have spent on this campaign to get into some schools, use this as a workshop topic, and teach some kids to code? Run a hack day, facilitate collaboration, people sharing ideas and learning from each other. Why don’t you invest it in helping to evolve technology, or put some effort into helping develop some of the specs in progress?

I’m guessing because you figured that YOU would get the most benefit this way. Screw actually helping drive innovation.

But what about students, or people who don’t yet have a portfolio? Isn’t this exactly the kind of thing that is great for them to show off if they don’t have any commercial experience? To that I’d ask what this competition gives you that your own initiative doesn’t? If you want to spend some time creating a new app concept, fantastic. I strongly recommend that you do. Make things. Change things. Shake it up a bit. But don’t create something that someone else is going to steal, rip off, and not pay you for on the off-chance that you might win £10,000.

3) Unnecessary limitations

Tied to the above, the restrictions (stated clearly) for entry are that you must be:

  • A UK resident
  • At least 16 years old
  • A team of no more than 3 people

I’m guessing these are all to do with the fact that you’re offering a cash prize and the lawyers said you have to dress it up in restrictions and… zzzz.

Let me repeat myself. If you really want to help drive innovation in the web industry, don’t put restrictions around age. I think you’ll find that most of us are probably getting more and more jaded as we go through life (no? just me?), and that actually, it might just be that a 12 year old sees things through different eyes.

A team of no more than 3 people? This fascinates me. What possible reason could there be for this? Don’t restrict collaboration! Encourage it!

4) Death by jargon

So our brief asks for a few things:

(To) design a responsive web app for mobile, tablet or desktop users which combines energy usage data with other third party or device based data” / “Design a fully functional web app prototype for a desktop, tablet or mobile

Entrants are encouraged to create innovative web apps, but must ensure they are developed to function on the latest version of Safari and Chrome

Entrants applications will be tested on the latest version of Safari for iOS on the iPad and Chrome on a 9.7-10” Android tablet

What operating platforms can I design for?” “Entrants applications will be tested on the latest version of Safari and Chrome” (Those are BROWSERS, not ‘operating platforms’!)

So wait… you’re asking for a responsive web app (it’s a WEBSITE), but you’re only going to test it against two browsers? What if my app is so innovative that it can exploit phone capabilities, or does something amazing on a large display screen? No? You’ve only got a couple of tablets knocking around to test on? Ok cool, glad we’re really pushing the boundaries of innovation here.

And you want a prototype, right? But also for it to be fully functional? “npower data is not currently available as an API. We have provided dummy data for you to build your app, which is representative of the data in our systems. This ensures that your app will be usable without comprising our IT security.” Oh it’ll be totally usable and fully functional then! Everyone knows that a single set of test data which never changes is totally representative of real data! The sample XML file, consumerData.xml for instance, contains data relating to gas and electricity consumption – jan=”531.990000″ feb=”524.280000″ etc. That’s going to scale well then, when I want my innovative app to get my data from this year and last year…

5) Lack of expert consultation

And that, perhaps is my main gripe with this whole process. Building an app, or a responsive website, or any bastard hybrid of the two words that you may choose to smush together, should never be about jumping from a fixed starting point to an end result. This competition is flawed not only because of the crowdsourcing element, the missed opportunities in terms of actually driving innovation, and the judging process, but mainly because I do not believe that npower will end up with a truly great app at the end of this competition. And they’ll probably just ship it anyway.

Take the example above, with the XML feed. I am well aware that the data provided is probably completely unrepresentative of how data is stored in their actual systems. What npower should do, if they truly want innovation, is to welcome someone into their team in order to understand their data and the opportunities within it, speak to their customers, find out the challenges that they face with energy and what would be useful to help them overcome these. They could design an API (a secure one seeing as they’re so paranoid) in conjunction with these findings, and with developers to consult on creating scalable feeds that won’t come up against problems when the year happens to change. Is an API straight from their customer data actually the best way to do things? appliances.xml provided is a list of common appliances and their wattage – how often is this data likely to change? Do they need a CMS to manage it? It shouldn’t be the case that npower flings something over the fence and waits to see what comes back. If they really care about innovation and their company being part of it they need to be more open, and work with experts.

Yes, I get that this is a competition. It’s a PR exercise. They deliberately don’t want to do the above, and they don’t want to involve professionals. They probably don’t want to trouble themselves with the time and effort that proper analysis can take. But by not answering the deeper questions, the ‘why’s and the ‘can we do this instead?’s and the ‘what about X?’s, the eventual “fully functioned prototype” tweaked and shipped  out to the public will fail. There will be no thinking, no research, no collaboration between the npower teams and the app creators, and most importantly no proper interaction with UK energy consumers, the very people who the app is meant to be catering for.

If you, or someone you know is considering entering a competition like this, please think about what you’re actually getting out of it. Or society, or the industry, or starving children, as long as there is a worthy beneficiary. If there is no good to come of it, please take that time and use it in a better way. Volunteer at an after-school coding club like Code Club, spend it doing research and coming up with a killer concept and prototype that you then take to companies, or just spend it learning and printing out pictures of ASCII cats on the command line. You, and the industry, will be better off than if you flog yourself on the hope that you could yet earn a meagre fortune.