Here are some of my thoughts loosely inspired by Joel on Software's recent article, How Microsoft Lost the API War.
The article is somewhat long and rambling, but as I see it the main points are: (1) Microsoft's APIs are ugly and bloated, mainly because they try very hard to maintain backward compatibility with all previous versions. (2) That's changing; they seem to have lost the backward compatibility religion. (3) Developers aren't jumping onto .NET the way Microsoft expected them to. (4) Developers are moving to the Web instead, where Microsoft doesn't have a monopoly and where code is server-based and doesn't have to be portable.
It's all about the developers, and there are lots of reasons for developers not to like Microsoft and their APIs. (I'm not going to list them -- this isn't one of those 100-item laundry-list memes.) Some of us have known for a long time that the APIs of the future are going to be web-server protocols and URL naming conventions. It's going to take a long time to get there -- witness the many forks of RSS and the Microsoft-inspired nightmare of SOAP. But between cheap, ubiquitous processing (did you know there's an ARM chip in nearly every USB keychain drive?) and simple short-range networking (not Bluetooth or USB -- ultra-wideband and FireWireless), the future is beginning to look a lot like a bunch of little special-purpose servers tied together with TCP/IP.
The article is somewhat long and rambling, but as I see it the main points are: (1) Microsoft's APIs are ugly and bloated, mainly because they try very hard to maintain backward compatibility with all previous versions. (2) That's changing; they seem to have lost the backward compatibility religion. (3) Developers aren't jumping onto .NET the way Microsoft expected them to. (4) Developers are moving to the Web instead, where Microsoft doesn't have a monopoly and where code is server-based and doesn't have to be portable.
It's all about the developers, and there are lots of reasons for developers not to like Microsoft and their APIs. (I'm not going to list them -- this isn't one of those 100-item laundry-list memes.) Some of us have known for a long time that the APIs of the future are going to be web-server protocols and URL naming conventions. It's going to take a long time to get there -- witness the many forks of RSS and the Microsoft-inspired nightmare of SOAP. But between cheap, ubiquitous processing (did you know there's an ARM chip in nearly every USB keychain drive?) and simple short-range networking (not Bluetooth or USB -- ultra-wideband and FireWireless), the future is beginning to look a lot like a bunch of little special-purpose servers tied together with TCP/IP.