Category Archives: microsoft

Mark Anders remembers Blackbird, and other Microsoft hits and misses

Here at Adobe MAX Europe I had an enjoyable chat with Adobe’s Mark Anders about his time at Microsoft. Anders is well known as one of the inventors of ASP.NET, along with his colleague Scott Guthrie. However, when he joined Microsoft in the mid nineties he worked initially on the project codenamed Blackbird. This was a kind of Windows-specific internet, and was surfaced to some extent as the MSN client in Windows 95. Although the World Wide Web was already beginning to take off, Blackbird’s advocates within Microsoft considered that its superior layout capabilities would ensure its success versus HTTP-based web browsing. It was also a way to keep users hooked on Windows. Anders told me that he never believed in Blackbird and argued that Microsoft should support HTTP instead. According to him, the executives at the time did not want to listen at first, but Blackbird had severe performance problems because of an over-complex architecture which made excessive use of multi-threading. Another colleague came up with the first prototypes of the Trident rendering engine, which we now know as MSHTML, and showed that in principle Blackbird’s layout goals could also be achieved with HTTP. In consequence Blackbird was scrapped before it was released.

What would have happened had Blackbird performed better? The momentum behind the World Wide Web would have ensured the eventual death of Blackbird, but Microsoft would have been further behind in the web server and web browser market. In retrospect, the slowness of Blackbird was the best possible thing for the company, because it enabled an earlier move to HTTP.

According to Anders – and bear in mind that he now works for a competitor – the tendency to over-complicate its software is one of Microsoft’s biggest problems. The projects that work best tend to be those which simplify what already exists, rather than those which make it more complex. Thus, the success of C# and the .NET Framework came about because of its ease of use in comparison to C++ and MFC. Anders recalls the 2000 PDC, when C# and the .NET Framework was introduced to the world, as a great success. By contrast, at the Longhorn PDC in 2003 Microsoft introduced new technology that was not fully thought-through. These were the “three pillars of Longhorn”: Avalon (now Windows Presentation Foundation), Indigo (now Windows Communication Foundation) and WinFS (now scrapped). Although WPF and WCF have been shipped, they are not in any sense pillars of Windows Vista, which is largely native code. The Longhorn Alpha that was given to PDC attendees (I still have my copy somewhere) was worked on for another year, and then much of the code was scrapped in favour of a conservative upgrade from Windows 2003 – the famous reset that became Windows Vista. Like Blackbird, the original Longhorn had performance issues. I put it to Anders that the failure of Longhorn cost Microsoft two years of momentum; he replied that it was even more than that.

When Anders was working on ASP.NET he says there was always an element of disapproval from others at Microsoft who wanted to tie users more closely to Windows. Although ASP.NET runs on Windows, it supports cross-platform browser clients. There are parallels today with what the Silverlight team is doing. Silverlight is the right direction for Microsoft, but not everyone will like the idea of a rich cross-platform client and the Silverlight team may be under that same kind of pressure. Of course Anders would say that, because he now works on Flash, but I suspect there is truth in it. Microsoft does at times lurch back into Windows-only mode, as it is did when it ceased development of Windows Media Player for the Mac. That was an extraordinary decision when you consider the wider context of the multimedia and DRM wars. With Silverlight Microsoft is once again on the cross-platform track, not just for multimedia but for .NET code. It seems to be serious about it, but it will take a lot to convince long-term Microsoft watchers that cross-platform Silverlight will endure. Personally I hope it stays the course; competition is good.

The curious silence of the IE team – Microsoft needs to rediscover blogging

There are huge numbers of Microsoft bloggers; yet in some important areas Microsoft seems happy to let its opponents make all the noise.

Internet Explorer is an obvious example. There is an official IE Blog, but you won’t find anything there about IE8, just occasional news of minor IE7 tweaks. The comments on the other hand are full of questions, many of them good ones that deserve an answer, or at least an acknowledgement that someone is listening.

I spoke to Microsoft’s Chris Wilson at the Future of Web Apps conference back in February, noting that he gave a “good bridge-building talk”. There have been other similar talks, but little of substance since then. Anyone searching the web for news of browser development and innovation will find little from Microsoft, lots from Mozilla and others.

This is not about Microsoft bashing. Rather, it is about web developers and designers who need to make stuff work. Having some idea about where Microsoft is going with its browser helps with that.

Microsoft needs to rediscover the value of high quality blogging that engages with the community. It is not just IE. Soon after the release of Office 2007 I was among those who reported on performance problems with Outlook. This blog still receives thousands of visits from users who search for why Outlook 2007 is slow. Where were the bloggers from the Outlook team? Months later there was a tech note and patch which helps a little, but Outlook 2007 is still slow and there is no real evidence that the company cares.

What about Open Office XML, viciously attacked by IBM and other sponsors of the rival Open Document Format? Brian Jones has a good marketing blog; yet I’ve seen relatively little technical blogging from the OOXML folk at Microsoft, in response to questions raised.

See also Dave Massy’s blog.

Technorati tags: , , , ,

Great for debugging: Microsoft to release .NET Framework source

Scott Guthrie has the details. As my title implies, this is great for debugging. There will be benefits for the Framework as well, presuming Microsoft listens when a developer says, “Why does your code do this and not that?”

Is this a big radical step for Microsoft? I don’t think so. Nor does it merit this kind of predictable backlash – Steven J Vaughan-Nichols saying that Microsoft is tempting open source developers to use its code and become vulnerable to lawsuits.

I recall an early .NET briefing in which an IT exec from the Nationwide Building Society (an early adopter) said how grateful he was to Microsoft for sharing the source to the .NET Framework. How come? Well, ever come across Reflector for .NET? If compiled .NET libraries are not obfuscated, you can easily decompile the code. Admittedly you will not see comments, but it is still pretty effective. As far as I know, the .NET Framework has never been obfuscated, so in some ways we already had the code.

I do understand the risks for projects like Mono, which seek to be clean-room implementations, but I doubt they are significantly greater than before. Further, I suspect that if Microsoft wanted to bring legal guns to bear on Mono, it is likely that it already could. Although Mono builds on ECMA standards, it implements plenty of stuff that is not covered by those standards. I have no idea whether it breaches any Microsoft patents; but I would not find it surprising. What stops Microsoft pursuing Mono? Mainly, I imagine, because it is good for .NET and therefore a benefit to the company.

Technorati tags: , , , ,

Adobe Thermo: Visual programming for designers

Adobe has taken the wraps off Thermo, a new tool aimed at bridging the designer/developer gap by enabling designers to create an interactive user interface without writing code, and making it easier for designers to create components that developers can code against. Graphical components can be converted into MXML objects.

Designers will be able to work with placeholder dynamic data, giving a more accurate idea of what an application will look like at runtime.

An important feature is round-tripping between Thermo and Flex Builder. Yes, this sounds similar to what Microsoft offers with Expression and Visual Studio:

The designer’s work can be incorporated directly into the production application with no loss of fidelity, and designers can continue to refine the design throughout the iterative development process.

There’s a blow-by-blow account of the Thermo demo at Max in Jen deHaan’s blog post. It sounds as if it went down well at Max. Don’t get too excited though: this is a sneak preview, so no product before 2008, maybe later than that for the release version.

I’m not at the conference myself; I’ll be attending the European Max in a couple of weeks time, and I’ll find out what I can about Thermo.

Personally I’m not excited by live data at design-time. Borland has had this for years in Delphi, and it never struck me as a huge advantage. Then again I am not a designer. Round-tripping is a big feature though, and the ability to take graphics out of PhotoShop and easily convert them to programmable components sounds great.

It’s also interesting to see the unfolding of another chapter in the Adobe/Microsoft wars. There are even family connections. The Thermo team is led by Mark Anders, one of the inventors of Microsoft’s ASP.NET.

Microsoft Office Live Workspace: what’s missing from the FAQ?

A lot. It seems that Microsoft’s Office Live Workspace is free hosted SharePoint. You will be able to save and open Office documents directly to and from the Internet. A genuinely useful service; but here are a few questions that are not covered in the FAQ:

Can I create or edit documents using just a web browser?

My guess: presumably not. Microsoft will require you to use Office, or whatever offline editor you used to create the document.

What do users not running Windows and/or not running Office see when they access a shared document?

I’m not sure about this one. Presumably they can download documents and open them if they have a compatible editor or viewer. That’s not online collaboration though. Sharepoint also has the ability to render office documents as html, through an HTML viewing server:

The HTML viewing server provides support for users who want to view the content of files on the Windows SharePoint Services Web site, but do not have Microsoft Word, Microsoft Excel, or Microsoft PowerPoint from Microsoft Office 97, or a later release of Office, installed on their local computer. Even users who only have a Web browser (Microsoft Internet Explorer or Netscape Navigator) can view content by having the native Office file format converted to HTML automatically.

Will this be part of Office Live Workspace? That’s not yet clear.

How do I access Live Workspace documents offline?

Good question. Mary Jo Foley has the best report on this, and quotes Corporate Vice President Rajesh Jha,:

Groove will be the way you take any Workspace offline, Jha said

Now, a Live Workspace plus synchronized offline store would really get my interest. But when, how, and at what cost?

What files types can be stored (and a few related questions)?

Live Workspace is not just for Office docs; you can store other file types as well. The FAQ says:

For your protection, we don’t allow the uploading of files that could cause security issues such as .exe files.

Does that mean any file type that is not on a security blacklist? Or is there a whitelist of safe file types? If we are saving from a non-Office application, will the Live Workspace appear as a virtual directory in the file system? What about saving from other operating systems?

How much space is available?

Can’t believe it’s not in the FAQ? If it is, I can’t see it. It says:

You can store over 1,000 Office documents in your workspace, based on the average file size and use of Word, Excel, and PowerPoint by students, work, and home users.

I hate being treated like an idiot. (PS: the consensus is that it is 250MB).

When will Office Live Workspace be available?

That’s not stated.

That will do for starters. Microsoft, how about adding these to your FAQ?

Ubuntu Desktop not used in business

I got a telling reponse from Canonical when I approached its Public Relations team looking for case studies of businesses that had switched from Windows:

… we find that the businesses using Ubuntu tend to use the server edition right now and so a windows comparison is not relevant. Ubuntu desktop is largely in the consumer space not business.

It hardly comes as a surprise to discover that most businesses use Windows, but I did think there would be a few examples. I’ve been running Ubuntu, mainly on my laptop, and find it perfectly solid and useable. In fact, it is possibly better suited for business than for consumers. The problem with Linux is that you always seem to run into one or two problems that require intricate, non-obvious steps to resolve. Well, they are obvious to Linux geeks, but not to the rest of us. In a business this can be mitigated by standardizing the hardware and providing a channel of support, but home users are more likely to get frustrated. Furthermore, in my experience home users install a greater variety of software. They get CDs from ISPs, or with their new scanner or camera, and expect them to work. They want to play games and enjoy DVDs. All these things can be problematic for home users, but are less relevant and more easily managed for business users.

I don’t mean to minimize the problems facing anyone switching to Linux. In the business world, that includes custom or niche software that is likely to be Windows-only. Every small business I encounter seems to have an Access or VB application that has become business-critical. Another snag is doing without Microsoft Office. Yes, Microsoft Office is over-priced (unless you are a home or academic user), but it is on the whole better to work with than Open Office, and if you are bashing out documents all day that makes a difference (I make an exception for Outlook 2007, which is infuriatingly slow). There is also the thorny problem of document compatibility, recently made worse by the format wars.

Another factor, under-appreciated by the media, is that Windows has a mature and very comprehensive administrative infrastructure for managing any number of desktops. For larger organizations this makes Windows the obvious choice.

Therefore I was not expecting very many examples, but I thought there would be one or two case studies, particularly as Canonical offers a table of prices for desktop support. I doubt many home users are taking this up. Of course Linux is mainly popular on the server, but Ubuntu has a particular desktop focus.

I am hoping that someone will read this blog and say, “this is nonsense, we use Ubuntu in business”. If that is the case, please contact me, especially if you are in the UK, and willing to be quoted. I’d also be interested in hearing from those who tried and failed, or explored the possibility and gave up.

Technorati tags: , , , , ,

Why Open Office does not import/export Microsoft Office Open XML

Interesting opinion [Slashdot] from someone who says he is one of the founders of NeoOffice:

Yes, OpenXML import and export could be integrated into OOo [Open Office] today but engineering politics and Sun’s manipulation of the project to foment a document format war have kept this functionality out of OOo, doing nothing except harm users that need to seamlessly integrate with MS Office environments.

I’m inclined to agree. If niche player DocumentsToGo can implement this feature, is it so hard for Open Office? I doubt it. Now, I am sure that any such feature would not be perfect – but import/export features never are. Equally, I’d expect that it would work fine with the vast majority of documents that people email back and forth every day.

See also A Plague on both your houses.

PS Microsoft could also do a much better job with ODF import/export. These problems are more political than technical.

Update: note that according to this document “Office 12 import” is planned for the 3.0 release of Open Office, which is due in September 2008. There are no stated plans for export.

Technorati tags: , ,

IBM’s new Lotus Symphony

I’ve had a quick look at the beta of Lotus Symphony, IBM’s new Office suite. It’s built on the Eclipse Rich Client Platform (RCP), which is interesting in itself, and is another salvo in the office document format war.

Why would anyone want to use the new Symphony? I presume it makes some kind of sense in the context of an integrated workflow and collaboration platform based on Notes. Considered purely as an office suite, it does not yet come close to Microsoft Office, or even Open Office.

The FAQ claims some compatibility with “Microsoft Office files” (though there’s a long list of things that might not convert correctly), but studiously avoids any mention of the 2007 Microsoft Office document formats. It should say: compatibility with old Microsoft Office formats. Note that if you install Office 2007, save a document, and try to open it in Symphony, it will not work at all. Nor will Microsoft Office (any version) open Symphony documents, unless you take the trouble to export to a format other than Open Document. What a mess.

When I searched for Lotus Symphony on Google, I was amused to see what came third and fourth in the list:

Scott Guthrie on .NET futures

I’ve posted my interview with Scott Guthrie, from the UK Mix07. It covers topics including LINQ, Silverlight, the work with Novell/Mono on Moonlight (Silverlight for Linux), ASP.NET futures including MVC, and offline web applications.

Guthrie is a General Manager at Microsoft, responsible for most of the development teams working on .NET. He did some excellent presentations at the UK Mix, intermingling live coding and demos with slides, talk, and dealing with ad-hoc questions – not an easy task.

There were several things I found interesting in his answers to my questions. On a technical level, the way Microsoft’s various implementations of the Common Language Runtime share code is intriguing. In particular, I was fascinated to learn that Silverlight and the desktop CLR are built from the same code tree. There is a second code tree for the CLR, but it is for the Compact Framework, not for Silverlight. The implication is that the performance of Silverlight and its compatibility with other .NET code should be pretty good.

How then is Silverlight much smaller than the desktop CLR? The reason is that most of the Framework library is missing. That’s the trade-off.

Another point of interest is the strength of Guthrie’s reaction when I asked about offline web applications, and Microsoft’s platform versus other approaches such as Google Gears and Adobe AIR. When a spokesperson takes the trouble to trash the competition, it is often a sign of concern.

Want a job? Learn Silverlight, not WPF

I keep an occasional watch on technology trends in the UK by the haphazard technique of browsing to Jobserve.com, bashing in some developer platforms, and seeing how many vacancies come up. I last blogged about this in August 2006, and before that in January 2006, March 2005, and August 2004.

Real-world job vacancies trail the conversation we have about cutting-edge web platforms by some margin. To give you an idea, in March 2002, three months after the first official release of C#, Jobserve had just 153 vacancies for C# developers, compared to 1894 for VB and 2092 for Java. Today, C# has 2933, VB and VB.NET 1906, Java 3741.

But that’s not what caught my eye when I looked this morning. I searched first for WPF, and then for Silverlight. WPF went final in November 2006, at about the same time as Vista was released to manufacturing. That’s nine months ago, but Jobserve has only 28 jobs which specifically mention WPF.

Silverlight 1.0 was released earlier this month. It’s a great video player, but many developers are waiting for Silverlight 1.1, due sometime in 2008, which supports .NET programming as well as multimedia. Component vendor Infragistics told me at the UK Mix07 that it is not bothering to release components for Silverlight 1.0, but has lots in the pipeline for 1.1. Keen to work with Silverlight in the UK? Jobserve has just 30 jobs to choose from.

The numbers are tiny (thought let me note, even CodeGear’s long-established Delphi can only muster 93 jobs), but I’m intrigued that Silverlight is actually a hair ahead of WPF in this context. Tomorrow it may be different; but it accords with my own assessment. I like WPF; it’s a better API than Win32 for coding a GUI. But it is a hard sell to developers of those boring business apps that make up the bulk of software development today. Unless you are making big use of visualization, it’s likely you will be more productive with tried-and-tested Windows Forms, or native Win32 code.

Silverlight is different. It is an immediate win if you have desktop .NET apps which you would like to convert to web applications, or ASP.NET apps for which you would like a richer client. Why Silverlight and not WPF? For one thing, cross-platform, essential for public web applications and very useful internally as well, with all those Mac-using designers (and now the CEO wants a Mac too). For another thing, lightweight deployment. When you install or upgrade the .NET runtime on a Windows box, you hold your breath as it updates a gazillion system components and hope that no bizarre error code appears. When you install Silverlight, you just click OK to a browser dialog, and it works.

The contradiction in the title of this post is that both Silverlight and WPF use XAML, so in learning one you are to some extent learning the other. Nevertheless, I now believe that Silverlight will be a more significant platform than WPF, and I’ll be interested to see if future job vacancies back up that prediction.

Update: Ryan Stewart has some US figures which are more positive for WPF, though again the absolute numbers are small. Interesting to watch.