POSTS
Running With the Hype
Hello everyone ^^,
it’s me after a quite long time again. This time I want to write about something that just has happend to me in an important side project of mine.
To get some context, I’m a web developer. I like developing web apps. It doesn’t really matter to me if it is a SPA or a MPA. If it’s Typescript, HTML and some variant of CSS I’m happy and productive.
I know my way trough npm, NodeJS and know most of the quirks of Javascript (if that’s even humanly possible^^)
Getting hung on the hype train
So with this particular project, I wanted to do something different. I wanted to do the best and completly right thing.
I wanted it to be as good as possible, both in parts of performance and user experience. I also wanted it to be programmed at the highest possible quality.
With these requirements and a humongus boost of enthusiasm I started to evaluate my possibilities.
There are quite a few things someone can do to acomplish the same task. The spectrum ranges from full native apps to web apps and hybrid approaches sitting in the middle.
After a few hours of looking trough the web-marketingpages. I read about something new. Something shiny. Something backed up by giants. Something so glorious, that it must have been the only truth.
Even golum would have let the ring go, for this piece of godly software art.
After a few hours of looking trough the web-
marketingpages.
The next stage - marketing pages
So after I started to get interested in that specific piece of godly art. I wanted to know more about it. I wanted to make this thing a part of me. I wanted to know it.
To me it felt like a euphoric rush, knowing that there is something that was casted from the brain power of hundreds of engineers to fit exactly my needs. And probably everything I’ve dreamed about, was true.
The official web page told me that.
It had everything,…
- Better programming language
- Less bugs
- Better performance
- The blessing of the programming gods.
I really mean everything!
Realisation - Getting to work
After that initial evaluation phase, I was really really reaaaalllyyy keen to get started with my new side project. I couldn’t wait to get this blessing of a framework to work. Even if I didn’t know the language and I didn’t know the toolchain and so on. I wanted to get started..
So I started programming. And dear god, did i program. The blessed piece of geeky software art did what it said. It really did. As long as it didn’t get too involved. Small things went brilliantly well. I mean you needed to learn new constructs and adapt your logic to be exactly how the framework needed it. And even after selling my soul to keep it running. It worked.
After some initial fast progress ala create this and get it running as a prototype, things started to slow down.
The answers sent by the gods started to reveal it’s real facade. The golden surface started to get cracks. And slowly it’s original golden color started to fade.
Things got really ugly quite fast. Theming went from changing some variables to making default functions, because the templating engine was so convoluted. Getting the logic for loading a page right, was an act of fighting the devil, while getting his finger nails pulled out by the grim reaper. For a simple three step loading process 4 files with dozens of classes where normal.
Creating a simple form was a fight with every single aspect of this thing..
Synopsis - What happend?
This whole dramatic (and I really mean that, this is a thing of global impact :D) story got me reflecting on myself and the thought process I put into this.
I think there are two things that really came together to form this humungos pile of s***t.
- Wanting to get it completly right
- Trusting official homepages
1. Getting EVERYTHING Right
I think this plays a really big role the development of this project. The urge to nail every single nail of a project. Getting it right and also the feeling that only the latest and greatest can accomplish this.
I think I would’ve been much faster and much more efficient when I’ve used technologies that I know really well.
Thinking about this in a objective manner that would’ve been the right choice to do.
But this is quite frankly a human thing. The shiny new stuff seems always better than the battle-tested, scared solution that has been around for a while to accumulate the skeletons in the closet.
2. Trusting official homepages
This is another thing which I’ve had a hard time realizing. The official landing pages are made to be an advertisment for that product.
They have been specificially developed to attracted a group of people, so that the framework/ library gets traction in the wild open source world. Because that’s what’s keeps stuff alive.
Without a community the best solution wouldn’t sustain the test of time, simply because it wouldn’t be known enough.
Conclusion - My personal take away
This brings me to the last part of this post. My take aways from this project so far are:
- Don’t trust the hype train
- battle-tested/ old doesn’t mean bad
Over the last few years of my development career, many frameworks and libraries came to life and died alone. This is especially true for web development, where the technology is moving at an exceptional pace.
I think this could also be a factor, that lead to where I’m now in this project. Because I’m simply used to always keeping up with this pace.
The only thing that was really stable, over all the time were the standard libraries that a language offers. And I think the best way to handle frameworks and libraries are to keep them away as long as possible.
Oftentimes they bring more hassle than they are worth. If you want to read a bit more about why I think like this, this post could be a good read for you.