Penguin
Note: You are viewing an old revision of this page. View the current version.

Here are some things that MicrosoftCorporation have done to frustrate competitors. Remember - DOS ain't done 'til Lotus won't run.

Website discriminates against browser

Microsoft's Knowledge Database (and maybe other parts of their vast web site) renders badly with "other" browsers, for example with overlapping text so that parts are unreadable. It isn't just carefully crafted code that gets handled differently - their webserver sends back different data depending on how your browser identifies itself

$ URL="http://support.microsoft.com/default.aspx?scid=kb;EN-US;314458" $ IE_UA="Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; YComp 5.0.2.6)" $ OTHER_UA="Mozilla/5.0 Galeon/1.2.2 (X11; Linux i686; U;) Gecko/20020524" $ wget --user-agent="$IE_UA" --output-document=ie.html $URL $ wget --user-agent="$OTHER_UA" --output-document=not_ie.html $URL $ ls -l

  • rw-r--r-- 1 jrm21 ugrad 28923 Nov 25 16:34 ie.html
  • rw-r--r-- 1 jrm21 ugrad 26701 Nov 25 16:34 not_ie.html
One difference is that ie.html includes
<link rel='stylesheet' type='text/css' href='/common/css/GN/en-us/standard/default.css' > <link rel='stylesheet' type='text/css' href='/common/css/GN/en-us/standard/KBArticleV2.css' > <link rel='stylesheet' type='text/css' href='/common/css/GN/en-us/standard/webparts.cs' >

compared to

<link rel='stylesheet' type='text/css' href='/common/css/GN/en-us/down-other/default.css' > <link rel='stylesheet' type='text/css' href='/common/css/GN/en-us/down-other/KBArticleV2.css' > <link rel='stylesheet' type='text/css' href='/common/css/GN/en-us/down-other/webparts.css' >

Update - (early 2004). They seemed to have changed their mind about this... the microsoft websites now seem to work with non-Microsoft browsers (other than windowsupdate.microsoft.com, of course).

Read-only Changes to Windows Registry

The HKEY_LOCAL_MACHINE part of the registry is not writable by users without "admin" rights on Windows 2000 (and presumably XP). This breaks lots of software that stored program settings in here, meaning they either won't install, or won't run. Netscape 4.7 has (had?) this problem. To be fair, this might not have been done for the purpose of breaking software, but as a security measure. In Windows NT based OS's, this registry key is for machine configuration settings, the browser customizations are user specific and should be saved in HKEY_CURRENT_USER. In fact, all user configuration should be placed in user registry hives. In retrospect it looks like sloppy programming by the software manufacturer; if you come across this problem, you should let the manufacturer know.

Email Formatting

Outlook and Outlook Express do lots of little things that make messages look funny on non-Outlook email clients.

  • If "Rich Text format" is turned on for outgoing email messages, instead of plain RTF, it is wrapped in a proprietary binary format and given a mime type of "application/ms-tnef". This format can hold attachments so it's possible that it "swallows" a .DOC attachment so you can't even save the file...
  • Putting funny things in the content. Eg - look at the first word in the plain text part

    ... X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 . This is a multi-part message in MIME format. . ------=_!NextPart?_000_0069_01C1CE83.152A0EC0 Content-Type: text/plain;

    charset="iso-8859-1"

    Content-Transfer-Encoding: 7bit .

    MessageHi?,

    when is Hal getting here? ... . ------=_!NextPart?_000_0069_01C1CE83.152A0EC0 Content-Type: text/html;

    charset="iso-8859-1"

    Content-Transfer-Encoding: quoted-printable . <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>Message</TITLE> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML 5.00.3103.1000" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT color=3D#0000ff face=3DArial size=3D2><SPAN=20 class=3D109264301-18032002>Hi,</SPAN></FONT></DIV> <DIV><FONT color=3D#0000ff face=3DArial size=3D2><SPAN = class=3D109264301-18032002>when=20 is Hal getting here? ...

  • Claiming the text is encoded using the iso-8859-1(7) standard, or the ascii(7) standard, while the text is really encoded using one of Microsoft's own character sets, making some characters turn out "weird" - especially single- and double- quote marks, and copyright/registered trademark symbols. (These characters are deliberately encoded in positions that the ISO standard marks as "reserved")

Microsoft Business Practices

Windows 3.1 gave a warning message if it was being run on DRDOS rather than MSDOS, even though it worked just as well on either. Presumably this was to scare people into only using MSDOS. see AARD Code

When Microsoft decided to enter the web browser market, they didn't start by writing Internet Explorer from scratch; they licensed web browser software from Spyglass. The license agreement gave Spyglass 5% of gross revenue on sales of the product, which doesn't sound too bad. However, given that they get most of their revenue from Windows and Office sales, Microsoft has always given Internet Explorer away for free, and what is 5% of 0?

In the early nineties, a company named "Stac" had as its flagship product a program named "Stacker", that transparently compressed and then de-compressed files on-the-fly. This product had versions for MS-DOS version 5, IBM's OS/2, and Apple's Macintosh operating systems. Microsoft were interested in incorporating this functionality in their next version, MS-DOS 6, and approached Stac about licensing. During discussions, Microsoft gained information about technical details of the software. When MS-DOS 6 came out, it included !DoubleSpace?, which eventually a jury found infringed on Stac's patents, and Stac was awarded US$120 million damages. But by then it didn't matter, as their product was effectively marginalised. (Incidentally, Microsoft counter-claimed that Stac had illegally reversed engineered MS-DOS because they were using undocumented DOS functions). Also, MSDOS 6.0 included changes that broke Stacker, although the company quickly produced an updated version that worked with 6.0.