Posted by CmdrTaco from the are-you-really-surprised dept.
David Gerard writes "Microsoft Office 2007 SP2 claims support for ODF 1.1. With hard work and careful thinking, they have successfully achieved technical compliance but zero interoperability! MSO 2007sp2 won’t read ODF 1.1 from any other existing application, and its ODF is only readable by the CleverAge plugin. The post goes into detail as to how it manages this so thoroughly."
ODF: The open standard file format that only Microsoft applications can use…
[Update…] In comments Jonathan Allen points out that ODF is the Oasis Group open document standard, not Microsoft’s, which is OpenXML. I was confusing the two, and the point of the Slashdot post. This isn’t about Microsoft’s own proprietary open standard. It’s about them applying their usual Embrace, Extend and Extinguish tactic on ODF. Here’s some of the Slashdot commentary…
If it achieves 100% technical compliance with the standard, but zero interoperability, this is certainly a problem with the standard itself.
And the problem in this case is the missing formula specification. It’s not in ODF 1.1, and ODF 1.2 is still a draft. While this is Microsoft and we all "know" that this was intentional, ODF is what should be fixed first. We were all bashing OOXML specifications, but ODF 1.1’s far from perfect, as we can see.
…
That is, curiously, not quite true. ODF 1.1 doesn’t fully specify formulas, but it does specify the general syntax that should be used for them, and Microsoft seems to have ignored this. (Also, in practice, the major spreadsheets are quite similar in terms of what expressions they accept in formulas. This makes it relatively simple to convert between MS Office formulas and OpenOffice.org ones, which are what most ODF-based apps use.)
…
The irony here is that the formula language used by OpenOffice (and by other vendors) is based on that used by Excel, which itself was not fully documented when OpenOffice implemented it. So an argument, by Microsoft, not to support that language because it is not documented is rather hypocritical. Excel supports 1-2-3 files and formulas and legacy Excel versions (back to Excel 4.0) neither of which have standardized formula languages. Why are these supported? Also, the fact that the Microsoft/CleverAge add-in correctly reads and writes the legacy ODF formula syntax shows not only that it can be done, but that Microsoft already has the code to do it. The inexplicably thing is why that code never made it into Excel 2007 SP2.
Just look at this. They’re in complete technical compliance, and yet if you read an ODF file format spreadsheet into Excel and then write it back out again it’s now locked utterly into MS Office’s specific implementation of ODF. You can no longer read it back into any other spreadsheet program that supports ODF, because it can’t read Microsoft’s ODF formula implementation.
They just never stop, do they? I started out as a Microsoft platforms developer. Now I work on software that runs on many different platforms and swear to God I will never again be a Microsoft only developer. I will not help them betray the promise of the personal computer. I will not help them put handcuffs on the whole goddamned world just because that’s their business model.
BARCELONA, Spain–iPhone maker Apple isn’t at GSMA Mobile World Congress 2009 along with the rest of the mobile phone industry, but the company’s growing success is definitely top of mind for key executives in the mobile market.
The iPhone and Apple’s successful App Store got more than a passing mention on Tuesday during a panel moderated by The Wall Street Journal technology columnist Walt Mossberg.
…
Ballmer argued that device openness was important to give customers more choices. And he pointed to the number of choices that Windows Mobile customers have when choosing a device.
"I agree that no single company can create all the hardware and software," he said. "Openness is central because it’s the foundation of choice."
This from the company that tied Internet Explorer to the Windows OS in order to kill Netscape. This from the company that penalized computer makers (and for all I know still does) for offering their customers Linux too if they wanted Linux. This from the man who still insists that Linux violates a number of Microsoft patents, but won’t say which ones. This from the company that gamed the ISO standards process by forcing through its own 6000+ page "open xml" format, which is riddled with Redmond patents, and Microsoft Office legacy bugs and glitches over the vendor neutral Open Document format, so Microsoft could claim MS Office documents were "open", despite the fact that nobody but Microsoft can implement this so-called "open" format in its entirety. Openess anyone?
Yeah…Apple is a closed system. You can’t run the iPhone OS on any other phone but an iPhone. You can’t run Mac OS on any other computers but Apple’s. Apple hardware needs Apple software to run. Microsoft’s definition of openness on the other hand, is everything needs Microsoft software to run. When the whole world is locked tight as a drum into Microsoft platforms, then everything will be naturally and seemlessly interoperable. Openness.
Hey Steve…you want openness? Publish your file formats.
Posted by kdawson on Sunday February 01, @10:45PM from the hitch-hiker dept.
An anonymous reader writes
"While doing a weekly scrub of my Windows systems, which includes checking for driver updates and running virus scans, I found Firefox notifying me of a new add-on. It’s labelled ‘Microsoft .NET Framework Assistant,’ and it ‘Adds ClickOnce support and the ability to report installed .NET versions to the web server.’ The add-on could not be uninstalled in the usual way. A little Net searching turned up a number of sites offering advice on getting rid of the unrequested add-on."
The unasked-for extension has been hitchhiking along with updates to Visual Studio, and perhaps other products that depend on .NET, since August. It appears to have gone wider recently, coming in with updates to XP SP3.
Dig it. Microsoft is not only trying to modified everyone’s Firefox browser, they’re doing it surreptitiously And in a way that makes it difficult for most home users to undo.
People switch to Firefox, largely because they are concerned about the many security flaws in Internet Explorer. So what does Microsoft do? Instead of making a better web browser, they infect the one people are turning to in order to have a more secure computer. Here’s what I think: Microsoft didn’t do this simply to get its .NET technology into Firefox whether users wanted it or not…they did it to make users who are afraid to use IE, afraid to use Firefox too. Because now you have no idea what new security holes Microsoft has opened up in Firefox. This is an absolutely brilliant bit of Microsoft FUD (Fear, Uncertainty, Doubt).
Somehow, I don’t think this is going to win them any fans. Somehow I don’t think Microsoft gives a damn either. Microsoft will never change its predatory behavior. It needs to be broken up.
[Update…]
Some Microsoft droids on Slashdot are bellyaching that…well gosh, Adobe installs plug-ins onto Firefox and so does Sun in the form of its Java plug-in and golly a bunch of other software makers do that too so what’s so bad about Microsoft doing it? You people just like to hate on Microsoft is all. Which of course conveniently ignores the reality of Microsoft’s ownership of the operating system and the fact that this Firefox plug-in is being delivered in an update to the fucking operating system.
Microsoft’s position for years has been that its browser (Internet Explorer) is part of the operating system and cannot be separated from it. Fine. Swell. Great. Really. But Firefox is not part of the operating system. So Windows updates need to leave it the fuck alone! Or…at minimum…ask first. I realize that asking is not part of the Microsoft vocabulary though…
Some of you may have read the news items about Microsoft’s Zune player freezing up on its users last December 31st. The problem it turned out, was in a bit of software that calculates how many days since January 1st the current date is. I’ve no idea why the Zune’s software needed to do that, but it isn’t important to what I’m about to show you. I have fun doing the work I do, in a techno geeky kinda way, and I want to share a bit of that fun with you.
The code that caused that particular bug was leaked out into the wild. Here’s the relevant fragment:
while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
}
else
{
days -= 365;
year += 1;
}
}
Don’t panic…it’s just code. Code is to a computer program what a chart is to music. It’s not so much the program, as instructions for how to create the program. It’s more human readable then the machine language code microprocessors digest, although that might seem a tad hard to believe if you’re seeing code here for the first time. It’s a kind of highly structured syntax that is precise enough to describe, step-by-step, a series of actions the computer needs to perform. That series of actions is called an ‘algorithm’.
An algorithm is a series of steps needed to perform a specific task in a specific time. So for example, consider the steps necessary to bake a single cake. Those steps constitute an algorithm because they perform a specific task in a specific time. The task is baking a cake. When the cake is baked you are done. Note that a specific time isn’t necessarily a specific amount of time. The important thing is there is an end to it somewhere. The steps needed for a cake factory to make ‘cakes’ is not an algorithm because there is no defined end to the task of baking cakes. It could be one cake or many. But you can repeat the algorithm for baking a single cake as many times as you like, once you have it defined.
Writing computer programs is essentially the art of creating well defined, simple, straightforward algorithms. If you’ve got a head for that, the rest is a matter of mastering a particular programming language or more. The code fragment above is in a language called C++. Never mind why it’s called that and not something more warm and friendly like Fred or Ethel. Computer geeks are weird like that.
This code fragment is from a larger bit of code that tries to determine the number of years the current year is from the year 1980, and the number of days since January 1st. Never mind for now Why. Just focus on the task: to get the number of years since 1980 and the number of days since January 1st.
The function this code fragment lives in receives the current date in the form of the number of days since January 1, 1980. This seems odd, but it is how computers tell time. At the most basic level, they are merely counting fractions of seconds from a given starting point. Consider that a mechanical wrist watch (like the one I wear) tells the time only by counting ticks. If you know how many ticks there are in a second, then you can compute the second, the minute, and the hour by counting the number of ticks and that is just what a mechanical wrist watch does…mechanically. Computers do pretty much the same thing electronically, but their ticks are much smaller, and far more precise.
We know there are 365 days in a normal year. So if we get a number that’s, let’s say 10220, we might just divide that by 365 to get the number of years that have passed. But the added factor of having leap years makes it less simple then that.
Now let me try to make some sense of that C++ code for you. As I said, it’s a highly structured syntax that precisely describes the steps a computer program must perform. Just ignore the brackets…they’re just there to mark off specific sections of the code. Don’t worry about them.
At the beginning of the code you see the word "while". This is a Keyword in the C and C++ languages and it denotes the start of a program Loop. A loop is a series of steps that are repeated. They are very useful for repeating a series of steps over and over as just a few lines of code instead of one or more lines repeated exactly for every time the steps need to be executed. If, say, you had to do something a hundred times you would write the code to loop through the same steps a hundred times, rather then writing the same steps a hundred times in the code. If the steps change, then that’s a hundred changes you need to make. If you’ve written it as a loop you only need to change it once.
Loops are also helpful if you don’t know ahead of time how many times you might have to repeat a particular set of steps. In the cake baking example for instance, you might have to stir some ingredients until they are mixed properly. If you were coding that, you’d write it as a loop where you stir the mix, and then test to see if it’s mixed well enough to stop. If not, stir once more. Test…stir…test…stir… And so on until the the test says you can stop stirring now.
That test is important. It tells you when you can stop stirring. For now just hold this thought: it is important to have a way out of a loop.
The keyword "while" has a test enclosed in the parenthesis next to it: (days > 365). This test compares the variable "days" against a literal value of 366. Think of a variable as a post office box with a name on it, and something inside. In this case, the variable is named "days" and it holds a number that represents a given number of days. This variable is set elsewhere in the code and we don’t need to know why or how at the moment. We’re just looking at what this one bit of code does.
The ">" symbol is an Operator in the C and C++ languages, which means "greater then" If "days" is "greater then" 365 then the next lines of code are executed. This test is at the beginning of the loop, which means the condition is tested first before any of the code in the loop is executed. If the test is true, the loop is entered. If not, the loop is never entered. So the loop takes a value for a number of days at its very beginning. If that value is greater then 365, the rest of the loop executes. If it isn’t, the loop is skipped over. Think of it as saying "while the value stored in "days" is greater then 365, do the following…"
So we enter the body of the loop. The next line is "if (IsLeapYear(year))" Let me unpack that. The word "if" is another keyword, and it denotes a logical test. You are testing if something is, or is not true. The part in the parenthesis is the thing you are testing. IsLeapYear(year) is a function call with its own set of parenthesis. Functions are bits of code that return a value. This particular function returns a value of either true or false. We don’t need to see how this particular works for this example…just that it will return either "true" or "false" back to our "if" test. The word "year" in its parenthesis is another variable and it holds a number that represents the number of years since 1980.
So we are passing in to the function IsLeapYear a number, and it returns either true or false depending on whether or not the number we give it, translates into a leap year. Remember, we’re counting the number of years since 1980. Lets say we make "year" equal to 3. We could as easily write the call as "IsLeapYear(3)", and it would return false, since 1980 plus three years is 1983 which was not a leap year.
Okay…still with me?
An "if" test tests a condition, and the lines of code following the test are either executed or not depending on whether or not the test passed or failed. If IsLeapYear(year) returns true, then the next line is executed.
The next line is another "if" test. if (days > 366). This test compares the variable "days" against a literal value of 366. It is like the test at the beginning of the loop. If "days" is "greater then" 366 then the next lines of code are executed.
These next lines actually do something. the line "days -= 366" means "take the value that’s stored in the variable named "days", subtract 366 from it and store the result back in that variable. The line "year += 1" means "add one to the value stored in the variable named year and put the result back in that variable".
A couple brackets on down (I told you to just ignore them) there is the word "else" It is another keyword that works with the keyword "if" to denote lines of code to be executed if the if test above fails. So in other words, if IsLeapYear(year) returns false, then the steps following the word "else" are performed. Think of the whole thing as "if it’s a leap year do this…if it isn’t (else) do that…" In this case, that is "subtract 365 from the value of the variable named days", and "add one to the value of the variable named year".
So…still with me? This is what the code is doing. The algorithm it embodies is this:
1) Repeat the following for as long as the value of "days" is greater then 365:
2) Check to see if "year" is a leap year.
3) If it is a leap year, check to see if the value of "days" is greater then 366.
4) If it is, then subtract 366 from "days" and add 1 to the value of "year"
5) If "year" isn’t a leap year, then subtract 365 from "days" and add 1 to the value of "year"
There is our loop. Basically, it is taking a number that is the number of days since 1980, and subtracting 365 days for every normal year, 366 for every leap year, and when it finishes you should have a count of the number of years since 1980, and what’s left over is the number of days since January 1st. Simple…no?
The bug in it is subtle. Let’s run through it for December 31, 2007. Lets say we have run this loop for a while and now we have a value of 26 in "year". The value of "days" is 730.
1) The value of "days" is greater then 365…so we do the loop again.
2) Check to see if "year" is a leap year. 26 years since 1980 is 2006. 2006 isn’t a leap year. So the code following the "else" keyword is executed.
3) We subtract 365 from "days" and add 1 to the value of "year"
4) We’re at the beginning of our loop again. The value of "days" is 365. 365 is not greater then 365. So the condition for continuing the loop is now false. So now we can exit the loop.
5) The end values are, year = 27, days = 365.
Okay. That works. But now let’s try it for December 31, 2008. Lets say we have run this loop for a while and now we have a value of 27 in "year". The value of "days" is 731.
1) The value of "days" is greater then 365…so we do the loop again.
2) Check to see if "year" is a leap year. 27 years since 1980 is 2007. 2007 isn’t a leap year. So the code following the "else" keyword is executed.
3) We subtract 365 from "days" and add 1 to the value of "year"
4) We’re at the beginning of our loop again. The value of "days" is 366. 366 is greater then 365. So the condition for continuing the loop is still true.
5) Check to see if "year" is a leap year. 2008 is a leap year. So the code following the "if" keyword is executed.
6) Check to see if the value of "days" is greater then 366. 366 isn’t greater then 366, it’s equal to 366…so the code following the "if" keyword is not executed.
7) We’re at the beginning of our loop again. The value of "days" is still 366 and the value of year is still 28. 366 is greater then 365. So the condition for continuing the loop is still true.
10) Check to see if "year" is a leap year. The value of year wasn’t changed by the last run through the loop. It is still 2008 and 2008 isn’t a leap year. So the code following the "if" keyword is executed.
(can you see this thing starting to run away now…?)
11) Check to see if the value of "days" is greater then 366. 366 isn’t greater then 366, it’s equal to 366…so the code following the "if" keyword is not executed.
12) We’re at the beginning of the loop again…
And that’s where we will keep on ending up until the heat death of the universe, or the Zune’s battery dies, whichever comes first. This is why the Zunes all locked up on December 31st, 2008. The code works fine during a normal year, and on every day but the last day of a leap year. But on the last day of a leap year that loop will run indefinitely, because there is no way out of it on that one day.
Since this code was leaked out into the wild, everybody who does this for a living has an opinion on how to write that algorithm better. There is a kind of fine art and a pure pleasure to some of us in crafting tight, simple, elegant algorithms and some folks have their own deeply held religious beliefs on how to do it best. I haven’t had time to really wrap my head around what this algorithm is doing, but for kicks and grins I might try to write a better version of it myself later. It’s kinda fun to take something like this and try to craft something simple and clean and so logically pure it’s beautiful just to look at. But I’m in a testing and deployment phase of the project I’m one at work now though, and what went through my head when I saw this was they obviously didn’t test how it behaved during a leap year.
This is the world I live and work in. This is what programming is and what programmer’s do. We build these tight little algorithms and embody them in computer code that hopefully allows you to get things done. Except when they don’t.
[Edited a tad to explain the test at the start of the loop, and make some of the rest of it clearer…]
US software giant Microsoft has taken steps to shield from the public, the value of Tax Haven transactions of two Irish-registered subsidiaries that have enabled it to save billions of dollars in US taxes.
The company applied to the Irish Companies Office on Monday to re-register its Round Island One and Flat Island Company subsidiaries as companies with unlimited liability. Unlimited companies have no obligation to file their accounts publicly.
The U.S. taxes that multi-billionaire Bill Gates is using Ireland to avoid are paid for in the end by the rest of us. Which might seem like a good excuse to pirate his software but it isn’t. Because Bill is corrupt is no reason to corrupt yourself. And there is one very good reason to not pirate Microsoft products in any case. They suck. Or more specifically…
Microsoft’s Zune 30GB music player just wasn’t ready for a leap year. That’s what owners of the devices discovered Wednesday morning when they awoke to find their players frozen and unworkable.
The problem turned out to be "a bug in the internal clock driver related to the way the device handles a leap year," Microsoft Zune spokesman Matt Akers said in a posting to Zune forums Wednesday. The issue does not affect all Zune players, but all models of the Zune 30GB are potentially affected, he said.
Zune is Microsoft’s alternative to Apple’s popular iPod devices.
And you can tell it’s Microsoft’s alternative because it took just one tiny little leap second to bring it down to a crashing locked up total halt. Why pirate Microsoft Windows when you can run a Linux distribution for free and have a more reliable, more secure operating system in the bargain. Yes, Linux is more work. But it’s work defeating Microsoft’s anti-piracy schemes too. Why go to the trouble? Just run Linux. If you are smart and skillful enough to defeat Microsoft’s anti-piracy systems you can figure out and run Linux. And then you don’t have to be a thief.
Several digital images that Microsoft Corp. has posted on its Web site to trumpet its new "I’m a PC" ad campaign were actually created on Macs, according to the files’ originating-software stamp.
Four of the images that Microsoft made available on its PressPass site Thursday display the designation "Adobe Photoshop C3 Macintosh" when their file properties are examined. The images appear to be frames from the television ads that Microsoft will launch later Thursday.
One of the images is of a real Microsoft engineer, identified only as "Sean," who resembles John Hodgman, the actor who plays the PC character in Apple Inc.’s iconic ads. Reportedly, Microsoft will play off Apple’s own campaign — during which Hodgman introduces himself with the line, "Hello, I’m a PC" — with its engineer saying "Hello, I’m a PC, and I’ve been made into a stereotype."
I’ve always thought that the PC in those Apple commercials should look less like an office geek and more like a gangster. Seriously…they should get Joe Pesci to play the PC…
I’m a PC. Listen to me. I got your head in a fuckin’ vise. I’ll squash your head like a fuckin’ grapefruit if you don’t give me your fuckin’ money…What? What? My licenses confuse you? You fuckin’ piece of shit…Maybe if I stick your head through that window over there you’ll get unconfused. Give me the fuckin money…
Users of the portable media player can now download friends’ nine most recently played songs, as well as nine tunes flagged as favorites.
Microsoft, which trails far behind Apple in the portable media player market, tried to narrow the gap Tuesday with the release of new technology that enables Zune users to share more of their music libraries with friends.
The latest update to the Zune software that synchronizes the player with a person’s music library on the PC and Microsoft’s online store reflects how Microsoft is hoping to grab market share from the Apple iPod by encouraging Zune users to build online social networks. Microsoft last November launched a music community Web site called Zune Social, where users could browse each other’s playlists and share opinions on songs and bands.
Along with the three new Zune players, including Microsoft’s first-ever flash-based model, Microsoft announced a new community site, dubbed Zune Social that it will fire up as beta in November. According to Microsoft, Zune owners can automatically share their current playlists with friends using a Zune-to-Zune Social sync.
That sync will rely on user-made profiles that Microsoft’s calling Zune Cards; other Zune owners will be able to view a friend’s Card, then play short samples of those tracks and/or buy the tunes at the also-redesigned Zune MarketPlace online store. The sharing concept isn’t new, as several services — notably iLike — already promote something similar.
"Microsoft must find a way to grow the coolness of the Zune," said JupiterResearch’s Michael Gartenberg. "This isn’t a bad strategy, and at least it’s found a way to differentiate from Apple."
Super Cool! And…oh look…here’s another way they can differentiate themselves from Apple…
If you like to download the latest episodes of “Heroes” or other NBC shows from BitTorrent, maybe you shouldn’t buy a Microsoft Zune to watch them on.
A future update of the software for Microsoft’s portable media player may well include a feature that will block unauthorized copies of copyrighted videos from being played on it.
…
Late Tuesday afternoon I reached J. B. Perrette, the president of digital distribution for NBC Universal, to ask why NBC found Microsoft’s video store more appealing than Apple’s.
He explained that NBC, like most studios, would like the broadest distribution possible for its programming. But it has two disputes with Apple.
First, Apple insists that all TV shows have an identical wholesale price so that it can sell all of them at $1.99. NBC wants to sell its programs for whatever price it chooses.
Second, Apple refused to cooperate with NBC on building filters into its iPod player to remove pirated movies and videos.
Microsoft, by contrast, will accept NBC’s pricing scheme and will work with it to try to develop a copyright “cop” to be installed on its devices.
…
Mr. Perrette said the plan is to create “filtering technology that allows for playback of legitimately purchased content versus non-legitimately purchased content.”
He said this would be similar to systems being tested by Microsoft, Google and others that are meant to block pirated clips from video sharing sites. NBC is also working with Internet service providers like AT&T to put similar filters right into the network.
…
Adam Sohn, a spokesman for Microsoft, declined to discuss details of this effort other than to say that the software company is exploring anti-piracy measures with NBC. He said Microsoft, which suffers from its own piracy problems, is sympathetic to Hollywood’s concerns.
Let me unpack that for you: NBC agreed to let its content be sold by Microsoft, because Microsoft is willing to make it’s products block the playback of unauthorized copies. They’re talking about videos there, but does anyone doubt for a moment that same technology will be used to prevent the playback of music too. And remember, The Music Industry Regards Copying From CDs To Players Like The iPod As Theft.
Microsoft is going to help the industry make that impossible. If they can get the technology developed, the industry will then press congress to make it manditory. Never doubt it.
Oh…wait… Microsoft says it’s all been a terrible mistake…
In the Zune Insider Blog, Cesar Menendez, a member of Microsoft’s Zune team, refers to this post, and the blog discussion it prompted. He writes:
We have no plans or commitments to implement any new type of content filtering in the Zune devices as part of our content distribution deal with NBC.
Microsoft, let it be said, is second to no one in its skill at deploying tactical syntax. Let’s unpack all the weasel words in that statement, shall we? We have no plans… Right. Why not say "We will not…"? as opposed to "We have no plans…" How about, "We are not in the planning stage, but the proof of concept stage." Any new type of content filtering… Why not just say "Any content filtering"? New Type? Fine. They already have something on the drawing boards. It isn’t new. As part of our content distribution deal with NBC. Fine. But that isn’t the only deal you have with NBC is it? So are you developing any content filtering, based on an already existing "type", apart from any deals you may have made with NBC, or anyone else…? Do you have any internal efforts directed at content filtering or blocking?.
No…no… It’s just not possible to get straight answers out of Microsoft if they don’t want to give you any. And besides, all you need is to look at Windows Vista to see how devoted Microsoft is to DRM.
Windows Vista is the bloated pig it is, in large measure because of all the DRM technology packed into it. Vendors are having nightmares getting it to work with hardware because of the DRM requirements Vista imposes and Redmond mandates. Your video and audio circuitry must literally have no possible point on it for a user to tap a signal from before it can be certified and Vista will allow the highest quality signals through it. Otherwise it cripples the output. That Redmond would develop technology to allow the music and film industries to control what you can and can not play on your own playback devices is as unsurprising, as the fact that they’ll be deploying it on paltforms running their software with or without the owner’s consent.
They say that men don’t change, they reveal themselves. Once upon a time I made my living programming exclusively on Microsoft platforms. And I felt proud to be a part of a revolution that was bringing power, as the slogan of my generation went, to the people. But empowering the common folk was never what Bill was in it for. He just wanted to own the world. Bill Gates is to computer technology what Mao was to government. He spoke the language of revolution, he posed as a friend of the common people against the powerful. He told them he was about returning to them the power that was rightfully theirs. The computers would be taken out of the big data processing centers and put right there on your own desktop. Your data would belong to you, not big business or big government. Information you need would be directly accessible to you. Bill Gates promised the world would be at your fingertips. And if he really meant that, I wouldn’t care if he was ten times as rich as he is. Instead, he became one of the biggest despots the world ever saw. Your computer belongs to him now. And to his friends in the penthouse board rooms. Men don’t change, they reveal themselves. Here’s to the new boss…
A leaked Dell presentation accused Microsoft of making late changes to Windows Vista which forced key hardware partners to "limp out with issues" when the OS launched last year.
"Late OS code changes broke drivers and applications, forcing key commodities to miss launch or limp out with issues," said one slide in a Dell presentation dated March 25, 2007, about two months after Vista’s launch at retail and availability on new PCs.
The criticism was just one of many under the heading ‘What did not go well?’
Others ranged from knocks against Vista’s Windows Anytime Upgrade scheme, an in-place upgrade option, to several slams on ‘Windows Vista Capable’, the marketing programme that targeted PC buyers shopping for machines in the months leading up to Vista’s debut.
Funny how all the problems with Vista can be boiled down to two things: Microsoft’s tyrannical software license branding/activation scheme, and Vista’s locking down of the hardware to enforce film and music industry anti-piracy schemes.
In an email to CEO Steve Ballmer written less than three weeks after he took over the post, Sinofsky [chief of Windows development] spelled out his three reasons why Vista stumbled out the gate.
"No one really believed we would ever ship so they didn’t start the work until very late in 2006," Sinofsky said. "This led to the lack of availability [of device drivers]."
Okay…that’s bullshit. The reason why hardware vendors got started late, was because they kept having to start over. That’s right there in Sinofsky’s points two and three:
Next on his list: Changes to the operating systems’ video and audio infrastructure. "Massive changes in the underpinnings for video and audio really led to a poor experience at RTM," he said. "This change led to incompatibilities. For example, you don’t get Aero with an XP driver, but your card might not (ever) have a Vista driver."
Finally, said Sinofsky, other changes in Vista blocked Windows XP drivers altogether. "This is across the board for printers, scanners, WAN, accessories and so on. Many of the associated applets don’t run within the constraints of the security model or the new video/audio driver models."
The hardware driver issues arise from Microsoft’s changes to the hardware API to prevent anyone from tapping a pure digital signal and thereby bypassing Vista’s DRM. Microsoft has gone as far as to demand that video and audio circuitry not provide any way for a signal to be tapped directly from the hardware, as a requirement for Vista certification.
The problems with Anytime Upgrade revolved around the fact that you had to have your original install disks so the software could verify that you had a non-pirated copy of Windows XP before it would install Vista. A lot of folks didn’t get those from the hardware vendors. Others had trouble with the validation process that resulted in their computers being rendered inoperable. Some were told that their license was invalid, even though they had legitimately purchased it, and then found they could not downgrade back to XP. For many it was a nightmare.
This is what happens when you put profit over reliability. Software license branding, digital rights management, all add complexity to operating system software, which needs to be as straightforward and elegantly designed as possible for the sake of reliability. But the only thing Microsoft and Hollywood give a good goddamn about in terms of reliability is the sound of the cash register. Microsoft became a multi-billion dollar company distributing software that could be easily copied, and for them to get pissed off enough about piracy that they’re willing to break your computer to make sure it doesn’t have an unlicensed copy of Windows running on it is on its face more a measure of their corporate greed then how bad the problem of software piracy may have been. Windows piracy couldn’t have been so bad if honest software purchasers made Bill Gates a billionaire fifty-six times over could it? Unless of course, even that wasn’t enough money for him.
This is why I’m running Linux at home, and a smattering of Apple Macs. Yes, iTunes has DRM embedded in it too, but Apple seems not as paranoid about it as Redmond. And Linux is open source, so I don’t have to worry that if I have a hardware failure my OS won’t work anymore when I swap out whatever broke with something new. Amazon.Com is selling DRM free music now that I can play on both iTunes and my Linux boxes just fine. I don’t need Microsoft anymore in my home anymore. And the fact is that Linux is a mature enough technology now that most folks, who just use their computers for email, text editing, maybe a little checkbook balancing and web surfing would have no trouble using it at all.
For the moment, it looks like most people are standing pat on XP, or even older versions of Windows. They don’t see the need to upgrade, especially when Microsoft keeps making the upgrade path more and more onerous. Vista is costly not only for the software itself but the hardware you have to buy to run it smoothly. It didn’t have to be this way. Microsoft could have had a hit on their hands if they’d produced Vista for their customers, and not their stockholders and Hollywood media moguls. Greed and paranoia about piracy are killing the music industry. It’ll do the same to the big software companies too if they want it to.
According to the emails made public last week, Microsoft will apply the lessons it learned with Vista the next time around. "There is really nothing we can do in the short term," noted Joan Kalkman, the general manager of OEM and embedded worldwide marketing, in a message written a week after Sinofsky’s. "In the long term we have worked hard to establish and have committed to an OEM Theme for Windows 7 planning.
Committed to an OEM Theme for Windows 7 planning. Committed to an OEM Theme for Windows 7 planning. Committed to an OEM Theme for Windows 7 planning. Take that apart and try to figure out what it means. Go ahead. I give Microsoft another decade before it completely implodes. Nobody cares about their goddamned slogans and buzzwords anymore. It all sounded so cool back when Microsoft was a bunch of bratty young computer geeks running rings around stogy old IBM, but it just doesn’t fucking cut it now.
It was never about the promise of the personal computer was it Bill? It was never about taking technology out of the hands of big corporations and their mammoth data processing centers and putting it on people’s desktops and giving them control over their own data and empowering them. It was all about money wasn’t it Bill? Software was never about empowering people, it was just a way for you to become rich. And now you’re even bigger then IBM, stodgier, and way more paranoid, and all the little computer geek children are writing Open Source software now that anyone can copy and modify and use however they want to and running Linux and BSD and they don’t give a shit about Microsoft. And they’re wearing t-shirts that say, In a world without fences, who needs Gates?
This blog is powered by WordPress and is hosted at Winters Web Works, who also did some custom design work (Thanks!). Some embedded content was created with the help of The Gimp. I proof with Google Chrome on either Windows, Linux or MacOS depending on which machine I happen to be running at the time.