Windows losing out to Web-centric development?
Google's Chrome operating system isn't the only thing threatening Windows these days. In a recent New York Times story, VMware CEO Paul Maritz highlighted how dynamic Web frameworks and languages are fundamentally shifting our understanding of the operating system. He said, "If you are in Ruby on Rails, you have to work really hard to tell what the operating system is, it is so far removed."
I spoke with Engine Yard's Yehuda Katz, a member of the Ruby on Rails core team, who said that open-source platforms like Ruby on Rails are changing the game by giving power to the developer to make decisions. "The freedom that comes with open standards and open-source software like Rails will ultimately make software applications better. We believe the replacement of the traditional desktop with application-centric development will benefit everyone."
These comments bring to light the changing nature of application development. A decade ago, if you were writing an application, chances were you were writing it for Windows. Today, there's a good chance you're writing it for the Web as a platform. A new generation of applications are both Web-centric and OS neutral thanks to open-source development platforms.
Importantly, the language and underpinning architecture for Web applications doesn't matter to the end-user (though it has serious impact on the development and operations teams). What matters is the ability to add new features quickly and affordably.
In many ways, the browser is the new operating system. The recent craze for Netbooks that streamline architecture to focus solely on Net access is a function of this trend. What makes it all possible, however, is standards-based development frameworks.
Due to the fast growth of open frameworks, it's no surprise that the developer is faced with a new dilemma. It's not "which OS should I write to?" anymore. It's now "which Web-centric tool will help me develop the best application?" From the perspective of the developer, this is a much friendlier environment.
Accordingly, Microsoft needs to worry about a problem that's bigger than Google. Microsoft is now facing real competition on every platform it dominates and to a large extent has missed the boat on Web technologies that are driving technical and business progressions.
This is not to say that Microsoft can't get back in the game, but there doesn't appear to be much focus on new Web app development in light of all the news around Windows 7 and Bing.
Follow me on Twitter @daveofdoom.
Dave Rosenberg dishes up "Software, Interrupted" with nearly 15 years of technology and marketing experience that spans from Bell Labs to multiple start-up IPOs to open-source enterprise software companies. He is co-founder of MuleSource and currently serves as the general manager of Hardy Way. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can contact Dave via e-mail at softwareinterrupted@gmail.com or follow him on Twitter @dr138. 





I actually like the fact that more and more development is not as centered on a given OS and the platforms surrounding it, but is more and more focused on tools and libraries that are OS-agnostic.
Again, DO YOUR HOMEWORK BEFORE YOU POST STUFF"
Check it out, if you haven't already. I was pleasantly surprised:
http://code.google.com/webtoolkit/overview.html
a) Why do you think MS doesn't seem to care?
b) What do you mean "Locked into the platform"? If I developed in Ruby, am I not locked into Ruby? If I developed in J2EE, am I not locked into Java? Is the purpose of software development to change software platforms every now and then?
BTW: Yes, .NET will work in Linux, client-side... if you code it for two versions behind Microsoft's current .Net 3 version. Given this, have you ever wondered why Mono (the .Net runtime port) is as popular in the Linux (and non-.NET fanboy) community as, well, Mono(nucleosis)?
Hint: If you have to do cross-platform, it helps to use a language that isn't built for one OS platform almost exclusively, done half-arsed on a second, and is completely useless otherwise.
1) not necessarily - I'm very sure there are cross-language translators out there for Ruby (just as there are for python, Perl, et al).
2) He was talking about the development and client platform. .NET is built for, tuned to, and the binaries built with it can only be fully used on one platform - Windows. It can partially done on Linux, assuming Mono is installed, that the code is .NET version 1.1 or lower (or have they moved to 2.x yet?), etc etc. No love or luck on OSX, unless someone took the time to bother with a port. Long story short - if you're a .NET developer, you're stuck with one and only one platform to develop on and for (hint: not OSX ;) ).
Also, he's talking client-side, not server-side... which kinda unhinges your main premise, IMHO.
You're missing the point. With Ruby or J2EE, you're not locked into deploying on a Windows server. I can develop Rails apps on my Windows box (although it is not a great experience, I use a Linux VM for all my development), and can deploy the app to Windows or Linux.
Google docs/sites/app engine is web-centric. Amazon and Zoho are web-centric. Microsoft's web-Office is web-centric.
>Are you crazy Dave?? Please do your homework before you post something...
>Coupled with Visual Studio, it is one of the best "Web centric" development tools.
Calling Microsoft Windows web-centric is like saying soy burger a meat burger just because they made it to look like meat burger. Akin to accepting carob as authentic chocolate. yeech ... I dislike carob.
I am writing applications on my Vista machine that runs on Google and Amazon. I can perform the same development on Linux or Mac and those apps would still run without any difference on Google or Amazon. People are writing applications that run with Facebook and web-gadgets. They can develop facebook applications whether they are using Windows, Mac or Linux. That's web centric. Writing applications that run from OS to OS - that's OS centric. I have been using C# on Visual Studio very much and I have never found it to be web-centric.
Someone else needs to do his homework before flaming on Dave. The point that Dave is making is, that when it comes to web-centric applications, it no longer matters if you're on Windows or not. It's not whether Windows or Visual Studio are web-centric but that web-centricity no longer requires their exclusive presence. Which is what is getting Ballmer & Co worried and why now I have the privilege of deciding on using MSN web-office vs Google Apps.
In the coming years, we'll probably look back and wonder what the heck we were thinking, building OS-specific apps.
A. The Macintosh. It's prevalent enough we can't ignore. We lose too many sales. Going web-based means we get the Mac "for free".
B. Prior OS releases (say Vista) could be quite disruptive. Being web-based shields us from that. As much as web tools can shield us from browser updates, we don't have to change things just to continue working as we did before. E.g. changes in the OS that caused changes in the installer were disruptive to our customers and work for us. Now we can focus on building products with new features/benefits and/or leveraging things in web-based tools that we perceive as having benefits. Frankly, prior OS releases in general had little that benefited what we were doing as application creators.
You've got to be kidding me, perhaps you could show me one product that uses this OS... until then, it is NO threat.
Microsoft does have a development platform, Visual Studio .NET, comparable to J2EE (with arguably better performance), and it could even be claimed to be open with the availability of the Mono open-source project (although there are troubling questions regarding Microsoft patents that cloud a possible .NET to Mono migration).
I prefer lightweight dynamic platforms like Django or Rails, but that does not make .NET a nonviable platform, even if it is bloated and clunky like most enterprise solutions (as is J2EE).
The main issue for Microsoft is that .NET is just one development platform among many, it has successful and well-established free competitors and thus Microsoft cannot use its standard cross-market monopoly leverage tactics it used to capture a big chunk of the server and browser markets. Microsoft's track record in competitive fields is abysmal, and the company has acquired too much bloat and organizational paralysis during Ballmer's tenure to compete effectively with Google, let alone nimbler startups.
I recently started learning Ruby and Ruby on Rails and not .NET/C# because I figured a lot of the .NET/C# learning material would be focused on desktop development when clearly the future is web apps - check out the end of this presentation at Google I/O 2009 http://www.youtube.com/watch?v=wc85WRVUDns.
- by sanjayb August 7, 2009 12:06 PM PDT
- As long as there is Windows you will have strong .NET desktop development. However, I do agree that we are moving to cloud/Internet/browser based applications.
- Like this Reply to this comment
-
(18 Comments)I work for a large bank that uses .NET/C# applications running on the desktop for the branches. We have over 2000 branches and holy cow is it a pain to release new and update applications for the branches. A lot of time and effort is needed to co ordinate these deliveries. Because of history we are stuck with this current infrastructure. I wonder how much better it would be if our applications were browser based. It wouldn't be as expensive.