So Long, and Thanks for All the Fish

I started writing this when i ended my work at Excito, unfortunately it took a bit longer to complete than what i had anticipated :) (Note to self, write shorter and more often)

So today was my last day working at Excito. A journey that started almost a decade ago came to an end. I intend to use this post to recap this journey, as experienced by me, over the years. So here we go.

The founders of Excito, Tor Krill (Me), PA Nilsson, Johannes Book and Magnus Lovén all worked at the same company, Blokks, at the turn of the millennium.

At Blokks we developed hardware and software for the digital infrastructure in your home.  A fiber optic media converter to convert the incoming fiber broadband into regular ethernet.

Blokks Fiber converter

A prioritised multimedia switch to make sure that streamed media  and VOIP traffic would be delivered to their endpoints in a timely manner without delay.

Blokks multimedia switch

And the crown jewel was our IP-TV player that played multicast streams from Framfab(?) delivered to our monster cisco machine distributing them to our local office in Lund.

Blokks IP-tv player

Blokks IP-tv player

(Thanks to Petter Duvander for the picture above)

The vision was that everybody should have fast symmetric broadband via fiber and use IP for all services. Triple play was the buzzword of the day.

Then two things happened. The dot com bubble bursted with a bang here in Sweden and all venture capital vanished in an instance. Number two was the broadband adoption. The Fiber to the home vision vaporised and instead the big phone companies started pumping out cheap ADSL. God what I hate that A as in Asymmetric. That A is what makes people stay passive consumers and keeps the distributing power in the hands of those with a lot of financial muscles. (This is a different story though.)

But Blokks ran out of venture capital at this time and went bankrupt in 2002. During the last weeks at Blooks we where mainly idling doing mostly nothing. During this the idea to start a new company using some of the ideas from Blokks. So we founded Excito, which we ran on our spare time, and shortly thereafter Blokks ceased operations and all four of us where scattered to other companies. (A side note here, the video player part of Blokks actually lived on in the form of the company Books(?) later bought by MultiQ and is now a key part of that company)

But never the less, Excito was born. Our initial idea was to provide cheap Arm development boards for companies and perhaps even for private use, who knew. I worked on the software stack, Magnus, PA & Johannes did the hardware and if my memory serves me right Magnus and Johannes did all technical writing etc.

We started developing the Eagle devkit, a Cirrus Logic ARM processor running at a stunning speed of 74MHz, 16MB of ram and one 10Mb ethernet port. Everything was controllable from a Linux host via serial cable and we provided a state of the art Linux 2.4 kernel and a root filesystem based on Busybox.

Eagle devkit

All this was a complete failure regarding sales. If we sold 20 kits in all I think I’m exaggerating. But never less we kept struggling and kept developing. We added a few add on boards during this, a simple I/O board with some buttons, an Audio addon capable of playing lower quality MP3s. But the main add on that really started it all was the mass storage add on board.

Eagle with mass storage addon.

Highlighted in the picture above. It provided a CF-card slot and more interestingly a PATA IDE interface where users could attach a hard drive or a CD-ROM.

We tried to sell this for about a year or two with no greater success and things looked quite pale. Then one day it struck me, we had all the components to build a complete mini-server. I myself had an aging 400MHz P2 machine running in my kitchen doing user management via LDAP, file sharing via NFS and handling all my e-mail via fetchmail, postfix etc.

With this in mind we started developing “Bubba Server” in the autumn of 2004.

One of the first 10 B1 alphas

One of the first 10 B1 alphas

Since all of this was done on our spare time things progressed slowly. It took us almost a year  to make the product ready for launch.

Early B1 development at home

The Bubba server was quite limited on hardware. Equipped with an Atmel at91 Arm processor and originally only 64MB of Ram we had to carefully decide on which software to include and how to code our own functionality not to hit the limits of the hardware. One of these quirks where that, even though the CPU was capable of running in 200MHz we found out that we could squeeze more performance out of it when running it at 180MHz (Due to faster memory accesses at that speed)

Engineering decapped Bubba Server (B1)

Initially the B1 had a steel casing making it very heavy. We shipped them manually wrapped in a neutral “gift paper” much in the same way as a Christmas present. I guess our first customers must have lifted their eyebrows when opening the package. Later models had the steel plates exchanged for aluminum ones and the memory was doubled to 128MB and we quickly abandoned the gift wrapping due to it being a bit labor intensive.

Because all of this work where done on our spare time and money we also assembled and tested the units ourselfs. Up until late Johannes wife, Jenny, soldered the IDE connector on each unit. (Much love went in to the making of B1.)

During this time the B1 was the only NAS, that i knew about, that had any other features beyond pure network storage. B1 came with mail & print capabilities, a few streaming servers and a download manager. This and the bonus of being completely open, ssh and root password included, really made this creature different. Needless to say this made quite an impression in the, small, interested crowd. We got a lot of good publicity and sold quite a few B1s

With all this good publicity and good sales we started toying with the idea to actually try making this into our daytime jobs as well. So in the autumn of 2007 we started working on what would become Bubba|TWO.

B2 candle light planning

And so after some hard work both on the product itself and a completely new web site we launched Bubba|TWO in the summer of 2008.

Bubba|TWO

Equipped with a twice as fast processor and double up on ram and a four port sata controller made it quite a hardware upgrade from the B1.  On the software side we did a complete makeover introducing a new look basing all of it on the CodeIgniter framework. The framework was actually suggested by one of our B1 users and the framework has since worked nicely all the way.

Initial sales where quite good and “unfortunately” we still did all end assembly our selfs :)

Bubba factory

Bubba assembly factory in Trelleborg Sweden

While the B1 server always where rock stable. The B2, initially, had some nasty stability issues mostly in the ethernet section. The B2 dropped connectivity, rebooted spontaneously and in some rare occasions dropped networks speed to a crawl. If we only had  read the errata a bit more closely we might have chosen another processor. The errata weighed in at 167 pages and with some 80 problems known to the ethernet controller itself. I can tell you, we had some tough months stabilizing this after launch and the Excito forum is still full of evidence of customers who got bitten by this.

But gradually we got most things under control and in later production batches we got newer releases of this processor that solved most of these bugs. Over time the B2 actually got quite good.

Over the lifespan of B2 we renewed the user interface, using an art director, to do the look & feel which actually turned out very well. This is mostly the same look and feel still used to day.

The other part was adding the wireless functionality. If the decision of processor was one of the big technical hurdles the other was the decision regarding adding the wlan module. Everything seemed to work out nicely during initial testing. But when putting the configuration under harder pressure it showed some cracks. This was mainly due to the software stack not being ready for prime time. The Linux wireless stack was not stable enough to run in Access Point mode. At least not in combination with the Atheros chip we decided to use then.

This costed us hundreds of hours testing and analyzing the problems and at least as many hours hiring outside help to solve these issues. The big problem being Excito not having this expertise in house. The good thing with this is at least that we helped the Linux community somewhat redeeming this problem. And i think as of today it should be possible for “Joe Average” Linux hacker to deploy similar solutions by them selfs.

Overall the B2 was a great product, the only problem was its price/performance. Due to Excito having quite small economical means we always had to produce small volumes resulting in high end prices. That and the fact that B2 had severe performance issues compared to competitors in the same price segment, especially in the end of its product life, we started to think about the future.

Excito would, at the time, never being able to compete with the competition on a price factor. The only way to meet the competition would be on performance and being somewhat different than the rest of the pack.

We already where quite a different product compared to the other NASes out there. We had a completely open architecture flirting wildly with the technological crowd. We also had a completely different approach. While all other manufacturers, what i know of, produces products with user interfaces mainly designed to configure the unit. Excito focused primarily on how the user could use the unit in his/her daily life. The configuration was secondary. We lifted all the day to day usage to the first page and shovelled all the configuration hidden behind a small icon on the first page of the UI.

With this in mind we started to think of the next Bubba generation. We wanted more power out of the unit and we wanted to be able to add an, “easily”,  configurable amount of ram.

With these requirements set we started designing the B3 based on the big brother CPU of the one we used on B2, Freescale’s 800MHz 8377. This had a 64 bit memory bus making it feasible  equipping the unit with a SODIMM slot for easily upgrade of memory.

B3 PPC edition

The never to be B3 PPC edition

We did the complete design, built the first prototypes for smoke tests and initial startup. Then we got news from Freescale, 26 weeks + in delivery time for the processor. The photo was taken in spring 2010 more or less when we got the bad news.

With this delay in component delivery we would not have been able to start production of B3 until late October 2010. This would mean that we most likely would miss the so valuable autumn and Christmas sales.

What where one to do, we took a deep breath, kept as much as possible of the original B3 design and started over. This time we used the Marvell Sheeva core, used in almost all plug computers of that time. Marvell guaranteed us more reasonable delivery times.

On the software side we kept most of the code base from the B2 but rebased it all on top of Debian 6 aka Squeeze instead. Thus a lot of code initially written for the B1 actually still runs on the B3 some six years later.

In September 2010 we launched Excito B3 a whole month before we should have received the components to the original B3.

B3 with WLAN

The final B3 with WLAN

It has been a, mostly, fun journey over the last nine years. Our users never stopped to amaze me. Take a look at Excito Forum and you can find lots of cool ways people use their units.

But with all that said Excito and I somewhat grew apart. Being a true believer in Linux and Open Source I had a hard time getting along with the harsh reality of trying to become a mainstream consumer electronics company. Thus i came to the conclusion that it most likely was for the best if me and my baby went separate ways.

I really wish Excito the best of luck and i hope they will do amazing successful products. Both Johannes and Magnus still works at the company thus there should be a good chance of this happening.

And regarding my writings on Bubba, stay tuned. My digital life still is built mainly on Bubbas and thus I will most likely write more on this subject later and apart from that I hope I can provide some interesting reads otherwise as well in the future 😉

This entry was posted in Bubba, Excito, Linux. Bookmark the permalink.

6 Responses to So Long, and Thanks for All the Fish

  1. Ubi says:

    Great piece of history Tor!

    • tor says:

      Thanks Ubi,

      I thought it could be appropriate to sum up my years at Excito when leaving. I hope you appreciated it.

      /Tor

  2. Johannes says:

    Well written! We will do our best to maintain and develop this creature. :)

  3. b_owner_from_slovenia says:

    Ubi is absolutely right.
    What a piece of history.
    Thank you, man.
    Thanks for being honest.
    I’m the proud owner of B2 and B3.
    I love how Excito treats its customers.
    And I love what you are doing (in Excito) and contribution to the development of Bubba(1-3).
    But even more I love your statement: “Being a true believer in Linux and Open Source I had a hard time getting along with the harsh reality of trying to become a mainstream consumer electronics company.”
    Respect, brother in arms.
    And yeah, excuse my English.

  4. John says:

    I first purchased the Bubba server…love the name by the way. Here in the US it a slang for a southern Hillbilly guy, a daft local guy that drinks beer and drives trucks. The Bubba server is very far from that, it was well ahead of its time. The price was a little expensive but worth every penny. I used that server due to the fact it had slimP3 on it and I was able to use the server with my music library and my slimP3 players. Fast forward many years and I came back and bought the B3. Now its a central part to my entertainment system, I use it to store my movies, music and backup my laptops data. I can also stream music to my work and download torrents automatically. I love this device and thank you Tor for all your work.

Leave a Reply

Your email address will not be published. Required fields are marked *