Christian Heilmann

Posts Tagged ‘free’

Are free apps evil?

Monday, March 26th, 2012

Lately there has been quite some debate about “free services” and what they mean to their users. A lot of it started with the excellent article “Don’t be a free user” by Maciej Ceglowski which described a few unpleasant truths:

  • When you use a free service, you are the product that gets sold
  • This means in the worst case that your identity information, likes and dislikes and connections with your friends are sold to third parties for data mining
  • If the service doesn’t require you to enter this information the content you add to the service becomes the product sold to third parties
  • Using a free service can also mean that you have no right to the content you add to it
  • You shouldn’t be surprised that you lose everything when the service goes belly-up

The article however also points out that the solution to a lot of these issues – paying for the service – is not that common. We’ve been conditioned to expect everything on the web to be free. That is why the article was so important.

Lately another issue came up with free services – this time related to the mobile market: free apps are a big culprit of battery drain on mobile devices because of the constant loading of ads and reporting of data back to the ad providers and the app.

Strange reactions

What bugs me about all this is not that free services have issues. What bugs me is how a lot of people on the web react to the issue. There is a sense of gloating and arrogant repetition of the points in the Pinboard article as “duh, you should know and expect this” and there is a general consensus of “you can’t expect quality when things are free” and that “free users are doing it wrong”. The latter is especially ironic when a comment like that comes from a Yahoo, Gmail or Hotmail email account.

I got a lot of feedback when I complained about the fact that Twitter sold old tweets in bulk to data mining companies. Whilst my “not cool, Twitter” tweet was easily one of the most re-tweeted in the last months, the feedback was very polarised. A lot of people were outraged (in some cases overly so), and an incredible amount called me out as being naive for thinking that would not happen. The amount of people finding the main problem with this move was very few. The issue was not that data is sold, the issue was that third parties get access to my data while I am denied it.

Basic denial of service

My beef with this was not that Twitter sells the data – I don’t care, as Tweets are openly available on the web and I willingly publish them. My beef is that companies who pay for my data get better access to my data than I get. The Twitter API changed drastically lately and it is not easily possible for me to get a whole archive of my tweets. The API defines that I can get “up to 3,200 of a user’s most recent statuses” and that’s it. Even for searching Twitter and getting access to more than your last 20 photos you need other third party services that pull your information and store them on yet another server (which might be free and cause the same issue).

I use Twitter a lot and a lot of people thank me for my contributions. In order to retain information I have Twitter linked up with Pinboard – which I pay for – to have an archive of my links. I find it sad that I need to hack a service with another service to make me access my data in the future.

Now, Twitter makes money with my tweets, but doesn’t give me an option to get all my data that went through it – and that seems to be totally fine for a lot of people out there. Notice that I am not asking for any user’s tweets – just mine. The argument of the “that is fine” people is that tweets are openly available on the web and thus fair game for mining anyways.

Misdirected blame

That data is freely available on the web for mining should not be a carte blanche for companies to not give you access to your archive. Why offer an API at all when it is “so easy” to mine that information? Naming the best quality of the web – simple publication – as a reason to deliver sub-par user access seems to me lazy. Even the ill-fated Oink now offers you to get an archive of all the info you put in before it will go to the app farm in the sky where many a product bought by a larger corporation goes.

The same weird act of blaming the wrong thing happens with free mobile apps draining your battery. A lot of the comments and feedback blame the users for being idiots to use free apps and not deserving any better.

Let’s think about this: the poster child of a successful app and the success every app developer thrives to repeat is Angry Birds. Now, try to not “be an idiot” and pay for Angry Birds in order to preserve your battery life. Not possible.

The flagship app and the Cinderella story of startup success is a free app.

And as much as playing it is fun, the experience with ads is absolutely awful. I prefer very much playing it offline – as there are no banners covering part of the level and the performance seems to be much better. Even the HTML5 version is plastered with ads – funnily enough for Angry Birds itself. And this is where the real issue comes into play.

A need for new advertising models and metrics

The concept of a mobile app that requires me to be online is wrong. Our mobile connections are too flaky for that. The great thing about apps is that they do one thing and have offline and local storage capabilities and don’t expect me to be online. That means I can use them on flights and in tunnels.

So what is broken here is really the ad display model. You normally put ads in your products by hosting a third party script and pull the information from their servers. This worked on the web and to ensure that gaming the system is a tad harder the ad providers want to host the code and the banners and do their own click tracking (to avoid you for example putting the banner in an iframe, move it off-screen and reload it automatically). In a mobile world, however, this needs re-thinking. I’d really like to see the numbers of banner clicks in mobile games – I can safely say the only time I clicked any was when I actually wanted to explode a bird or slice a piece of fruit which means I got frustrated and much less keen on purchasing things.

One simple idea would be to allow app developers to download banners in bulk and rotate them locally rather than pulling them one by one. That way only clicking them would mean data transfers to the web. The display could be handled by local tracking. I found a few web banner services that do local caching like that. This means there has to be more trust between the app developer and the ad providers, but it would mean that you’d also have offline ads.

The second big problem is metrics. Right now all we measure as the success of apps is the number of users and downloads and when it comes to banners of course the number of clicks. This means of course that free apps will always be deemed much more successful than the ones that ask for payment upfront. So seeing the issues with free apps maybe it is time to reconsider how we measure the success of apps and get less excited about playing the number game.

Discussion on Google+

Using the social web for development – recycling rocks

Sunday, February 20th, 2011

I just marked up and released a paper that was rejected for a conference I applied to about using the social web for development: It describes how developers can use the power of the social web to advertise, improve and even develop their products.

The article is licensed with Creative Commons, so feel free to use it in your own products. And if you want me to deliver it as a talk at your conference, why not drop me a line on Twitter? :)

This also taught me not to bother at all with conferences any longer who ask you for a full paper as a submission, especially when they are academic conferences. The reviews I got for this were quite harsh and missed the point that I was trying to make that we are treading new ground here and there is no way to build on earlier successes or quote case studies.

I hope it is useful to you, and I’d love to get some feedback.

Enjoy, Chris

Developer Evangelism book update – new chapter on writing slides, new print version

Tuesday, December 15th, 2009

Yesterday I spent my evening updating the Developer Evangelism Handbook:

New cover. by  you.

The updates include:

The rest remains the same:

Developer Evangelism is a new kind of role in IT companies. This is the handbook how to be successful in it.

A developer evangelist is a spokesperson, mediator and translator between a company and both its technical staff and outside developers. If you think this would be a good role for you, here’s the developer evangelist handbook which gives you some great tips on how to do this job.

Using the handbook you’ll learn how to:

  • Find great web content and promote it.
  • Write for the web and create engaging code examples.
  • Use the web and the social web to your advantage to reach, research and promote.
  • Prepare and deliver great presentations

Love what you do and they will listen – my Pecha Kucha talk for Webdirections East in Tokyo

Wednesday, November 11th, 2009

In a few hours Web Directions East in Tokyo will kick off with a Pecha Kucha presentation night. This means that every speaker gets to show 20 slides in 20 seconds each (I first thought the whole presentation was 20 seconds) and it is all good fun and speedy. Here are my slides that I will show as I am not speaking at the conference – I will be just a booth babe. Eye candy, so to say.


  1. I am Chris and my job is to make developers happy.
  2. I travel the world talking to people about simple solutions to big problems.
  3. And I love my job.
  4. To me, the web is not about sites and code.
  5. It is about information – data.
  6. The web is full of great information and tools that help us deal with information.
  7. All we need is a simple way to reach that information.
  8. And remix it.
  9. Once we have the data we can build great interfaces that help everyone to consume that data.
  10. All this needs passion.
  11. And collaboration.
  12. When we all – world-wide – work together towards the same goals, our job is easy.
  13. This means re-using what other people have done.
  14. This is not cheating – on the contrary, it is a cleverer way of dealing with a problem that we all have.
  15. Using systems that have proven to work means they can be constantly upgraded and secured.
  16. Working together on systems that by make it easier and more secure to use our products protects our users.
  17. So before you build something, look around what was already done and can be re-used.
  18. If you build something, give it out for free.
  19. You will reach more people like you and get feedback on improvements that you had no idea about.
  20. Together we can build the future, each on our own can create a nice present.

TTMMHTM: Barcamps, datasets, social mentions and Python in JavaScript

Sunday, August 16th, 2009

Things that made me happy this morning: