Is Microsoft expanding the API war?

Of course, that title is a play on Joel’s $g(api war) post a few years ago but it seems fitting. Last week was a veritable bonanza of Microsoft beta’s, alpha’s and futures with all the “news” coming out of MIX07. To be honest, I’m not so sure what to make of all this stuff, heck in many ways I’m still back here. It seems Redmond has one-upped Google by putting out alpha software and beta software with “Go Live” licenses. How long will it be before we see alpha software with a “Go Live” license? Are we to believe businesses today are betting their future on all of this pre-release code?

Will there ever be some sort of stabilization period where apps can mature and the technology settles into a known state where developers are comfortable about the foundation from which their working? I suppose that’s the Win32 system referred to in the following quote from the article on MSDN titled “Top Ten UI Development Breakthroughs In Windows Presentation Foundation”:

“The current Win32-based Windows UI graphics subsystem, found in Windows® XP, has been around for nearly 20 years. It’s aging and limited, and as a result, user interface development has been somewhat, well, constrained at best.”
MSDN Magazine January 2006

Is that implying that the new $g(Office 11 Ribbon UI) is “constrained? Ah, but it’s  not .NET so it must be constrained. And what about Vista’s fancy new albeit unmanaged UI surely that must be constrained right? Btw, where is Microsoft’s developer support for the new Vista UI? That’s not due to arrive until Orcas ships. Didn’t the MFC guys know when Vista was going to ship? Or was it that it just didn’t matter until recently?

It’s almost as though the Microsoft factory is stuck on hyperdrive. They’re competing with Linux, Apache, PHP, Flash, Eclipse, Java, Oracle/MySQL/DB2/etc, Google, Mozilla, Open Office, MySpace, Yahoo and over the past 12 months have released betas in nearly all of these areas.

But what does this mean? That seems like some technology for the “real world” where the abandoned VB6 developers are struggling to move their applications to .NET enough so that perhaps “one form at a time” might be a bit better pace. I almost feel bad for the VB6 guys since it has to be difficult deciding which direction to go when faced with rewriting your apps. Staying with Microsoft tools will undoubtedly mean moving to .NET and seemingly lots of change in the coming years which I’m sure has been causing some headaches. It makes me wonder how many of these guys know that there are tools that value compatibility while still moving forward.

Does anyone know what will really happen to WinForms with WPF being touted as the new UI for Windows? Will there be an Interop WPF toolkit available to move your WinForms apps one form at a time to XAML/WPF?

And checkout this smorgasbord of pre-release/beta/CTP software you’ll need just to get you started with SilverLight (formerly WPF/E). If you’ve ever gone down the path of installing CTP’s I’m sure you know the hassle that can be.

Oh, I almost forgot, what about those 7000 new API’s in Windows Vista?

The sad thing is that I’m actually interested in several of these technologies but the field is increasingly looking like the slide from Stephen Colbert’s The New AT&T (see about 50 seconds into the video). I’ve been trying to keep up though it seems a lost cause with each passing day I’m falling further behind.

What about you, how are you dealing with all of this? Or are you dealing with it?

8 thoughts on “Is Microsoft expanding the API war?

  1. As you say we are bombarded with new technologies. They come and most go. My strategy is to be conservative, ignore all of them and start paying attention when they become popular for at least a few years. In the 90s we were supposed to rewrite all our software in Java. After that one could not survive without targeting Linux. Around 2001 .NET was supposed the new technology that would eradicate all others.
    Well here we are in 2007 and Microsoft themselves are still writing their main software applications in C++, which Stroustroup invented in 1983. I myself am using a language invented on my second birthday.
    I will move to .NET or Java or Python/wxWidgets or WPF or Silverlight as soon as the better software packages show obvious advantages.
    In short: don’t panic and don’t waste your time. Like Joel said years ago it is all Fire and Motion. Now if only those in charge at Borland/CodeGear had read that article we would have had Unicode at least 5 years ago.

  2. I’m caught in the middle, probably similiar to how you are. Of course I was feeling this even before Microsoft’s explosion of API’s. I greatly enjoy coding in Delphi, C#, PHP, Ruby and JavaScript. On top of that I’m always honing my XHTML and CSS skills. Each day there are new programming frameworks and languages I would love to explore.
    Of course it can be argued that Silverlight is an attempt to actually curb this ever expanding set of API’s. The good thing about it is that now developers that are .NET-centric can leverage their existing skill sets to create RIAs. Since Silverlight 1.1 will have a subset of the CLR and the ability to code in your .NET language developers can now leverage their .NET skills instead of having to learn Flex/ActionScript.
    What I find funny in all of this are those that say one framework is going to crush everyone else, such as how people pit .NET vs. Ruby on Rails or Silverlight vs. Adobe’s Flex. The development world is like the universe lately, constantly expanding. Everyday there seems to be a new framework or "way to do things" and there are more and more developers yet the need is still huge. When I first started coding I was pretty much the only one, now it seems every other person I meet is a developer.
    Ahh well, back to learning…

  3. This is so well said! Hats off. Also, I find it noteworthy that Microsoft, as of today, still doesn’t have a gamma tool which can create Vista Glass applications – whereas CodeGear does 🙂
    It is remarkable that up until and including the beta 2 timeframe of Vista, even VB6 applications could be glassed – properly – with just a couple lines of API code. That changed in RC1 of Vista and now MFC, VB6, all that just won’t work with Glass (unless you appreciate having translucent text fonts). Seems like a big conspiracy to me – Microsoft forcibly making some stuff obsolete so they can roll out new stuff which also happens to be planned for obsolescence anyways 😉
    At any rate I’m very glad that Delphi has been the first tool (and so far only tool) to support Glass natively. Don’t need Orcas, don’t need a 30 MB framework…and sure don’t need any of this planned obsolescence stuff! That stuff is so obviously not driven by developers or technical reasons…but simply by "market" reasons 😉

  4. This is exactly why CodeGear is invaluable to application developers like me. I can’t deal with all that flux that Microsoft (disingenuously) inflicts on software developers. However, by means of a small investment I can purchase the services of CodeGear (in effect) to keep me supplied with a development platform that just works. I know it’s a bore to say this, but Microsoft’s business is with end users and DP deparments, it couldn’t care less about independent developers. It suits them very well if by this "strange" situation, they are always in a complete mess. Developers outside of Microsoft essentially have a tiger by the tail, or if you prefer, they are holding onto a speeding truck and wearing inline skates. To turn to more positive thoughts, this is where CodeGear can win the battle for developer tools. To try and use MS developer tools is a mug’s game, for the reason stated: Microsoft doesn’t care about developers, not really, and secretly loves the fact that it drops them in all sorts of *!&!.
    .Net is a mess. There, I’ve said it. What people want is an applications development system that works on the internet, period. Such a simple requirement would never result in such a complicated mess, if it wasn’t implemented by the "keep adding more spaghetti" method. The basic needs are simple. So my request to CodeGear (see how I’m not mentioning the politically-incorrect real name of the company, duh) is simply this: forget Asp, forget Java, forget everything: just build us a new web development system that actually works and we can wave at all those dinosaurs in our rearview mirror. Take a database on a server, a monitor that can display things, a TCP/IP connection and lets do some input/output. How hard can it *(^(&% be?
    p.s. When I view individual items on this blog from my newsreader (Google reader), they appear not to be present, but are actually far down the page somewhere if I scroll down.

  5. We’re also trying to understand all this mess, installing Orcas, etc, reviewing Chuck’s work et al, and still looking for the 3.0 in the GAC … <ggg>
    More important, Microsoft is silently continuing swallowing and purchasing companies as an easy way to end competition with the purchased company and with all their (usually small) competitors.
    My cristall ball saw in past the Internet browser replacing and living inside Windows desktop explorer, and now the Flash ActiveX being the only one really "secure enough" that everybody installs, replacing and living inside the Internet browser (, so my guess for the future is something that will live inside and will replace Flash player. <g>

  6. "Are we to believe businesses today are betting their future on all of this pre-release code?"
    And did you though why is this? Because I strongly believe that one of the main reasons that so many developers move from Borland camp to the Microsoft camp is exactly that it seems that Microsoft guys pays a lot more attention to us, developers, than yuo guys. Let me be clear enough – I say this with absolutely no offense.
    Three years ago I was a VERY HAPPY Delphi developer, and to be honest, then I was sorry about those MS-based developers. Related with us, they are so lost..
    But the things has changed dramatically.
    First, there is a tons of information on Microsoft technologies, and almost nothing on Borland technologies. And I don’t mean only documentation, but books, articles, free web resources, etc.
    There is a lot of beautiful Borland technologies, but I couldn’t find a way to learn about them. Sad, but true.
    What about one of the most interesting ORM technologies out there – ECO ? I still believe that it is well ahead of its time, but I also think that if there is enough information about it, it could be a huge success. Where is the books, articles, screen casts, podcasts, etc..? Especially screencasts and podcasts does not require huge financial investments, so I don’t see any valid reason not to do this kind of stuff.
    What about Together. What about StarTeam.. sad.
    The second reason I want to mention is that all of those CTP, alpha and beta versions that Microsoft give us, allow us to be enough informed and to know where the big players will want to go. So, once the official version arrive, I am well prepared and can used it immediatly.
    I start using Delphi in my work since version 1.0. Since the, I can’t remember even once where there was a public available beta of Delphi. And why is that?
    Anyway, I just want to express my disappointment from all those comments before me. Did anyone from you guys really tried to work with .NET?
    While the only point of such comments is to blame Microsoft without a particular reason, the only looser will be Borland.

  7. Great points on Aero and other nonsense that could have just easily be done in emulating a GDI layer in DirectX.
    It was so obvious they wanted something out back in 2004 and if WPF and Silverlight smashing your CPU and RAM is the asnwer, oh boy is it time to go even more native.
    Win32 API is the only thing MS has left that holds the entire CLR bandwagon of bloated .NET software. It could crash down as fast as Java soon enough (for Web or DB or any kind of other work). You simply lose all competative advantages by focusing on .NET bloat and it is no longer productive as people scream it to be ( look at Ruby as an example and no I do not like that bandwagon either).
    They lost it with heavy .NET and ORM and WPF and Wxx focus.
    Joel might turn out to be right, I never thought he would be. But that is only because idiots made a decision to concentrate resources on managed code and managed interop. They would have been far better off by just concentrate those massive resource on a new faster and better HTML engine with better SVG support, and naturally C++ tools and support.
    Google has no such issues, why don’t they ask themselves that question. Or why people hate slow apps, heavy apps, and why not everything is a WinForm for another VB6-like generation.
    WPF for me and I spent years in graphics research is in one word: a disaster.

Comments are closed.