No, not that M, the other M, the one called Max

Code names are rampant at Microsoft. One of the purposes of a code name is to impress upon the people who work with the project that the name is only temporary, and that the final name will come from the marketing folks (who sometimes pull through with a catchy name like Zune, and who sometimes drop the ball with a dud like Bob and who sometimes cough up monstrosities like Microsoft WinFX Software Development Kit for Microsoft® Pre-Release Windows Operating System Code-Named "Longhorn", Beta 1 Web Setup).

What I find amusing are the project which change their code names. I mean, the code name is already a placeholder; why replace a placeholder with another placeholder?

One such example is the experimental project released under the code name Max. The project founders originally named it M. Just the letter M. Not to be confused with this thing code named M or this other thing code named M.

In response to a complaint from upper management about single-letter code names, the name was changed to Milkshake, and the team members even made a cute little mascot figure, with a straw coming out the top of his head like a milkshake.

I'm not sure why the name changed a second time. Perhaps those upper level managers didn't think Milkshake was a dignified-enough name. For whatever reason, the name changed yet again, this time to Max. (Wikipedia claims that the project was named after the pet dog of one of the team members; I have been unable to confirm this. Because I haven't bothered trying.)

There's no real punch line here, sorry. Just one example of the naming history of a project that went by many names.

Bonus chatter: Apparently the upper management folks who complained about the single-letter code name M were asleep when another product was code-named Q (now known as Windows Home Server).

Comments (29)
  1. Adam Rosenfield says:

    Those two code names are eerily similar to the two (unrelated) 3D modeling programs 3ds Max and MilkShape 3D.

  2. Brian G. says:

    The link to isn't valid anymore.  Has M/Milkshake/Max turned into a real product these days?

    [Link fixed, thanks. -Raymond]
  3. John says:

    In the spirit of yesterday's discussion, I propose we replace code names with GUIDs.  Who's with me?

  4. Frank Cheng says:

    Raymond was probably talking about this "Max" (…/Microsoft_Max )

  5. Danny Moules says:

    Let's not forget the entire programming language known as 'M'. AKA MUMPS. Or colloquially around these parts: 'that piece of crap language, don't you dare put me anywhere near that thing'. Which is different from Microsoft's own M language, of course. And definitely not to be confused with M, AKA MATLAB – another completely unrelated programming language.

  6. Tim says:

    Years ago I seem to remember that there were two competing products inside Microsoft, one called "Highlander" and their rallying cry (tag line) was "There can be only one!".…/Highlander_%28film%29

  7. Diego says:

    What I'd like to know is the reason why Microsoft uses cool code names for technologies like Indigo and Avalon… and then sells them as WCF and WPF.


  8. Jim Lyon says:

    Windows Home Server was originally code-named "Quattro", but that got changed to "Q" due to fear of infringing on others' trademarks.

  9. Charlie Kindel says:

    Actually, Raymond, here's the full story on the Windows Home Server codenames:

    The incubation PROJECT for Windows Home Server, when I first started it, was called Quattro. I named it this because this was my fourth attempt to incubate a home server project at Microsoft. The "team" was literally just myself when I first wrote the words "Project Quattro" on a document.

    As we progressed and the incubation project transitioned into actually building a PRODUCT, we needed a codename (because the final product name had not been decided and we needed to call it SOMETHING). I wanted to just call it Quattro, but there's always a risk of using trademarked names for codenames, even if they are never intended to "go public".  Quattro is trademarked by multiple parties including Audi, Schick, and Borland (!). Microsoft's legal department has guidelines to avoid codenames that might infringe on trademarks and one is to use names of physical places (e.g. cities).  My project planner, Todd, suggested…/Qaanaaq but we deemed that too esoteric.  Then we just decided on "Q".

    After Windows Home Server v1 shipped and we were starting to work on V2, someone on the team came by my office and asked me "Charlie, where did you grow up?"  I said "Vail, Colorado".  The next thing I knew V2 was codenamed "Vail"….

  10. bzakharin says:

    I thought this would be about Memphis/Cairo/Blackcomb/Longhorn (Yes, I know that these are not synonymous, but they were so broadly defined that they overlapped. I also know that Cairo turned into Windows 98 and Longhorn into Vista. Wikipedia claims Blackcomb is Windows 7. I'm dubious, but if they're right 7 itself went from Blackcomb to Vienna to Seven). I recall a joke about the then upcoming Windows .NET, that they could remove the E and just call it Windows NT again.

    [Don't believe everything you read on Wikipedia. -Raymond]
  11. James Curran says:

    And, let us not forget "M" the released product name of the "Microsoft Editor", MSFT's first (as far as I know) full screen text editor. I can't recall now if it was intended as a general purpose text editor, or specifically for programmers.  It would soon lead to PWB – The Programmer's Work Bench and then to QuickBasic and eventually VisualStudio.

  12. Alex Grigoriev says:

    Obligatory "my Milkshake is better than yours".

  13. NT says:

    As someone who worked on windows client, my recollection is:  "Longhorn" started out as the umbrella under which Whistler and Blackcomb (Client/Server) lived, and then later came to mean "Vista" (Client — we got longhorn hats at one point while we were killing ourselves to ship pre-reset, if I recall correctly), and then when Vista neared actual shipping, somehow Longhorn magically morphed to mean Server.  I think Longhorn was one of the most misunderstood codenames ever, and that was by the people working on it. :)

  14. Extremist says:

    But why was Max killed? What was wrong with a cool WPF app for P2P sharing of photos? Such products should be released unsupported instead of killed. Whoever killed it must be the same guy who decided to kill Windows PowerToys and created the atrocious policy of no unsupported downloads.

  15. Timothy Byrd says:

    At my current job, we use trees as code names. By the time we release, we are so used to the code name we still use it internally. [Does a quick check.] And, yep, the code name is still in the file version resource for our latest release.

  16. configurator says:

    Milkshake sounds like the 13th version of Android.

  17. mrod says:

    I was an intern on the Microsoft Max team in summer 2006. I think the milkshake reference was from a song that not everyone liked. I can't confirm about the dog, but I think I remember hearing that the dog belonged to one of the PMs.

    Raymond: If you're curious,…/dancre might remember.

    Extremist: A build of Max without the sharing features was released after the project ended, but I can't find the link now. I think all you could do was view photos.

  18. mrod says:

    To confirm: "The name for Max (the product) was inspired by the name of a coworker's dog." –…/479184.aspx

  19. SimonRev says:

    For a long time we used to use the names of small towns in rural Utah for our code names.  Then someone came up with the idea to use restaurant names in the hopes that the management team would send the project team there for lunch upon completion.  

    That worked well, but now no one will work on the projects named after po-dunk towns for fear they will be sent there for lunch instead.

  20. M Hotchin says:

    And of course, sometimes the 'codename' will stick!  I worked on an internal tool code named 'Espresso'.  So of course, when we shipped, we called it… 'Espresso'.  Nobody could be bothered to come up with a 'real' name!

    As far as I know the tools is still in use, but was renamed for V4 into something boring.

  21. Office Linebacker says:

    @Hotchin: The same thing happened where I work. My company was developing a tool for monitoring breakages in our build system, which had been affectionately codenamed 'Terry', after Terry Tate ( There was some consternation that this probably wasn't an appropriate name for a finished product, but the damage was done. That's what it's called to this day.

  22. Eric Lippert says:

    I have a rule, called "Lippert's Rule For Naming Products" which is that management is allowed to change the name of my product *once per version*. If they change it twice, *they* can be the people who scrub the source code looking for stray instances of the now-forbidden string. I did it once, I'm not gonna do it again. I instituted this rule after "Windows Script Thingies" because "Windows Scriptlets" became "Windows Script Components" in the space of a couple of days; the rule has served me well since then.  (And I know what you mean about monstrosities, having worked on "Microsoft Visual Studio .NET 2005 Tools For Microsoft Office System 2003" or whatever the heck VSTO's formal name was. It had "Microsoft" in it *twice* for heaven's sake.)

  23. Extremist says:

    mrod, Max required the online service and with it shut down, it was dead. I don't remember any build released that worked without the then non-existant service.

  24. Worf says:

    How appropriate.. Windows Embedded Compact 7 (WinCE 7, for those who keep trying to figure out the name lineage ("Windows Embedded" sounds great, until you run into Compact, Mobile (Handheld?), Standard, Enterprise and Server, which mean CE, WinMo and XP/7…) shipped today, codenamed "Chelan".

    Raymond's timing is uncannily impeccable again.

    Of course, one of the problems with codenames per version is you're dependent on a table to map the name to a version, and some are known better by their number, others by name. And when the official pages delete the codename, that mapping can get lost. And then your customers will ask for support… either by version or name, usually the one you're least familiar with.

  25. Jonathan says:

    Our MSFT product has gone through 3 name changes in several weeks. One of the devs grew tired of it, and created an official "productname.sed", with little sed scripts replacing it everywhere it appears.

  26. Neil says:

    Strange that the only two single-letter code names should be M and Q. Sounds like something straight out of 007.

  27. Ben says:

    I worked on Max. It was indeed named after somebody's dog.

  28. Charlie Kindel says:

    Neil – one of the reasons "Q" appealed to me was Q was the gadget guy in Bond and Windows Home Server is a gadget…

  29. Michael G says:

    I can't help but picture the Milkshake mascot as "Master Shake" from Aqua Teen Hunger Force.  I'm kind of hoping this really was the logo.…/Master_Shake

    For those not familiar with the show or the character, I guess wikipedia's description of "acerbic manner" captures it well enough.  Definitely not your first choice for corporate mascot.

Comments are closed.

Skip to main content