Category Archives: microsoft

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.

Bill Buxton at Remix Brighton

Bill Buxton has made a considerable impression here at Remix. His theme is the critical importance of design, and he has a broad understanding of what design is that goes beyond what some developers may imagine: “here’s my app, now make it look good” would be the caricature. I Twittered his session – you can read it online here. He talks a lot about Apple and about how Jobs rescued it by creating a culture of industrial design; the unspoken question here is whether anyone can do the same thing for Microsoft.

Now in the ADO.NET Data Services session (Astoria).

microsoft,bill buxton,apple,design

Silverlight: 1.5 million installations per day, says Microsoft

Scott Guthrie, Corporate VP Developer Division at Microsoft, spoke at Remix in Brighton about Silverlight deployment. He says there are around 1.5 million installations per day, and that version 1.0 will auto-update to version 2.0 when it is released, which he says is “shortly”.

Wide deployment is critical for Silverlight, though a limitation of version 2.0 (the one with the .NET runtime included) is that it does not work on PowerPC Macs.

Guthrie also mentioned Internet Explorer 8, which he says will ship “towards the end of the year”.

Microsoft Remix in the UK

I’m in sunny Brighton (honest) for Microsoft’s Remix conference, which is loosely intended as a local version of the Mix event held in Las Vegas earlier this year. A contrast after Google Developer Day earlier this week. Corporate VP Scott Guthrie, who is in charge of the .NET Developer Division, is giving the keynote along with Bill Buxton, Principal Researcher. More news as it happens. Got any questions for Scott Guthrie? If so, comment here or email and I’ll try to slip them in.

Technorati tags: , ,

Developers: will you or have you signed for ribbon rights?

This is the dialog you see when installing Delphi 2009 or C++ Builder 2009:

There’s a similar restriction on use of the ribbon controls in the latest MFC.

The license information page is here. The license itself has two provisions that you might care about. First, you agree not to use the Ribbon, also known as the Fluent UI, in “Excluded products”:

“Excluded Products” are software products or components, or web-based or hosted services that perform primarily the same general functions as the Microsoft Office Word, Excel, PowerPoint, Outlook and Access software applications, and that are created or marketed as a replacement for any or all of those Microsoft applications.

OpenOffice.org – that’s you.

The second provision is more troublesome (unless you are OpenOffice or Google Apps). You have to comply with the Design Guidelines:

Your Licensed UI must comply with the Design Guidelines. If Microsoft notifies you that the Design Guidelines have been updated or that you are not complying with the Design Guidelines, you will make the necessary changes to comply as soon as you reasonably can, but no later than your next product release that is 6 months or more from the date you receive notice.

So what are the Design Guidelines? Good question. This is where it gets silly. In order to see the Design Guidelines, you have to agree the “2007 Microsoft Office Fluent User Interface Design Guidelines Evaluation License Agreement”, which among other things is a non-disclosure agreement. Furthermore, you have to destroy them within 30 days:

3. RESTRICTIONS. The Design Guidelines are for reference only and may not be used in development. You agree that you will destroy the Design Guidelines within thirty (30) days after you first acquire them or upon termination, whichever is earlier.

I am guessing here, but I hope and suppose that if you agree the main license you no longer have to destroy the guidelines to which you are meant to be conforming. It’s not obvious that this is the case, since the main agreement refers back to the UI licensing page, and the only way I can see to get the design guidelines is by agreeing the evaluation license which requires you to destroy them.

I reckon Microsoft’s lawyers are getting carried away.

Lunacy aside, I’d presume that the guidelines are detailed and that conforming could involve considerable work. It is also unclear to me what would happen in the real world if Microsoft issued an edict requiring you to update your application to its latest version with 3D revolving icons, for example. If you are an external developer and your customer does not want to pay, what then? I suppose in theory you should insure against it, or sneak in a clause to your development contract that says the customer pays for extra work imposed by Microsoft in the event that it exercises its rights.

Pragmatically I guess it is unlikely to happen. Still, I don’t like unreasonable agreements. In any case, are we sure that if you did not agree the license, but still went ahead and used the Ribbon UI, that Microsoft could successfully pursue you? Call it a toolbar, and it’s been commonplace in software for years.

Microsoft makes up with the OMG

Microsoft has joined the Object Management Group:

Microsoft Corp. today outlined its approach for taking modeling into mainstream industry use and announced its membership in the standards body Object Management Group™ (OMG™).

I’m not clear exactly when Microsoft joined the OMG. It is already listed as a Contributing Member (the highest level) here. Still, the warm words are something new. In the past Microsoft’s modelling strategy has been presented as an alternative to the OMG. For example, here’s IBM’s Agile Development expert Scott Ambler in a 2005 article:

Luckily, the OMG isn’t the only modeling game in town. Microsoft has struck out on its own, a strategy that has clearly served it well in the past, and is suggesting a new approach to modeling: Domain Specific Languages (DSLs).

And here’s Grady Booch in 2004, on why UML is good and why he “disagrees with Microsoft’s rejection of the UML in favour of proprietary domain-specific languages.”

Before the UML vs DSL wars it was the CORBA vs COM wars, and in both cases it was OMG on one side and Microsoft on the other.

It’s different now, with warm words from OMG CEO Dr Richard Mark Soley:

Microsoft has always been one of the driving forces in the development industry, helping to make innovation possible but also simplifying many of the most challenging aspects of the application development process …[stuff about UML] … Microsoft’s broad expertise and impact will make its membership in OMG beneficial to everyone involved.

It is all part of Microsoft’s efforts to establish “Oslo”, its new modelling initiative which it hopes is the next big thing in development productivity, and will feature in the next Visual Studio.

I wonder what has happened to software factories, which was Microsoft’s modelling buzzword just a couple of years ago? Part of Oslo, or now abandoned?

Technorati tags: , , , , ,