I’ve been working with the internet for 17 years now. In the beginning it was quite hard. I had to learn a lot of stuff that made no sense to me. Nothing really worked, everything was new. To me and to everyone else. It was unexplored.
At some point it got easier. I got experience and started to know what I was doing. New browsers appeared and some of the older ones improved. Documentation got available and there was some common ground on how it was supposed to work. Not that it always did, but it was fun to work with that.
Years later everything was quite exciting. The, what felt as small, internet got more accessible to more people. The connection speed got faster and we saw a first glimpse of real interactions, animations and videos. New devices appeared, with new technologies but solid frameworks powering them. The past experiences were now helpful to learn more new stuff. Overall things have been straightforward. It was about building stuff. Together.
Today it just gets worse.
The web is broken
Most of web development today is about tools and choices. Everybody seems to be busy building new tools with the old tools they already built. If something does not work, then they are not using enough tools. The endgame is to stay up to date with the tools, manage your project structure and not to work on the product after all. People sometimes give you funny faces when you tell them that you use „old“ and „outdated“ ones (e.g. Mercurial, Less, PHP).
For most of the people it is about the wisdom they have and that they can throw into the face of other people. When someone actually has built something, and it could be used by someone, they only get feedback about the size of the pages, how slow it is and that they should have used some other technology after all.
It’s all about being the smart ass.
Let’s not even start with the broader internet. The commercial one that is used by actual people all over the web to store, manage and never delete stuff ever again. They trust in big companies to make the best from their data. Encryption is now the reason why people die and for that reason it has to be switched off for everyone. Everyone is supposed to see your Facebook password in your favorite coffeeshop.
The AppStore is broken
All these fancy indie developers complain about how hard it is to make money on the AppStore. They expect the big success with every submission through an approval process (which is in their mind flawed anyway). If you are not on top of the charts the day after your release, everything is recognized as a failure.
Of course it is also only Apples fault that their app is not visible inside the Store. If someone reasonable thinks about it: there are so many applications out there, it’s just impossible to be in the highlighted and noteworthy sections. Developers still expect that. Everyone wants to have the number one spot, nobody realizes that we would need more than 1,400,000 number one spots.
Also, of course everybody seems to know better than Apple. Once their proposed change to the store, the operating system or the platform were to be implemented everybody would be happy. Everyone will get rich. Nobody seems to see that they seem to do something right, at least. Otherwise, why would everyone want to be part of their platform.
The internet is broken
We are all busy arguing about Native vs. Web. We could be so happy and use the strength of both at the right time. We are all about having one winner. Nobody realizes that this competition has brought us further then we would have expected 10 years ago.
It should be about learning from each other. The majority of the developers are just too arrogant to look beyond their one nose. Similar projects in all different languages and platforms appear. Nobody talks to each other so everyone is reinventing the wheel. Concepts are not shared. They are kept in a close silo with which their authors can feel superior. Just one example: I use five package managers in a usual week: pkg, brew, npm, composer and CocoaPods. None of them is really bad. Each one of them has nice features in itself. All of them are missing some nice features of the other ones. Still, nobody talks about sharing concepts that would definitely improve all of them. Everybody is busy arguing why their platform should win.
Then of course everything is supposed to be free, but everyone wants to make a living out of it. As noble as the idea of free and open source sounds, they are sadly not the solution (for everyone) to earn money. Not everyone can create a phone. Not everyone founded Ubuntu. Not everyone can run a crowd funding campaign to spend the money of other people without taking any risks for themselves. Normal people have to earn money to pay their bills. They have to pay rent. Their bakery won’t accept the awesome GitHub Coding Streak in an exchange for free pastry. The sad thing is that nobody expects these real world things to be free, but everyone expects that every digital good is free. No matter if it is music, movies, software, content or web services.
Companies search for different methods of income and they build complex systems to run their platforms. They collect more and more data and lock their users into their big data cloud with no plan to ever let someone leave again. They hold the data hostage and tell you that you wouldn’t be able to handle this all by yourself. The only problem is: if it would be only your data, it wouldn’t even be big data. Things could be easy. They wouldn’t need to scale to billions of users at the same time. For most of their solutions, you could run them yourself in a cheap hosting plan.
Change starts small
As you might have guessed from the lines above, I’m not particular happy with the current way our industry is working. I know that I’m not alone with this opinion, but this article is about bringing my frustration to an end. I accept that I cannot change anything with complaints.
Starting today I will stop complaining about all this. I’m done wasting my time.
I will stop arguing with people about things they don’t want to change and I will ignore any sign of funny face when I tell someone why I do something the way I do. It’s not about burying my head in the sand. I will continue to talk to each and everyone about old, new and maybe broken technologies. I will continue to learn and experiment with new projects and ideas. I will just ignore the voices in my head to complain. If you ask for it I will try to give constructive feedback, while remembering that this might not change people’s decisions. And lastly, and maybe most importantly, I will not judge people for their decisions.
I will focus on my ideas, my projects and my goals. Software you can buy and then run yourself (or a friend can help you out). It’s not about solving all the world’s problems. It’s about easy solutions. Sustainable solutions that will allow me to pay my rent.
Hopefully I can convince other people to do the same. Stop talking about tools, stop being a smart ass about why something should have been done differently. We are all responsible for making it a place for happiness and creation again.
We are all in this together. At least we were in the beginning.