Archive for January, 2006

My last day of working for another company expired last Tuesday. So what have I been doing for the first three days of independence? Well actually not what you might have expected.

You might think I was busy writing code or perhaps maybe a project plan for the next few months. Nope, actually I have been spending 8 hours per day learning to touch type.

Like most programmers my typing speed is pretty good considering I bash away without any systematic approach. But over the years it has really annoyed me having to keep looking down at the keyboard all the time. Not to mention the high percentage of mistakes that I make.

Learning to touch type is not that hard but it does require a few days of solid training before you can start using the method all the time. Plus I expect I will be coding at less than a quarter the normal speed for the first week. It might take a few weeks to get back up to the old typing output.

This drop off in output is not something most employers would be very happy about, but one of the advantages of working for yourself is the lack of a boss to worry about. Once those frustrating first few weeks are out of the way the improved top speed and productivity will last a lifetime.

If your thinking of the same idea then I can recommend the little package I am using that only cost $19.95 Typing Master.

I need to take a rest now, it has taken me 30 minutes of sweat inducing effort to touch type this post!

With results from well over a 100 replies the conclusions should accurately reflect the requirements from all the users of the Krypton Toolkit.

Are you using the Krypton Toolkit?

_7% No and never will
42% No and maybe will
11% Yes in internal app
34% Yes in prototype app
_6% Yes in commercial app

The low percentage for the use in commercial applications is not very surprising. Many companies will not use a third party component if they do not have the source code, especially from a small outfit like ours. Plus, although the toolkit is handy it is certainly not a replacement for any paid for product currently on the market.

If you add up the percentages for use of the Toolkit in any scenario then you have 51% and that is very encouraging for a first release of a simple library. As the Toolkit is improved and additional commercial extensions created I would expect that to improve.

Suggested focus for next release?

53% Add new control
13% Add new features
21% Improve docs and samples
14% Create predefined palettes

I was pleasantly surprised to see that only 13% of respondents requested extra features be added to the existing set of controls. Instead the clear indication is that developers would like new controls adding in order to broaden the range. This would indicate that the level of functionality and customization for the controls is already about right.

The second conclusion is that the collaterals need improving as shown by the 21% wanting improved samples and help documentation. This is entirely to be expected as the help documentation is almost empty and only a single sample application is provided.

Would you like the option of buying the source code?

23% No
34% Yes
43% Don't Care

I entered the set of results into a spreadsheet and it became clear that those replies that were not using the library answered that they did not care about the supply of source code. Those that responded by saying they were using the code tended to be biased towards wanting the code. Hardly surprising I can hear you say!

At the moment I cannot sell the source code because I need to get to Australia before I can create a company and then have a legal entity to sell the code through. But once a companyt is setup there is enough demand to make it worthwhile making it available.

What control would you like added?

This question generated a wide range of replies from the humble ProgressBar to a full feature docking windows system. But there were two answers that were far more popular than any others, a grid control and a calendar/scheduler control.

The popular demand for a grid is to be expected but will not happen as part of the Toolkit because it is intended as a small and free library that compliments the other commercial extensions in the future. I did not realize that a calendar/scheduler was such a popular control for use in applications and I will give it serious thought for a future commercial extension.

Conclusions

The results lead to the following list of tasks for the next development cycle of the Krypton Toolkit.

1) Fix all bugs
2) Add one or two new controls
3) Improve documentation in the help file
4) Create some extra samples
5) Add another predefined palette

The biggest emphasis has to be on steps 2, 3 and 4 as highlighted from the results of the survey.

With only a week to go before working for myself full time I need to get ready for my first task. I want to spend the first couple of weeks developing the next revision of the Krypton Toolkit.

Rather than try to predict what will be most useful to developers I am instead trying to get direct feedback by asking downloader’s to complete an online survey. It only consists of three multiple choice questions and three optional text boxes.

Obviously I will be fixing the handful of small bugs that have been reported before starting any new controls/features. But after that I want to ensure I focus on the area that is of most help to programmers.

I have emailed all 1700 of the downloader’s and will update you with a summary of the results at the start of next week.

No formulation of market strategy would be complete without factoring in the coming tidal wave that is WPF or Windows Presentation Framework to use its full name. Although still a year away from release it will become the next generation platform for user interface development on .NET and Windows.

Market Disruption

WPF does not represent an evolution of the existing technology used to develop user interfaces but instead a revolution. Moving from .NET 1.1 Windows Forms to .NET 2.0 Windows Forms represents an evolution and a welcome one at that. But WPF is a completely different way of developing with a learning curve that brings everyone back down to the same starting point.

This completely disrupts the market for .NET user interface components. You cannot just upgrade your existing component code and add a couple of new features to keep it up-to-date. If you want to develop controls for WPF then you are starting from ground zero.

The clock is ticking on the revenues that your existing Window Forms components will generate. This is hardly surprising as all technology is superseded at some point but until WPF was revealed we did not know when it would happen. But now we can look ahead and predict very easily what will happen.

I think I am safe in saying that in 10 years time everyone doing .NET windows development will be using WPF. In fact we can move the prediction ahead and say that in 5 years I think it will be true also. So how much nearer can we predict? How about in 3 years time or even just 2 years?

I do not know the exact release date for WPF but I think it will be about the end of this year. The exact timing does not really matter that much when looking at the market over the next few years, a month or quarter either way is no big deal.

Once the technology is released I think it will take at least a year before companies starting a new project decide to use it as the front end technology of choice. Some bleeding edge developers will jump into using it straight away but most managers are cautious about a new technology.

So we are one year away from its release. Two years from now it will be getting a good percentage of new projects using it and in three years it will be adopted as a matter of course. Therefore any revenue you have for Windows Forms components is going to start declining one year from now. Two years from now the revenue is going to be a significantly down and declining rapidly. In three years you will need to be selling WPF components or starting to look for another job.

Look back at what has happened to the market for ActiveX/COM components. Although some are still sold to those still using VC++ the sales are minor compared to the money spent on .NET components. If anything the transition to WPF components will be even faster because the transition from Win32/VC++ to .NET was a greater leap than that from Windows Forms to WPF. After all, WPF is still using .NET.

The Levelling Effect

Whenever there is a big change in a market it also represents a big opportunity. Take as an example the component suite market. Take the position of Developer Express as compared to the market leader of Infragistics.

The first disadvantage for Developer Express is only having half the number of developers of the market leader and so they are constrained by resources. Man for man they need to be twice as effective in order to maintain the same development pace as the Infragistics team. A second disadvantage is that Infragistics already have many more components than Developer Express does. If Developer Express wants to appear as an equal player in the market they need the same breadth of components and so need to catch up. They need to sprint with only half the staff to catch up.

Now let’s press the market reset button by introducing WPF. Disadvantage number two has completely disappeared because both companies are starting from a clean slate. The problem of fewer resources is certainly not insurmountable. A smaller team that is highly motivated and talented can outstrip the productivity of a much larger team.

If I was Developer Express and my ambition was to compete with Infragistics as a suite vendor then I would put all my existing .NET and VCL components into maintenance mode. All my best developers would be spending their time mastering WPF and ensuring that the team can develop and release components at the same tempo as Infragistics.

So my advice to Developer Express, ComponentOne, Syncfusion, and any other vendor looking to play ball with Infragistics is to master WPF as soon as possible. Make sure that when WPF is released your out of the traps like a whippet because if they get ahead of you, its game over until the next technology reset.

First Mover Advantage

For a full description of first mover advantage you can use this link to wikipedia. If you think back to the days of the dot com bubble you will probably remember that many of the companies based their entire business model on first mover advantage. They viewed the internet like a land grab, the first company to offer a particular service was just bound to dominate and make most of the money.

Looking back it is obvious this approach is far from fool proof. Amazon was not the first book seller online and depending on which account you read was either the 3rd or the 7th. Either way it was certainly not the first. Google was hardly the first search engine but look at it now.

If you’re a high street retailer then having the very best location on the street is a great first mover advantage. No rival can do much about that. So if there are scarce resources then being a first mover can be a big advantage. But resources on the internet are almost limitless. Anyone can register a domain name and the cost of hosting a moderate server farm is not that great. You can always hire some smart developers and have a spiffy looking website up in no time.

The only real advantage you gain with respect to the internet is in markets that have a network effect. This is best described with an example. In the UK there is a website called www.friendsreunited.co.uk that allows people to find old school friends and find out what they have been up to. Now there is really only room for one website to do this as no one wants to logon to several different sites. So once they had a core group of users then everyone else just migrates to that one location.

So will first mover advantage apply to the WPF market? I think the answer is both yes and no. If you are an established number one player in your category then I think it makes sense to be the first to market. Try and ensure that no one has a reason to switch over to an alternative supplier.

Let’s consider the position of our favourite example Infragistics. They have a dominant position and substantial revenues from subscription renewals. Their priority must be to ensure that do not give any of their customers an excuse to switch over to someone else. So they must be quickly into the market and establish themselves again as the provider of the broadest range of components.

Hence my previous belief that the best chance for the other suite vendors is to quickly get into the market and use the levelling effect described above to try and attack that dominant position. I would use the same advice to any dominant player in the more specialised categories. So SoftwareFX and Dundas in the charting category should quickly move to maintain their positions as leaders in that area.

What about the rest of the vendors that are either minor players in their market or just starting out like me? In that case I would suggest they consider using the second mover advantage instead.

Second Mover Advantage

For a description of second mover advantage use this link, again from wikipedia. This is not a term that most people will have come across but is actually a very good strategy for many technology based companies.

Until now we have suggested that Developer Express et al try to quickly establish themselves in the WPF market to counter Infragistics. But what if they feel they just cannot manage it on the scale required. Instead they could deliberately not enter the market and wait to see what Infragistics does with the first release of their own offering.

By examining the Infragistics components they can learn all about the architecture and design decisions that Infragistics have taken and improve upon this with their own set of ideas and innovations. So although they are behind in terms of time to market they have a superior product that has leveraged the research and development effort of the leading competitor.

This approach is particularly appealing if you are just starting out or are a small player in a market you want to attack. You can leapfrog the capabilities of your competition. Now in theory you would expect the other company to respond by improving their own product and so begin a feature lead arms war.

What is interesting about Infragistics is that they do not tend to make big investments in improving their existing products. Oh, they do tweak and add the occasional feature but they will not completely rewrite a major component. If you came out tomorrow with a fundamentally better grid control that they could not match without redesigning the whole of their own grid, it is unlikely they would respond.

Final Strategy

I expect the WPF market for .NET user interface components to develop in the following way.

Infragistics will be keen to retain all their existing subscribers and defend their dominant market position by releasing as early as possible to the market and develop a broad set of components. Don’t let any of those subscription holders defect!

Other suite vendors will take one of two strategies. I expect most to release early in the hope of matching Infragistics component for component in an effort to increase their market share. Others, if they have the financial resources, will wait and leverage the research and development of the early releasers in order to leapfrog and bring superior technical solutions to the market later.

In the specialist categories I would expect the market leaders to also release early for the same reasons that Infragistics will do in the suite market. The smaller players will probably split between the two approaches but many will not even have thought about strategy.

Component Factory is going to take the second mover approach and deliberately wait for others to release products before designing the architecture of our own. Obviously I will be learning WPF and thinking about lots of ideas of how to create some compelling components. But the final design for them will wait until I can learn from and take advantage of the ideas others have come up with.

So what will I do for the next year or so until the time comes for serious WPF development? That time will be spent between mastering WPF and developing good old .NET2 Windows Forms controls. Although WPF is the next big wave there is still life in the old Windows Forms dog yet.

Although we know have a feel for the structure of the .NET component market but need to add some numbers. This will flesh out the market share of the different players and help use decide where the money is to be made.

Sources of Information

Not being an accountant it took a little while before I worked out how to discover the two key pieces of information I wanted to know per company. Most of the companies are based in America and they are all privately owned. Luckily a little investigation revealed that the cheapest and quickest approach was to use the credit checking service from Dun and Bradstreet.

I used the cheapest option they offer which reveals just the turnover and number of employees for any private company based in America. If you are willing to pay more than you can get a wealth of information about a company including its past financial and credit history.

Component Suite Vendors

Before giving the numbers we have to be careful to note that the numbers are only a snapshot of the last figures released. They are useful for getting an idea of the relative size of turnover and number of employees, but financial numbers tend to vary and these may be a little out of date.

The results for the suite vendors were as follows:-

Employees/Revenue/Company
70 $17.4m Infragistics
35 $_3.0m Developer Express
12 $_0.4m Syncfusion
(unknown) ComponentOne

The Dun and Bradstreet source was unable to give any details for ComponentOne but the other three companies have some interesting results. We can clearly see that Infragistics are the number one in the market and also achieve an execellent level of revenue per employee.

Number 2 in our list is Developer Express, they have a healthy revenue but are making less than half the amount per employee of Infragistics. I would guess that Infragistics are making a nice profit and that Developer Express are making a small profit or breaking even.

If the numbers for Syncfusion are accurate then they are in pretty dire straits. The revenue they are pulling in is about enough to support 3 developers but with 12 they must be losing money hand over fist.

Syncfusion are an interesting case because they only started up 2 or 3 years ago as a set of developers that used to work on the Stingray set of controls aimed at C++ developers. I always thought the advertising they used was very poor and looked unprofessional. Combined with nothing in their set of components that actually stands out from the crowd and you can see why they are struggling to stay alive.

So can we estimate the size of the suite market? I would guess that the revenue for ComponentOne is about the same as Developer Express as they seem to be positioned at the same level on the ‘best sellers’ chart of www.ComponentSource.com. Adding up all the numbers gives us $17.4m + $3m + $3m + 0.4m = $23.4m.

If we add on a little for the smaller players and take into account the released figures are behind the current value we could pick a value of say $25m as a fair guide. We don’t need to be completely accurate, just a rough idea of the scale is enough.

We can conclude that Infragistics has the dominant position with 70% of the market, Developer Express and ComponentOne have 12% each and the rest is split between odds and sods.

Clearly we do not want to be entering this market. A company with the resources of 1 full time developer against a market leader with 70 and the other two players with about 35 each does not represent an oppourtunity.

Specialised Market Vendors

Charting
Employees/Revenue/Company
26 $3.0m SoftwareFX
_4 $0.6m Graphics Server
Dundas (unknown)

Grid
Employees/Revenue/Company
30 $4.4m Data Dynamics
20 $3.0m FarPoint Technologies

Now these results are more interesting. I have not tried to include every single vendor for each of these two categories but instead the bigger well known ones. For the charting area I tried to get the figures for Dundas but was unable to get the cheap report that I was willing to pay for. I would guess they are only slightly behind SoftwareFX in size.

If seems that to be a big player in one of these categories you need to be at a scale of around $3-4m and therefore will have around 20-30 employees. Each category also seems to have room for a couple of big players followed by a few smaller companies.

Conclusions

Stay away from the market for creating a whole suite as it has a dominant player that is making a profit margin way above anyone else. To compete against Infragistics you need not just superior technical components but also deep pockets to try and match the level of marketing and exposure they are currently buying.

Each category seems able to support a couple of leading providers and although the value of these specialised markets is smaller than the suites it is still significant. At least it is compared to being a one man and his dog outfit like myself.

The leaders in the existing categories are well established and have good domain knowledge and so completing head on will be very difficult unless I have something that is obviously a magnitude better.

Instead I conclude the best approach is to not compete head on with any of the existing vendors. Instead we need to either create a completely new category or at least have a significantly different approach to any existing vendor. We need to develop a reputation for excellence in one area and ensure that we have many features that are just not present in any other product. So if you want the cool features then you have to buy ours because you just cannot get it anywhere else.

So that will be our broad approach. a laser like focus in an area for which we will build a reputation as the area leader. Plus ensuring we innovate in that area so that there is no way to substitute another vendor’s product in place of our own. We do not want to compete on price but on capability.

Does that sound reasonable or do you read the market differently? This is your chance to provide feedback and prevent me falling into any obvious traps that you can see ahead!