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)


Commodity pricing, PSoC, Propeller, XMega, 430X, XGate, Cortex, new IDE et. al.

Our company was incorporated in 1994 on the assumption that while embedded development tools are not a commodity product per se, if we lowered the price of entry and provided products and services with a good price/performance ratio, then we could satisfy a market need and create a decent business.  Now that we have been in business for over 14 years, I’d say we were correct in that aspect.  Not that we don’t have competitors, of course!  In fact, some of our competitors have now been adopting a “scorched earth” strategy: they put out free versions that are limited in code size, to provide a seemingly lower cost of entry.  However, most people that stay with the free versions will never buy our competitor’s $$$$-pricey versions anyway,  so clearly the main purpose of the strategy is to take potential customers away from ImageCraft in order to hopefully  “get rid of” us.  One response for us is to release even lower-cost non-commercial use versions for students and hobbyists; this would also help us to draw in hobbyists that are looking at Open Source compilers purely from a cost standpoint. So, we plan to be rolling out NC (non-commercial use) licenses in the next few months.

WordPress provides statistics about their hosted blogs, and consistently, the most-searched phrases that people use to find the ImageCraft blog are “Propeller C” and “PSoC Compiler.”

Propeller C is interesting in that currently a lot of Propeller customers are hobbyists. We expect that as Propeller increases its popularity amongst professional users, our C compiler sales may really take off there.

The PSoC compiler is a different story. Currently, Cypress is giving out a free C compiler that is at best at parity with the compiler we developed for them (which they used to sell for $149) and now has less extant bugs.  However, now Cypress has been cutting off their customers at the knee: once their customers grow beyond the usability of their free compiler, they will once again have to shell out $$$$ for a better compiler to meet their needs. We could produce a compiler that is probably 20% better than the free compiler and sell it at relatively low price, but with the non-cooperation we have been receiving from Cypress at this point, we do not see that as a good business move. It’s sad, too, as clearly Cypress customers are looking for a better compiler solution, and Cypress has currently chosen not to provide it.

The Atmel XMega AVR is a new series that has many compelling features, including an event system that basically provides DMA-like features between the peripherals without CPU involvement. It also provides greater than 64K data memory access. Our next release will support the extended data memory in forms of library functions.

The TI MSP430X extends the MSP430 architecture by providing greater than 64K bytes of flash. We are now working on the assembler support for this new series, and will be working on C compiler support for extended functions in a future release.

At least the Freescale S12 and S12X already have supported greater than 64K-byte memory since 2000 or thereabouts (albeit with a baroque paging scheme). The S12X has a coprocessor called XGate. We put XGate support in our assembler a while ago, but we never finished debugging it. We are now back to debugging the remaining issues, and hopefully we will release an XGate capable assembler soon.

As for Cortex!… we are making good progress with a Cortex assembler and linker based on our ARM asm and linker.  Once that is done, we will port our compiler to Cortex, pending ImageCraft’s resource allocations in the near future.

Finally, we have now decided to write our own next-generation IDE by leveraging Open Source project. This should provide a light-weight solution still  in the tradition of the ImageCraft IDE, with the added features that our customers want, and to provide a foundation for future versions. We expect to fast-track this, so expect an official announcement relatively soon. :)