Adopt IANA Standard Time Zones
The .Net BCL TimeZoneInfo class is a wrapper on top of Windows timezone data. Now that ICANN/IANA is formally managing the zoneinfo database (since Oct 14, 2011), Microsoft should favor this standard instead of its proprietary time zone implementation. See http://www.iana.org/time-zones and http://en.wikipedia.org/wiki/Tz_database for further details.
This would allow .Net much greater interopability with other Internet platforms.
Since Windows timezones have been around for quite some time, Microsoft should provide this as an option, perhaps in a different set of classes, with some translation to and from the existing TimeZoneInfo class for backwards compatibility.
(also - it would be ideal if Windows 8 used standard timezones in the OS natively)
Matt Johnson commented
@JohnWelch - Yes, Noda Time is the best third-party implementation for this in existence. But since Windows and .Net still use their own time zones, that introduces translation errors. CLDR data (also in NodaTime) can assist with conversions, but are still imperfect.
Also - IE11 is supposed to be supported ECMA-402 (http://www.ecma-international.org/ecma-402/1.0/) which requests native support of IANA time zones. Trying any of these with the IE11 dev preview just gives a timezone of "undefined". :(
Really Microsoft - I thought your teams were supposed to be cooperating better thanks to the re-org? If so, get EVERYONE on board with IANA time zones. That means .Net, Windows OS, Internet Explorer, Windows Phone, XBOX, etc. This is a cross-cutting concern with major influences. I cannot fathom why it has gone unaddressed for so long.
This could even roll out to Windows XP via Windows Update. Just use the CLDR data to convert to the approximate IANA zone during the rollout. (I'm sure it's more involved than that, but it is certainly possible and has many benefits!)
John Welch commented
Try looking at the NodaTime open-source project http://nodatime.org/ for this
Code Chief commented
Yes and it is also necessary because all access to time zone information has been removed in Windows Store Modern UI / WinRT level framework (subset).
We need Microsoft to re-implement the full TimeZoneInfo in all (portable, ModernUI/WiinRT and future) frameworks based on a snapshot of the IANA database and update it with Windows Update when changes occur. That way our programs never have to be updated but always use the current time zone data. The time zones don't change that often I presume so that would satisfy most people.
If the internal time zone data is too big AND cover special requirements for historical and astronomical projections, the TimeZoneInfo should also have a public constructor (in the portable library) and JSON serialization compatible data annotations so that a RESTful web API request can provide any other information in the correct format.