Biicode (just the company) post-mortem

This is certainly a bad moment for every founder, investor and employee of a startup: the moment to certify the death of a company. Fortunately, as the title says, it is only the company what is in trouble, biicode as a product/technology is at the moment in good health and operating properly. However, in our commitment of transparency with our users and stakeholders in general, we think it is important to let you know.

Biicode is a great project, but it is also a startup, a business. That means that we hired people to develop the platform, and expected that at some point our revenue would be able to pay that people and also hopefully generate some profit. But it didn’t. We have been running on our investors money plus some public government loans for the last years, and we have been able to develop what we think is an amazing technology. We were running out of cash, so we started to work on a new funding round well in advance. But finally we were not able to close it, and now our expenses and burn rate are not sustainable anymore, so we must continue without employees and face a new stage that will most probably mean closing the company.

As a startup we have made many of the errors a startup typically makes. An important one was probably that our technology was a bit opinionated about software engineering processes, and we failed to adequately and timely listen (that means also filtering out lots of noise) to user feedback. Even if we realized it almost a year ago and started to make huge changes to the platform through our 1.0, 2.0 and 3.0 releases, that was not enough.

We were able to gather lots of users love from the open source community, and blog posts talking nicely about us started to flourish since last November’14, so we were able to grow about 25% month over month in activity (measured in API-calls to our server, that means, people actually using the tools to code with them), for the last 6 months.

But still, our total number of registered users was not as large as expected (now reaching 4000), and the most important reason: we failed to upsell the service and get enough premium paying customers. Practically all of the above activity was from open source users. But production C/C++ development can be quite different from other technologies, projects are very large, and introducing biicode in those projects is quite a time investment, and timings for new projects and introducing new technologies can be large too. Too large for a startup, even this technology could be a great business for a bigger corporation with more time and resources. We understand this can be a major concern for prospective investors, so we certainly do not blame on the VC ecosystem (in this case the Spanish/EU one) neither have we thought that our luck would be different in the USA.

I will write soon more detailed posts about all the many lessons learned in this startup adventure, but a very important one I don’t want to skip here is to acknowledge and be grateful. First I want to thanks the biicode team (you can find most of them, especially those that have been “bleeding” with me the last months: Luis (Laso), David, Fran, Maria, Jordi, Manu and Miguel. Thanks for your passion, support, friendship, and the indecent amount of extra work hours. You are the best team a tech startup can dream of.

Many thanks to our investors Big Sur Ventures – Necotium and Fundacion Jose Manuel Entrecanales, who believed in biicode and have supported us for so long. They have both been great investors, but I want to give very special thanks to Jose Miguel Herrero, our lead investor from Big Sur Ventures – Necotium, for his incredible support and commitment. KPIs, go to market, strategy, funding, hiring,…  Even these tough days, when you get to know the real values of the people around you, we have learned so much from him thanks to his continuous involvement and support. If you have a great project looking for funding here in Spain or even Europe and you are not pitching Jose Miguel you are definitely missing an incredible opportunity.

And finally, you, our users: I don’t have words to say thanks enough. You have supported us, invest your time to help us improve thanks to your feedback, comments and suggestions. You have used biicode for your libraries and your projects, making our dream of such a tool a reality. Many of you have even said that you love it.  We were C and C++ developers, and seeing other colleagues use biicode and loving it is the best reward we could have, and you gave it to us. I am very sorry we have not managed to fully guarantee its survival in its current form.

But we have not given up, fortunately, biicode as a project/technology is alive, and even if our resources are lower, there are still hundreds of active users enjoying it. We have released a full stack as open source (MIT license), including a server you can host on premises. It still lacks a web interface, but is fully operational and can be managed with little “devops”, and having an open-source web interface is a matter of time. The central biicode servers, site and web are fully operational, and they will be for at least 6 months more, probably 1 year if possible. We will personally continue to operate and support them (up to the legal limits). What the future will be, nobody knows. We believe that it is a good moment for the community to take over and start to see biicode as ours, a project of the C/C++ developer’s community, and hopefully together we will find the way for it.

So this is not a goodbye, just the beginning of a new stage for biicode. See you there and thanks again for everything.

CEO biicode

Give sound to your C++ projects with fmod

When developing new applications or tiny games with SDL, OpenGL or small3D, a requested and valuable feature is adding sound effects, raising alarms or creating new atmospheres. With this feature in mind and thanks to the work of FMOD and Miguel Hernando we announce today a new block that incorporates all the functionality to your project: EasySound.

What does fmod do?

EasySound wraps the main functionality of the low-level fmod api and can deal with different kinds of sound files and formats: mp3, wav, ogg. FMOD is an audio tool developed by Firelight Technologies focused on the development of professional video games. It has been used in over 2000 games and has integration with well-known game engines such as Unity or Havok.

fmod logo

At EasySound block, there is a simple class called EasyPlayer which is a very straightforward way to handle sounds.

Continue reading

Come to the Dark Side, we have t-shirts

In order to get started with biicode and support our open source project we launched a while back a our Darth Vader++ campaign in which anyone that uploaded any piece of code to our cloud and had it reused by any other user would receive for free our Darth Vader++ t-shirt. The campaign has been a huge success, many libs and frameworks have been uploaded and  most importantly reused in other projects. The campaign has put in contact many lib authors with people that have reused their code in ways they could not expect. Some other times, users just asked the authors or maintainers for use cases of their code and followed up with an example. Creating community, that’s what all this is about.

Come to the Dark Side and join the C and C++ siths

Continue reading

Compiling with biicode: CMake, build process, IDEs and more

biicode knows how source code files connect to each other. With this information, it creates a boilerplate CMake layout to build your project automatically. biicode then detects how sources connect and builds a dependency graph following #includes and implementations generating, for each block, a CMakeLists.txt defining variables to the dependency graph detected.

This translates into a CMakeLists.txt file with just one line by default:

Even though the boilerplate might be enough for some projects, here’s a guide to fully control the building process.

Today, we explain the different options available in biicode once you’ve got your CMakeLists.txt ready.

Compiling with biicode

Continue reading

biicode 3.0: open source, premium accounts and much more

On Wednesday we released biicode 3.0. The listicle of feature is as follows:

  • Open source release of client and common repositories, dev infraestructure re-made
  • Release of premium accounts for private blocks
  • Enabled OAuth with Github and Google
  • Fixed bug in C++ parser for using statements
  • Fixed bug in [tests] pattern that incorrectly affected dependencies
  • New Terms of Service, clarifying source code licenses and accounting for premium accounts and open source contributions
  • Fixed bug in user folder ”.biicode” path, some config files were stored out of it

Continue reading

New Terms of Service

We talked about our old Terms of Service in a previous post and we explained then why we hadn’t paid enough attention to them while the developing the tool. The latter has evolved and added such degrees of complexity that the legal support for the users and the company needed a rethink and a rephrasing to say the least. And that’s exactly what we did: after consulting with our legal counselors and talking to companies that provide similar services, we have revamped the ToS, check the new ones here.

biicode's new Terms of service

Continue reading

biicode goes open source

biicode is an open source C and C++ dependency manager that basically consists of two parts: a client installed in the user’s machine and a cloud populated with the best and most popular C and C++ libs and frameworks. To make one’s source code dependent on any of them, just use #includes. Today biicode is releasing the source code of the client and the common services as part of a programmatic, comprehensive, full-on open source roadmap.

One of the biggest aims of biicode’s founders was to provide a useful and modern tool for the C and C++ communities. Because some of us believe that, despite the wonderful adoption and usage numbers of both programming languages, the current programming environment is not the best to address the challenges the software industry needs. We are trying to improve this landscape by providing a multi-language, cross-platform dependency manager that incorporates CMake as build system. A transversal, multipurpose, open source tool.

Fortunately for us, there is a vast community of open source advocates amongst the C and C++ developers. Thus our step forward by welcoming the C and C++ communities to our development efforts. We have now on our side a whole army of developers and thus we feel stronger. Much stronger.
biicode is open sourcing its code base starting of by it's brand new open source client

Continue reading

Exact maximum clique for large or massive real graphs continued

The excellent performance reported by BBMCSP—an exact maximum clique algorithm tailored for massive real networks— in a previous post has raised a number of comments, some even questioning either the report itself or the problem’s complexity. This post gives an insight on how BBMCSP works. In the process, and similar to what happens when magicians explain their tricks, we are aware that some of the magic will be lost.

Continue reading

The Sunset of C and C++

Because not only CPU cycles count, but also developers’ time

There are approximately 4 million C and C++ programmers in the world, probably the largest community, with about 20% of the market, which is comparable or even larger than Java (both C and C++ together). They are also by far the oldest languages of the current mainstream ones, used in key industries and even increasingly due to synergies with other fields as the IoT/embedded systems or robotics, in which these languages are important.

C++ is a great language, and it is improving faster than ever with the recent 11 and 14 standards, and 17 is very promising too. It is amazing how the syntax is becoming closer and closer to other more “modern” languages as python. And C is the solid foundation of most current IT technology. State of the art compilers, optimizers, debuggers and IDEs for C and C++ are excellent.

C and C++ logo

C and C++ make up to 20% of the world code

Continue reading