Competing with "Free" Software

Tough Survivors

As I said in the last blog entry, independent embedded C/C++ compiler companies are becoming rare birds. Of the independent companies that support multiple platforms, besides us ImageCraft, there are Green Hills (US), IAR (SE), Cosmic (FR), Rowley (UK), and… um, I think that’s it. Since being bought up, Hiware/Metrowerks primarily target Freescale chips; Hi-Tech clearly will concentrate only on Microchip’s PIC; Keil, despite being an “ARM company,” still sell tools for the 8051, C166 etc. probably because the money is good, but who knows how long that will last?… Most  if not all compiler companies were started by compiler gearheads (who else would be crazy enough to start a compiler company?) a while ago. In fact Cosmic and ImageCraft are tangentially related through our lineage with Whitsemiths. With the different product pricing and the vast number of embedded devices, most of us in fact do not compete directly with each other per se. However, there is …

The GCC Equation 

(dun dun duuuuunnnn…..)

Different embedded compiler companies “die” for different reasons, most likely financially related, and in 2009, the GCC equation must be a factor directly or indirectly. (Click on …more… to continue)


Next-gen IDE followups

Lots of great comments on the last post here and on our mailing lists. Let me elaborate on the subject:

To address why working on the IDE at all when a simple one suffices: it is definitely the case that ImageCraft will continue to place the most emphasis on compilers. The thing to keep in mind is that the resources that can work on compiler backends are usually not the same as the ones that can work on GUI and IDE. Hence working on the next-gen IDE will not take away resources from the compiler development. (I will write another blog entry on our compiler development later.)

From a business perspective, there is no doubt that prettiness sells, and every week, we have customers or potential customers asking: why don’t you add this [xyz features] to the editor? So, the demand is there. While a good number of developers use their own editors instead of our IDEs, a good number also request code folding, code browsing etc. One even said that he will not buy or recommend ImageCraft if we do not move to Eclipse-verse pronto. While we cannot keep all customers or satisfy all requests, I know in certain markets (do remember that we are supporting a variety of micros), the prettiness of the IDE does come into play in being competitive. A next-gen IDE will also allow us to integrate a debugger, which is another oft-requested feature.

Having decided a next-gen IDE is necessary, it is easy to decide against writing our own: it will just waste too much resources. Something like notepad++ would be ideal as a starting point – it has almost all the editing features one would want, and adding project management, application builder etc. would be fairly light weight. Unfortunately, for a variety of reasons, we cannot afford to use GPL code.  GPL is another sinkhole I don’t want to get into right now.

A small number of people commented that Eclipse is not too bloated for the current and future generations of PCs. I do not make the statement arbitrarily; for a good number of our users and potential users, there is evidence that Eclipse is a bit bloated. Besides, we do already have an Eclipse plug in for the AVR compiler, so people are welcome to try that out now.

As for Visual Studio, while working with Microsoft always carries a risk (I have personal experience with working for 2 rather large companies that had partnership agreements with Microsoft), in the end, it seems to be the right decision. I have gotten clarification from Microsoft that we will in effect be able to ship a copy of the Visual Studio 2008 IDE (sans the Microsoft compiler) as part of our compiler package free of charge to us and to the customers. People that use their own IDEs (including Eclipse and command line users) will not be affected, and we will get a world class IDE with a lot less work and support cost than if we write our own.


Posted in new product. Tags: , . 2 Comments »

Next-Gen IDE

We released our first Windows IDE around 1996, V3 of our compilers. It was one of the earliest Windows GUI for an embedded compiler at the time. The look and feel of the IDE remained generally the same up through V5 of the tool release. Around 2000, we released the V6 compilers and rewrote the IDE to be fully 32-bit. The V7 IDE, released around 2005, has been largely the same as the V6 look-and-feel wise.

For various reasons, we believe it is time to rethink our IDE strategy. “More pretty” is always a Good Thing. “More code assistant features” is definitely a Good Thing. Debugger integration is, likewise, a Good Thing. (Of course our core competence and focus must still be the compiler: we MUST have excellent code quality. After all, our customers ultimately depend on it.)

The solution that seems to make the most sense would involve leveraging a 3rd party product. The non-free ($$-wise) products would add cost to our end users (a potential Bad Thing.) If we look at the free ($$) solutions, there are really only two choices: Eclipse and Visual Studio. Eclipse is still too slow and bloated, and it’s getting more complex by the day. So, that leaves Visual Studio.

In fact, Microsoft now has something called Visual Studio Express, which is free to download and use, and it appears that we can extend it to integrate our compilers with it. By leveraging VS Express, we get Intellisense, code folding, and all the modern editor, browsing and project managment features. Of course, it is still not a trivial task to base our next-gen IDE on it, but the cost will be significantly less than rolling our own solution from scratch.

All in all, sounds like a good solution to many of our needs – and our customer’s. :)

// EDIT: I just got words from Microsoft that the Express version is not extensible. We will need to consider this data. A possibility is to continue to support the current IDE as the light weight solution, and provide a Visual Studio Shell extension as the premium solution. The VSX shell will be available in the base product, but will require the users to purchase Visual Studio. A good number of users already use Visual Studio so it may still be a good way to go.

// richard & karisu

Posted in new product. Tags: , . 7 Comments »