Software users are like teenagers, it's said: They want all of the freedom they can get, but they expect you, the good parent, to rescue them from harm. They want all of the advantages of the walled garden, but insist on being able to slip through some backdoor whenever it suits their fancy.
The issue of control is a difficult one for programmers. The ethos of open source permeates the culture, with its insistence that everyone should be able to recompile the stack and tweak anything to fit. Alas, the average user can't make use of this power no matter how much they want it. Even most programmers have to spend hours finding the right versions of the libraries and the latest edition of the compiler. Control means nothing if you don't have the time to use it.
Some companies are pushing the ideal of open databases. We're all supposed to be able to download the information about us. Alas, most of us can't do anything with the information, and the only ones with the time and energy to use these open doors are other companies.
There is no answer to this dilemma. If you give your users control, they'll complain about the UI and the features they didn't get. If you don't, they keep nagging you for it.
This article, "Top 7 dilemmas facing today's developers," originally appeared at InfoWorld.com. Follow the latest news in programming and mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.