Fog Creek Software
Discussion Board

Future for commercial software development

I'm probably in a pessimistic mood tonight but I'm starting to wonder about the future for commercial software development companies.

If .Net really is as good as Joel's comments and the discussion here make it to be, we're down to three possibilities for anyone producing commercial software: .Net, Java and stuff which hasn't been ported / replaced yet. Developer mindshare seems to be heading rapidly towards .Net and Java - I'm not sure an alternative could reach critical mass.

There's some question as to whether Java will survive Sun's stewardship; in any case, .Net seems poised at least to take over the GUI side of development since Sun still hasn't made Swing fast and portability is becoming a non-issue.

It seems like there's a good chance that .Net will end up the predominant development platform short of some massive developer backlash. This has two effects - Windows will become even more dominant and it'll be much easier to port Microsoft-centric products to any non-Microsoft platforms Microsoft supports with .Net. This removes the niche advantages offered by Java where Microsoft and their close partners don't want to support a competing platform. It hasn't hurt Microsoft any that some of the other platforms are falling into their laps - c.f. Palm's apparent gift of the PDA market to any competent competitor.

If you're developing commercial software, your company is in an interesting position. If your market is profitable, there's a very good chance that Microsoft will enter it - they're looking for new markets as the existing ones reach saturation. You're almost certainly dead if that happens. If your market isn't very profitable.

If you don't want to spend a few decades trying to eke out a living in the "Legacy Programmer" ghetto, move into a geodesic yurt and devote your life to open source or spend the rest of your career doing integration, there are three choices:

- Don't try to fight and sell add-ons for Microsoft's products. Seems to be a losing game - they add something similar and 90% of your customers disappear.

- Find smaller niches. This is getting harder as companies increasingly move to standard packages and the more general products increasingly offer "niche" capabilities.

This is the same game being the high-end workstation vendors play against the increasingly capable commodity PC.

New markets have the same problem - for all the challenge that shifts like the Internet posed, look at the outcome.

- Beat Microsoft. Since you have a very well funded, cut-throat competitor, this basically requires that you never screw up. Breakneck innovation, heavy customer focus, etc. Even then you may lose if they throw money at you or release their product for free. I think most companies will end up like Netscape if they try this - a key mistake or two and Microsoft wipes out the remains.

The odds look good for MSFT shareholders.

There are some possible balancing forces:

- Developer backlash - I think most developers are starting to see Microsoft looming on the threat radar. Whether this will make much of a difference is hard to say - at this point I'm inclined to say it'll be too little, too late.

- Government regulation - not very likely and it's questionable how much it would really change.

- Microsoft stumbles - they've been much better at avoiding the corporate stupidities which have sapped most of their competitors. Will this last?

- Dark horse candidates - maybe everyone will decide to buy an iMac and we'll all be developing Cocoa apps. Nice what-if but I'm not putting my IRA into Apple stock.

As I said, I'm probably being overly pessimistic. Still, I'm increasingly wondering if we're head to a future where all programmers will be Microsoft employees, integration consultants or in-house developers updating accounts receivable databases.

I'm particularly interested in what people who work at companies like FogCreek think. FogCreek seems like the classic example of a potential company to be bought or squashed. What's the plan if Microsoft decides to release a content-management add-on for FrontPage?

Chris Adams
Wednesday, April 17, 2002

In the end something else will come along, it will look similar taste much the same but have different Catch 22s.  There are no all consuming palliative environments that don't also have their own demons.

I'm currently involved in something far removed from .NET but addressing much of the same issues.  It has its own demons, not least of which being the shifting sands of Mozilla, but they are familiar demons and I've developed strategies for dealing with them.

I've never yet, though, come up with a strategy to cope with Microsoft's penchant for removing or redefining development environments when it suits their product marketing. 

Simon Lucy
Wednesday, April 17, 2002

> Don't try to fight and sell add-ons for Microsoft's products. Seems to be a losing game - they add something similar and 90% of your customers disappear.

It's always been like that so far as I know. If your product is worth millions instead of hundreds of million; if you can do with 20 people what it would take them 50+ people; if you support your product; if you offer something feature-rich (because their v1.0 product will be buggy and unreleasable, and their v1.x product will miss the various different extra features which each different various person wants); these are things may help to keep you competitive even with MS. It's the flip side of "open source" competing with you. There is always at least potential competition. You could be an MS Solution Partner too, so that MS customers don't oblige MS to enter the market.

Christopher Wells
Wednesday, April 17, 2002

"in-house developers updating accounts receivable databases."

I don't think there's anything wrong with that as a marketplace.

My sister became an accountant on the basis that money isn't going out of fashion any time soon...

Likewise, accounting software is dull, in my experience gob-smackingly badly written and not getting any less important as time goes by.

It all depends if you want to do grossly exciting things or if you want to earn money as a software engineer. I'll write accounts systems for people as long as they pay me for it. I'll even write them as badly as they want them writing.

{Why do people need accounts systems that don't actually work? All of them seem to have an "oh yes, and..." at the end of the spec that breaks the point of proper accounting...}

For coolness, I'll write games for Linux at home. There seems precious little money in doing cool things, so there's a clear choice between cool or paid. I pick paid. Cool only keeps the roof over your head if you live in an igloo.

I think you're wrong about Microsoft's domination. Something I'm seeing is people getting bored. They're tired of perpetually upgrading Windows installations that don't work. Something else I can see is people getting fed up of hiring people with all the right letters on their CVs, but not able to do the job.

It's faint, but it's there: companies are looking at their IT and going "this costs a lot of money, why doesn't it work properly? Why is it so hard to fix?"

Linux is a word that scares them, and they're not buying Mac anytime soon, but their expectations of MS are starting to outpace even the FUD. The month of bugfixing there doesn't seem to have acheived much - /. mentions ANOTHER IE exploit this morning. As more and more stuff gets bolted together the fragility is increasing. That's starting to worry people.

I worry more that people are starting to say "Microsoft doesn't work. There are no other solutions..."

It's not far from there to stopping doing IT.

Katie Lucas
Wednesday, April 17, 2002

I think open source is the real contender against Microsoft.

The main problem with open source is making money out of it.

As you point out, this is also becoming a problem with the Windows platform.  If I make a product, and its successful, then one of the biggies like Microsoft will better it.

At least with a successful Open Source project you get to continue with the code base and charge top dollar for consultancy.

You also point out how dull Windows is becoming.  I think that developers will increasingly use Linux at home, and the result is that the innovation will continue to come from the open source community - just as it did with the internet.

For nearly a decade, the software world was playing catch up with Microsoft.  It seems to me that Microsoft is playing catchup with open source.

Ged Byrne
Wednesday, April 17, 2002

I'd be happier if the open-source people stopped using MS as a UI utopia to aim for, complete with dialog boxes popping up every 30 seconds and a million different pull-out, pop-up, dancing animated control systems that seemed intuitive to some geek at 2am one morning.

UIs should be quiet, calm, unobtrusive things. Designed by artists with taste and dignity and not someone who thinks using saturated colours will draw attention to his app and it needs that because it's important because he wrote it.

#1 thing I hate about windows is that the whole UI is still infected with 16 colour thinking. Oh, the bright yellow things might have some shading round them these days, but they're still childish and clumsy.

It's my criticism of Aqua as well. The UI was designed to be crisp and clean and unobtrusive on a tiny monochrome screen. It gained gentle hints of colour as time went by. And then suddenly a carnival, complete with bendy-scaling-icon-freak-show, appeared.

If I wanted a user interface that looks like lego bricks, I go play with lego bricks. If I'm trying to think, there's nothing quite like dialog boxes with primary coloured icons popping up accompanied by a nice square-wave BEEEEEP and eating the rest of that sentence, telling me "YOU HAVE NEW MAIL!!!" to complete interrupt my thought flow.

And yet, that's what the entire skill of the open-source world seems devoted to at the moment: A unix just like Windows.

Katie Lucas
Wednesday, April 17, 2002

The future is very bright for small software companies!

The internet makes it possible to market software, and provide demos, for very little cost. Make a good product that fills a real need, and you'lll do fine. What other industry is there where the marginal cost of producing the product is basically zero?

My company ( ) is very successful selling scientific data analysis software, competing against much bigger companies. Smartdraw ( ) is extremely successful, competing head on with Microsoft Visio. And look at Joel's products, competing with bigger companies.

Harvey Motulsky
Wednesday, April 17, 2002

Big companies tend to desire strong growth, at least if they're functioning rationally.  So why would Microsoft particularly want your little duckpond, if it's not very strategic?

Let's take Fog Creek as an example, since we all know it.  Its natural defenses are:
* diversification - apparently wants to sell more than 1 product line, so no single loss will kill Fog Creek
* consulting - always a fallback, so it survives attacks on its shrinkwrapped software
* proponent of MS technologies - Microsoft will eat its own, but this lowers Fog Creek's visibility
* an eddy in Frontpage's wake - Citydesk was a big growth opportunity for Fog Creek, but for Microsoft?
* nonthreaded discussion forum - eat that, Microsoft

battle for stalingrad
Wednesday, April 17, 2002

I share your pessimism, Chris.

In 330BC Alexander the Great cried when he realized he had run out of countries to conquer.  Similarly I think Microsoft has run out of products to write.  There's no need to reinvent the word processor, the spreadsheet, the operating system, the web browser ... these all work fine.  Microsoft has transitioned to maintenence mode, trying to make money selling n+1 versions of there software.  I forecast hard times at Microsoft in the next few years, and it has little to do with open source -- customers are beginning to say, "no, Word 2000 works fine for me, I don't need an 'upgrade'".

Quite frankly, I think operating systems as we know them have come to the end of their line; there is nothing new or innovative there.  What will follow us will be a New World unlike any other Alexander could ever imagine, but until that world is discovered, it will be near impossible to develop a product that everybody needs and no one has already.

On the bright side, there will always be work for engineers and programmers.  The world is full of insanely boring things just waiting to be automated -- poorly written accounting systems, databases, cleaning up other people's messes, and other forms of library science.  If you want to solve interesting problems, do it in your spare time -- or go back to the university.  Sometimes you can find small spin-off companies located near campus that do interesting things.  There is no guarantee that what you work on will be interesting, but at least their will always be work.

Wednesday, April 17, 2002

Katie - that's the problem as I see it - you can either choose something boring to pay the bills or work at both finding something interesting and staying out of Microsoft's path.

battle - I'm not sure I agree with you re:Citydesk. It might not be worth a major push but it'd be an easy, obvious addition to either Front Page or Office (say the same relation to Content Management Server that Access has with SQL Server). For them, it's a relatively small cost of development with little downside; for fog creek, it'd be a much bigger blow.

Chris Adams
Thursday, April 18, 2002

There's another startup strategy which hasn't been mentioned yet. Many well-known products (e.g. Yahoo! Store, Frontpage, IIS, etc) were created by startups who explored a niche, built a customer base and hawked themselves to the highest bidder.

I suspect that Philip Greenspun always wanted Oracle to buy ArsDigita. But then Oracle announces their web app server based on Apache and - sometime after that - aD bring in the VCs. The VCs would conclude that aD were passed over for two reasons: 1, the product is GPL'd (which a buyer wouldn't go for) and 2, the product isn't based on Java (which a buyer wouldn't go for). The next version of ACS was designed to address both of these issues, but the user base fled and aD then had nothing to offer a buyer.

For this strategy to work, you have to remeber that you're not selling IP, you're selling customers. And they're buying because it's cheaper and faster than winning the business through traditional channels.

I haven't got a clue what strategy Fog Creek may be following, but I bet if MS walked through the door and offered a few $million, Joel would take the money and run.

Paul Sharples
Thursday, April 18, 2002

I wouldn't be so sure... I thought Joel was comfortable already w/o Fog Creek. Besides what's life for Joel gonna be like after that? "Joel on the best Tropical Islands" "Joel on Golf" "Joel on Investing" "Joel on Selling Software to Microsoft" "Joel on Widescreen TV's"

uh, yeah you get the idea.

Friday, April 19, 2002

>>I suspect that Philip Greenspun always wanted Oracle to buy ArsDigita. But then Oracle announces their web app server based on Apache and - sometime after that - aD bring in the VCs. The VCs would conclude that aD were passed over for two reasons: 1, the product is GPL'd (which a buyer wouldn't go for) and 2, the product isn't based on Java (which a buyer wouldn't go for). The next version of ACS was designed to address both of these issues, but the user base fled and aD then had nothing to offer a buyer.

No, that isn't what happened. Philip Greenspun just wanted to be really rich. His friends were all rich, and he was embarrassed because he had farted around with computers  for 25 years and hadn't ever become rich. For instance, one of his best pals (and neighbors)  is Robert Silvers, the guy who invented "photomosaics" .  This is a guy who made over 40 million dollars as a photographer and digital artist.  A mega millionaire as a PHOTOGRAPHER (philip's true love, after diet coke), not a grungy programmer... this really got under philip's skin. Hence, Philip needed to figure out some way to make money. Being an oracle consultant you can make a good living, but you can't retire in Harvard Square...

Certainly selling to Oracle might have worked, as would have selling to RedHat. Both offered to buy ArsDigita early on, like in early 1999, for about $50M. However this was the timeperiod when complete bozo shlockhouses like Scient and marchFirst! had $400M valuations. ArsDigita had its share of problems and losers, but for the most part, people could write SQL queries pretty well (unlike at RazorFish) so if Viant was worth $400M, Philip (and many other arsdigitans, including myself) honestly believed that ArsDigita should be worth billions, so he held out.

Unfortunately he held out too long and in early 2001 a webshop with 250 employees wasn't worth anything.

Not sure if this missive served any purpose other than to let me release. To make it short,  Oracle's app server release had nothing to do with bringing in the VCs. Philip didn't really want to sell out, he just wanted money. The VCs/GPL/Java really had nothing to do with anything, it just seemed like it.  There never really was a huge userbase, just aD's clients. The big secret was that aD never really had much of _anything_ to offer a buyer, aside from a bunch of pretty smart, really hard working people.

Philiip is a sort of cool guy, and made programming seem not as fucking horrible as it really is for a while, which was a good thing. ArsDigita the company wasn't really a paradise, however...building other people's apps under tight deadlines is never much fun.

Saturday, April 20, 2002

Drat! Another conspiracy theory bites the dust...

Thanks for the info.

Paul Sharples
Sunday, April 21, 2002

*  Recent Topics

*  Fog Creek Home