Changing Climates for Microsoft and Google
ReadWriteWeb writes "Weather metaphors abound as this article looks at the evolving software environment — and in particular the competition between Microsoft and Google. Milan says that while Google enjoys relative dominance on the Web platform today, two fissures exist that will force them to move. The first is Microsoft's ability to use the exact same HTML based strategy as Google (like Microsoft's current Live initiative); and secondly Microsoft leapfrogging the current environment by solving rich application installation/un installation and enforcing an acceptable contract regarding what rich apps can do on a user's machine.
Unfortunately for Google, Microsoft is a lot closer to solving these two issues than people think. Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs. And they have a notion. Steve Ballmer himself has started touting the exact strategy they need — Click Once and Run."
... respect.
That's just about the worst possible news. Microsoft's strategy of making it all-too-easy to install and run questionably-trustworthy code is why the email virus, web browser malware, and -- worst of all -- botnet problems have become the unsolveable epidemics that they are. Does anyone believe that Microsoft will actually get it right this time, in terms of introducing some practically workable mechanism for allowing only trustworthy code? (Not to mention the difficulty of meaningfully defining "trustworthy" in this context...)
Click once and run, sure, but run what? The program I wanted, or some spyware installing, DRM-adding beast app? Google has a huge competitive advantage in that they don't need to lock people in with that stuff in order to enjoy success. They simply make apps that perform well, and for some reason people continue to use those. Over time, .Net's massive overhead and microsoft's high licensing costs will cripple upstart developers. These developers will turn to OSS alternatives for cost and other benefits, it's only a matter of time. Microsoft may maintain a large market share, but Google will not "lose" because they're doing something different, even if the end result is a similar set (from a stratospherically high-level view) of apps.
stuff |
Click Once is the biggest problem with MS software. Already we have zero click and back door click software installs. It is the bane of my daily chores to remove and recover from web based installs and applications. As a system administrator, having to run in a windows environment I struggle daily to remind the users to NOT INSTALL SOFTWARE FROM THE INTERNET.
I hate Google Toolbar, Yahoo Toolbar and all the others not because those two are not useful, because they are, but rather because they condition the user to install EVERY FREAKING "IE Toolbar" out there. No Toolbars, period!
Your average user is a clueless idiot, and will click install all sorts of crap as long as he thinks it is okay. IT IS NOT OKAY! IE7 is the latest and greatest FOOBAR automatic install from Microsoft. Hey Microsoft, having IE7 automatically install with automatic updates is a really stupid idea, fire the asshat who signed off on that one. Not everyone is running PIV with a gig of ram necissary to run IE7.
So, as for the "click once and run" crap, keep it to yourselves!
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
An advertizing company with a search engine [and other tools] to drive traffic to its advertizements.
[Microsoft has the best virtual machine and IDE.]
.NET is a suite of tools, some old, some new. Each has a set of strength and/or weakness depending on your point of view. For example, C# and its ability to sidestep strong typing and security server/client side, VBA client side and its ability to drive a lot of client side integration (Office Automation), complicated by the fact most enterprise make this almost impossible with default desktop security, Studio with a serious bent on good integration with anything Microsoft but not so good with anything else... coupled with documentation that is completely outdated on MSDN (OLE Object Stream initialization for embedded controls). There are some serious architectual flaws in the whole attempt to integrate OLE/OCX with web pages and services (including support of archaec pre-web stuff.) Extended clip board support... Complexity injected via SOAP/XSL...
Using persuasive language without a qualification comes accross as marketing FUD. Please qualify "best" for us.
So please qualify "best". Because its not reduced complexity, increased quality, best reliablity, best scalability, best security, shortest delivery time, easy integration, or fastest performance...
/\/\icro/\/\uncher
Eclipse? KDevelop? Emacs?
Again.. If linux had any dev environment that was ANYWHERE NEAR as good as VC++, maybe I wouldn't despise working on it.
I agree that Microsoft does have a very nice development approach, but to claim that ClickOnce is comparable to todays HTML/Javascript applications is really reaching. Corporate Users will likely have this ability (once the organization deploys .NET 2.0 runtime), but expecting Windows Live or Yahoo to give up on the AJAX binge for ClickOnce deplyoments is not likely. ClickOnce is more like Java Web Start. We've had that technology for years now, but for some reason, these web apps persist.
Technology Consulting & Free Downloads
Eclipse is buggy as hell in a C++ environment, not to mention sloooow. (even my Java friends who are evangelists for the program will concede it is not worth it for a C++ developer) KDevelop - depends upon what you are building with. There are issues depending on your coding convention (extensionless headers, Qt builds, etc). I refuse to touch Emacs with a 39 and a half foot pole.
That being said I do my linux development under vi. But under windows I use VS. VS excels beyond any open-source replacement to date.
Google provides software services. You go to Google to get directions, information, maps, images, etc. You use their rich web apps.
.Net framework, which competes excellently against Java. (And that competition will force BOTH VM's to continue to improve!)
MS provides tools for creating rich web apps. Sure, they produce some of their own apps (MSN Search, Live, etc...) to compete with Google. But their tool-set for the most part the best IDE in the industry. This allows any Joe-Schmoe coder to kick out rich web apps. They have an an amazingly robust VM in the
So comparing the two companies is slightly irrelevant. Comparing MS's apples to Google's apples, Google wins, no questions asked. Comparing MS's oranges to Google's oranges... well, Google doesn't have much for oranges.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
"Dominance" is easy as long as you don't intend to charge for it. If Google puts a price on Google's free-as-in-beer service offerings, alternatives will start to look more attractive.
(I don't run Google ad/spyware software (e.g., the Google toolbar) here because I don't like other people's software phoning home; I don't think the "advertising on everything" gambit will work on my dev tools either.)
An advertizing company with a search engine [and other tools] to drive traffic to its advertizements.
Google's goal is to make information available and useful to people. They do so through a variety of means, and currently their profit model is based on advertising. It's tempting to reduce companies down to soundbytes, but it's not really useful for understanding how they operate or what they'll do in the future.
Read the EFF's Fair Use FAQ
I refuse to touch Emacs with a 39 and a half foot pole.
You refuse to use the best application out there for the task at hand, and then you complain that there isn't a good application out there?
What do potential employers think when they see "Intimidated by complex software" on your resume?
"ANYWHERE NEAR as good as VC++, maybe I wouldn't despise working on it."
If you're a half decent programmer you'd be able to code just as well with a text editor as with an IDE. That fact that you imply you can't says more about you than the linux dev enviroment.
Microsoft has the best virtual machine with .NET, the best development tool with Visual Studio and the best access to developers with their MSDN programs.
.NET only runs on Windows. Therefore, .NET could not be the best virtual machine for any platform other than Windows.
1) The best virtual machine runs on my platform and preferably others.
2) The best development tool runs on my platform and allows me to write applications that run on my platform an preferably others. Visual Studio does not run on anything other than Windows and makes it difficult to write application that will run on any platform other than Windows. Therefore, Visual Studio could not be the best development tool.
3) The developers I look for write software for my platform and preferably others. The majority of developers available through MSDN are focused on developing Windows software using Windows development tools. Therefore, MSDN is not the best way to access developers.
Having to work for a living is the root of all evil.
This is the attitude that's holding linux back. IDE's aren't bad things. A good IDE makes life easier for everyone. Both experts and novices can get things done with a good IDE. Using only a text editor and command line interfaces makes it so that only the greatly experienced can get anything done, thereby giving those who've mastered it the feeling of l337-ness that makes them think that anyone who prefers using an IDE is an incompetent fool. Elitist attitudes and awkward tools aren't going to advance linux.
I can't tell you're serious or not. I've always found navigating MSDN to be pretty frustrating, from the 100 copies of documentation for the same function (none of which are the version you want), to the hours I've spent searching for something only to find that it's not documented anywhere, to the same convoluted thinking that brought us VB and batch file syntax. At least with open source apps, I know there's some upper limit to the amount of frustration I have to endure, since you can just look at the code to get your answer if it comes to that.
I will give a fast list of companies. Some of them you may have heard of.
Apple
IBM (OS/2)
Novell (Netware)
Sun (Java, Solaris)
Lotus (Ever heard of Lotus 123?)
WordPerfect (I always thought that Microsoft DOS Word 3.0 was a brilliant WP. Very little interface. WordPerfect was clearly the big dog and it still has penetration in the legal field)
Netscape
It is true that many of these competitors were the #1 player and Microsoft managed to pass them. To suggest that none of them could compete with Microsoft seems to be based on the idea that if Microsoft won, then clearly the competitors were not even in the same league, whereas in most cases it has more to do with business cases. Google hasn't even started to compete against Microsoft in any meaningful way. While giving away software is a way to gain market penetration, (Microsoft gave away IE to beat Netscape), eventually you have to look at the way people make money. Microsoft does this through enterprise licensing, (wherein, they charge per user in environments that already have technical support staff so they have less to worry about as far as support), and through bundling their software on new PC's, where they charge less per copy but know that DELL will cover user support and software installation.
In any case to suggest Microsoft has never been in competition with companies with significant resources is nonsensical. The fact that their techniques of requiring PC manufacturers to sell their OS on every machine they ship or pay higher per machine licenses allowed them to shut out all other OS's (why buy two operating systems when I HAVE to buy windows) was unfair and predatory, or that their tradition of non-public API's allowed their own apps to have improved performance, or their tendency of announcing vaporware (did you put in 2006 or 2007 in your office pool for the release of longhorn?), and writing in specific code into windows to forbid it to run on top of DR-DOS. A company that had to cheat as much as Microsoft has, is not a company that hasn't faced competition. Rather it is a company that has used every resource it has to claw its way to the top.
The real question has more to do with whether Microsoft (or anyone) can constrain competition when the tools to create world-class applications are so inexpensive. I mean a pc for 300, linux for free, cheap broadband, cheap virtual hosting. Even Microsoft is giving away their development stuff for free. And with telephones becoming the new laptop, it just makes it even less clear how a big company gains. I mean it isn't going to be because of speed to release product if we are talking MSoft.
I'm serious. I am NOT saying that MSDN is great, only that it is better than anything provided for competing platforms. Sometimes MSDN assumes a level of knowledge with products that is beyond the average developer. Take BizTalk for example. Trying to learn that product strictly through MSDN is a lesson in futility. Only after you gain a basic knowledge does MSDN become really useful. I would say the same for Dynamics CRM too.
Consider two classic applications for two platforms. One is more or less owned by Microsoft, the other more or less owned by Google. The apps are familiar to every programmer: 'Hello World' done in C++ and HTML.
Repeat after me:
HTML is not code.
HTML is not code.
HTML is not code.
What is not shown is the C++ compiler and linker that turns code into executable. Also not shown is the web browser which takes HTML and makes it presentable. And that's really the only difference between these two programs.
That and, I don't know, Turing completeness?
What do you mean by "access any database" do you mean a gui database administration tool that allows a user to create tables on any database? Or do you mean compatibility with any database server (oracle, mssql, postgresql)? Or do you mean a gui application with a database backend and along with picking the dev environment we pick a database server too and build the tables etc?
If you mean the last of those options (IE building a custom app that stores customer data in a database) I might take an extra day to build a simple app in Java...
My app will run on windows, mac, linux, be web accessible (via standard browser or handheld), and will scale to millions of users by simply adding hardware.
Now try using Visual Studio to match that..
Sure anyone can open MS Access or Visual Studio and build a little database app for a 5 person company, but the data is now locked up in windows, building in web access is a pain, and you can't run anything but windows on your desktops.
Your life is a ridiculous waste if you think the minor inconvenience of dealing with crap software in any way compares with the grandparent's examples of true blood money and true suffering. For you to even put yourself on the same level as Nigerians dealing with rapacious oil companies (ooh! You put on some weight! Oh no!) is mind-boggling. Just find a better job and get on with your life. At least you have that option. What a self-absorbed prick you are.