Tag Archives: microsoft

HP breaks 2.5 million web support links

The internet and search: the greatest resource ever for troubleshooting computer systems.

Except when you follow a promising link to find this:

image

On June 26th, the HP IT Resource Center forums were migrated to the HP Enterprise Business Community. This migration coincided with the release of the new HP Support Center, and the retirement of the legacy ITRC support portal. As part of the transition, we have migrated all ~2.5 million posts and ~712k users from the ITRC forums into the new community site.
As a result of this transition, all links/bookmarks/search results that attempt to load an ITRC forum page will redirect to this announcement page.

I understand the reasons; but I wish companies would think twice before doing this. Or three times. Eventually the search engines will stop listing the broken links, but other references to these support discussions will still be broken.

How much would it cost HP to keep the old links online in read-only form?

It is not just HP of course. These generic “sorry, we broke the link” pages pop up regularly on Microsoft’s site, for example, often after following a link on Microsoft’s own site.

The web is designed to tolerate broken links; it is one of the reasons why it works. However, that is no reason to break them with abandon.

ReSharper 6.0 arrives: intelligent editing and decompiling for Visual Studio

JetBrains has released ReSharper 6.0, an add-on for Visual Studio 2008 and 2010 that delivers a remarkable range of tools, mostly focused on code editing and static analysis. There is also a unit test runner and a source code decompiler.

The heart of ReSharper is refactoring, hence the name, and it adds a large number of refactoring options to Visual Studio. These are nicely integrated with the editor, not only as right-click menu options, but with light-bulb suggestions that appear automatically. Here, for example, ReSharper is telling me that I could use implicit type declaration, and offering to make the change for me, or alternatively to suppress this type of suggestion forever if I do not like it:

image

Source code decompiling is also nicely done. In the above code, IClaimsIdentity is part of the .NET Framework so the source code is not normally available. With ReSharper though, I can navigate to decompiled source:

image

This could be legally sensitive, so I have to pass a Decompiler Legal Notice in which JetBrains attempts to disclaim liability.

image

Then I am in, though the results are not exciting in this instance:

image

If you only want the decompiler, you may find the free dotPeek is all you need.

The what’s new list in ReSharper 6.0 is long. It includes support for JavaScript, ASP.NET Razor, CSS and HTML, better XAML support including creating properties and dependency properties from usage, and macros for file headers which automates things like inserting current date and time.

The pricing is not excessive: in the UK it costs £148 for a personal license or £259 for a commercial license. If you think ReSharper will save you time and improve your code quality, which it likely will, it will soon pay for itself.

Internet Explorer 10 Platform Preview 2 gets web workers, HTML5 sandbox

Microsoft has released Internet Explorer 10 Platform Preview 2 which adds a number of features. These include:
  • Web Workers for background JavaScript.
  • File Reader API
  • HTML 5 drag and drop
  • CSS3 positioned floats
  • HTML 5 sandboxing
  • Some features of HTML 5 forms
I asked Microsoft’s Ryan Gavin and Rob Mauceri why IE seems so far behind its rivals in HTML 5 support if you look at a test site such as html5test.com, where IE9 scores 141 and Google Chrome 329. I was given several reasons. The site does not cover CSS3, SVG, yet does include “specs that are still under development, specs that have been superseded by other things, you have look at what it is actually testing,” said Mauceri. He added that the site only tests for the existence of the feature rather than how well it is implemented.
Fair points, but my sense is that Microsoft, while hugely ahead of where it used to be in terms of HTML standards support, is likely behind Google and Mozilla and likely to remain so. Microsoft has a slower release cycle, and a greater burden of legacy issues to worry about.
That said, Microsoft is pushing forward energetically compared to pre-IE9 days and the new features are interesting, particularly in the light of the greater role of HTML5 which has been promised for Windows 8.
Web Workers, for example, enables more responsive web pages through concurrent programming.
image
I also asked how Microsoft will enable greater access to the Windows API in Windows 8 without polluting the standards, but got the non unexpected answer “wait for the Build conference”.
No formal word on timing, but I would expect the delivery of IE10 and Windows 8 to be connected.

Office 365 and why it will succeed

Today is launch day for Microsoft’s Office 365, which offers use of Exchange, SharePoint and Lync hosted by Microsoft at commodity prices – not quite as low as $50 per user per year for Google Apps, but low enough that it is likely to be a substantial saving for most customers, versus the cost of installing, maintaining and backing up on-premise versions of the same software.

The debate about the merits of Office 365 versus Google Apps is a fascinating one, but the reality is that many organisations are not ready to give up Word and Excel, Outlook and Active Directory. Why?

  • They are too deeply invested in Microsoft’s platform, and depend on home-grown and/or third-party applications that run on it.
  • Office and Exchange is a business standard.
  • Desktop applications still have advantages for things like word processing or manipulating large spreadsheets.
  • Offline is important, and Microsoft is better at this than Google.
  • Microsoft ticks boxes in areas like compliance and archiving

The beauty of Office 365 is that migration from on-premise servers can be almost invisible to users. It is also an easy and effective solution for new businesses. Every mobile device seems to support Exchange, and one thing it has always done well is to synchronise nicely with multiple clients.

The other side of the coin is that Google Apps is by far the better option if you want to live in the cloud. Outlook Web App is not bad, but creating and editing documents entirely with Office Web Apps would not be fun at all. Office 365 will also be a struggle if you are inclined to ditch Windows. Email will be OK, and I guess Mac users have Office 2011, though in my experience that is inferior to almost any version of Office on Windows.

What about the really interesting questions? Is data more secure with Google, or with Microsoft? Is either platform resilient enough to manage without backups? What is the risk of extended downtime that could have a drastic impact on productivity?

Unfortunately it is not possible to offer precise answers to these questions, which I guess is why on-premise retains its appeal.

IE9 ActiveX Filtering causing tears of frustration

I have been assisting a friend who, she told me, could not get BBC iPlayer to work. Further, another site was telling her she did not have ActiveX, but she was sure she had it.

This was puzzling me. She described how she went to the BBC iPlayer site, and it said she needed to install Flash.

image

She clicked the link and got to Adobe’s download site. She clicked Download now and got a page describing four steps to install, but nothing happened, no download.

She clicked Adobe’s troubleshooting guide, which took her through uninstalling Flash Player and then a manual download. All seemed to work but at the end of it, it was the same. Go to the BBC site, and be told to install Flash Player.

You can understand how computers, at times, can seem downright hostile to the long-suffering user.

What was the problem? I logged on with remote assistance. Somehow, IE9 had ActiveX Filtering enabled.

image

This is actually a great security feature. ActiveX is disabled on all sites by default. A little blue circle symbol appears at top right.

image

Click this symbol and you can turn off filtering for this site only.

image

Yes, great feature, once you are aware of it – but too subtle to be noticed by the average user browsing the web. From the user’s perspective, no amount of uninstalling and reinstalling of Flash Player would fix it, and the PC was about to be flung across the room in frustration.

The other problem is that the feature is too new and too little used to feature in most of the troubleshooting guides out there. It is not mentioned in Adobe’s page on troubleshooting Flash on Windows and in IE, for example.

How the setting got enabled in the first place is a mystery. Maybe a mis-click. It is unchecked by default, and you can see why.

Conclusions? I guess it shows that security without usability is ineffective; and that minimalist user interfaces can work against you if they in effect hide important information from the user.

Incidentally, this is why  I dislike the Windows 7 feature that hides notification icons by default. It is user-hostile and I advise disabling it by ticking Always shot all icons and notifications on the taskbar.

It may be more secure, but I would not consider enabling ActiveX Filtering for non-technical users.

Notes from the field: migrating a small business to Microsoft BPOS

Today I assisted a (very) small company migrate from Small Business Server 2003 to BPOS (Business Productivity Online Suite), Microsoft’s hosted Exchange and SharePoint.

Why BPOS, when Office 365 launches later this month? Well, BPOS has all the features they need, and when given the choice between a beta-soon-to-be-just-launched online platform, and one that has been around for a few years, they chose the latter, which is reasonable. Long term it will make no difference, because BPOS users will be migrated to Office 365. It was interesting to me, since I am reviewing Office 365 and this migration gave me good insight into the differences.

Aside: the fact that this is a choice says something about Microsoft. One of the advantages of cloud computing is that improvements can be continuous and incremental, since the software is paid for by subscription rather than through a version upgrade cycle. There is only one Salesforce.com platform; there is only one Google Apps platform. Will there be an Office 720 in two to three years time, or will Microsoft have worked this out by then? It will be hard, because no doubt there are teams working on Exchange 2013 and SharePoint 2013 and these will be delivered as on-premise product upgrades. This also implies that the new features in these products will not be considered ready until the on-premise products go gold; which means that cloud customers have to wait a long time for major enhancements. Changing this cycle will require a profound shift in the way the company functions.

Now a few comments about the process. Overall it was pretty good, and took less time than it normally takes to migrate from one version of Small Business Server to the next. There are  annoyances though, beginning with the migration tools. The challenge is that you want to move mailboxes from SBS Exchange to online Exchange without losing any email.

Email coexistence

The basic approach is this:

1. A directory synchronisation tool copies user accounts to BPOS and keeps them in synch with on-premise Active Directory.

2. A mailbox migration tool copies mailboxes to BPOS and sets up forwarding, so email arriving into on-premise Exchange is forwarded to BPOS.

This is known as email co-existence, because users can log on to either on-premise Exchange or BPOS, and still be able to send and receive mail. Clever stuff, and it does make migration nice and smooth.

The first annoyance: the directory synchronization tool must be installed on a 32-bit Windows Server that is joined to the domain but not a domain controller. Many SBS setups do not have such a thing. In this case, I ran up Virtual PC on Windows 7 64-bit, installed 32-bit Server 2003, joined it to the domain (actually over a VPN), and ran the tool from there.

Actual mailbox migration uses a separate tool which fortunately does run on the SBS server itself. One the users are in place and enabled on BPOS, you run this tool to upload the mailboxes. This takes a while, since you are uploading what is probably several Gb of data. I left this running overnight, but it was only partially successful. Two mailboxes did not upload properly and had to be redone, which was a bit untidy because in one case some folders were duplicated. Fortunately it was not hard to clean up.

Once the mailboxes are migrated, you simply install and run Microsoft’s sign-in utility on each client PC. This automatically configures Outlook with a new BPOS profile, leaving the old profile in place in case of mishaps.

The last step is to change the DNS records so that mail is actually delivered to BPOS rather than to on-premise Exchange.

SharePoint migration

This particular company is reliant on SharePoint for document sharing. Although it is SBS 2003, they have SharePoint Services 3.0 installed; it can be done if you are careful.

Major annoyance: the BPOS documentation is silent on the subject of migrating content. There is a heading in the Migration Help for SharePoint Online; but it does not cover migration from on-premise to BPOS SharePoint at all. There are third-party tools that do this though, and some help from the community.

Of course there are multiple ways to move SharePoint content, though in some cases you will lose version information. I found this article helpful. I was able to start from Step 5, since it was already a SharePoint 3.0 site. Look how clear and concise the steps are; a refreshing contrast to Microsoft’s verbose efforts with seemingly endless sections for overviews, planning and deployment, that take ages to get to the point and still manage to omit key information.

I read the post and the comments, then created a blank site in BPOS. I backed up and then exported the existing site to CMP files, and kept it locked so that no new content would be added. Then I installed SharePoint Designer 2007, which is free, logged into the BPOS site and restored the site.

All the important things restored correctly. Unfortunately the permissions do not migrate, because the BPOS domain is different from the SBS domain; the active directory is only synchronized. I had to fix this up by deleting dud users and groups from the new site and adding groups and users for BPOS. I also added a few web parts to the otherwise blank home page. Nevertheless, considering how painful SharePoint migrations can be this one was pretty good.

I understand though that this simple approach does not always work. I would guess that the more SharePoint is customised, the more likely you are to have problems, which is probably why there is no official tool.

Exchange issues

There were a couple of issues with Exchange. The first was public folders, which are not supported in BPOS. The solution is to use SharePoint lists. Here is how it goes:

  1. Open an on-premise Outlook profile with full access to the public folders. Export each public folder to an Outlook .pst file – the best format for preserving all the data.
  2. Go to SharePoint online and create a new list of the appropriate type. For example, for tasks you need a task list, for contacts a contact list.
  3. Open Outlook with a BPOS profile. In SharePoint online, go to the target list and choose Connect to Outlook from the Actions menu.
  4. The SharePoint list now exists in Outlook. Open the .pst and copy the items exported from the public folder to the new list.
  5. Other users need only connect to the SharePoint list. The magic of synchronization copies the content.

Another issue is mailbox permissions. If you have users who want access to another user’s mailbox, you have to set permissions on the target mailbox to allow this. These permissions do not get migrated automatically. To do this, you have to use PowerShell. This article explains. The easiest route to a correctly configured PowerShell is to use the shortcut to the Migration Command Shell which is installed with the Microsoft Online migration tools.

A note on cost

BPOS costs $10 per user per month, with a minimum of 5 users. In the UK this is £6.72, so from £33.60 per month. Along with Exchange and SharePoint, you get Office Live Meeting (Web Conferencing) and Office Communications Online (Enterprise Live Messenger).

A typical SBS server lasts 3 to 5 years before it has to be replaced. Taking the shorter time for example, BPOS will cost £1209.60 in subscription costs over the lifetime of a physical server.

It seems obvious that if Exchange and SharePoint is all you need, and if you are happy with the implications of the cloud approach, BPOS works out cheaper. Of course the pricing will change, but Office 365 is actually coming out at a similar price for the equivalent features. Yes, you could buy a basic server with SBS for £1209, but that is just the start: installation, firewall, backup and maintenance all add to the cost.

That said, most businesses will still need some kind of on-premise server, even if it is no more than a simple NAS (Network Attached Storage) box. Another real-world problem is that there may be server-based applications which cannot easily be abandoned. If you find you have to run an on-premise server anyway, adding BPOS on top looks less attractive.

There is much more to say about cloud vs on-premise, but it is worth noting that it can be cost-effective.

Common sense on Windows 8, Silverlight and .NET

I am wary about writing another post on this subject in the absence of any further news, but since there is a lot of speculation out there I thought it would be worth making a few further observations.

Will Windows 8 support Silverlight and/or some other variety of .NET in its new touch-centric mode? I will be astonished if it does not. Aside from other considerations, this is an essential unifying piece between the Windows Phone 7 developer platform and the Windows 8 developer platform, which from what we have seen have a similar user interface. For further evidence, try an internet search for “Jupiter” and “appx”.

Why isn’t Microsoft already shouting about this? A good question. Part of the answer is that Microsoft wants to get developers enthused about the forthcoming build conference in September, and is holding back information.

Another part of the answer is that Windows historically has kept .NET as a layer above the operating system, rather than as part of it. We saw this in Windows 7, where to take advantage of new features like jump lists or thumbnail toolbars, .NET developers had to use a supplementary Windows API Code Pack. The Windows team delivered only native code or COM APIs.

Admittedly, there are differences this time around. The Windows team is not just delivering native code APIs, but also an HTML and JavaScript API. This is a break with the past, hence the talk of a new platform.

When it comes to desktop applications, would not Silverlight or something .NET based be a better choice than HTML5? I can see both sides of this. On one side is all the effort Microsoft has invested in .NET and Silverlight over the past decade. As I’ve noted before, I see Silverlight as what client-side .NET should have been from the beginning, lightweight, secure, simple installation, but with support for C# and much of the .NET Framework which developers know so well.

On the other hand, I can see Microsoft wanting to tap into the wave of HTML5 development and to make it easy for web developers to build apps for Windows 8.

In the end, developers will most likely have the choice. That puts pressure on Microsoft’s developer division to provide strong tools for two different development models; but I think that is what we will get.

Is .NET itself under threat? As far as I am aware, Microsoft has no plan “B” in terms of web and application server technology, and its Azure cloud is largely a .NET platform though there are are efforts to support other things like PHP and Java. Further, this aspect of the Microsoft Platform is under Server and Tools which is 100% behind .NET as far as I can tell. We have also seen Silverlight crop up in the user interfaces for new server products like InTune and System Center. On the server then, there is no evidence for .NET doubts at Microsoft; and considering the trend towards cloud+device computing the server is now at the heart of most business application development.

That said, Microsoft has challenges in sustaining .NET momentum. It cannot afford to fail with Azure, yet other platforms such as Amazon EC2 have greater developer mindshare as cloud computing platforms. VMWare with its Java-based Spring framework is another key competitor. Microsoft was late to the server virtualisation party with Hyper-V. I also see declining market share for IIS versus Apache in Netcraft’s statistics, although these figures are distorted by millions of little-used domains that get shunted from one platform to another by major hosting providers.

Further, it seems to me that the fortunes of .NET on the server cannot be completely separated from what happens on the client. One of the attractions of .NET is the integration between client and server, with Visual Studio as the tool for both. Windows has lost momentum to Apple in mobile, in tablets, and in high-end laptops, making Windows-only clients less attractive. In that context, the decision of the Windows team to favour HTML5 over .NET is a blow, in that it seems to concede that the future client is cross-platform, though I expect there will be some sort of outcry when we see all the proprietary hooks Microsoft has implemented to get HTML5 apps integrated into Windows 8.

Therefore these really are difficult times for .NET. I do not count Microsoft out though; it still dominates business computing, and amongst consumers the Xbox may prove an important new platform as Tom Warren notes.

While I have reservations about Windows 8, it does demo nicely as a new touch-centric operating system and Microsoft surely has chances in the corporate world with new-style tablets that integrate with its system management tools and which run Microsoft Office.

Finally, the angst over the role of .NET in Windows 8 shows that many developers actually like the platform, including Visual Studio, the C# language, the .NET Framework, and XAML for building a rich user interface.

Apple iCloud: i is for integrated

Apple has announced iCloud, smart cloud storage for Apple devices.

The iCloud will store documents, email, contacts and appointments, and synch the data to multiple devices including iPad, iPhone, iPod touch, Mac or PC. You get 5GB free with more available to purchase. Books are synched so that your place is saved from one device to the next, a feature borrowed from Amazon Kindle.

Apple has also exposed an API for developers:

Apple apps are seamlessly integrated with iCloud, and we’ve given developers the tools to make their apps work with iCloud, too. So you’ll be able to paint a masterpiece, play a game, create reminders, edit stock lists, and more — and have it all stay with you on all your devices.

This API allows for key-value pairs to be stored as well as documents.

The iCloud also backs up settings, including device settings and app data. If your iOS device is stolen, restoring it should be just a matter of reconnecting:

When you set up a new iOS device or need to restore the information on one you already have, iCloud Backup does the heavy lifting. Just connect your device to Wi-Fi and enter your Apple ID and password. Your personal data — along with your purchased music, apps, and books from iTunes — will appear on your device.

This is similar to what Google is promising for the Chromebook; in fact, there are quite a few parallels there.

Email is also synchronised, provided you use Apple’s me.com email account. Users of Microsoft Exchange or similar server-based systems already have the experience of email, appointments and contacts synched across all devices; now iCloud brings this to all Apple users.

There is also special provision for music. In this case you do not actually have to upload the tracks in most cases, since Apple will “scan and match” your collection. This applies to CDs you have ripped as well as iTunes purchases, which strikes me as a big concession from the music industry, since there is actually no way to tell if you ripped your own CD or copied it from a friend. You do have to pay $24.99 annually for this though, so it is a kind of music subscription. However it falls short of Spotify’s play-anything offer, since you have to acquire each track by some separate means first.

Taking each feature individually, there is little new here other than Apple’s deal with the music companies. Taken together though, this is a big deal. Apple iOS devices are no longer tied to an iTunes installation on Mac or PC; they are now cloud devices. If you think as I do that cloud+device is the direction of computing today, this is a key move.

One weak point is collaboration. The iCloud seems to be a private store, whereas with technology like Microsoft SharePoint or Google Apps you can publish documents to selected individuals or to the world.

I expect it is just a matter of time before Apple adds document sharing based on Apple IDs or me.com email identities. Another obvious move would be some sort of web site integration so you can publish certain kinds of data.

Another weak point is system requirements. Some features will require iOS 5 or OS X Lion. However, in the past iOS upgrades have been free so that is unlikely to be a problem; and even an upgrade to Lion will only be $29.00, provided your Mac is compatible – it needs Intel Core 2 Duo or better.

There is also the question of whether you want to store all your critical data on Apple’s servers. In my own encounters with Apple’s online security I have not been impressed. Someone managed to sign up for iTunes using my email address once; I could have had full access to his account and stored credit card details. Apple also uses the notorious “security questions” technique for resetting passwords. It is also not clear whether data in iCloud is encrypted.

That said, as with the iPad versus Microsoft’s Tablet PC, I am struck by how Apple has taken a feature which Microsoft has worked on for years but failed to implement sensibly and consistently. Microsoft had Live Mesh for example back in 2008 complete with an API for synchronising documents across PCs. The API was poor, there was an operating system component which could be problematic to install, and mobile device support never really came. Then in 2010 Microsoft scrapped most it and replaced it with a new Live Mesh based on SkyDrive which is now part of Windows Live Essentials. It is an optional extra for Windows users and aimed at consumers; business users can get some of this using Exchange and SharePoint as mentioned above, though these are usually privately hosted. Everything is an extra, some things free, some things paid for. In the confusion third party services like Dropbox have flourished.

Microsoft will learn from Apple and we will see a nicely integrated cloud story in Windows sometime around 2014, based on past performance.

Full circle at Microsoft: from the early days of .NET to the new Chakra JavaScript engine

A discussion with a friend about the origins of Microsoft’s .NET runtime prompted a little research. How did it come about?

A quick search does not throw up any detailed accounts. Part of the problem is that much of it is internal Microsoft history, confidential at the time.

One strand, mentioned here, is Colusa’s OmniVM:

OmniVM was based on research carried out by Steven Lucco at Carnegie Mellon University. Steven co-founded Colusa Software in February 1994 in Berkeley, California. Omniware was released in August 1995. Colusa started working with Microsoft in February 1996. Microsoft acquired Colusa Software on March 12, 1996. Steven is currently a senior researcher at the Microsoft Bay Area Research Center.

OmniVM was appealing to Microsoft because Colusa had already created Visual Basic and C/C++ development environments for the VM. The VM was also claimed to be capable of running Java.

Microsoft took to calling the VM by the name of CVM, presumably for Colusa Virtual Machine. Or perhaps this is where the code name Cool came into being. Other names used at Microsoft include Universal Virtual Machine (UVM), and Intermediate Language (IL).

Microsoft’s Jason Zander, commenting to a story on this blog, does not mention OmniVM:

The CLR was actually built out of the COM+ team as an incubation starting in late 1996. At first we called it the "Component Object Runtime" or COR. That’s why several of the unmanaged DLL methods and environment variables in the CLR start with the Cor prefix.

Still, the timing pretty much matches. If Lucco came to Microsoft in 1996, he could have been part of an incubation project starting later that year.

In June 1999 Microsoft previewed the Common Executable Format for Windows CE:

A demonstration on Common Executable Format (CEF), a new compiler target within the Visual C++® development system for Windows CE, was also presented. This compiler enables cross-processor portability within a category of devices, such as Palm-size PCs or Handheld PCs. A single program executable under CEF is translated to the native code on either the host PC or the device, as desired. This capability eliminates the need for developers to recompile an application for every possible processor on a given Windows CE-based appliance before bringing it to market, thus enabling them to support every version of a device (Palm-size or Handheld PC) quickly and easily.

In 2000 I interviewed Bob Powell, then at Stingray, who told me this in relation to .NET:

There was an early version of the system for Windows CE called the Common Executable Format (CEF). The Pocket PC, which uses around seven different processor types, and which has many different versions of the operating system, is a deployment nightmare. This problem was addressed by the CEF, which was a test case. What is now in the IL is a more refined version of that.

Hmm, now that Windows is coming to ARM alongside x86, this sounds like it could be useful technology … though despite obvious similarities, I don’t think CEF was really an early version of the CLR. Maybe the teams communicated to some extent.

Now this is interesting and brings the story up to date. Lucco is still at Microsoft and apparently his team built Chakra, the new JavaScript engine introduced in Internet Explorer 9:

image

Steven E. Lucco is currently the chief architect for the Microsoft Browser Programmability and Tools (BPT) team. BPT builds the Internet Explorer’s Chakra Javascript script engine, as well as the Visual Studio tools for creating scalable, efficient Web client applications.

Right now, these are dark days for .NET, because Microsoft now seems to be positioning HTML and JavaScript as the new universal runtime.

It seems that the man who perhaps began the .NET Runtime is also at the centre of the technology that might overtake it.

Update: this post has prompted some discussion and the consensus so far is that the OmniVM acquisition probably had little to do with the technology that ended up as .NET. The one thing that is beyond doubt is that the COM team created the .NET CLR as Zander reported. I actually spoke to Zander at TechEd recently and we touched on his early days at Microsoft working with Scott Guthrie:

I was actually one of the original CLR developers. When Scott and I first started working together, he invented ASP.NET and my team invented the CLR.

The history is interesting and if the relevant people at Microsoft are willing to talk about it in more detail it is something I would love to write up – so if that is you, please get in touch!

Gang of Four member Erich Gamma joining Microsoft’s Visual Studio team

Microsoft’s Jason Zander has announced

that Erich Gamma will be joining the Visual Studio team as a Microsoft Distinguished Engineer

Gamma is one of the “Gang of Four” who shook up software development back in 1994 with the book Design Patterns: Elements of Reusable Object-Oriented Software.

The other authors are Richard Helm, Ralph Johnson and John Vlissides.

Gamma has previously been associated with Java rather than .NET. He was co-developer with Kent Beck of the JUnit unit test framework, and also worked on the Eclipse tools platform and at IBM Rational on application lifecycle management (ALM).

It is a prestigious hire and I would expect Gamma’s influence on Visual Studio to be a positive one, especially in areas like software quality, refactoring and ALM.