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

Criticizing the Rust Language, and Why C and C++ Will Never Die

This is an original text by Eax Melanhovich that was rigourosly translated and kindly shared by Andrey Karpov. The original translation can be found here. Many thanks to both. 

Why C and C++ Will Never Die

I couldn’t but notice how much interest the readers of this blog [the author’s blog] had shown in the topic “should we let kittens play with new balls of wool?” So I felt like sharing a few more of my reflections on a related subject in regard to the C and C++ languages and the odds that Rust will kill them. No need to tell you that it will inevitably cause a big holy war, so before you proceed, think twice if you really want to go on reading this post and especially participate in a “constructive debate” via comments.

Continue reading

biicode works now with VersionEye

At biicode we want to provide a new programming environment to C and C++ developers. Our tool already includes its core dependency management features alongside CMake build system. With biicode you can also publish your code to our cloud and keep it private. But a complete environment requires more tools like IDEs, compilers etc. Since software is present everywhere and the state of technology requires it to be up-to-date constantly, developers work hard to push their code’s latest version as soon as they know it works better than the previous one.
VersionEye logo

Continue reading

When CLion met biicode

Cross post from the CLion team: biicode integration in CLion!

C and C++ have a long history going back to the early days of programming. Over three decades, many interesting tools have appeared in the field: debuggers, compilers, memory analyzers and code analyzers for these languages are evolving swiftly. But how about a dependency manager? Can C/C++ developers save their time by configuring and installing various libraries used in their projects?

Luckily there is a very interesting cross-platform tool called biicode. With biicode, you can reuse any single source file from any given project in any other project you are developing. It tracks and manages versions of published code and retrieves the missing files from the repository (GitHub and Bitbucket are supported for now). In its latest versions, it supports boost libraries, Eigen and many others, and can even work with Arduino boards. The original content is here.

biicode plug-in for CLion is here!

Continue reading

biicode 2.0 is out

biicode 2.0’s press release

C/C++ dependency manager biicode 2.0

Because managing a project with multiple dependencies is still a pain in C or C++, biicode sets it up with one #include.

For C/C++ developers that think a dependency manager is needed, biicode is a multiplatform tool and hosting service that allows you to build your projects easily, integrate third party code and reuse code among projects with just #includes.

Continue reading

CMake Tutorial to build better biicode projects

Biicode is a C and C++ dependency manager. And uses CMake to configure and build your projects. Hope there are no surprises here!

This post is a CMake Tutorial to understand the basics of generating biicode projects for your usual tools and some tips to make projects multi-os compatible via CMakeLists.txt.

Custom CMake toolchain is now a feature in biicode

Continue reading

Flappy Bii game

As Nacho Lasheras points out in his blog Orcs and Fireballs

Once you’ve grasped the basics of coding (variables, execution flow, conditions, loops, functions, etc.) you can start learning how to develop “easy” games. It’s important to go step by step. Do not try to rush and start programming in C++, OpenGL and Android at the same time because it can be overwhelming.

Falppy Bii game developed with Box2D and GLUT

Flappy Bii game developed using Box2D and GLUT.

Continue reading

BITSCAN efficiency at a glance

BITSCAN 1.0, our exclusive C++ library developed by Pablo San Segundo for sets of bits greater than the CPU register word, has proven its efficiency!

In order to find out if BITSCAN  was fast enough to be a substantial improvement over other libraries that manage bit strings, it has been  compared with std::bitset and  boost::dynamic_bitset similar data structures.

A comment on basic features

STL ‘s Bitset (stl∷bitset) is NOT dynamic (i.e. the size of the bit string must be provided in compilation time by as a template parameter), so it does not actually provide the same functionality.

Boost´s Dynamic Bitset (boost:dynamic_bitset) is similar in functionality  in fast forward bit scanning. However, Boost does NOT currently support reverse bit scanning which is important in many applications.

Continue reading