The great Polish Sea -or- We forgot Poland!


Open up the Date and Time control panel and go to the Time Zones tab. Notice anything wrong with the world map? Take a close look at northern Europe.

Depending on what version of Windows you have, you might see a body of water where Poland should be. Windows 95 didn’t have this problem, but Windows 2000 did. And whether your copy of Windows XP has this problem depends on precisely what version you have.

Where did the great Polish Sea come from?

This weekend marks the end of Summer Time in Europe, and the answer has to do with time zones.

Recall that the Windows 95 control panel highlighted your current time zone on the map. To accomplish this, each time zone was assigned a different label in the time zone bitmap. To draw the map, the portions of the world whose label was the same as the selected time zone were drawn in bright green, and the parts that were different were drawn in dark green. So far so good.

When the highlighting on the time zone map had to be disabled, all that happened was that the “color for the selected time zone” was set to dark green. The code still went through the motions of drawing the time zone in a “different” color, but since the colors were the same at the end of the day, the visual effect was that the highlighting was removed.

To determine which parts of the world are land and which parts are sea, the time zone map enumerated all the time zones as well as the labels associated with each time zone. (You can see them in the registry under “MapID”.) In this way, the land masses of the world gradually emerged from the ocean as the time zones claimed each spot of land one by one.

The shell team did make one fatal mistake, however, obvious in retrospect: It assumed that the world’s time zones would never change. But what happens when a country changes its time zone, as Poland did? At the time Windows 95 was released, Poland was on its own custom time zone, which Windows 95 called “Warsaw Standard Time/Warsaw Daylight Time”, but it didn’t stay that way for long. Just within Windows 95 and Windows 98, Poland’s time zone went by the following names:

  • Windows 95: (GMT+01:00) Warsaw
  • Windows 95: (GMT+01:00) Lisbon, Warsaw
  • Windows 98: (GMT+01:00) Bratislava, Budapest, Ljubljana, Prague, Warsaw
  • Windows 98: (GMT+01:00) Sarajevo, Skopje, Sofija, Warsaw, Zagreb

And that’s not counting the changes that were made in Windows NT, Windows 2000 or Windows XP or their service packs. It’s not that Poland’s time zone actually changed that many times. Rather, the way it was grouped with its neighbors changed. I don’t know why all these changes were made, but I suspect political issues played a major role.

As a result of all this realignment, the “Warsaw Standard Time” time zone disappeared, and with it, its associated land mass. Consequently, the land corresponding to Poland remained underwater. And for some reason, nobody brought this problem to the attention of the shell team until a couple years ago.

In order to fix this, a new world bitmap needed to be made with new labels (labeling the pixels corresponding to Poland as “Central European Time”) so that Poland would once again emerge from the sea. Even though the highlighting is gone, the map code still needs to know where every time zone is so it can raise them from the ocean floor.

Fortunately, all this will soon fall into the mists of history, because Windows Vista has a completely rewritten time zone control panel, so the mistakes of the past can finally be shed. Let’s hope the people who wrote the new time zone control panel remembered Poland.

Comments (56)
  1. Bilbo says:

    I can’t look, I don’t “have the proper priviledges to change the System Time.”

    [From an account that has permission to do so. I
    can’t believe I had to write that. I should also mention that you need
    to turn on the computer, and the computer needs to be running an
    applicable verison of Windows, and you need to log on with the correct
    password. -Raymond
    ]
  2. Time Cop says:

    Is there any non-obvious negative impact to select "wrong" timezone group that have the same utc offset?

    The time zones on windows mobile has fewer contries (capitals) in each group, at least what is displayed in gui.

  3. Aaron Margosis says:

    @Bilbo:  this might help:  http://blogs.msdn.com/aaron_margosis/archive/2005/02/11/371474.aspx

    @Time Cop:  I’ve always assumed that there are multiple groups with the same UTC offsets because of differences in whether/when they switch to a Daylight Savings time.

  4. Pops says:

    I’m hoping San Diego is not at the center of any new map. Splitting the map at the approximate Asia/Europe boundary just so North America can be in the middle is silly — splitting it down the middle of the Pacific makes more sense.

  5. anon says:

    @pops: Amen.

    But then I’m originally from Europe. So I expect that the prime meridian is in the middle.

    In China though, Beijing is the middle of the world map, and Europe is all squished to the left…

  6. Jonathan says:

    I’m hoping San Diego is not at the center of any new map. Splitting the map at the approximate Asia/Europe boundary just so North America can be in the middle is silly — splitting it down the middle of the Pacific makes more sense.

    Doesn’t the current timezone map recenter based on the selected timezone.  (So the approximate center of the selected timezone is always in the middle of the map).

    Hmm, at least on my install of XP (complete with sunken Poland) the map recenters when you change timezone.

    So did you just dislike the fact that after install the default timezone is Redmond, Washington’s?

  7. joe says:

    George W. Bush never would have forgotten about Poland.

    http://www.talkleft.com/story/2004/10/05/119/58087

    [Nothing spoils a joke like explaining it. -Raymond]
  8. Cody says:

    [… I can’t believe I had to write that. … -Raymond]

    I think the "I can’t believe I had to write that" comments are the best.  Especially when I’m dumb enough to be the butt of it.  Though, I do believe Bilbo was trying to be funny.

  9. Cody says:

    @ pops:  I think the center of the map should the selected time zone (or the center of the country of your choice, if MS wanted to do that) since that seems to be how pretty much every culture learns geography.

  10. Cody says:

    I’m sorry for the triple post:  Apparently XP does that.  I never tested that before, since I rarely change my time zone.  Yay for intuitive decisions.

  11. Mike Dimmick says:

    I’m not sure why there’s a division between Amsterdam and Madrid (for example) since all EU countries have, since at least 1996, used the same dates for going into/out of summer time. Source: http://wwp.greenwichmeantime.com/time-zone/rules/eu.htm

    Prague should probably be in the same group as well, as the Czech Republic has been a member of the EU since May 2004. Bulgaria and Romania are due to join in January 2007.

  12. George Jansen says:

    Weren’t Ellen Barkin & Al Pacino in a movie about this–The Sea of Lvov?

    [Ooh, bad puns. Now we’re talkin’! -Raymond]
  13. romulo says:

    “… because Windows Vista has a completely rewritten time zone control panel, so the mistakes of the past can finally be shed. Let’s hope the people who wrote the new time zone control panel remembered Poland.”

    I also hope they remembered countries like Brazil and Israel, whose Daylight Saving Time dates change almost every year. Or that another friendly built-in tool automatically handles this.

    People generally don’t understand that, when entering DST, what actually goes on is a change on the time zone, and not on the clock itself. The result is everybody turning off time synchronization and blaming the e-mail client for not properly ordering the messages by date.

    [Ah yes, Brazil and Israel – the bane of time zone programmers everywhere. Thankfully, Vista has so-called dynamic time zones which allow different cutover dates for different years. -Raymond]
  14. mikeb says:

    This has to rate as one of the best bugs ever!

  15. Antarctica Missing says:

    I would prefere selecting from a round globe. Just use the bumpearth sample from previus DirectX SDKs please.

    [So people can’t change their time zone from Safe Mode? (No DirectX in Safe Mode.) -Raymond]
  16. Little Caesar says:

    My favorite has got to be the map they sell in Australia where Oz is in the top left… It’s like you’re looking at a whole other planet…

  17. The Poland Sea Provate a fare doppio click sull’orologio nella barra di Windows del vostro PC (se ha XP) e selezionare il pannello "Fusi orari". Nella cartina del mondo che viene disegnata in quella schermata al posto della Polonia c’&egra

  18. moff_x86 says:

    Well, given current political situation in Poland, it would be better for this country to be covered with sea water to up to the Warsaw level.  Most of the developers live in the south, so no harm would be done.  

  19. Time Cop says:

    > Bumpearth…

    > [So people can’t change their time zone from Safe Mode? (No DirectX in Safe Mode.) -Raymond]

    Of course there have to be a safe fall back. In the same way there’s a safe fall back for other unnecessary 3d gui stuff like aero.

    [Speccing out, implementing, and testing two visual styles was bad enough. Now you want somebody to spec out, implement, and test two time zone pickers? Having two versions of the same thing is the exception, not the rule. -Raymond]
  20. foxyshadis says:

    So with a few hex edits by someone enterprising we can get highlighting back? xD It’d be a neat hack, if not exactly useful.

  21. umesh says:

    Does Vista’s time zone picker have a map? i don’t think so.

  22. Puckdropper says:

    For time zones, you almost need to have the ability to implement a custom set of rules.  On this date and time, advace/retard the clock by this amount of time.

    Darn stupid human tricks… makes life harder for the smart ones.

  23. Clearly, the solution is to add DirectX to Safe Mode.

    Clearly.

  24. Archangel says:

    Clearly, since it’s also clear that a time zone picker would just be better in 3D, because after all, it’s one more D!

    It’s been a while since I looked at that dialog, but is it totally silly to ask why they needed to go through this process of raising each time zone from the sea? Once the highlighting was gone, couldn’t they just use a bitmap?

    I suppose it was quicker and easier to just change the highlight colour?

    [You can’t change bitmaps in a hotfix or service pack. That creates localization problems. Therefore, the original fix had to be code-only. -Raymond]
  25. /df says:

    In XP SP2, the following regedit script fixes this, as far as I can see.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime ZonesCentral European Standard Time]

    "MapID"="2,65" ; was "2,3"

    Region 2 is the formerly visible vertical stripe for CEST. Region 3 is its land component.

    What’s not obvious is why this change doesn’t make region 3 disappear at the same time.

    Fortunately region 3 is also mentioned under "W. Europe Standard Time".

  26. Hamilton Lovecraft says:

    <i>"Doesn’t the current timezone map recenter based on the selected timezone.  (So the approximate center of the selected timezone is always in the middle of the map)."</i>

    Yes — now that that highlighting is gone, that’s the *only* thing the map is good for.

  27. Dave's Place says:

    I saw this and had to post it. The great Polish Sea -or- We forgot Poland! Let the polish jokes commence…. …

  28. Promit Roy says:

    So, I decided to drop into my time zone panel and take a look. I found the results a little disturbing:

    http://xs108.xs.to/xs108/06436/dtprops.jpg

    Where’s Scandinavia? It’s there, though unrecognizable, because it’s no longer a peninsula. If you want to provide any insights into how I’ve gained several non-existent land masses, that’d really be interesting.

  29. Nalle Luppakorva says:

    Poland has been on the same time zone and has been using the same DST rules as most EU countries since 1988. So, all these silly changes between various Windows releases were inventions of Microsoft, without any connection with reality.

    And why has Bulgaria been put in the CET time zone? They use EET, which is 1 hour earlier.

  30. kierepka says:

    Nice – there are several articles in Polish computer related newspapers about this bug ;)

    Kind regards from Poland

    Mateusz

  31. Dewi Morgan says:

    Nah, to me the "I can’t believe I had to write that" are the worst parts, as a fair portion of the time (as this one), the misunderstanding is on Raymond’s side.

    My own favourites are the explanations: "No DirectX in Safe Mode"; "You can’t change bitmaps in a hotfix"; "Having two versions of the same thing is the exception, not the rule" – I *love* these! They’re what I read the blog for: descriptions of the design considerations and restrictions and gotchas that the widows programmers have to take into account. They seem like obvious truisms, and some are: but how many of us would catch all of them before starting to type in code?

  32. Todor says:

    Speaking of my beautiful country, Windows made it travel a lot during last 10 years. I don’t remember what Windows 95 was thinking but according to NT Bulgaria was happily living in GMT+2. Windows 98 changed all this and the infamous "Windows 98: (GMT+01:00) Sarajevo, Skopje, Sofija, Warsaw, Zagreb" appeared. Windows 2000 added another twist – now the fourth day of the week is called "четвъвтък" instead of "четвъртък". In English that would be roughly written as "thurseay" instead of "thursday". Yes, the person who had written this word just pressed the key above the right one but this slipped through the spell-checker and survived 5 service packs!  Happily for us, Windows XP returned all of us back to east form Serbia and west from The Black Sea. Or is it? Well Bulgaria has more traveling to do! There was an artifact left in the Windows Setup. If the user answers "Bulgaria" when asked "Where are you" then the setup suggests timezone GMT-8. The bizarre thing is that GMT-8 is not even the first entry in the drop-down list and the explanation "the list is unitialized and shows its first entry" is not correct. This was lastly fixed in Vista RC2 and I was really shocked to see it working properly after 11 years traveling between continents.

  33. Ross Bemrose says:

    Well Bulgaria has more traveling to do! There was an artifact left in the Windows Setup. If the user answers "Bulgaria" when asked "Where are you" then the setup suggests timezone GMT-8. The bizarre thing is that GMT-8 is not even the first entry in the drop-down list and the explanation "the list is unitialized and shows its first entry" is not correct. This was lastly fixed in Vista RC2 and I was really shocked to see it working properly after 11 years traveling between continents.

    GMT -8 just happens to be the time zone that Redmond, WA is in.  I assume it’s some kind of default.

  34. cli rox says:

    > [So people can’t change their time zone from Safe Mode? (No DirectX in Safe Mode.) -Raymond]

    So a dx10 compatible graphics card isn’t a vista requirement after all?

    [Safe Mode uses the plain VGA driver for maximum
    safety. (And please remember the distinction between minimum technical
    requirements and minimum design requirements.) -Raymond
    ]
  35. Neil says:

    [You can’t change bitmaps in a hotfix or service pack. That creates localization problems. Therefore, the original fix had to be code-only. -Raymond]

    That doesn’t seem to explain why Windows 2000 didn’t use a static bitmap.

    [Nobody had yet reported a problem with the bitmap so there was no need to change anything. -Raymond]
  36. - says:

    But the sea was also highlighted, so the zones have to claim the sea too?

  37. Dean Harding says:

    > So a dx10 compatible graphics card isn’t a vista requirement after all?

    No, and it never was.

    To expand: you only need a *DX9* video card (with PS 2.0) if you want Aero. If you don’t want Aero, then you don’t even need that.

  38. required says:

    I do believe Bilbo was trying to be funny

    I thought he was just pointing out a basic flaw.

    "For Windows 2000, in reluctant recognition of the way people had been mis-using the Date/Time control panel, it was rewritten so that it doesn’t change the system time until you hit the Apply button."

    http://blogs.msdn.com/oldnewthing/archive/2005/06/21/431054.aspx

    In Windows XP they’ve made sure the average user no longer has the possibility to use the calendar the way they have for years.

  39. David Walker says:

    Romulo A. Ceccon says "People generally don’t understand that, when entering DST, what actually goes on is a change on the time zone, and not on the clock itself."

    I’m not sure I believe that.  I think the clock is what changes.  Do you have any references?

    Wikipedia’s explanation says:

    "When DST begins, the day loses one hour (hour interchange of -1). At this date, a full hour is skipped and does not exist either before or after the transition, so this date includes only 23 hours.

    When DST ends, the day gains one hour (hour interchange of +1). At this date, the same hour occurs twice, first in daylight (summer) time, and then in standard (winter) time, so this date includes 25 hours."

    My digital cable schedule for late  Saturday night/early Sunday morning listed shoes starting at midnight, 12:30 AM, 1:00 AM, 1:30 AM, 1:00 AM, 1:30 AM, 2:00 AM…  Cool.

  40. David Walker says:

    In the previous post, "shoes" should be "shows", of course.  

  41. GregM says:

    David, I assume that Romulo was referring to the clock of an actual running computer, and that the computer’s clock doesn’t change value any differently at the time that DST starts or ends than it does for any other second of any day, but that the offset from GMT/UTC to local time changes.

  42. David Walker says:

    GregM: He didn’t make that clear.  Yes, the offset from local time to UTC changes, since the local computer clock changes, but your TIME ZONE doesn’t actually change.  I’m in the Mountain time zone in the US, whether it’s Mountain Standard Time or Mountain Daylight Time.

    He might have been trying to say what you said, but he might have also mistakenly thought that your time zone will change.  

  43. Miral says:

    "Mountain Standard Time" and "Mountain Daylight Time" *ARE* different timezones — one is an hour ahead of the other.  QED.

    That you automatically transition from one to the other on certain dates is a political quirk.  But you are changing timezones.

  44. Igor says:

    >So people can’t change their time zone from Safe Mode?

    Who in their right mind would enter safe mode to do just that?

    By the way, how many other more important things don’t work in safe mode?

    [Time is very important. Many security systems are
    time-based. But if you don’t buy that, then fine, let’s try it again:
    So people
    can’t change their time zone via Remote Desktop? Remote Desktop doen’t
    support DirectX either. (My point is that changing the time zone is
    something basic enough that you shouldn’t require DirectX to do it.)
    -Raymond
    ]
  45. Anonymous says:

    Why do we even bother with Daylight Savings Time anymore?

  46. Foo Bar says:

    [Time is very important. Many security systems are time-based. But
    if you don’t buy that, then fine, let’s try it again: So people can’t
    change their time zone via Remote Desktop? Remote Desktop doen’t
    support DirectX either. (My point is that changing the time zone is
    something basic enough that you shouldn’t require DirectX to do it.)
    -Raymond]

    Couldn’t you, you know, just not display the useless eye candy if
    DirectX isn’t supported.  If worse comes to worst you can just
    type “GMT+6″ or something.

    [How about this: Just have the same interface
    regardless of whether DirectX is enabled or not. That way you don’t
    have people wondering, “How come I’m not getting the spinning globe but
    my friend Bob does?” -Raymond
    ]
  47. Neil says:

    [Nobody had yet reported a problem with the bitmap so there was no need to change anything. -Raymond]

    But why wasn’t the original fix, which was known to have been
    artificially restricted to be a code-only hack, restricted to Windows
    95 and its service releases?

    [Why change something that isn’t broken? -Raymond]
  48. Stephen Jones says:

    If I can get Poland back by changing the registry setting (and it works) does that mean I can sink another country by the same process.

    If so, the possibilities for fun are endless.

  49. Neil says:

    [Why change something that isn’t broken? -Raymond]

    But it is broken, inasmuch as the correct fix of converting the
    display to a static bitmap was never implemented. I accept your
    explanation that changing bitmaps wasn’t appropriate at the point in
    the code cycle when the display issue was raised, but at the very least
    a reminder to fix it properly should have been logged somewhere.

    [But it wasn’t broken. Why fix something that
    isn’t broken? Remember, everything comes at a cost. What feature are
    you going to kill to get this “fix” in? -Raymond
    ]
  50. PJ says:

    The West Australian Govt is once again toying with the idea of daylight savings (d’oh!). There may be an upcoming trial if legislation goes through Parliment.

    My understanding is there will be a referendum following the trial (anywhere from 1-3 years).

    Would Vista be able to handle potentially WA starting up daylight savings after a hiatus of 20+ years, and then possibly going back to no daylight savings?

  51. Neil says:

    [But it wasn’t broken.]

    I think we’ll have to agree to disagree on the definition of broken. I do still wonder whether the disappearance of Poland would have gone unnoticed without the colour hack.

  52. Norman Diamond says:

    Among fixes I made to various machines recently as the visiting IT person, an easy one was a time zone.  I had to explain to someone "Of course your country doesn’t have a time zone because Microsoft said it doesn’t, but you can’t randomly choose a neighbouring country with the same GMT offset.  You have to choose a neighbouring country that matches your country’s rules on whether daylight savings time exists."

    Meanwhile Japan has the gall to be incompatible with Windows.  For generations the country has called the time zone Japan Standard Time, but for generations the country should have known to call the time zone Tokyo Standard Time.  Vista changed this.  Some builds said that Japan was in Tokyo Daylight Time.  Since Microsoft is more powerful than the US government and the US government is more powerful than the Japanese government, I thought Japan would have to knuckle under and adopt daylight savings time.  But then oops, as far as I can tell, some later builds of Vista have failed to be compatible with earlier builds.

Comments are closed.