A Story about Flash

Flash is now officially history. While many people raised opinions, praise or concerns in the past ten years I stayed mostly shut. I didn’t have Thoughts on Flash worth sharing. And now I don’t want to repeat either what many people have already said.

This is a rather personal blog post¹.

When New Years eve came and people shared some of their memories about Flash and its community I also sent out a tweet. How I started to play with Flash when I was approximately thirteen years of age. Five minutes later I got an email from an old friend that I met online back in 1999. It gave me a great feeling of sweet sorrow.

In ’99 there was this website — crackmaster.de — which offered cracks for all kinds of software. Photoshop back then was known to me as the most expensive software. I had to get my hands on it only for that reason. With all the cracks and warez in place I started playing around with Photoshop and was immediately lost. Crackmaster served not only the latest cracks but also tutorials and the website had incredible detailed designs. The design changed every week. This must have been some kind of magician knowing their way around Photoshop. Thirteen year old me adds Mr. Crackmaster on ICQ to get to know the genius and start learning from them. They forwarded me to a website, somnium.de, which opened up a complete new world.

somnium.de was an incredible melting pot of tutorials, design and art forum. It was in general a pretty great time to do graphics. You’d optimize for Internet Explorer 5, 1024x768 if not 800x600 and the most advanced connection was at 56kbps. At that time there were so many other great websites, like wastedyouth.org or then up and coming deviantart.net. Of course this was also the time when IRC was still way more common than it is nowadays. And so I got to meet the team and community and started to annoy them because I had questions. So. Many. Questions.

I also met the founder of Somnium. Hello David!

While Somnium’s main focus was Photoshop they also had tutorials on how to build a mouse-over button with JavaScript as well as this software called Flash. Installed it, installed the crack and thought that this program is used to make cartoons. I didn’t want to make cartoons so I closed it and continued to focus on programming. Of course I had to build my own tutorials website because I was just such a great artist. Not.

I noticed that I was not that good with Photoshop. These folks were on another level. I was not able to turn the image I had in my mind into reality. I struggled a lot with that so I focused more on the coding part. While I did a lot of BASIC and Visual Basic before, I never built a full website. And because we’re now in 2000 the language du jour was PHP. cgi-bin no thank you.

I was good at this stuff. Building websites, writing code, finding bugs. It did not take long until I started to use PHP also for other things. I remember vividly that Somnium had a great PHP programmer, bat[e], that seemed in a different league and they used PHP to generate visuals, like <table> based color gradients. It was used as a tool to create graphics. This blew my mind. I was not that great at Photoshop and I also did not have the money to buy a Wacom tablet. Using code to create graphics changed everything.

A couple of years passed and I was building mostly websites. Like my personal portfolio or still my world-dominating tutorial website. We also built the initial version of designmadeingermany.de — if I remember correctly it was together with Thorsten Bergler and Marcel Eichner. Looking back at this period it was really special. Many great folks that I still admire today randomly met on IRC and built incredible stuff. And they still continue to amaze me.

Back to Flash.

The tool started to make sense to me. I saw other websites like derbauer.de or holominds.de and of course 2advanced.net using it so I did try again. I got a better understanding of it and started to really like it. I even built my first experiments and programs. I was about to turn 16 in 2002. That’s when you have to do a 2-week internship in Germany. Usually brewing coffee in a bank to help you with job orientation for your future life. But I knew already what I wanted to do. David was back then working at Powerflasher in Aachen so this seemed worth a try. I got the okay from Powerflasher to do my internship with them. I think David allowed me to stay at his place for two weeks but my school thought doing something actually meaningful was a bad idea. So brewing coffee it was. Well, actually I toured my hometown with my Flash experiments. Local agency Seitenweise accepted me and gave me actual real work to do. It was such an amazing feeling. I was good at this and people gave me work that I could churn through. The dopamine loop was full on. After the internship I continued to work for Seitenweise besides school to earn some money that I would invest in gas for my Fiat 126 or beverages at the local discotheque².

In the meantime David was creating this amazing pixel art for Flash content at Powerflasher. The code was created by this guy named André Michelle.

In 2002 they started their own agency extrajetzt in Berlin together with some more folks I knew from #somnium on IRC. I met with them in their office close to Alexanderplatz when I was visiting some relatives that lived near Berlin in 2003. David showed me around and how they worked. André was also there, probably busy working on Tag Der Arbeit. I didn’t really know André that well but had a lot of respect for his work. I was on another field trip in Berlin and spent some more time with the extrajetzt folks that year.

Then I got exposed to my first actual computer science lessons in school, writing plain old Pascal. Once we reached bubble sort and quicksort I was hooked. Performance optimization became my thing. Immediately I tried out what happens if you implement quicksort in Flash and boy: this thing was 10x faster than Array.sort (if you don’t read the docs and omit Array.NUMERIC as an argument).

Now I was really hooked. What was IRC and Somnium back in the late 90s was flashforum.de for me in the early 2000s. Just like the folks from the Somnium days I have great respect for a lot of the people I met at Flashforum. André Michelle, Mario Klingemann or Frank Reitberger to name a few.

I started to work on more experiments and wanted to push the boundaries of the platform. Because if I can build a sorting algorithm that is close to the speed of what the Silicon Valley folks build: who is going to stop me? I actually do miss this youthful ignorance sometimes.

A big personal topic for me became AI. I got very interested in the human brain and was fascinated when I learned about artificial neural networks. When Flash was not up to the task I started using C++. I was also utterly lazy or better: not interested in school at all. In order to get a decent score on my A-levels I chose to perform an additional special learning exercise. When I told my computer science teacher that I wanted to do something with image processing and artificial neural networks they were interested but told me they couldn’t judge it and I had to go to University and find a professor that would volunteer to grade my work.

Finding a professor to do that took longer and more work than the actual exercise I wanted to do. After a lot of time the head of the AI research lab at University of Bielefeld agreed to help me. Initially I thought that I can trick my teacher into accepting a very simple task that sounds complex, like presenting an object and then the computer tells you what object that is. The professor however immediately knew what I was up to so they told me they will only agree if I alter the setup so that the objects I show to the camera have each the same color and can be rotated around, in real-time.

This time I got really into C++ and into image processing. And this task was more difficult than I initially thought. We’re talking 2005 here without fancy GPUs and all the deep learning research. But I loved AI, networks and graphs. I also spent some time in 2004 via a scholarship to work with people from university on Aibo robots. Hence I was not completely new to this or starting from scratch but I had to implement all of it alone in my bedroom on shitty hardware at best.

But finishing this also gave me confidence. I wanted to meet the folks from Flashforum. Around that time I also started hacking on a lot of code together with André. There was a conference every year organized by Marc Thiele. But I didn’t have the money to go. My only option was to join as a speaker. Marc respectfully rejected the AI talk by a nineteen year old. Fair enough.

When I finished school I enrolled at University of Bielefeld after that professor reviewed my “paper”. Cognitive Informatics. I wonder what would’ve happened if I had continued studying instead of dropping out shortly afterwards to go to Paris, join a startup and sleep on a couch for the next six months.

I still wanted to go to the Flashforum conference and meet all my friends. This time I would not pick such a niche topic. And instead of one, I prepared two talks to enhance my chances. Marc made a call for papers and accepted my proposal. This first conference was very special to me. I can still feel the adrenaline rushing through my veins, the feeling when being applauded for your work. The work you put so many hours in and that you love.

Many people hated Flash. I hated Flash sometimes. But for a lot of people it was the tool that allowed them to play a game or to watch videos and have fun. For many of us it was a tool to express our creativity in a way that was not possible before.

Above all it was an escape for me from living in a small city.

I met my wife in the office building in Cologne where André and I started working on Audiotool. About one year ago we moved back to that small city. New Years Eve came, Twitter lights up with memories about Flash. Our two kids are asleep, we’re preparing dinner and I receive that email from David :’)

There is no insight or morale here. I don’t like when people say “do what you love” as it is cheesy and a great oversimplification.

This is my story about Flash. Thank you for reading it.

PS: If you are interested in what happened then. After that conference and Paris I went to Cologne to work on Audiotool. In 2009 we realized Flash was going down hill and needed a replacement. I already worked on Flash bytecode optimization tools back then. After a detour of Audiotool backend development I started to build a cross-platform solution that would port Audiotool to iOS, Android and the web. Performance of JavaScript and the available tooling was not great and we started building a Java bytecode transpiler. Eventually I split from Audiotool to pursue my own compiler startup defrac. In 2016 defrac was acquired by Make.TV and I became their CTO. We were able to secure funding, grow the company and got acquired in 2019 by LTN Global. I was in the fortunate position to build my own team mostly from the ground up and to ensure that we have a great engineering culture. Today I still code a lot. I am not shy of saying I am a CTO that codes. Many people may tell you that’s a bad thing. But ultimately you’ll have to find your own style.

[1]: After all, this is a blog post about Flash because it is very personal to me.
[2]: The world is a small place. André actually lived in Bielefeld for a short time and he had occasional DJ gigs there.

Non-blocking lock free greedy coloring humanoid.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store