Category Archives: microsoft

Microsoft’s open source breakthrough

Microsoft’s integration of jQuery and Visual Studio/ASP.NET is significant and I wrote about it on the ITJobBlog. I’ve included some comments from Scott Guthrie about ASP.Net AJAX vs jQuery.

Miguel de Icaza, who works on open source versions of .NET, also says it is a “first time for Microsoft”.

Rick Strahl, who is an ASP.NET MVP and writes an excellent technical blog, says in a comment to Guthrie’s original post:

To me jQuery has easily  the most game changing component in Web Development since ASP.NET originally was released.

It is a breakthrough; but note that it comes from the developer division, which is more inclined towards open source than other divisions running Windows and Office.

Internet Explorer no longer the de facto Web standard

Following Scott Guthrie’s remarkable announcement about jQuery getting integrated into Visual Studio and ASP.NET, I took a look at the jQuery site and blog. I mix and match with my browser usage, and on this occasion was using IE7. The page was badly scrambled:

It is meant to look like this, as it does in IE8:

I tried the site with IE7 on another machine and it was fine, so this is not a problem with all IE7 installations, though it is fully repeatable on this particular box. I don’t know what is causing the issue.

Still, it reminded me of a significant change on the Web, which is that IE is no longer the safest choice if you are pragmatic and simply want sites to look right. In fact, there are more occasions when I have to close IE and use Firefox or Chrome to view a site properly, than the other way round.

I also notice a sharp decline in IE usage in my browser stats. 80% of visitors run Windows, but only 40% use IE in this month’s figures. A year ago that was 82% and 58%.

My stats are not representative of the web as a whole, which gives IE a larger share, but everyone seems to be reporting a decline. IE8 may slow the decline, but I doubt it will reverse it.

Google, Adobe, Mozilla: Open source war of words is all about owning the platform

The route to dizzying riches in this industry is to own the platform. Look no further than Microsoft, which not only sells the operating system, but also dominates the applications which run on it, from Microsoft Office on the desktop, to server products like Exchange and SQL Server, and network management software like System Center. Anyone can build applications for Windows, and plenty of third-parties have done so successfully using its free SDK (Software Development Kit), but somehow it is Microsoft that profits most.

Microsoft is still doing its thing, but attention is turning to the next generation of Internet-based computing. I touched a nerve when I asked Google’s Dion Almaer about Adobe Flash: it’s not open enough for Google, he told me. I put this to Adobe’s Dave McAllister, director of standards and open source, who assured me that Flash is all-but open, excepting (ahem) the source code to the runtime. Then he surprised me (considering he is an open source guy) by accusing Mozilla of bad faith over Tamarin, the source code to its ActionScript 3 runtime and just-in-time compiler, and remarking that Sun’s efforts to open source Java had mainly helped its competitors. I wrote this up for the Reg.

The problem is that these companies want the best of both worlds: the widespread adoption and community contributions that open source can generate, but the control and profit that comes from owning the platform.

If you can’t own the platform, the next best thing is that nobody owns the platform, which is why IBM worked to hard to get Sun to open source Java, and deliberately muddied the waters by sponsoring the Eclipse tools platform and alternative Java runtimes and GUI libraries.

Why is Google wary of Flash? Simply, because it is risky to build your own application platform on a runtime that belongs to another company. It is not enough for Adobe to say it will never charge for the runtime, any more than it is enough for Microsoft to give away the Windows SDK. Google is watching Adobe, and seeing how it is building online applications like Buzzword which competes with its own Google Docs. Companies with their own platform ambitions (Apple also comes to mind) are more likely to be averse to Flash. Oh, and look who else is building its own alternative to Flash? Yes, Microsoft with Silverlight.

Like Google, Mozilla is trying to build a browser platform that has less need of proprietary plug-ins like Flash. Although I was surprised that Adobe’s McAllister said Mozilla was using its open source contributions in the wrong kind of way, seemingly missing the whole point of open source, I was not surprised to find tensions. I quizzed Mozilla’s John Resig on this exact subject one year ago, when I wrote that Adobe and Mozilla were on course for collision.

As McAllister points out, open source also has risks, particularly the danger of fragmentation and multiple incompatible versions. Maybe Flash is better as closed-source. Still, let’s not pretend it is really all-but open source. The real issue is who owns and controls the platform, and in this case it is definitely Adobe.


Advertisement Click here for special offers including free magazine subscriptions,white papers and ebooks.

Technorati tags: , , , , , , ,

Fixing slow Windows Vista: yet again, it’s a third-party problem

Great post from Mark Russinovitch on fixing a slow Vista system, belonging to his wife.

The fact that was in the family suggests that this kind of incident is common. My reasoning: if Russinovitch were blogging about an unusually slow PC identified in Alaska and sent to Redmond for examination, that would suggest that this stuff is rare. If it happens to the person next to you, it is more likely to be commonplace.

So Vista is “not responding to her typing or mouse clicks”. What’s the problem? Not at all obvious. Russinovitch fires up his Process Explorer (no, Task Manager would not do) and has a look. Still not obvious. Iexplore.exe and Dllhost.exe are the culprits – except they are not. The problem turns out to be a buggy Flash player or application (he still doesn’t know which), and a third-party MP4 demultiplexer. The Flash problem remains unsolved; the only solution when it turns up is to terminate Iexplore.exe. The demultiplexer is now disabled with no ill-effects.

The specifics are only interesting to geeks, but there is a wider point. Most people:

  • Would have blamed Windows and Microsoft
  • Would not have been able to discover the cause of the problem
  • Would have shrugged and rebooted – which would work for a while

That “most people” includes many professionals. Be honest: how many tech professionals, whether in internal or external support, or PC repair experts, would have both known enough and cared enough to identify this kind of issue? A lot will say, “just reboot and hope it doesn’t happen again soon.” I’m not even sure that they are wrong. Look at the economics: if a reboot is a quick fix, how much time and expense does the problem merit?

Further, is Microsoft really innocent? Surely the OS could do a better job of identifying rogue processes and threads, and curbing the extent to which they can grab too much CPU. My experience of the troubleshooting wizards and self-healing capabilities in Vista is dismal; there are examples on this blog. Why isn’t there an automated tool that could follow the kinds of steps Russinovitch follows and identify the actual component that is causing problems?

Technorati tags: , , ,

More OOXML than ODF on the Internet, according to Google

In May 2007, IBM’s Rob Weir made a point of how few of Microsoft’s Office Open XML documents were available on the Internet. Here are his figures from back then:

odt 85,200
ods 20,700
odp 43,400
Total ODF 149,300

docx 471
xlsx 63
pptx 69
Total OOXML 603

The ODF formats are those used by Open Office, Star Office, and Lotus Symphony. Now that Office 2007 has been out for a while, I thought it would be interesting to repeat his test, using the same methodology (as I understand it), a Google filetype search. I added the macro variants to the list as this seems fair, though they don’t affect the total much:

odt    82,000
ods    16,600
odp    26,100
Total ODF 124,700

docx    87,400
docm    1,440
xlsx    14,900
xlsm    738
pptx    31,400
pptm    1,300
Total OOXML 137,178

Let me say at once, I’m not sure this is significant. For one thing, I’m suspicious of Google’s arithmetic (in all search totals, not just these). For another, I reckon it is a mistake to put either format on the public Web: PDF, RTF, or even Microsoft’s thoroughly well-supported binary formats are more fit for purpose.

Even so, it is quite a turnaround. What is particularly odd is that the ODF figures appear to have declined. Again, it could just be that Google changed its way of estimating the totals.

Incidentally, I doubt that this has anything to do with ISO standardization, especially considering that the current OOXML implementation in Office 2007 does not conform. It has everything to do with the popularity of Microsoft Office and its default settings for saving documents.

The new power in computing: design-centric development

I’ve been mulling over the insights from Microsoft’s Remix 08 conference in Brighton, and in particular Bill Buxton’s contention that it was a focus on design that saved Apple, and that a focus on design is the only thing that can save Microsoft.

It is all very well to nod heads and agree that design is a critical matter; but we are generally not good at integrating design into the software development process. One of the problems is that most development methodologies that I have seen do not address this matter well. In fact, one of the problems is that we do not know how to talk about design or even what it is. When Martin Fowler wrote Is Design Dead he meant something different from what Buxton is talking about. Design is fuzzy and hard to measure.

The best I can come up with at the moment is that design is about user interaction. If software is about input –> processing –> output, then design is about how you do the input and get the output. Design is not about appearance; but it includes appearance. Design is not engineering; but design problems can sometimes be solved by engineering and vice versa. Design is not functionality; but doing the right thing at the right time is within the scope of design.

One of Buxton’s themes is the importance of transitions. How you get there is as important as what you get. This could mean visual effects, or what you have to press or click or move to get from one place to another. Think of the way Vista users get annoyed by having to go via a Network and Sharing Center to get to what they want, the Network Connections dialog; that is a design failure. Or all that discussion around Vista’s shutdown options provoked by Joel Spolsky’s somewhat unfair article. Design issues, of which there are many other examples

Design is ascendant for several reasons. One is that increased computing performance has given designers more freedom, though that also means there are more ways to get it wrong. Another aspect is that falling prices have made adequately powerful personal computers (or for that matter MP3 players) a commodity, and design is now key to differentiation. Third, the Web has focused minds on the minutiae of design, as sites compete for user attention. Macromedia’s (now Adobe’s) work with Flash has been a big influence, especially after the company joined the dots back in 2002, and started to promote Flash as a means of improving the user experience in applications.

If I reflect for a moment on the last 30 years or so of software development, it is easy to pick out ideas that have really made a difference. Object orientation. The graphical user interface. Test-driven development, and another big insight of the Agile movement, participation between all stake holders.

I suggest we should add design-centric development to that list, even though at this stage we are not sure how to do it. There’s been a lot of discussion about designer/developer workflow, and a few tools and ideas from Adobe and Microsoft that help to enable it, but this is only scratching the surface. Further, with their focus on graphics and graphical effects, they make it hard to distinguish between design and decoration.

So how do we do design-centric development? Learn from Apple and Google is one answer. Have developers and designers in the same room, or appoint more designers to the board, could be another. I think this topic is one that deserves, and will get, lots of attention in the next few years.

Windows 7 screenshots hit the web

Windows 7 screenshots are showing up, for example on thinknext.net and windowsvienna.com. Much to see? Well, ribbon UI in WordPad and Paint; a much-enhanced Calculator with Standard, Scientific, Programmer, Statistics and Date Calculation modes; and an IDE, sorry ISE (Integrated Script Environment) for PowerShell.

Presuming these are genuine, they don’t tell us a lot about Windows 7 except that, as widely predicted, it looks more like a refined version of Vista than something boldly different. Given that Server 2008 turned out nicely, I’d say that’s no bad thing.

For the official word on Windows 7, see the Engineering Blog.

Technorati tags: , , ,

Microsoft’s design crisis: Interview from Remix Brighton

The Reg has posted my interview with Bill Buxton, in which he talks about the challenge of getting Microsoft to put design at the core of its products. It has a great quote where Ballmer apparently told the company conference “Change or we die”. Can Microsoft change? That’s the big question; and one commenter has already given his opinion. I have more to say on this issue; but for now do read the interview; I find it a fascinating topic.

Technorati tags: , , ,

A few notes on ASP.NET MVC

Here at Remix in Brighton Scott Guthrie is presenting on ASP.NET MVC (Model View Controller). This is an alternative to web forms, the classic ASP.NET programming model.

What is ASP.NET MVC better for? Here are the things that Guthrie highlights:

  • Clean code separation presentation/logic
  • Clean URLS, SEO and REST friendly. For example, URLS like: yoursite.com/products/beverages
  • Better for unit testing. Ability to test model, view, controller separately. Guthrie demos some tests; all the main .NET test frameworks are supported inlcuding Nunit as well as Team System.
  • Closer to the HTTP/HTML model. For example, you don’t handle a button click event on the server as web forms allow; rather, you handle a form submission.

ASP.NET Preview 5 is available now; beta soon; full release by the end of the year (That timing strikes me as tight).

I think this will prove popular among ASP.NET developers.