Tn’s first release:

(time of writing: September 2003)

It is obvious that to get Tn to a mature enough stage to act as a wide-ranging solution, point releases must be made to obtain a revenue stream as soon as possible. To that end, I feel that the first release should come initially with a suite of development tools suitable for cross-platform & multi-language development:

  1. There is significant customer pain in developing cross-platform & multi-language projects.
  2. There is a clear trend towards increasing development of cross-platform & multi-language projects.
  3. Tn is itself a cross-platform & multi-language project, so our own tools would be very useful to us in the future.
  4. Offering a solution to developers you target much of our targeted market straight away.

The increasing trend of cross-platform development:

Unfortunately the ideal piece of research to prove this is the IDC 2002 Worldwide Professional Developer Model study (IDC #28510). Since that costs $4500, it is unavailable so I have done my best to collate information from commentaries based upon that document. Furthermore I have contacted the owners of a number of cross-platform development tools and where they replied and had the data, I have their historical sales figures.

The following cross-platform libraries:

The following cross-platform languages:

Ancillary Information:

PCs in use

1995

2000

2001

2007

Worldwide

229

530

603

1,150

Share in Homes (%)

35.2

43.5

45.1

52.3

It is estimated that in 2003, 18 million of these had Linux installed (counter.li.org)

Case Study: Qt

A Norwegian company called Trolltech was formed to market Qt which had become popular through KDE, the primary windowing system for Linux. Qt had been designed as a state-of-the-art C++ system abstraction toolkit with no design reliance on the host OS and so was easy to port to Windows and MacOS X.

Trolltech themselves kindly responded to an email with their turnover for 2001 and 2002:

2001

2002

3.7m

7.4m

As Trolltech’s Finance Director Knut Stålen says “The licenses in these figures are mostly single platform, duo platform and trio platform” which works out at a maximum of 2400 units shipped in 2001 and 4900 in 2002 (a rise of 104%). This of course excludes all non-commercial (GPL) usage of Qt which is probably rife among companies evaluating Qt.

Case study: WxWindows

WxWindows has through accepting contributions from a wide number of people and not baulking at adding platform-specific functionality become the most popular free C++ system abstraction toolkit. The only figures are its downloads from sourceforge which unfortunately only go back to the start of 2002:

Release Date

Avg Downloads

 

Windows

Mac

OS/2

X11

GTK

All

Totals

03/01/2002

561.72

 

119696

 

 

 

62302

 

181998

23/11/2002

365.21

 

3942

730

172

401

4295

1051

10591

22/12/2002

636.76

 

38050

3335

453

11141

45744

8253

106976

08/06/2003

643.80

 

27447

1651

237

4334

30866

3064

67599

21/09/2003

 

 

 

 

 

 

 

 

 

Total

 

 

189135

5716

862

15876

143207

12368

367164

% of Total

 

 

51.51%

1.56%

0.23%

4.32%

39.00%

3.37%

100.00%

There are a number of caveats to this data. Firstly, most developers actually download a library from its CVS repository (ie; where the project resides as it’s being worked upon) so they have the very latest features and bug-fixes – the numbers above only reflect a proportion of overall developers. Secondly, the dip in the month of November to December 2002 results from the November release being so buggy as to need another release in December, thus clearly it would not be popular.

Since there are only three data points, no useful statistical analysis of likely trends can be drawn. However it is clear from the above that (a) it is likely there has been over one hundred thousand programmers either using or evaluating wxWindows since January 2002 (b) around 50% (ie; 50,000) are Windows developers, around 40% Unix developers and around 5% MacOS classic developers. At least 3.37% (3,370) downloaded wxWindows for all platforms together. While some developers will have only ever intended to use WxWindows on one operating system, there are better alternatives certainly for Windows & Unix and thus for the majority, current or future cross-platform support was important.

Case study: Java

Java was released by Sun as a panacea to cure all ills around 1994 when it was called “HotJava”. It was a pure OO compiled language based on a C syntax and was originally designed for embedded applications though from its release till recently it targeted embedded applets in websites. Its single biggest boon to developers is that the one binary runs identically on any platform with the Java run-time and thus it is the industry standard cross-platform development language today.

Without the full IDC report, figures are hard to obtain. The following is from a number of sources:

2000

2001

2002

2003

700,0001

?

2,000,0002

3,000,0001

There is an average rise of 62% per annum. I understand the IDC report estimates that high double-digit growth shall continue.

[1]: From Sun press releases

[2]: From IDC 2002 report

Case study: Python

Python was originally a scripting language for Unix. However it was one of the first of the improved Unix scripting languages to take steps to become a full-blown language and the power implicit in the language is immense, probably the highest in general-purpose terms of any OO/procedural/functional based language. Python was quickly ported to a very wide range of platforms along with an extensive support library and probably its cross-platform availability is second only to Java. Python is fully integrated into Tn.  

My thanks go to Thomas Wouters of python.org who provided me with detailed website logs back to August 2001. From these I have generated the following graph:

There has been a clear rise in all categories during the last two years. To be specific, an average rise of 92% per annum from September 2001 to September 2003.

Estimations of worldwide python programmers are hard as only the download statistics are available and besides, python comes preinstalled on most Linux and Unix installations. python.org reckons there are between 175,000 and 200,000 python programmers in 2003.

What can be said is that it is likely over one million people have evaluated or used the v2.2 release worldwide since January 2002. One cannot say what the distribution between operating systems is except to say there were 766982 downloads of the v2.2 release for Windows based machines.

Competition:

Kylix is Borland’s RAD tool for Linux development and if it were combined with Borland C++ Builder for Windows it would provide a cross-platform solution. The Borland Delphi and C++ environments are well-regarded.

Unfortunately ports for only Linux and Windows are available and it’s expensive: $249 for Kylix and one of $999 for C++ Builder or $999 for Delphi.

Competitive threat: Medium (because of price)

Eclipse’s considerable improvement had actually taken me by surprise – when I had last looked at it six months ago it was basically a poverty IDE for Java programmers but I assume the recent sign-on of major industry players has given its programming team a major funding boost. This new revelation has forced me to reconsider what a Tn cross-platform solution should be in favour of a much more “tying together disparate tools” approach than implementing a common consistent interface to the same. This in fact plays to Tn’s strengths, because its entire purpose is to tie together disparate pieces of code so if the cross-platform development product does so in a very clear way, it actually helps us in marketing terms because then they think about how to apply similar thinking using Tn elsewhere.

Competitive threat: High

[1]: A makefile is literally a set of dependencies between source files in a project and instructions on how to make the target (the binaries) as recent as the most recent thing in the list of source files. Despite the advances of modern IDE’s, makefiles still remain the most flexible and powerful method of building your project and if we can leverage that, we have something no other cross-platform development tool does.