2010-07-23

Now I also have to complain about the Android Market

Until today I was really happy with the Android Market. But until now I just was a user of the Android Market. But what happened?

Today I opened a developer account for the Android Market. My plan was to offer a small little app in two versions: Free and paid. It's quite common in the Android Market and I have seen something like this many times in the Market.

I really wished that the Market had something similar to Handango where you can upload a free "demo" version and the "full version" that a paying customer gets together. Unfortunately this isn't possible!

And even worse: You even cannot have two apps that use the same name space. (the package attribute of the Manifest file). That means you cannot easily create a free and a paid version from the same code base.

There are already some ideas how to work around this but all of them are less than ideal.

See http://stackoverflow.com/questions/1222302/android-multiple-custom-versions-of-the-same-app and http://droidin.net/2009/05/13/android-multiapp/ for more about that.

2010-07-19

Design Pattern Oriented Design is a Bad Thing!

Recently I stumbled upon a post on dzone.com:  When Design Patterns are Evil and I couldn't agree more.

We all know design patterns and we love them. They make it easier to talk about the design of our code and that's what I think they are good for.

But occasionally I had the joy of maintaining code that seemed to be build around design patterns completely. At first I was impressed (when reading the design documents). But when digging deeper into the code it became more and more obvious that thinking in patterns is a bad idea.

A pattern in my eyes is just a name for something that a good programmer should come up with when solving a particular problem even if he didn't knew about that pattern before. I often had this situation: Solving a problem by writing code and later recognizing that I used a specific pattern.

But trying to throw patterns on every problem you encounter will result in over complicated, bloated and over engineered code.

Maybe it's some sort of uncertainty that leads developers to over use design patterns. They think: If I can refer to a pattern it can't be wrong.

Don't get me wrong: Design patterns are not a bad thing but over using them can be dangerous. As everything in life it's all about balance.