Google vs. Microsoft On the Desktop
Michael_Curator writes "Gary Edwards, president of the now-defunct Open Document Foundation, helps sort out the challenges Google faces displacing Microsoft on the desktop, pitting the strengths of Microsoft's proprietary stack against the developer candy that HTML 5 represents."
What I think would be best for Google would be to fork a version of OOo to include "Save to the cloud" support and integration with Google Docs. Along with integration with every e-mail client by using perhaps HTML e-mail or a plugin to enable Google Docs support. Create an iPhone app, plugins for MS Office, make it easy for anyone with any program to access and use Google Docs and it will succeed.
Taxation is legalized theft, no more, no less.
Yeah developer candy is first on my list when looking at a product as an end user. I mean stuff security, reliability, etc. That's just all rubbish when I can make my developers even more diabetic.
Who comes up with this nonsense?
These posts express my own personal views, not those of my employer
To give Microsoft something to seriously think about, Google needs an OS on the desktop. Android is a good start in my opinion. There are some efforts in this direction already. The good thing is that Android eschews X, which is a pain to work with in its current form.
Next, they will need [meaningful] applications that work no matter what platform one happens to be using.
Third, targeting Microsoft must not be the aim, it must be the unplanned outcome. The aim must be tp "please" we the users.
That way, Google will succeed on the desktop.
Especially with all those *private* API calls only available to Micro$oft developers, leaving all other 3rd party Windows developers in the cold. Oh - and add to that, changing the APIs at every version / update, with no warning... gotta love that...
I've seen the HTML 5 in-browser/no-plugin demo at Google I/O and of course it look impressive.
Now Google has to make a convincing case that the HTML 5 / Gears / GWT combo opens the world to developers who target the desktop. So far, GWT as great as it is, hasn't exactly gathered a big followship. At any rate, developing for the DOM presents some challenges and pitfalls, and IE 6 remains a major target that needs to be covered. That many corporations and casual users haven't "upgraded" yet, now plays out as an advantage for MS.
Even harder will be the mobile environment, where connectivity and bandwidth are weak and mobile web apps will require considerable optimization to not end up useless bandwidth hogs.
Microsoft actually contributed lots to HTML 5, at least according to Chris Wilson (Software Architect for IE)
In effect, it's like semi-Microsoft v. completely-Microsoft. (food for thought)
Viable Slashdot alternatives: https://pipedot.org/ and http://soylentnews.org/
Microsoft is where it is today because it is the easiest OS for third parties to work with.
That's not even remotely true. I'm curious as to how you came to this conclusion? Are you simply comparing Windows with Linux (and most any other X11 based system)?
The reason for MS's success (specifically, with Windows) is due to developers targeting the dominant system, and Windows became the dominant system primarily through being installed on the overwhelming majority of PCs. None of this was based on being the most "developer-friendly".
Two guys gave themselves a fancy name ("Open Document Foundation"), which opened them doors to some panel discussions. They don't have any role in ODF standardization. All they did in the last couple of years was to act like little MS shills. Last time they attacked the Open Document Standard their role was quickly uncovered.
Their insignificant role does not deserve any attention, but as they trolled their way into mainstream media IBM's chief ODF architect Rob Weir was bothered enough to discuss the technical merits of their "contribution" .
This comment is way too similar in style to this other comment. I call shenanigans.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
As a "hobbiest" developer working on a cs degree, my personal experience is that windows is infinitely easier to develop for. It removes the need for me to understand 3 or 4 different arcane scripting languages that get together and have a preprocessor orgy with themselves in order to output makefiles. This has been my experience with autotools, scons, and cmake (cmake wasn't too bad on the whole). On the other hand, I was able to get a standard copy of VS 2008 from my university's campus connections and I can configure building things much easier. That and WPF is a nifty gui toolkit. I found myself able to hand write the gui description files after about 1/2 an hour of tinkering. Something I never could have done with glade or qt's ui files.
For those of us who like to tinker on little projcts on our own, if we can hardly set up a build system, and the docmentation for said build system is horrible, whats the point (I'm looking at you autobook).
That being said, I am curious what you do consider to be the most developer friendly system, particularly if you have experience in industry.
Hey, uh, wasn't he one of the ones that threw a tantrum (along with sam and marbux) when he didn't get his way with preserving Microsoft "dark matter" (undocumented RTF encoding) in ODF and then proclaimed that ODF is doomed to fail and all that nonsense when everyone told him to stuff it where it doesn't shine??
I am shocked. Simply shocked to see that he's extolling Microsoft's "virtues".
Nothing to see here, folks, just another softie trying to sabotage open standards by throwing chairs at it.
--
BMO
I pretty much pointed out that Linux/Unix/X11 aren't necessarily the best example when I wrote, "Are you simply comparing Windows with Linux (and most any other X11 based system)?"
That being said, I am curious what you do consider to be the most developer friendly system, particularly if you have experience in industry.
Presently, OS X is extremely easy to develop for. In the past (the context here, after all, is MS's success, so you have to look at what came before), both OS/2 and BeOS were supposed to have been fairly advanced from a developer point of view, as was Nextstep.
Even further back, comparing Macintosh System, AmigaOS, etc., with DOS and somewhat later, Windows, is relevant. I really don't think ease-of-development played a significant factor so long as development was "easy enough". Commercial interests are a much greater factor.
Hypothetically speaking, if there is a powerful Java processor that runs Java Virtual Machine (JVM) in hardware, and a browser application written in Java, you'd get an OS-less netbook
- OutputLogic
Google dont need to displace Microsoft from the desktop. What google is doing is displacing the desktop itself. Once you have the same info and roughly the same functionality from your cellphone, netbook, computer, gaming device, whoever else computer and so on, "Desktop" is becoming meaningless. Microsoft must give away the desktop and embrace the cloud to have any chance, just because it isnt a battlefield anymore.
Chrome. Safari. Firefox.
"The edge of the web."
God alone knows what that means. Market share dominated by the home user and the enthusiast. Chrome very immature.
Internet Explorer. The browser you use at work. Rich tools for deployment and management by the system administrator...
In the simplest terms:
You can build a business ground up from the loading dock and point of sale to the clerks in accounting to the guys and gals in middle management and the executive suite and never leave the working environment of "MS Office."
That has enormous implications for recruitment, staffing and training at every level.
Isn't the deskop really just the next evolution of the cloud? Once the desktop becomes an active participant in the cloud? I think the next step will simply be to make all your desktop apps available anywhere. We're just about there already with remote desktop connections. Isn't the path of remote desktops and virtualization just as valid a distributed computing model? In the future, there might be so much bandwidth and parallel computing power available, a single server could serve remote connections to thousands of simultaneous virtual Win7/OSX/Linux machines. And you won't have to actually rewrite OpenOffice 10.0 for web.
If the cloud would only be about data storage there would be no advantage over a Desktop app that saves to my hard drive.
However, Desktop Software is totally behind when it comes to collaboration. I have sent enough "DOCs" around and received them back and edited them again and sent them around again to understand that it sucks badly. I have enough of "can you send me the latest version of ..." and welcome online apps to solve this gigantic and ridiculous problem. Of course i would prefer to have Desktop apps that do the same thing, but as it seems at the moment nobody can get their act together and do real time collaborative Editing in a way that is more meaningful than Gobby. :)
The standard desktop is better than Google desktop. Yes, everybody says, to put Google in a good light: "standard compliant" browsers, but that means nonstandard compliant mail, nonstandard everything else. We won't own software, we'll be always customers, dumb terminals, served from huge company's "clouds". Free software will be over, irrelevant. We won't be able to improve and modify our environment, we can't improve Gmail ourselves, there's no alternative/better/innnovative client for Gmail.
Economic forces are taking technology down a terrible path. The past is better: a world of protocols, servers and clients. A common neutral space...
The "portable" desktop, having your data everywhere should be solved by other means... I don't know, perhaps we should have personal servers, or at least we should contract personal servers from some kind of "personal server providers", which should be a standard and non-monopolistic thing. The "presence providers" envisioned by the XMPP protocol comes to mind...
OOo is not a good starting place. They already have chrome + gears, which is more than enough to use google docs by itself.
-- 'The' Lord and Master Bitman On High, Master Of All
You realize that preprocessor "orgy" happens anyways, just behind the scenes? And that if you used a proper IDE, you get the same "blinders" that MS-VS gives you?
And if that is your only complaint - the tools, then I challenge how you can call yourself a developer. Have you SEEN the Windows API? Now... thinking of that, have you seen glibc?
Please forgive me if I'm wrong, but from what you've given us, I'm hesitant to take anything you've said seriously.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
OOo has been able to 'save to the cloud' for a very, very long time. WevDAV was introduced many years ago, and works as well today as ever. It gives decent security, is quite reliable, and can be seen as a local drive on most modern OSs. (Sadly, even Windows Vista still needs NetDrive)
Bottom line: there is no need to NOT save to the cloud in basically any program out there today, client-based or no, if you are at least somewhat intelligent about it.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Well he was reading the second part as "inclod sensitive you" and he probably didn't know what it meant.
ics
Exactly, look at Google, they offer you "Eclipse" and "Java" for production. Not even native code support.
Suddenly Microsoft looks super friendly.
I have to ask: Which words did you fail to miss-spell?
Oh come on, Timmothy. Edwards has already been discredited for his astroturfing fake ODF news which he ran under the "Foundation" he's now moved his shit to Facebook and others. His foundation actively lobbied against ODF. He was a shill then, or at least one of Bill's "Useful Idiots", and he's the same now.
You realize that preprocessor "orgy" happens anyways, just behind the scenes?
Yup, it does. So does conversion to machine code and conversion of logical information to electrical signals. What's your point?
And that if you used a proper IDE, you get the same "blinders" that MS-VS gives you?
Taken at face value, the OP is complaining of poor IDEs on LAMP platforms, so I would say he understands this, also.
And if that is your only complaint - the tools, then I challenge how you can call yourself a developer.
As a complaint, it is not trivial (it has also been beaten to death over the years, but that is a different matter). Developers spend most of their time inside tools. Masons are less effective if deprived of a good hammer. Having used both Eclipse and VS, I have (and hate) to admit the the latter is (was: it's been a couple of years) still a frontrunner. Intellisense, just to name a feature, is a huge time saver for anybody not knowing the docs by heart.
Yes, you can 'vi foobar.c'. Even cat > foobar.c is known to work. As is do-it-yourself eye surgery using an old pen and a rusty can opener. Most of these practices are not advisable, though.
Have you SEEN the Windows API?
I don't know about you, but, to SEE APIs, I require some amount of controlled substances, heavy drinking, or possibly both.
Cheers,
alf
Chris Wilson joined the HTML 5 working group (WHATWG) in April '07. Over one year, his sole contribution was that HTML versioning crap: ref.
I just read that and the WG discussion it links to, and from what I understand, Chris Wilson wants to maintain html version numbers in the doctype declaration, while others want to pretend html 5 is the only version of html in existence, which is completely stupid. I hate MS as much as the next guy, but Chris Wilson is completely correct here.
I haven't really been following the HTML 5 standard much so far, but I guess this means that HTML 5 has already done away with meaningful doctype declarations (which also helps to explain why a w3c acquaintance of mine doesn't like html 5 much).
I seldom look to see if I have mod points - for this post, I looked. Saving to the cloud is all well and good, for convenience, I guess. But NOTHING beats the combined reliability and security of my own backups. When convenience takes a shit, that old reliable external drive is still sitting in the corner, or in the back seat, or under the airplane seat, whirring away, and waiting to go.
Yeah, I do save some things to Gspace. But I certainly wouldn't save anything like a confidential industrial secret document. Encrypted on my hard drive is the ONLY place to put it!!
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
Oh... looks like the 5 minutes was to download a new version of Java or something.
And IE doesn't do that prompting, whereas Firefox does (at least on my setup).
It's a shame you had to mar the good points you made with an uninformed comment about CSS and Javascript. Done properly, they are both powerful and, yes, elegant tools.
This comment says almost nothing:
The Office game is almost over, OOO is good enough, and existing anti-trust, most recently in Russia increases the challenge.
AD and Exchange are currently coporate lock-ins and the Open Source community must look for its commercial partners, Google, IBM and Oracle to help fund drop-in replacements.
It is very unlikely that MS will get a lot of traction with a new proprietary program, especially outside the USA
Pick a tab any tab, watch it suck all cpu because stupid advertising companies write bad JS that while loops forever killing all other tabs.
Liberty freedom are no1, not dicks in suits.
I don't wish to contradict you, since you raise some good points about Linux (autotools... *shudders*)
That said, if you *are* interested in developing for Linux again in the future, give Qt a shot. QMake is by far easier than any of the things you've listed, and Qt Creator is a great IDE that uses qmake files as its native project files.
Come to think of it, you could do this under Windows also.
I'd have a permanent historical archive of everything I ever created or edited. My archive would be physically accessible to me and my designates alone.
On an automated schedule, a complete backup copy of my archive would be stored on another physical device, again accessible only to me.
Some subset of my archive would be synchronized to a cloud service, so I could get to my data from anywhere. Some smaller subset of that would be publicly available so I could share.
Getting data into my archival stream would rarely require explicit action on my part. The software I'm using would be aware of the existence of my archives, and would automatically forward version updates down the chain. No matter where the edit starts, eventually the data winds up in the private archive that I, alone, control.
Naturally, my historical archive includes every email I've ever written or replied to; every photo I've ever taken; every document or spreadsheet or memo; every comment on Slashdot; every journal entry; in short, my entire, digital record.
"We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
It could be a platform thing (I'm running FF3 on Windows), but you might want to try disabling flash (or running flashblock); I don't ever notice javascript based ads locking things up, but something like 2/3 of all flash objects that I activate eat 100% cpu.
Nerd rage is the funniest rage.
And the so called "blinders" that you can get out of the IDE's don't seem to actually work. My favorite was that for a really long time after KDE was coming out and the recommended build system was cmake, KDevelop didn't actually support cmake. My other experience with an old version of Anjuta could be summed up with, "Here! We're an awesome IDE with support for autotools. Instead of typing arcane expansion macros directly into a text file, type them into this oddly named dialog box instead." In all fairness, I haven't tried anjuta in a while. .lib instead of the actually .dll is a little wierd
On the other hand, msbuild takes a single xml file and runs the appropriate tools. I don't have to remember the obscure syntax to add header defines if I don't want to, I just have to add -D, -I, or -l options in a box. Granted the whole linking to
Each system has its own set of hoops to jump through. I posit that you think glibc is so much better because it is what you are used to. Keeping that in mind, lets think about it. Which function do you think is better self documenting. CreateProcess or fork. Or the other things that spring to mind like symlink vs CreateSymbolicLink (yes newer NTs supports symlinks).
1. Make a desktop that uses a browser for it's application container
2. Make a browser with a fast JavaScript engine and HTML5 to make a better UI
3. Make a framework to support applications made for said browser
4. User experience is now dependant on said apps and browser
5. ???
6. Profit
Seems pretty clear to me what Google is trying to do, something MS has already tried and almost succeeded in. Except Google does not want a market share to gain profit they want advertising dollars for profit. Is there any difference?
As it turns out, the early builds of IE9 are starting to implement HTML 5. For instance, they support the video tag. However, they made a statement that they are only planning on implementing the intel INDEO video codec, with PWM audio. And they're finally supporting CSS and SVG propperly, but only if the color scheme matches the scheme they chose for Windows 7. And after years of debate, they now support an early draft of VRML.
I'm obviously lying, since Microsoft always plans on the "let's not improve the product until it's at least 10 years behind the times" plan.
Sadly, though, The way I described their new version of IE is waaaaaaaaaaaay too realistic.
For command line applications, sure, POSIX is simple.
But last I checked, glibc doesn't offer much in the way of a GUI.
"The reason for MS's success (specifically, with Windows) is due to developers targeting the dominant system"
And how did MS become the dominant system?
Sometime way back in the foggy mists of history, a bunch of people made a bunch of operating systems. Someone would say, "Wow, Mac OS is awesome!" And if you ever tried to write something for Mac System 7, you ended up praying God would kill you soon.
For some incredibly strange reason, a whole bunch of programmers said, "Screw that!"
And then they did the same thing with a Windows-based system. Only, this time they could make it work without pulling their eyeballs out.
We got to this point because MS was the company whose OS was easiest to work with.
It's cute to say (in a later comment) "presently OS X is wicked super awesome jesus wowswers to work with". But, that is to be oblivious to how we got to this point. For waaaay too many years, Apple's OSes were criminally evil from a developer-friendliness standpoint.
I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
Does anyone on Slashdot ever feel just the slightest bit retarded for being reflexively anti-Microsoft?
I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
Even back in the mid 90s, it was more common for Windows developers to use MFC rather than access the API directly.
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
The autotools package is designed to make source code easily portable to different UNIX systems. Visual Studio is an IDE for creating a program on the Windows operating system. You (and the GP) are comparing apples to oranges.
There were other OS's than Macintosh System, many of which ran on the same hardware as Windows. Some of the contemporaries of Windows, many predating Windows (especially if you start with Windows at 3.1, which is the first version to have any real success).
Commodore mismanaged themselves, OS/2 was mis-marketed by IBM and sabotaged by MS. DR-DOS was sabotaged by MS. GEM and DESQview were simply outclassed by Windows. X11 was rarely promoted outside of Unix. BeOS was too set on replacing Mac OS. And I haven't even covered half of the OS's out there.
Commercial forces far outweighed ease-of-development, which is merely one of the many commercial forces, and not even remotely the most significant one.
And if that is your only complaint - the tools, then I challenge how you can call yourself a developer. Have you SEEN the Windows API?
You don't need to use Windows API for many kinds of applications - .NET does the job just fine, and has reasonable object-oriented APIs for most everything.
As for tools - good development tools (IDE, debugger, profiler) can reduce development time manyfold. Apple and Trolltech also understand it. All Java guys understand it (in fact, Java still probably has the best tooling overall, to date).
"The reason for MS's success (specifically, with Windows) is due to developers targeting the dominant system"
And how did MS become the dominant system?
Two words: cheaper boxes.
Back in the days, Macs commanded and integer multiple of the price of an x86. Unixes, think tenfold and more. This does not even begin to address the idiotic API wars Unixes were waging: System V vs. BSD idioms, vastly incompatible (not to mention ugly) GUI toolkits.
But all that is irrelevant compared to the price tag issue.
Cheeers,
alf
nothing wrong with the windows api, at least you know its there, unlike 90% of linux apis which might not be there depending on the distro or version of the library which changes to often, or new releases break old things.
One thing MS does right, is keep ALL old apis, so nothing old fails, linux or OSS guys usually dont care, and say tuff luck, N api is going away, live with it, they have less understanding of their customers, and simply think that 1000000s of people will 'adjust' their code to the new ways. Well if you coded the original properly you wouldnt need to redesign stuff would you.
Liberty freedom are no1, not dicks in suits.
I guess that is one TCO component MS never mentions, the cost of being locked in, then moving to the next major version that breaks all your existing badly developed systems.
Liberty freedom are no1, not dicks in suits.
Microsoft was very wise to put a lot of money into its development platform. It spent a lot of money building up Visual Studio and other developer supports like the MSDN. As a result, a lot of third parties wrote software for the Windows platform because it had a low barrier to entry and was easy to work with initially.
Of course, many developers eventually hit the wall where they run into limitations of the API they've chosen as I did working with Windows, and some choose to spend many hours working around it instead of jumping ship. In the end, there's a lot of software for Windows by a lot of amateurs (the huge shareware libraries) and eventually quite a bit of professional software too.
- Michael T. Babcock (Yes, I blog)
Oh man, I just had this horrible taste in my mouth. It must be the networking applications I was writing with the MFC that came back to haunt me. Man that was horrible.
- Michael T. Babcock (Yes, I blog)
Nor should it.
Does the Windows "C" library offer a GUI? The GUI is provided the same way as on Linux and other platforms, but more integrated into the API most programmers use (which isn't the C library).
MFC, .NET, etc. are all abstractions with their own libraries. You can just as easily write code in C++/Qt for Windows and it won't look like a typical Windows app at all.
- Michael T. Babcock (Yes, I blog)
By that token, write it in Java and you get an IDE and no need for the Windows API either.
Your comment isn't really a selling point of .NET specifically.
- Michael T. Babcock (Yes, I blog)
Yes, sure, and Java should be considered, alongside Qt, wxWidgets, and other cross-platform toolkits, when speaking of Win32. Point being that you get the same stuff as on Unix, but the tools are still better.
Note that original topic of the thread wasn't Win32 vs Unix APIs, or VS vs Emacs, or whatever. It was whether development in Windows - in general - is friendlier than development on other platform.