It's been almost a year since my plea to the IE team. Windows 7 has rocked, Office 2010 is looking very nice, and, most recently, Windows Phone 7 Series has amazed the world. All these great things coming together are really putting pressure on the IE team to deliver something revolutionary. Back in Nov 2009, the team talked about the tremendous performance improvements, sub-pixel text rendering, and HTML5/CSS3 support. All-in-all, there was a quick burst of information and buzz around what IE9 could become, but then it died off very quickly. I admit, I was quite skeptical -- and still am -- but at least it showed the team is heading in the right direction. In what seems to be the IE team's typical process, silence happened and annoyance returned.
Today, Microsoft announced the release of an early IE9 developer preview. I was pretty excited about this, since I've been waiting for it since they first started talking about IE9 in November -- well, maybe since IE8 was released without some of the big features I was hoping for. Nonetheless, I was grounded pretty quickly. For better or worse, there are some interesting things that came out of the preview.
1. Uhh, What's This Window?
I'm pretty willy-nilly with new software. Not too smart, but whatever :-P I installed the preview and expected magic. As it installed, I started closing other IE8 windows. All of a sudden, a new Window popped up. "Woo-hoo, it's done! IE9, here I come!" Then I noticed I left one IE8 window open. I switched over to close it and hesitated -- "Why is there an IE8 window still open?" I switched back to the new IE9 window and thought, uhh, this isn't a browser. There's no back button; no address bar; nothing. "Ah, maybe it's just a 'Welcome to IE9' dialog before the IE9 greatness kicks in!" I close the IE8 window, open another with the pinned icon on my taskbar. "Uhh, nothing changed." *Help > About...* Still IE8. WTF!? I guess this is more of a literal "preview" than I thought. No browser; just a chance to see how their pre-built tests work. Meh.
2. The Tests Work... Mostly
I've said it before and I'll say it again, just being part of the game isn't going to fly. And, if this is all the IE team has to show, I'm not impressed. Don't get me wrong, I love everything they show, from performance to sub-pixel text rendering -- seriously, this isn't something to scoff at, it's a very noteworthy improvement for any browser -- to all the HTML and CSS improvements. But it's not enough. Heck, the "Falling Balls" example didn't even work. I really want to bash the performance improvements. I even wrote this paragraph a few different ways to express my disapproval in different ways, but it all comes down to this: you won't realize how drastic the improvements are until you see IE8 and IE9 running side-by-side. The Flying Images example seems obvious, when you see it in IE9, but when you go back and watch it in IE8, you think, "Is this seriously what I'm putting up with today!? I feel lied to; cheated. How dare you, IE team; how dare you!" With all that said -- and seriously, the perf improvement is tremendous -- I'm still not happy (here's where my desire to bash performance comes in). While you definitely notice that aspects of performance have improved, the perceived performance really sucks. It's not the page loading that I'm talking about, tho; it's the standard page interaction that's defunct. Even clicking some of the links used by the examples were ridiculously buggy. I guess there's a reason they called it a "developer preview"... wait, that doesn't say "developer," it says "platform"...
3. "Platform Preview"
In an effort to find the hidden navigation controls, I scoured the lifeless window edges. The best I could find was the Page > Open... menu option. Well, at least that's a way to test out other pages. I figured, what better way to test out the new browser than to write a blog post. Let me just tell you that I'm dying here. I mentioned the perceived performance sucks already. Try typing in this thing. I feel like I'm clawing my eyes out -- and I'm talking about with freshly trimmed fingernails. You know what I'm talking about, when you trim your fingernails down to the nub and putting even the slightest pressure on them hurts. Now, try to claw your eyes out with that. That's why I feel like I'm doing right now. Every character is painful. *Ouch, oooh, ouch...*
Okay, I'm exaggerating; but it is painful. But, now that I'm able to get past the examples, I'm realizing I have two versions of IE installed. Hmm... very interesting. Remember the days when IE was a crucial part of Windows and couldn't be unbundled? Well, they seem to have figured out how to install a new rendering engine without touching the old one, hidden deep in the innards of Windows. Of course, they did introduce the ability to completely uninstall IE in Windows 7, so maybe that's a moot point nowadays. Either way, this is a first for IE, as far as I know. Then it hit me... "platform preview." Are they saying something with that? Are we talking about a rendering engine completely detached from the Windows desktop OS?
4. IE9 on Windows Phone?
In the original Windows Phone 7 Series announcement at Mobile World Congress 2010, Joe Belfiore commented that the phone is more than just the Mobile IE we see in Windows Mobile 6.5 and its predecessors. He said it came from the desktop browser code-base. This alone doesn't mean much, but when he called out the sub-pixel text rendering, my mind started adding things up. Is this IE9 on Windows Phone!? Nobody has said that, but you have to wonder. I've read that Windows Phone 7 Series is based on IE7 with some back-ported features from IE8, but that doesn't really make sense, when you consider that sub-pixel rendering is only coming in the next version of the browser. I still have to wonder about this. It doesn't make sense to back-port that feature two versions. Maybe it's IE8 with that one feature back-ported, but maybe it's IE9. If that's the case, IE9 will need to be on a hyperactive beta period and, as I mentioned before, they definitely aren't close to being done, yet, and I'm admittedly not confident they even know how to do that.
5. Where's the Navigation?
I really want to get back to the preview. I'm still annoyed at the fact that I have to get to sites in a hacky way. Why would the IE team do that!? Do they not want us to use the browser? That can't be it. Maybe they didn't have time to finish out the preview and just crammed some stuff together to make the Mix10 keynote. Maybe, but I doubt it. I didn't notice this at first, but the menu options aren't standard. Specifically, there's a "Page" menu instead of a "File" menu. Perhaps I'm reading into this too much, but "Page" sounds like more of a ribbon tab than a menu option. Maybe the reason we're getting such a scaled-back browser is because the old chrome isn't there anymore -- we could be getting the first ribbon-based browser. I'm very excited about this possibility. At the same time, I can't ignore the fact that this will be a very touchie UI, given the ever-popular tab-based browser. IE7 brought me back from Firefox because the UI was slim and just looked and felt more professional. IE9 with a ribbon done right -- extra focus on "done right" -- could seriously bring people back to IE. At the same time, it's an opening for haters to complain about the ribbon. I whole-heartedly believe the ribbon interface is demonstrably better than menu-based interfaces. So much so that, if I had my way, I'd never use another menu-based interface again. I'm not saying the ribbon is the way to go in every case, but I don't know why a traditional menu would ever be the "right" experience. It just isn't optimal.
With all that said, maybe the ribbon isn't the IE team's target. Maybe they've put a lot of thought into how users should be interacting with the browser. In either case, I welcome the change. Chrome took an interesting move with minimization, but I don't think it was drastic enough. Google played it safe with Chrome. Microsoft's not afraid of taking big risks when it comes to user experience -- just look at Office 2007, Windows Phone 7 Series, and even Visual Studio 2010 to a lesser degree.
No matter what happens, I'll be eagerly awaiting either the next preview/beta. At the same time, I'm not holding my breath. The IE team has a lot to prove with respect to being agile and, if they really are creating a new UI, that'll just complicate things more. I'd like to say we'll see something by the end of June, but who knows with that team. All I can say is, IE team, prove me wrong; please, prove me wrong!
I just downloaded IE8 and have to say I'm liking it so far. I was pretty concerned that it was going to be a horrid experience, but it hasn't been. Of course, the next thing I did in this self-centered world of ours was check my website. Being built on DotNetNuke, which is notorious for non-standard HTML, I was concerned. I was happy to see no problems. I'm sure there will be some, but at least I'm looking good so far. I guess all that work I did trying to keep tables out of my design was well worth it.
My only real disappointment has been the fact that web slices have to be explicitly coded into web content. For some reason, I was thinking we could simply select a portion of the age and tell IE to create a web slice from it. I guess not. Maybe I was just thinking of Dapper.
I made a few comments about Microsoft's work around MDA and how I don't quite understand Microsoft's official position on UML. David Cutler pointed out that I should take some initiative and dig around for some reasoning behind that. Well I did, and I found out that things are changing. Visual Studio "Rosario" will have a number of UML designers built on the DSL Tools designer framework. I'm very glad to hear this because I've been looking for them for quite a while and remember scoffing Microsoft for not investing more than a class diagram in Visual Studio 2005. I had hoped Visual Studio 2008 would have included some new designers, but alas, it didn't. The November 2007 CTP includes two new designers in Team Edition for Architects (Team Arch) and obviously the all-up Team Suite. I haven't used the new sequence or logical class designer, yet, but I'm definitely intrigued by them. I doubt the sequence diagram will be auto-generating at first, but you never know. Either way, I'm glad to see Microsoft is embracing UML more.
Of course, this doesn't answer the question of what Microsoft's official position on UML is. That's a hard one to answer, considering we're a company of individuals who have individual thoughts and ideals, just like any other company. Most of the people I talked to were the vocal few, but it's clear that UML isn't the unanimous terror that Microsoft seems to have made it out to be. I'm glad I'm not the only one to believe that. While I'm not making any anouncements today, I can say that we will get a clearer message of where Microsoft is going with respect to UML. As I understand it, there will be more designers on the books for the next CTP in the March/April time frame, so I think I can finally say we're on the right track. Better late than never, right?
If you're not familiar with the story behind Open XML to date, Rob Weir of IBM has a decent overview. I'd be remissed if I didn't say he was somewhat biased, tho. An example of this is a comment he made about how he believes Microsoft will drive change in Open XML with every release of Office. This, in itself, shows how little he understands about the Open XML format and why its proponents believe in it as a superior format to ODF. I have no doubt Microsoft will try to push modifications as more and more customers ask for new and innovative features, but that's exactly why Open XML is better -- it was built with extensibility in mind, unlike ODF.
Here we are, waiting for the last leg of the process to kick off at the end of this month and some skeptics say, "While you're waiting [for the ISO decision on standardization], don't save in OOXML format." Should you listen? Probably not. There are some seemingly logical arguments behind the comment, but the position is flawed. He states that you should use the legacy binary formats to ensure a truly "open" experience. To word that another way, you should use a proprietary binary format instead of one based on open standards, such as ZIP and XML. I'm sorry, but I'll stick with my Open XML file formats, which I have full control over and can get data out should I need it, unlike formats like the legacy DOC and PDF formats, which require binary interpreters. I can get my data out of Open XML files without any document reader. I simply need a tool to extract the content and read text files -- not that I expect everyone to feel this way. Also, with more and more format converters out there, I fail to see the importance of constantly saving to a format your tool of choice doesn't natively support without translation. You'll get a much better experience working in native formats and only converting to another when you need to publish or share your content externally.
We're not looking at all bad news, tho. With the 3522 comments made on the original specification, most overlapping on similar concerns, 662 responses have been made. I don't know if there was truly that much overlap that would support 662 answers to 3522 comments, but you can browse the comments and responses online. In another attempt to ease the community into the new formats, Microsoft has also published the legacy binary formats.
What's perhaps more interesting is the fact that, in a truly independent study, the Burton Group found Open XML to be a superior format. You can get that report online, but I doubt most people will see it. Perhaps developers at traditional Open XML opposing companies like IBM and Google read it, tho, seeing as their products seem to support the new formats. Of course, I think this is a must-have. You can't have a tool that neglects the native file format for the de-facto standard when it comes to productivity applications.
What do I expect? I expect the format to be approved. I'd be lying if I said there wasn't a doubt in my mind, but the evidence is there that it's a superior format. The fact that these open source companies are so up-in-arms about Microsoft wanting to push its own formats thru the standardization process says something about their motives. Microsoft wants options and, with that, extensibility. If the format is judged on the merits, like all good arguments, the answer is clear. If you ask me, the worst thing about Open XML is Microsoft's name on it. If that weren't there, it'd already be a standard.
In early December, I asked myself whether I'd rather go to Mix or SD West this year. I haven't been to either, but have wanted to go to Mix since its inception. After some thought, I've decided to go to SD West. The main reason for that is because I feel like it'll have better content given my focus. The first year of Mix was all about the web and the second year was a mixed designer+developer event, but still heavily rooted in the web world. I definitely feel at home with that mix, but things seem to be changing again. This year, it sounds like there's going to be even more focus on designer content, so I'll let Mix shake itself out one more year and check out SD West. I look forward to it.
Mix o SD West: La Decisión
En Diciembre, me pregunté si debo ir a Mix o SD West este año. No he estado a tampoco, pero tengo quise ir a Mix puesto que comenzó. Después de pensar en él, decidía ir a SD West. La razón principal es porque pienso tendrá mejor contenido, basado en mi foco. El primer año de Mix estaba todo sobre la web y el segundo año estaba un acontecimiento para los diseñadores y desarrolladores, pero todavía basado pesadamente en la web. Soy cómodo con los dos, pero el acontecimiento está cambiando otra vez. Este año, pienso que habrá más foco en contenido del diseñador. Dejaré Mix solidificar uno año más y iré al SD West.
Microsoft’s search story has been a bad one. Not because the tools are lacking; it’s the marketing that has hurt the product. You’re probably asking, "What search story?" Windows Desktop Search has been out for desktop users for a while, but I have to say the WDS experience on XP sucks. I’m not sure why it changed so much for Vista, but it’s completely different. After experiencing Vista, I look for search everywhere; and, when it’s not there, it’s my first complaint. Vista sold me; search needs to be completely ubiquitous. If your app doesn’t incorporate search, you’re probably not doing your customers justice.
What is Microsoft doing for enterprise search? The answer over the past year has been SharePoint for Search. Now, you’re probably asking why you need SharePoint. This is exactly the problem. You don’t need SharePoint and, honestly, SharePoint doesn’t have anything to do with it, hence the marketing problem. Well, it seems like things are changing. Microsoft is now pushing Search Server (MSS) 2008. Perhaps one of the best things with this announcement is the lighter-weight companion, Search Server 2008 Express. I don’t know all the rules behind when you would want to use one or the other, but this is a great opportunity.
If you’re asking yourself why you’d want MSS when Google has such a strong search technology, I’d have to argue that perceptions aren’t always reality. I’m not saying Google doesn’t have a good product on their hands; I’m just saying MSS is better than you probably think. I live in search and have for the past 9 years. I picked up on Google fairly early and made it part of my life. When I switched to Windows Live, I thought I’d be missing something, but I wasn’t. I haven’t looked back. I’m not saying it’s been a better experience, but it hasn’t been worse. It’s equivalent. With respect to enterprise search, MSS is hands-down a better choice than Google. Why? Security. Google knows search in the public domain; that’s what it’s good at. Grabbing everything and making it discoverable to the masses. Tell me; do you want your company's contract details and competitive info made available to everyone who has access to the intranet or just those with the right need-to-know? Google can’t give you discoverability and security of sensitive material -- it’s all or nothing. Microsoft has been very good at only showing results to those who have access to them. For this reason, I think Microsoft has a stronger enterprise search story. What’s great is that you can now take advantage of this search and the security included in that within your applications.
You're probably wondering what’s new in MSS. Not much. I’ve seen some talk of a streamlined installation and admin experience, use of the OpenSearch standard, performance and indexing enhancements, and my favorite, no pre-set document limits. This last one surprised me a little. Most of these products, especially “express”-style product lines have limits. That’s right, you heard me correctly. MSS Express has no document limits. Well, at least that’s what I’ve read. I find this pretty astounding, honestly. There’s gotta be a catch somewhere, right? Well, there is one, but I think it’s one you can probably live with. MSS Express only supports single server installs. Most people looking for something like this will probably be perfectly fine with that. Others might be just as happy to know they can get MSS Express to create a prototype and then scale up from there, if necessary.
If you’re interested in search, keep an eye on the MSS team’s blog . The official release won’t be out until March-ish 2008, but there is a release candidate available. The only other thing I should really mention is that MSS is intended to be a search-only solution. If you have your sights set on collaboration, SharePoint is still going to be the answer for you. Personally, I’m interested on what MSS can do for applications. It may not be the right fit, but it’s something I’d like to look into more.
I don't know if I'll ever understand Microsoft's official position with respect to UML. Sure, the concept behind domain specific languages (DSLs) is sound, but is it truly necessary? I haven't seen any proof of that. Well, to be more specific, I should say I don't see a need for DSLs when it comes to software analisys and design -- UML has just about everything I've needed and extending it seems to be the logical answer. On the other hand, DSLs are absolutely fantastic for applications that can visualize their data. Honestly, I think more apps should consider DSLs, but when most developers either don't know or don't use software modelling tools, I have to say I'm not surprised. I, for one, have been meaning to dig into Microsoft's DSL Tools, but haven't had the time. One of these days, perhaps. Either way, this is the foundation for Microsoft's MDA approach... well, the development environment, at least. There's an interesting story there, but I'll blog about that later.
To my surprise, HTML 5 has been in the works since 2004. While still 5 years late, in my mind, this just shows the ridiculous nature of these standards. I'm not saying all standards are this way... who am I kidding? I love the idea of having standards, but they take entirely too long to make it to the real world. It's like seeing a fantastic project in a research firm. It most likely resolves something you've been pained by for years, but you won't be able to benefit from that work for several more years, most likely. But, I digress... HTML 5 seems to have 3 main goals in mind: flexibility, interactivity, and interoperability.
When thinking about flexibility, HTML 4 gives us a lot. One of the problems HTML 5 seeks to attack is the lack of meaning to one of the most popular tags. No, not the <table>, which is used entirely too much; the <div> tag. Wondering what the problem is? So was I at first glance, but I think what the group is coming up with is better. There will be new tags to represent different sections of a web page. I liken this a lot to a newspaper or magazine, but it works fairly well for the web. The idea is, instead of creating <div> sections to correlate to your header, navigation, different sections and the footer, you'd use more descriptive tags (i.e. <header>, <nav>, <section>, and <footer>). Consider the following images. The first represents what you might do in HTML 4 and the second in HTML 5.
The markup would then look like this for HTML 5...
The first thing I thought was that this new model may not map 100% to all sites. Then I realized, they're just websites. You may not think about things as "articles," but that doesn't mean there isn't an equivalent in your context. There are, of course, more and more apps are moving to the web, so depending on how that happens, these may not work. I don't see this getting rid of the <div> tag, tho; merely offering something more specific to use, when applicable. Mixed with CSS, these new tags could be very nice.
There will also be better support for the head (<h#>) tags. Currently, most people use different tags at different levels and style them appropriately, so every <h1> looks the same, no matter what level they're at. With HTML 5, head tags will be more contextual, where different levels will be treated differently. Actually, I'm making an assumption here that probably isn't true at this time -- that CSS will know the difference between the different tags at different levels. CSS 2 most likely won't be able to, but hopefully CSS 3, whenever that's supposed to be out, will. Here's a block of HTML to portray the structure I'm referring to...
My vision is that the 2nd and 3rd <h1> in this example would be treated as <h2> and <h3> tags today.
While the new tag structure is nice, it's more for designers than developers. The feature developers will be happy to see will be the additional interactivity support, which will require much less work and more compliance across the board. Given the rise of multimedia content online, native support for multimedia content via <video> and <audio> tags is one of these improvements. One of the things that aggravates me about the current talk of these tags is a controls attribute, which specifies whether to use the default or custom controls. This is an attribute with no value, which isn't XHTML compliant. I know HTML isn't XHTML, but it'd be nice if the damn standard would at least take a step in the right direction. The additional ="true" wouldn't polute the spec. Despite that, the tags look promising. With the ability to customize the UI and built-in support for common actions like play, pause, and setting the current play time, I think most people will be fairly happy. That's not it, tho, there will also be APIs to support 2D drawing, storage, offline capabilities, editing, drag & drop, messaging, and my favorite, back button management. I haven't seen much about these, but I'm very excited about storage, offline, and back button management capabilities. These are problems that plague web developers.
As for interoperability, HTML 5 will be represented by its structure, rather than syntax. The key benefit of this is that it allows better support for the two formats HTML documents support: HTML and XHTML. As I understand it, the dual support is to provide better backward compatibility support with HTML. I see this and think, "Then why the hell would I even use HTML?" Maybe it's just me, but I'd rather use the markup language that provides the most forward compatibility. XHTML also provides some integration with external XML formats. The argument for HTML seems to be all about supporting lazy designers/developers who feel burdoned by the enforced structure. To me, they just need to get over it. The lack of structure in HTML is one of the main reasons the language sucks so much and causes so many problems across browsers. You could probably liken this to the VB vs. C# wars that were kicked off 7 years ago. To me, forward compatibility is more important than backward compatibility (aka laziness ). Different strokes, I guess.
Within the past month, the Open Document Foundation officially declared it would no longer support the Open Document Format (ODF). I had my speculations about the reasoning behind this move, but I can't say I would've guessed the foundation would close its doors. Of course, that was before the W3C knocked its own contender who the Open Document Foundation has chosen as its next poster-child, Compound Document Format (CDF), down a few pegs. That may sound a bit harsh, but apparently, W3C's Chris Lilley stated, "CDF... was not created to be, and isn't suitable for use, as an office format." There's nothing really wrong with this, but it definitely took the wind out of the foundation's sails. So much so, that there doesn't seem to have been any public announcement of the end of the foundation. All we know is the official website (broken link) has been taken down.
So, what will this mean for ODF? Who knows. It would've been nice to have seen the foundation approach Microsoft regarding Open XML, but that obviously didn't happen -- surprise, surprise. ODF won't simply go away. Sun and IBM are pushing it with pretty big budgets, hoping it'll grow the dying Open Office initiative. There have been some speculations noting that this could be the early stages of ODF's slow death, but I don't think it'll go so easily. I guess the astonishing thing is that the foundation just called it quits on the effort they supposedly felt so strongly about. If they really felt so strongly, I imagine they'd have worked a little harder to find a viable solution, even if it was to back Microsoft.