Category Archives: microsoft

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: , , , , ,

Doubling performance with Silverlight multithreading

Bart Czernicki has a detailed post showing how Silverlight 2.0’s multithreading can improve performance. He took my counting primes code and  adapted it for parallel processing. On my quad core system the results are impressive:

As you can see by squinting at the screen grab, the processing time went from 0.43 to 0.20 seconds.

Multithreading is getting a bad rap in some quarters, because it greatly complicated debugging. On the other hand, if you have an app which does some heavy duty calculations then performance benefits like this are worth a little pain.

Technorati tags: , ,

H.264, AAC comes to Silverlight. Game over for VC-1?

Microsoft has announced that Silverlight will support the H.264 video standard “in a future version”, along with AAC for audio. H.264 is also used by Adobe Flash and has wide adoption across the industry; it’s likely that your HD video camera records to H.264, for example.

Good news for Silverlight, though it may be a while before we see this rolled out, but surely bad news for VC-1, Microsoft’s preferred video format and part of the Windows Media family. Why would anyone not standardize on H.264 now?

Defining cloud computing

I liked this post by Larry Dignan on the cloud computing buzzword and how meaningless it has become.

Writing on the subject recently, I was struck by the gulf between what some people mean – online apps like Google Apps and Gmail – and what others mean, on-demand utility computing such as that delivered by Amazon Elastic Compute Cloud or Flexiscale. These things have little in common.

Dignan has even more examples.

Should we abandon the term? Maybe, but I find it useful if only as shorthand for describing how the centre of gravity is shifting to the Internet.

Some services are more cloudy than others. Dignan refers to this Forrester report (though you’ll have to look at the blog post for the extracts, unless you want to buy it) which has a table of “six key characteristics.” I don’t agree with all of them; the business model, for example, is not an inherent part of cloud computing. I am interested in number two:

Accessible via Internet protocols from any computer

Any computer? OK, probably not the Atari ST which I have in the loft. Any computer with a web browser? What about requiring a “modern” web browser, is that OK? Java? Flash? Silverlight? A specific version of Java or Flash? What about when we need a runtime like Adobe AIR or Microsoft Live Mesh? What if it doesn’t run on Linux? Or on an Apple iPhone? What about when there is an offline component such as Google Gears? All these things narrow what is meant by “any computer”.

This is the old “rich versus reach” debate; it is still being played out. My point: cloud computing isn’t a boolean characteristic, but a continuum from very cloudy (NTP) to not cloudy at all (Microsoft Office).

Microsoft Oslo: a tool, a language, a repository

A couple of Microsofties are talking up the Oslo launch at the forthcoming PDC. “Oslo” is what Microsoft sees as the next generation of software development – I think.

Don Box and Douglas Purdy have just posted their own definitions. They should know, they’re working on it.

Box says:

With Oslo, we’re doing two things:

1. We’re making it easier for people to write things down in ways that make sense for the domain they are working in – the common term for this in the wild is modeling.

2. We’re making the things people wrote down accessible to platform components during program execution.

Purdy:

we have boiled down Oslo to three very simple things:

  • A tool that helps people define and interact with models in a rich and visual manner
  • A language that helps people create and use textual domain-specific languages and data models
  • A relational repository that makes models available to both tools and platform components

There will be a CTP for us all to try at PDC.

The last time the industry tried this I believe it was called UML 2.0; it excited a lot of theoreticians but made little impact on real-world application development. I’m sceptical about Oslo too; but let’s acknowledge at least that the goal is a worthy one.

Having said that, what do you think about this remark from Purdy:

For me personally, Oslo is the first step in my vision “to make everyone a programmer (even if they don’t know it)”.

I’m sorry, that “everyone a programmer” line brings to mind spaghetti-macros in Excel or some of those unmaintainable Access and Visual Basic applications which you still see sometimes if you hang around small businesses.

Still, there is a costly divide in development, which is to do with the fact that A is an expert is some particular field, B is a programmer; and somehow A’s expertise has to be expressed in B’s code. I think this is about bridging that gap.

Technorati tags: , , ,