Flowplayer is now part of the Wowza Video live streaming and VOD platform. Learn more →

light background

March 13, 2020

The untold story of Flowplayer

I'm Tero Piirainen; founder of Flowplayer. This is my story.

2004: QuickTime or Flash?

Extreme Duudsonit was a Finnish version of Jackass — an action reality TV show by a group of "crazy" stunts. In 2004, they were doing great in Finland, so they wanted to have a website to showcase their acts.

My friend knew them, so she told them about me — some guy who can code websites.

Duudsonit was a TV show so they obviously wanted to play videos on their upcoming site, but it wasn't clear at at that time, which technology to use. QuickTime was there, but also a new toy called Flash.

Flash sounded exciting, and more modern than QuickTime so we decided to go with it without further thought. It was essentially a bet that we counted on. Keep in mind that this was before YouTube or Vimeo were founded.

We started browsing SourceForge — the de facto place for Open Source projects, similar to what GitHub is today. We specifically looked for a Flash video player, but we couldn't find a solution. So we did what most developers would do: we started a new project from scratch.

I contacted my brother Anssi to work on that so I could focus purely on the site.

Roughly year a later, Extreme Duudsonit wanted to cancel the project. They have re-branded themselves as "Dudesons" to get more momentum in the US. They wanted to make the website in a "more serious way" — I guess they'd made a contract with Warner or similar. So I stopped working on the website, while Anssi continued to work on the player as a hobby.

Few months later Anssi called me to discuss whether we should build a business around the player. He had pushed the player to SourceForge and the project had gotten several hundred followers in just a few weeks. He managed to get $200 per month just by showing Google ads on the fullscreen view.

As a start, we decided to create a primitive website for the player because SourceForge wasn't the best place to promote a project.

<img alt="The first public version of Flowplayer" src="/user/pages/04.blog/19.the-story-of-flowplayer/nuuksio.jpg" /title="Flowplayer as seen on our first website"><figcaption>Flowplayer as seen on our first website</figcaption>

The result: we tripled our audience in three weeks.

Remember that at the time it was a rare thing to make any extra efforts to get your product known for a bigger audience. Writing a sound README.txt (no Markdown available back then) file was too big of an effort for most developers and combining any sort of marketing with open source was considered evil. It was much easier to get attention to your project back then.

Today, marketing is a must and a natural part of every open source project, in one way or another.

Soon after, we came up with an idea to earn money by adding a Flowplayer logo to the free version, and those who give us $95.00 can get the logo out. We got about $2000 in the next 30 days and we dared to leave our current jobs and start focusing solely on the player. After having spent too many years with enterprise Java, I was more than happy to focus purely on JavaScript.

In those days, there were only two viable Flash-based options available: Flowplayer and JW player. This was long before the term "startup" hit the streets.

jQuery Tools

In 2009 I accidentally ran into jQuery. It boldly promised to "change the way you write JavaScript". I was immediately sold. But version 1.1! Was I late to the game? Not sure, but it did change the way I wrote JavaScript for years to come.

I started adding functionality to the Flowplayer website using the new secret weapon. Everything was much easier than before. The API design was genius and John Resig was my new programming hero. Every time a new jQuery minor version came out I went to read the release notes like bible.

Quite soon they released a bomb called jQuery UI. It sounded absolutely spot-on so I went to learn everything about it right away.

But something wasn't right.

jQuery UI felt completely different than jQuery: the API design was different, the codebase felt different, it was heavy, and surprisingly complex. I knew on the spot that I wasn't going to use it on the Flowplayer website.

I just continued with my hobbyist plugins.

However, I could not get rid of the disappointment with jQuery UI. I wanted to have a set of UI components, that were closer to the nature of jQuery itself.

I could not resist the urge to create a "better" jQuery UI myself.

After a few months, jQuery Tools was ready. I announced the project under plugins.jquery.com with a sound README.txt file. Flowplayer website was split into two major areas: the player and the Tools. Then I made a tweet about it. That was all the marketing I could do.

It hit a nerve.

For a while, there was a new retweet every few seconds.

A book about jQuery

I learned that you can get people to your website by doing something useful. Of course the term "content marketing" did not exist back then.

I was happy for a while.

Trip to New York

In 2011, I was about to fly to the USA for the first time. JW player, our friendly competitor, had kindly invited us to visit them. We weren't sure why, but they paid for our hotel and flights. Dave Otten, if you are reading this: Thank you!

I had to fill a form at the airport and one of the questions was if I have ever been part of a communist party. I suddenly remembered where I was going. Not everyone would understand my Linked In profile, which said: "Don't contact me. I'm a communist".

Sorenson Media was another company who wanted to meet us in NYC. They booked a hefty suite from the same hotel. The expectations were high and we felt like we were part of this league of important internet people.

Turned out the trip was all about being sold to JW or Sorenson.

Sorenson kindly took us to a Swedish fine-dining restaurant where they silently told us about some secret "bond" with exceptional access to family resources, health care, education, … you name it. I guess they weren't aware that everyone gets those for free in Finland with the topmost quality. Things that Bernie Sanders is raving about.

JW threw out a more compelling co-operation idea. In retrospect, the JW merge could have been a great move, at least financially, but I wasn't personally thrilled with the idea of merging two products together at that stage.

I also enjoy how things are in Finland.

My absolute highlight was to see Seagram Building from Mies Van Der Rohe. jQuery Tools website was littered with pictures of the awesome buildings he had designed. The Four Seasons restaurant on the first floor was everything that I expected: interior design from Mies, with authentic DDR feel on it.

Manhattan cocktail had never tasted so good.

<img alt="" class="bigger" src="/user/pages/04.blog/19.the-story-of-flowplayer/four-seasons.jpg" /title="The bottom floor of the now-gone Four Seasons restaurant"><figcaption>The bottom floor of the now-gone Four Seasons restaurant</figcaption>

I'm glad I got to see this fantastic piece of gesamtkunstwerk, because they decided to trash the original, timeless design with some fancy modern stuff. The glamour is now gone.

They closed the place in 2017.

Anti-social Finns

Our office in Finland is not exactly like Four Seasons, but it felt great to come back and focus purely on coding.

Our offices in Helsinki

Our offices in Helsinki

We hired new people to answer to our growing needs. The process was simple: :"You opened a few pull requests in GitHub, would you like to get paid for doing that more?". Or "We liked your answers on our forum, would you like to get money from that?". Bernd did our support daily for 10 years before I met him physically the first time. Literally — we never even Skyped. That's what remote working is all about.

As years passed, we didn't do anything significant. We were quite happy with the player sales, so we just kept on making small improvements to it.

In 2012, I attempted to kill my personal boredom by starting a new company, called Muut.

That's when Backbone.js started to gain popularity. I was still in love with jQuery and didn't quite understand why anyone would benefit from Backbone. Same with Angular and same with Ember.

React was different. Or maybe it was the same, but at least I understood the difference. It showed me this idea of coupling HTML tightly with JavaScript to create dynamic, reusable components. This was a complete opposite of jQuery best practice where HTML, CSS, and JS should all be far away from each other.

Not sure what happened, but the idea of doing reusable HTML/JS combinations started to feel good. However, I wasn't impressed with the React implementation. The syntax felt weird and it introduced too many new concepts and terms.

I wanted something where you don't have to learn new tricks to write dynamic components. You could write HTML as you would normally do and the same with JavaScript. The frustration with React grew so large that I created a new UI library called Riot — "A 2.5KB React alternative".

I wasn't the only one with a need.

The initial post on Hacker News was a success. People started using it on their projects from day one and suddenly I was overwhelmed with support because there was no upper limit on how many new ideas and feature request people posted to GitHub.

New sites, plugins, and UI widgets started to popup. Meetups, webinars, and conferences were held. T-shirts, phone cases, blogs, and demos were created. I was interviewed.

Riot was a thing in 2015

I was surprised by how much time you can spend managing an open-source project. I knew this from my time on jQuery Tools, but Riot required much more. Luckily the community took over the project quite soon and I was able to move away from the lead position.

Vue.js was introduced around at the same time and their lead developer Evan You gave some friendly feedback for Riot. In fact, he had much more energy to run a project than I did. He was very outspoken and was constantly blogging about Vue. Riot had a better syntax in my opinion, but it had nasty bugs that would take a long time to fix. I was hoping to blog about the library but never got that far.

We just looked on from the sidelines as Vue caught on with the masses big time and is now a truly viable alternative to React.

But what about Flowplayer?

I returned from Muut and started working on a new player version that would later become "Flowplayer Native". I enjoyed doing it. But that was actually our problem: we loved coding, but didn't care much about anything else. Thanks to two professionals from Germany, our technical support was exceptionally good, but we were terrible at sales. We weren't doing the usual business chores like contacting leads, answering calls, let alone doing calls by ourselves. During the ten years of operation I honestly never picked a phone.

Perhaps even more alarming was the fact that an email from Disney or Mercedes Benz was no different from and email from some local "Jussin Pulju". We just kept coding. Why bother? They were all just buying that $95 one-time license regardless of the customer name.

Swedes take over

There was a week in 2017 when I decided to focus purely on sales. I promised myself to answer all sales-related emails with care and would not resist any phone calls if that was the way the customers wanted to communicate.

The first person to call with was Emanuel Viklund from Sweden. He was very curious about us. He asked details from our operations and financial things and I answered them in the most honest way, as every decent Finn would do.

They ended up merging with Flowplayer.

It actually made sense. They had developed a full-blown online-video platform with unique live-streaming capabilities, but they also understood the markets, and were much stronger in business than we were. We brought the player, the brand, and design expertise. Together these two can only make something good.

Our new online video platform in action

Everything changed after that first phone call. We are now a company of 15 people with a proper sales team who not only answer all phone calls, but voluntarily reach out to new customers. Imagine that!

What I enjoy the most is that I can continue like nothing ever happened. I can focus and never worry about the phone. Feels like I'm finally working on the Extreme Duudsonit website that never happened.

Flowplayer WeWork offices in Stockholm.

If you are looking for a great video solution for your (media) company, please contact our sales team. If you want to talk directly to me, please send an email to tero dot piirainen at flowplayer dot com.

 

Thanks for reading!

— Tero