Microsoft is finally adapting

Tweet

Let me start of by saying that I’m a proponent of a lot of the development tools that Microsoft makes. Some might go so far as calling me a Microsoft fanboy in some cases. However, my feelings toward Microsoft technology is far from blind about it’s shortcomings. I’ve spent hours getting my CSS layouts to look right in IE, banged my head against the wall debugging cryptic .NET error messages and have accepted the fact that my Treo needs to be reset at least once a month.

Fortunately, Microsoft has been making some changes lately; not just in their technology, but also in their approach to technology. The longevity of IE6 was a testament to how slow Microsoft moves, but over the last year they’ve started talking about being more agile and getting rid of the 2 year delays and slow release schedules. Some of these new approaches have actually started to show between the MIX conference earlier this year and the reMIX Boston conference held earlier this week. Some of the changes were subtle, some were more significant, but each showed that Microsoft is responding more quickly to developer input.

The first big area that Microsoft changed between the 2 conferences is in how they talk to developers. At Mix, most of the keynotes were essentially just marketing pitches. One of the keynotes even caused most of the audience to get up and walk out when the marketing just became too much. At reMIX, there were some nice positive changes. The opening keynote had less talk about technology and more demos and examples. They even had Miguel di Icaza speak about the Linux version of Silverlight. They replaced the 2nd nightmare keynote from MIX with 2 great keynotes from Molly Holzschlag and Lou Carbone. I left the keynotes feeling inspired not like I was part of a marketing focus group.

The other change was in technology. Silverlight 1.0 was the big announcement for MIX, but fell short to many because it still relied heavily on javascript and had no controls for building forms. At reMIX, there was a lot more talk about Silverlight 1.1 (the .NET enabled follower for 1.0) and about the new control kit that Component One is developing. I was surprised to see that in the period between the 2 conferences, Microsoft not only listened to the feedback from MIX, but actually made some significant actions based on them.

It will be interesting to see if the forward progress continues to move at this pace. In the meantime, I’m working with the pre-releases of Silverlight 1.1 and Visual Studio 2008. If all goes well, I will post some tutorials on the new Silverlight stuff and a quick review/overview of Visual Studio 2008.

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • XLCowBoy

    It’s nice to see they move quickly when their technology is the issue in question. I wonder when that speed will be translated to how they approach web standards and their own browser technology.

  • http://ian.sundermedia.com TheLunchBox

    There was actually a lot of talk at reMIX about that. The big problem that they have now is adoption. IE7 has been out for a while and only accounts for about half of IE users.

    At this point, it’s a balancing act. On one side you have the IE team who would love to throw out all the legacy garbage and put out a new compliant browser. On the other side you have lots of big companies and late-adopters that take a while to get moving to new tools.

  • XLCowBoy

    I don’t see why the legacy-related issues can’t simply be dealt with by giving IE a special legacy quirks mode if no doctype is declared, while following standards whenever a one (a doctype) is.

  • http://www.realityedge.com.au mrsmiley

    @XLCowBoy Have a listen to the podcast mentioned in one of Kevins recent blog entries about why the doctype thing is so difficult. I’d put a link to it, but it seems the search page on this site just returns a white page :S

  • http://www.realityedge.com.au mrsmiley
  • http://www.sitepoint.com/ mattymcg

    @mrsmiley Thanks, we’re trying to determine what’s causing that behaviour. Weirdly, it only seems to happen for the term “chris wilson”.

  • Sojan80

    All this “more agile” mess aside though they still overlook a lot the simple things in favor of kludging on an Microsoft only way of doing things that is anything but standards basedimar. Case and point can easily be seen in Visual Studio.NET especially where ASP.NET is concerned.

    Take a look at something as simple as the menu control. It’s been blogged about, covered books, on sites like Sitepoint and A List Apart and yet MS Decides to make the menu control render natively as a table when it should arguably actually render natively as an ordered list. Sure there’s the control adapters but even these fall short. Add tot his that Microsoft themselves released several articles covering CSS and unordered lists being used to generate navigation, and how to the render their control natively? A table. What gives?

    For a more simple example take a look at the lowly hyperlink control. There’s no way to set an Access key on hyperlinks generated using thehypelink controls themselves much less on those contained in a Menu generated by a menu control.

    Until Microsoft gets its collective head out of whatever fourth point of contact they have it in, little glimpses of hope that they’ll make an honest effort to support standards and work with developers is just so much smoke and mirrors.

  • Same Old Story

    Right on the nose, Sojan80. It’s that “our way or the highway” approach that made me decide to stop bashing my head with ASP and ASP.NET and move on to PHP years ago.

  • wwb_99

    Take a look at something as simple as the menu control. It’s been blogged about, covered books, on sites like Sitepoint and A List Apart and yet MS Decides to make the menu control render natively as a table when it should arguably actually render natively as an ordered list. Sure there’s the control adapters but even these fall short. Add tot his that Microsoft themselves released several articles covering CSS and unordered lists being used to generate navigation, and how to the render their control natively? A table. What gives?

    You miss the point of the menu control–it is to provide a very easy to deal with menu for the morts of the world to drop into their intranet apps, and evangalists to show in their demos. The real genius is the sitemap provider structure, which can be bound to any data control that can work with IHeirarchicalList, including the BulletedList.

    For a more simple example take a look at the lowly hyperlink control. There’s no way to set an Access key on hyperlinks generated using thehypelink controls themselves much less on those contained in a Menu generated by a menu control.

    What are you talking about? HyperLinks (and many, many other server controls) have an AccessKey property which, well, gives one an access key. Even if it did not exist, any unhandled attribute of an ASP.NET server control gets passed to the client output by default. So you could just add accesskey and carry on about your business.

  • malikyte

    If all goes well, I will post some tutorials on the new Silverlight stuff and a quick review/overview of Visual Studio 2008.

    That would be A-W-E-S-O-M-E!

  • http://ian.sundermedia.com TheLunchBox

    @Sojan80

    I completely agree that Microsoft has it’s head stuck in it’s “fourth point of contact”. There have been a bunch of people trying to pull it out for a while. My point was more that it’s finally starting to move.

    The big challenge now is that the paradigm shift needs to occur over many teams. The IE team is on board and the Expression team is almost there. Also, if you look at some of the new features in VS 2008 and ASP.NET 3.5 there’s some headway on the platforms team too.

    Keep in mind that there are 1000’s of developers and support staff involved with Microsoft’s web technology. Even if every single one of them is on board with standards, there’s a lot of inertia to get them moving.

  • Sojan80

    I’ve currently got a site with a menu control bound to a sitemap file, and I can’t set an access key on a single link. The sitemap file itself doesn’t natively support access key use and once you bind it to something like a menu control it is still if not impossible to add one its so well hidden most folks would never know where to look for / find it in order to use it.

    How then am I, a developer concerned about supporting and using standards and clean semantic markup supposed to apply them? The feeling I get from MS on this is that their official answer is “You’re not because we don’t want you to use them”.

    Yeah the provider model in general, and the sitemap provider model especially is a great thing, I agree. But whether you are a professional developer, standards evangelist, or hobbyist developer, it doesn’t matter; if a control like the menu control is not emitting the appropriate markup upon being rendered in the browser then it isn’t doing anything to make web standards in general more accessible, acceptable, universally adopted, supported, or used by the internet community in general. Web standards aren’t just for professional developers anymore, they are for everyone <em>&strong>including Microsoft</strong></em>.

    In fact controls like this not emitting the appropriate markeup when being rendered in browser are doing a lot to keep web standards down and are only serving to support Microsoft’s “We must be backwards compatible to version X, and support lousy coding practices or we’ll break the web” position.

    Now some will most likely say “Well if that’s how you feel why not just embed your ordered list directly in your markup or master page and be done with it?” I can, I have and I sometimes do, but that doesn’t mean I like it because in so doing I lose all the great features databinding offers. Also, I shouldn’t have to be stuck with only doing that way, not if the control were appropriately designed to emit the appropriate code to start with. I feel that if you have time to build it wrong the first time, offer up patch, after patch, after update, then you had the time to build it right the first time so that it supported the current standards to start with.

    And I mean lets face some facts here, from a design standpoint alone, which is more markup heavy and markup intense: a series of nested tables where each link resides in its own complete individual table, or a well structured nested ordered list. For my money I’d have to say the table is the more costly control and therefore the least appropriate choice for the job.

    I just think they (MS) should actually focus on supporting established W3C standards first, rather than trying to create their own in their own image and forcing everyone to deal with it or else.