How My Microsoft Loyalty Is Degrading

by Jon 6/7/2008 4:59:00 PM

I've sat in this seat and often pronounced my discontent with Microsoft or a Microsoft technology, while still proclaiming myself to be a Microsoft enthusiast. Co-workers have often called me a Microsoft or Windows bigot. People would even give me written job recommedations pronouncing me as "one who particularly knows and understands Microsoft technologies".

But lately over the last year or two I've been suffering from malcontent, and I've lost that Microsoft spirit. I'm trying to figure out why. What went wrong? What happened?

Maybe it was Microsoft's selection of Ray Ozzie as the new Chief Software Architect. Groove (which was Ozzie's legacy) was a curious beast, but surely not a multi-billion-dollar revenue product, at best it was a network-based software experiment. Groove's migration to Microsoft under the Office umbrella would have been a lot more exciting if only it was quickly adopted into the MSDN vision and immediately given expansive and rich MSDN treatment, which it was not. Instead, it was gradually rolled in, and legacy SDK support just sort of tagged along or else "fell off" in the transition. Groove was brought in as an afterthought, not as a premier new Microsoft offering. Groove could have become the new Outlook, a rich, do-it-all software platform that brought consolidation of the team workflows and data across teams and diperate working groups, but instead it became just a simple little "IM client on steroids and then some" and I quickly abandoned it as soon as I discovered that key features such as directory sharing weren't supported on 64-bit Windows. So to bring Ozzie in and have him sit in that chair, and then have that kind of treatment of Ozzie's own Groove--Groove being only an example but an important, symbolic one--really makes me think that Microsoft doesn't know what on earth it's doing!! Even I could have sat in that chair and had a better, broader sense of software operations and retainment of vision, not that I'm jealous or would have pursued that chair. The day I heard Ozzie was selected, I immediately moaned, "Oh no, Microsoft is stuck on the network / Internet bandwagon, and has forgotten their roots, the core software platforms business!!" The whole fuzzy mesh thing that Microsoft is about to push is a really obvious example of where Microsoft is going as a result of bringing in Ozzie, and I hardly find a network mesh compelling as a software platform when non-Microsoft alternatives can so easily and readily exist.

Maybe it's Microsoft's audacity to abandon their legacies in their toolsets, such as they have done with COM and with VB6. There still remains zero support for easily building COM objects using the Visual Studio toolsets, and I will continue to grumble about this until an alternative component technology is supported by Microsoft that is native to the metal (or until I manage to get comfortable with C/C++ linked libraries, which is a skill I still have to develop 100% during my spare time, which is a real drag when there is no accountability or team support). I'm still floored by how fast Microsoft abandoned DNA for .NET -- I can completely, 100% understand it, DNA reached its limits and needed a rewrite / rethink from the bottom up, but the swappage of strategies is still a precedent that leaves me with a bad taste in my mouth. I want my personal investments in software discovery to be worth something. I'm also discouraged--the literal sense of the word, I'm losing courage and confidence--by the drastic, even if necessary, evolutionary changes Microsoft keeps doing to its supported languages. C# 2 (with stuff like generics support) is nothing like C# 1, and C# 3 (with var and LINQ) is nothing like C# 2. Now C# 4 is being researched and developed, with new support for dynamic language interop (basically, weak typing), which is as exciting as LINQ was, but I have yet to adopt even LINQ, and getting LINQ support in CLR object graphs is a notorious nightmare, not that I would know but everyone who tries it is pronouncing it as horrible and massive. Come to think of it, it's Microsoft's interop strategy that has been very frustrating. COM is not Remoting, and Remoting is not WCF. WCF isn't even supported in Mono, and so for high performance, small overhead interprocess communications, what's the best strategy really? I could use WCF today but what if WCF is gone and forgotten in five years?

Maybe it's the fact that I don't have time to browse the blogs of Microsoft's developer staff. They have a lot of folks over there, and while it's pretty tempting to complain that Microsoft "codes silently in a box", the truth is that there are some pretty good blogs being published from Microsofties, such as "If broken it is, fix it you should", albeit half of which I don't even understand without staring at it for a very long time. Incidentally, ScottGu does a really good job of "summing up" all the goings on, so thumbs-up on that one.

I think a lot of my abandonment of loyalty to Microsoft has to do with the sincerity of my open complaint about Internet Explorer, how it is the most visible and therefore most important development platform coming from Redmond but so behind-the-times and non-innovative versus the hard work that the Webkit and Mozilla teams are putting their blood, sweat, and tears over, that things like this [http://digg.com/tech_news/Time_breakdown_of_modern_web_design_PICTURE] get posted on my wall at the office, cheerily.

Perhaps it's the over-extended yet limited branding Microsoft did with Vista, making things like this [http://reviews.cnet.com/8301-13549_7-9947498-30.html] actually make me nearly shed a tear or two over what Windows branding has become. That Windows Energy background look looks neat, but it's also very forthright and "timestamped", kind of like how disco in the 70's and synth-pop in the 80's were "timestamped", they sounded neat in their day but quickly became difficult to listen to. That's what happens with too strong of an artistic statement. Incidentally, Apple's Aqua interface is also "timestamped", but at least it's not defaulting with a strong artistic statement plastered all over the entire screen. I like the Vista taskbar, but what's up with the strict black, why can't that or other visual aspects be tweaked? At least it's mostly-neutral (who wants a bright blue or yellow taskbar?), but it's still just a bit imposing IMO.

I'll bet it has to do with the horrifying use of a virtualized Program Files directory in Windows Server 2008 where the practice was unannounced. This is the sort of practice that makes it VERY difficult to trust Microsoft Windows going forward at all. If Windows is going to put things in places that are different from where I as a user told them to be placed, then we have a behavioral disconnect--software should exist to serve me and do as I command, not to protect me from myself while deceiving me.

At the end of it all, I think my degrading sense of loyalty could just be the simple fact that I really am trying to spread out and discover and appreciate what the other players are doing. I mentioned before that Mac OS X is still the ultimate, uber OS, but now that I have it, I confess, I had no idea. Steve Jobs is brilliant, and it's also profound how much of OS X is open source, basically all of the UNIXy bits, which says a lot about OSS. Mind you, parts of the Mac I genuinely do not like and have never liked, such as the single menubar, which violates very key and important rules for UI design. I also generally find it difficult to manage multiple applications running at once, for which I much prefer the Windows taskbar over the Dock if only because it's more predictable, and although it violates UI principles I prefer Alt+Tab for all windows rather than Command+Tab just for applications because every window is its own "workflow" regardless of who owns it. But, among other things, building on PostScript for rendering, for example, was a fantastic idea; on the other hand, Microsoft's ClearType would have been difficult to achieve if Windows used PostScript for rendering. Anyway, meanwhile, learning and exposing myself to UNIX/Linux based software is good for me as a growing software developer, and impossible to cleanly discover in Windows-land without using virtual machines.

In other words, the only way one can spread out and discover the non-Microsoft ways of doing things, and appreciate the process of doing so, is to stop swearing by the Microsoft way to begin with, and approach the whole thing with an open mind. In the end, the Microsoft way may still prove to be the best, but elimination of bias (on both sides) is an ideal goal to be achieved before pursuing long-term personal growth in software.

Currently rated 3.9 by 10 people

  • Currently 3.9/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

General Technology | Operating Systems | Software Development | Microsoft Windows | Mac OS X

Related posts

Comments

6/6/2008 7:47:01 PM

Daniel

it's just marketing and words man. an engineer is a guy first with an open mind. there is no engineering (of any kind) without objectivity. second, engineers do then measure.

microsoft on the other hand has little to do with engineering. they fouled all of us for a while (including me!) but that time is over. these guys are marketing folks, yes, that's it, cheap salesmen (chep not regarding revenues, but methods).

they are bleading their best engineers as we speak. vista is a joke. you said it yourself, they always abandon their "legacies" which, btw, they're all clones of better technologies or even worst, simply purchases. so was the first msdos! so is nt class machine (imported some folks to write it, as a clone of vms, able to run dos and windows apps).

in time, you will grow and see, more and more, through the trees, see the forest! you're already doing it. good luck!!!

ps
there will be a day when you will look back and say to yourself "man, how could i be soo strange and let myself fouled by these junk food manufacturers"... we all did (and do)

so, welcome to this world!

daniel

Daniel us

6/7/2008 12:11:27 PM

Jon

I'm not sure I agree with your feedback, I know you're trying to "root me on" but this whole discovery process feels more like a marital seperation from someone I sincerely love than an antagonistic hatred of the Borg (or something as ugly). Microsoft does have a lot of brilliant engineers, they're not just marketers. C# itself was invented by Microsoft--it was written by the inventor of Delphi, after he left and was employed by Microsoft. ASP.NET, IIS, Visual Basic, DirectX, Microsoft Office, all were written or mostly written by Microsoft staff, so don't second-guess them. Apple has had its share of technology buy-outs, too, and in fact OS X is just NeXT Step with a Mac face; actually what's the *real* difference between "buying out a software company" versus hiring employees who write software, other than paperwork? In the end, you have quality software and the products' managers continue to manage them just the same.

So, Daniel, thank you, really. Just please don't make this uglier than it is. I have laughed heartily at people comparing Microsoft to McDonald's, but I find a LOT more substance and selection in Microsoft software than I find in McDonald's food.

Stepping away from Microsoft's software and delving into the other players' spaces is more like leaving home to travel the world. (All Americans really should do that from time to time, it's REALLY good for them.) What one discovers is that there's a whole planet of people out there, and the world doesn't revolve around my homeland.

But even so, God bless America.

Jon

Jon us

6/8/2008 7:11:47 PM

John Huffaker

"dynamic language interop (basically, weak typing)"

Not disagreeing with your central tenet, just pointing something out. (let's call it a DH5. http://paulgraham.com/disagree.html)

Learn the difference between dynamically typed and weakly typed, here's a starter link:
http://en.wikipedia.org/wiki/Type_system

John Huffaker us

6/8/2008 8:29:16 PM

Mike Petry

Jon,
I can relate with you. The introduction of .NET was really a shocker after I had invested a lot of time becoming proficient with COM. Now .NET is an excellent and welcome upgrade to the Microsoft family of technologies/languages, but the way it was handled on the down-low was a little under-handed. I personally know of major systems that where under-development just as Microsoft introduced .NET. These systems where developed with input from Microsoft and where advised to use COM/DNS. These systems are now problem-plagued, troubled systems that have no clear future and/or upgrade path. It is kind of sad because the development of these systems represented a significant interest in technological upgrade and it ended up poorly for the customers.
The introduction of .NET happened as OSS was making some headway. Open source languages/technologies are governed by community popularity, not commercial interests. For example, Perl didn't die when everybody said that J2EE was the better approach.
At that same time, Java was making headway via efforts that are best termed as evangelism. Microsoft was losing in "cool" department for sure. Microsoft has since stepped up thier own evangelistic efforts and have done an amazingly good job in community building.
So my conclusions:
Microsoft is just a company. I don't think you owe Microsoft loyalty any more than you owe Proctor and Gamble or General Motors any loyalty. Do what is best for your career, or better yet, do what is best for your customers.

Mike Petry us

6/9/2008 3:25:37 AM

Rafael

I completely agree with you regarding the virtualization of the Programs directory. I'm a developer and I fighted with this problema in an old application that search and open a Access database in the same path of the program. The advantage of doing that is that my application can be move everywhere (also on a USB drive) and continue to execute without reconfiguration o reinstallation.

I think that "virtualization" is the worst big mistake of Microsoft.

Rafael it

Add comment


(Will show your Gravatar icon)  

  Country flag





Live preview

10/7/2008 9:40:48 PM


 

Powered by BlogEngine.NET 1.2.0.0
Theme by Mads Kristensen

About the author

Jon Davis Jon Davis (aka "stimpy77") is a software and web developer by day and a software and web enthusiast (geek) by night. He was recently a senior web engineer for the enthusiast division of a major magazine publishing company for nearly two years. He has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps.
 
Software in all forms is also his sole hobby, whether playing PC games or tinkering with programming them. "I was playing Defender on the Commodore 64," he reminisces, "when I decided at the age of 12 or so that I want to be a computer programmer when I grow up."
 
Jon is currently engaged in a short-term ASP.NET contract and is available for hire for short-term or permanent work in Phoenix or via telecommute.
E-mail me Send mail

Calendar

<<  October 2008  >>
MoTuWeThFrSaSu
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar

Pages

    Recent comments

    Authors

    Tags

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2008

    Sign in