A couple of months ago some of us here in GPD-E Dublin got the chance to play with a development version of the new Zune HD. At the time the Zune team was still completing their work on the new device, however we managed to convince them to send us a sample unit.
WOW, what a simply cool device, so thin and with a great looking screen which is fantastic for watching movies. Of course, being mobile web guys, we also thought it would make a great browse experience too.

We wanted to make sure that everyone using a Zune HD to access MSN, Bing, and many more Windows Live sites, has a fantastic web experience. This involved two teams in Dublin. The first team to start work on this was the Mobile Browse Platform team, MBP for short. MBP maintain a large database of mobile devices. Each device listed in the database comes with a bunch of capabilities which describe the device. These capabilities cover everything from JavaScript support through to touch screen and screen size information. All this raw technical information is needed by other teams to so that they can create fantastic web sites which work as intended on each device.
To collect this raw information the Mobile Browse Platform team worked really closely with the Zune team. The Zune team supplied MBP with raw information they needed. In return MBP studied the Zune browser, right down to the header information the Zune HD browser sends any website. The folks here in Dublin helped the Zune team tailor these headers, all small but important touches which ensure Zune users get a great web experience.
While the MBP team were finalising their Zune HD database entries, the Hotmail team started testing Mobile Hotmail on our Test Zune HD device. The Hotmail team made some small changes to ensure that Mobile Hotmail worked perfectly.
All this hard work ensures that from the moment the first customer uses their Zune HD to connect to Hotmail, MSN, Bing and other Windows Live services that they receive a first class experience.
Now to coincide with the launch of the Zune HD, the MBP team is making the same raw information about the Zune that Hotmail uses available to all ASP.NET developers. You can download this information for free, along with support for hundreds more devices at http://mbdf.codeplex.com.
We would like to congratulate the Zune team on a fantastic product. We are all looking forward to its success!
In November I wrote about our Silverlight Treemap which visualises hierarchical data as a set of nested rectangles. Microsoft’s Global Product Development - Europe team has now released this control through the Silverlight Toolkit. You can read more about this control here.

Marek Latuskiewicz, a senior development lead on our AdCenter team, has recently launched a blog about programming with Silverlight and C#.
Marek plans to blog regularly on:
1) Ready to use, generic architectures to address interesting problems, which will include working code.
2) Short posts about certain aspects of Silverlight/C# programming.
In his first post, Marek outlines how to create generic animated panels in Silverlight 2 and 3.
Here’s a short extract from Marek’s first post:
I’ve always had mixed feelings toward animations in cases of generic controls, panels or item controls. From one side it is extremely easy to define standard animations associated with visual states. From the other implementing any more sophisticated animation means that a generic control becomes a user control. In this first article in series I shall present ways we know in our team to make Framework Elements with non-trivial animations without sacrificing theirs genericness. In short - it is easy to create a generic FrameworkElement, but it is hard to create such with advanced animations so it is still generic. In part number one we shall deal with animations in Panels. (Read the full post)
There is a funny thing that happens when people mention the terms “test”, “tester”, or “quality assurance” in the computer programming industry. Groans can be heard about laborious, manual point-and-click activities. A cutting remark is almost always heard that insinuates a person who performs testing is a “click monkey.” Well, I work in test at Microsoft, and I’m a hard-core software developer.
At other companies, “quality assurance” and “test” may mean different things, but at Microsoft the Software Development Engineer in Test (SDET) is a regular developer. In my group at Microsoft (GPD-E, a European R&D hub based in Dublin, Ireland), we expect the Software Development Engineers (SDE) to make sure their code does what it’s supposed to do in trivial cases, either by producing unit tests or by performing some manual verification.
Then we call in the SDETs. SDETs are Microsoft’s answer to the question of how to achieve and maintain quality for our customers when shipping software and services that scale to tens of millions of users. The SDET is tasked with both product quality and team productivity. The SDET uses their development skills to build systems that advocate for the customer in all aspects of a project, from inception through to shipping. SDETs act as a key interface between customers and the engineering team and are the real “last line of defense” before a product goes out the door. The SDET has accountability for ensuring the product is ready to ship or if it needs more time, and he or she is responsible for blowing the whistle if something looks wrong.
As SDETs, we spend most of our time writing code for automation frameworks and testing tools, whether running on a mobile phone, a virtual PC image, or across a data center of thousands of servers. We develop tools that improve productivity and uncover bugs; many of these tools are highly sophisticated and widely utilized both inside and outside of Microsoft. For example, we develop tests that evaluate system security, performance, resilience, functionality, standards compliance, and accessibility, to name a few broad types. Under the banner of productivity, for instance, we have written a tool for improving CSS cohesion and manageability for serving to mobile devices. Of course, we sometimes do need to rely on manual testing to evaluate for things like usability or interoperability corner cases. In those cases, we often rely on the input and assistance from the rest of the engineering team, taking advantage of Microsoft’s quality-conscious culture.
I’m proud to say that at Microsoft, SDETs solve the big problems of ensuring our products work for all of our customers and our development and quality processes are as efficient as possible. So, the next time you consider what it means to “be in test” or “be a tester” and whether that’s a good job for a software developer, think about Microsoft and the SDET role.
PD-E’s Mobile Browse Platform team is excited to be releasing the Mobile Device Browser File, an XML file containing the web browsing capabilities of 500+ of the most common mobile phones, such as screen width and height, supported image and video types, and level of HTML support. ASP.NET developers can use this XML file (called a browser file, or “.browser”) to easily optimize their mobile web sites for 100s of different mobile devices.
Chris Woods, a program manager on our team in Dublin, presented a session on this service at the MIX ’09 conference (click here for Chris’s video presentation), and you can read more and download the file off our CodePlex site here.
This solution was originally developed for Hotmail, Live Search, and other Windows Live and MSN services, and is used extensively within Microsoft. This represents a major opportunity for the .NET developer community.
Sami Vaaraniemi, a software developer on our Hotmail Mobile team in Dublin, is presenting a paper titled “Designing for Testability” at ACCU, the pre-eminent European software development conference, in Oxford, England, on April 23. Read about Sami’s talk here, and learn more about the conference here.
Sami’s presentation will detail how to write code so that it will be amenable to unit testing. One key point is that by writing testable code, the code also becomes more maintainable and reusable.
Justin Saunders, a software test developer on GPD-E’s mobile services team in Dublin, presented a talk at the Software Quality Conference 2009 in Dublin on March 4. The conference is the largest quality-focused conference in Ireland and hosted representatives from major software firms in Ireland and the UK.
Justin’s presentation, on “The Software Quality Discipline at Microsoft,” described how Microsoft’s R&D teams approach software quality, including different roles, processes, tools, and strategies. Click here to download the slides from his talk.
Diego Colombo, a software developer on our Experimentation Platform team in Dublin, presented a talk at the ACM Symposium on Applied Computing Conference (SIGAPP) on March 10th.
Diego’s paper, “Aspect-Oriented Procedural Content Engineering for Game Design”, discussed how aspect oriented programming techniques can be used to drive the content creation process for 3D scene rendering by mapping each data peculiarity to the code to generate it. Click here for more information on the conference.
Microsoft Ireland was recently voted the Best Workplace in Ireland for 2009, as determined by the Great Places to Work Institute. This award is recognition of the importance Microsoft Ireland has placed on its people for the past 24 years – developing people, growing people and investing in people in Ireland. Click here to see why our employees voted us #1.
Microsoft also won first place in the European Great Place To Work survey for 2008. Based on the top rankings in many countries (Belgium, Denmark, Finland, France, Germany, Greece, Ireland, Italy, Netherlands, Norway, Portugal, Spain, Sweden) Microsoft has won this award for the first time at a European level, beating competitors like Google and Cisco.
Flavien Charlon, a software developer on our adCenter team team recently wrote a series of articles on his blog after completing SQL Server training by Kimberly Tripp.
Each blog post outlines the different query execution plans.
Part 1: SQL Server Data Structures
In SQL Server, data is organized in pages. A page has a fixed size (8 KB). Each page contains records. The number of records that can be stored in a page depends on the size of the records. The operation of reading data from a page is called a logical IO. The smaller the size of a record is, the more records can be read with the same number of logical IOs. (See full post here)
Part 2: SQL Server: Scans and seeks
The most primitive operation in SQL Server is retrieving from a table a set of rows that satisfies a given search predicate. This can be achieved using two basic strategies: scans and seeks. (See full post here)
Part 3: SQL Server: Data access strategies
SQL Server can use different data access strategies when retrieving rows from the table. The strategy that will be used depends on the columns of the table, the available indexes, the query, the data in the table, and the statistics. There are 7 basic data access strategies. (See full post here)
Microsoft’s Global Product Development team in Europe recently completed its Treemap control for visualising hierarchical data, seen below. You can read more about it here and leave your feedback.

If you are excited by what you see us doing, check us out at www.joinmicrosofteurope.com/.
Jonathan, a PM on our adCenter, recently wrote a blog post for the adCenter Community blog about the new "path visualization" feature in adCenter Analytics (see below for a picture). The full post can be read here: http://adcentercommunity.com/blogs/analytics/archive/2008/09/18/Understanding-Visitor-Behavior-_2D00_-The-adCenter-Analytics-Path-Report.aspx

Microsoft's Experimentation Platform team, which includes developers in Dublin, recently published a paper in Data Mining and Knowledge Discovery.
The paper, titled "Controlled experiments on the web:survey and practical guide", discusses how Microsoft uses controlled experiments to allow end users to guide the development of features.
Summary: http://exp-platform.com/hippo_long.aspx
Full text (PDF): http://www.springerlink.com/content/r28m75k77u145115/fulltext.pdf
On April 16th, Mary Jo Foley published an article called "Microsoft looks to make product planning more science than art" where she talks about the technology, the opportunity and interviews Ronny Kohavi, the General Manager of ExP. The article goes into the history of the team and the project at Microsoft. A big part of the new technology development for this team goes on right here in Dublin. We are glad that the word is getting out!
More recent news: Randy Henne, one of the founding members of ExP and manager of the ExP program in Dublin recently talked at IMTC 2008. Slides for the IMTC talk can be found here.
One of the developers on our adCenter project, Paolo Severini, created an amazing new tool for detecting memory leaks in JavaScript. It can be installed as an Internet Explorer band and it is designed to find memory leaks in JavaScript code that runs in Internet Explorer.
Read more about it on this page and provide your feedback! And if you're excited by what you see our team doing, check out our job openings at www.joinmicrosofteurope.com.