(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:
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:
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)
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.
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.
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
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.
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.