Fog Creek Software
Discussion Board

.Net and returns for MSFt

If Microsoft invested all that money, programming talent, and years into .Net, how will they get back their investment?  Are they going to let .net apps run equally on Linux and Windows?  That will just commoditize their billion-dollar cash cow.  So are they going to do something like:

- keep certain parts proprietary (Windows forms, Windows version of .Net) and make it hard to replicate certain features on non-Win OSes?
-come out with Windows version first, then let Linux catch-up (slowly)? (e.g. Mono is still not finished yet you can get all .Net features in Windows)

- integrate .Net into Windows to get best performance of .Net apps only on Windows?

- integrate .Net into Windows for further excuses to upgrade to new Windows?

- keep the best tools for large-scale apps (VS.Net) on Windows only?

- keep updating .Net first for Windows and the open-source community will be left behind trying to port the code and always playing catch-up?

- leverage their MSIE, Office monopolies (along with Passport, MSN Mess.,) in some way??

- make it easy to take advantage of Windows features but harder to take advantage of non-Windows OS features?

Any thoughts on where the money will come from for MSFT to recoup their investment? Or am I just being too paranoid? After all... there is Rotor and submissions of C# and other stuff for standardization.

Tuesday, July 23, 2002

It's called a Positive Feedback Loop.

Give developers a great new platform to develop software for Windows.

More developers develop for Windows.

More people use Windows because more developers are building great apps.

More developers develop for Windows because more people are using Windows...


I don't think MS has any particular interest in other platforms, but they're leaving the door open just in case.  When it comes down to it, it's all about Windows.

Assuming VS.NET and dotnet in general take-off with developers.  MS can probably make a modest amount of that investment back with VS.NET sales.  Not a huge chunk, but a modest amount.

Tuesday, July 23, 2002

Hmmm.  That assumes that DotGNU and Mono can't completely reproduce the .NET effect for the open-source world.  IBM has a vested interest in commoditizing everything Microsoft does, and they may be succeeding.

Microsoft may get some ROI from .NET, but it won't cover their investment.  What's more, they have managed to engender so much mistrust and animosity among the IT community at large by their behavior as a company that nothing they do will ever be trusted again.  When you catch your spouse cheating on you, you never look at them the same way again and they can never be late from work or make a phone call without you wondering about them.

Taken from a purely technical standpoint, .NET is an interesting idea with some flaws built in.  If it could be divorced from Microsoft, it could be judged on its technical merits.  Unfortunately, it has the Redmond Executive Albatross around its neck.

Chris Woodard
Tuesday, July 23, 2002

There are a few other minor factors that may play into their returns.  First off, I agree that some of it is just drawing developers back to Microsoft.  Will it work.... don't know.  But here are two other things:
1.  Visual Studio is not cheap.  Yes I know this will not cover their expenses but it can't hurt.
2.  Their developers get to use .Net.  Microsoft looked at everyone else and saw that their development times were probably higher becuase of what they were working in.  By developing .Net, they are giving their Developers to have higher productivity.

Like I said, these are not huge factors but they also don't hurt.

Matt Watson
Tuesday, July 23, 2002

Windows will remain the base platform, not everything will become .NET apps (is everything on Solaris Java?).
MS implementation will be the defacto .NET standard, so everyone else will play catch-up.
If history repeats itself MS will have the fastest and most stable .NET runtime (remember the MS JVM).

Just me (Sir to you)
Tuesday, July 23, 2002

I don't think Microsoft had a choice but to invest in .NET.  To some extent, .NET isn't about growing their business, it's about maintaining status quo.  Win32, MFC, COM and VB 6 all had serious warts.  Development tools for other platforms are getting better.  In order to keep people developing for Windows, they had to play catch-up.

A couple of other points:

- Microsoft has always wooed the "average" developer.  The "average" developer can develop a mediocre 3-tier app in .NET.  This wasn't possible with DCOM, etc.

- Is it possible that Windows software is unreliable, because the underlying programming models were kludgy?  I think so.  .NET is pretty "clean" and may help Windows apps' reliability.

- Microsoft seems to have some interest in targeting the academic market with .NET.  This could be an interesting move.  Get people working with it when they're young.  .NET may have flaws, but it's pretty easy to get something up and running.

Bill Carlson
Tuesday, July 23, 2002

Microsoft may also decide they care less about Windows than getting a cut of everyone's action.  Microsoft dictate the PC hardware platform without making any PCs, but woe to Intel or AMD if they don't jump when Bill says so.

At the moment, Palladium has the same broad thrust Passport has had: to place Microsoft at the centre of the hub of electronic commerce, grabbing a slice of everything you want to do.  That would be a very profitable place for them to be.  If rolling various .NET technologies (which come to reply on the mechanisms of such) out to other platforms ehanced that position, the loss in selling some server copies of Windows into environments would be more than compensated for by a ubiquitous Microsoft, shaving a cent here, a dollar there off every transaction - from customers and vendors (identity management, a la Passport), DRM (Palladium), and so on.

Rodger Donaldson
Tuesday, July 23, 2002

Windows.Forms aren't going to be ported to Linux/Mono anytime soon, according to mono's mailling lists.

Wednesday, July 24, 2002

Everyone makes good points.  MSFT seems to benefit in many ways, that is for sure (Positive Feedback Loop, more MSFT developer productivity, taxes on non-Windows OSes, etc.). 

Although Chris does have a point.  I guess we will see if MSFT's "shared-source" licenses and standards submission coatings work to dilute the fear people have of lock-in. 

Akin is right though.  Certain .Net layers are still kept by MSFT.  So even if you can consume XML Web Services on non-Windows platforms, where do you go to access these standards and features - Office macros, Windows Media formats, MSIE (AutoComplete for passwords), Access forms & reports, etc.

Is this why they continue to develop some form of Visual Basic?  Like VB.Net? Something they own and base Office features  on (macros, etc.),  yet is hard to port to other platforms? 

They can say, "the next Word format is based on XML and readable on any platform"  even though macros will still be based on some form of VB, not standardized C#.

Wednesday, July 24, 2002

Remember back in the days when Microsoft sold an operating system and a basic language.

It also has  couple of other apps in his porfolio, but nobody took them easy.

Everybody knew that Lotus had the best Spreadsheet and Wordperft the best WordProcessor.  Microsoft had no chance of toppling these

Then Windows introduced Windows.  Windows made it much easier to develop GUI applications, and provide features such as printing.

Microsoft made the details of the Window API public.  Anybody could develop a Windows Application.

However, Microsoft had the head start, and they used it to topple both Lotus and Wordperfect.  Both companies were just too tied up in old ways of thinking.  For example, Lotus were too uptight about supporting its old /slash menus so that 123 just didn't work right with pull down menus.
Microsoft ruled the client.

Now the battle is for the server, and Unix in alls its forms rule here.  Unix apps and utililities, such as Apache and Senmail, rule the market.

Microsoft are hoping to pull a similar stunt as they did with windows.  They are hopping Open Source are too tied up with their command lines, tokenising, etc to properly imbrace the brave new world of xml and web forms.

Now, however, The Open Source movement of Linux is a rather different beast to the overweight coorperations of Dos.  Whether or not they pull it off remains to be seen.

Ged Byrne
Wednesday, July 24, 2002

I think Bill hit the nail on the head. I also think I recall reading somewhere that Windows revenue isn't MS main source, or at least not as important as it once was, and that that was what was behind the attempts at subscription models, frequent OS upgrades, etc.

So the positive feedback loop is definitely there, but I'm not sure it is the primary driver. Just a thought...

Jeff Kotula
Wednesday, July 24, 2002

I think Ged has a good point. Quite a lot of Open Source people are wary of XML, because "it's too heavy". (See Joel's article about bloatware for that train of thought). Open Source developers (well, the ones I have met) tend to be purists and believe religiously in the right of their own ways, and I think Microsoft assumes that this will cause the same inertia in picking up certain new ideas as Lotus and WordPerfect had.

Wednesday, July 24, 2002

By the time anyone has .NET or ASP.NET in an usable form on Unix the team with have the next version released.  With .net nearly 6 months old work has been progressing with this.  If you look at the vendors that offer traditional ASP on Unix it is priced outragously and they are unable to keep up with MS's release schedules.  I don't see .NET moving to other platforms in an usable form anytime soon but it would be a boon for exisiting developers if they can pull it off - opening up a huge previously inaccessible market for software sales.  MS just needs to get their act together on the framework distribution, they should include it with every product they push out the door including IE 6.x or 7.x.  It is a shame that they missed the XP launch for the framework but since they control the browser I see this as the best way to make .NET desktop apps feasible.  Will anyone ask why the latest security fix for IE is 22mb - I don't think so...

Wednesday, July 24, 2002

They could distribute the framework in Service Pack 1 for Windows XP.  That will be around 124 MB. 

What about .Net applications that use Windows.Forms, like Akin mentioned?  Anyone know if Linux will have anything to let  .Net apps that use Windows.Forms to run on Linux?  I heard about Gtk# but it does not seem compatible with what MSFT has.

Thursday, July 25, 2002

>> What about .Net applications that use Windows.Forms

The Windows Forms package is VERY tightly coupled to the way Windows works underneath.  It does a good job of abstracting that away, but you still have the ability to do things very close to the API.  I'm told you can even write a WinProc.

Thursday, July 25, 2002


"One shortfall the framework has is that although it works great for people who are building exactly the types of applications featured in samples and demonstrations, sometimes developers find that once they try to do something creative with the framework, they run into roadblocks or get bitten by special cases. The Windows Forms framework always allows developers to access the system underpinnings if such cases are encountered. Of course, the hope is that a well-designed framework like Windows Forms will not fall victim to such circumstances, but there is an infinite number of possible scenarios. All controls have a Handle property that allows access to the control's window handle (HWND), and the GDI objects offer similar handle access. Moreover, Control actually has a protected virtual method called WndProc that can be overridden to add handling for the few messages Windows Forms doesn't already support."

This however does not mean that there can not be a close twin to things like Windows Forms that when taken into account could be usefull for 99% of the cases.

I personally couldn't give a rats' ass about cross-platform before there is a resonable expectance of ROI. I'm not going to do it so the /. 37337 can look down their pimpeled noses on me for daring to want to earn a living from my work while pirating and warezing my stuff to their PHat friends. Thank God I'm past the puberal peer pressure period, and I can only hope I will not become a pathetic teen wannabee once the middlife crisis hits. YMMV :-)

Just me (Sir to you)
Thursday, July 25, 2002

Well said.


Thursday, July 25, 2002

Reading a bit of the mono blurb, and talking to a few people who hover around the project, there are definitely people looking at porting the functionality over, using things like GTK, etc. Might not be exactly the same, but it won't be forever before porting a Windows .NET app over to mono won't take too long...

Andrew Cherry
Thursday, July 25, 2002

That sounds good that .Net apps on Windows can be easily ported over to Mono in the near future. 

However, that also looks like it becomes easier to port Mono apps over .Net on Windows, then Microsoft locks you in with Direct3D, ASP.Net, VS.Net, Windows Media formats, Office, etc. which all run only on Windows.

.Net then becomes a bridge that looks like a slide that will  allow programmers to slip and fall right into a Windows world that seems familiar but with no way back to Linux.  Then again, this could be just paranoia talking.

Thursday, July 25, 2002

*  Recent Topics

*  Fog Creek Home