Microsoft targets Adobe … why?

Adobe’s John Dowdell has the best question (and best set of links) about Microsoft’s new “Blend:” why do it and not support Flash?

Because of what Blend lets Microsoft do: get Macromedia stuff out of the Windows development process.

Huh?

Remember all those “Longhorn rules” posts I made about four years ago? Do you know where they came from?

I do. And I’ll never forget the software development lesson that was harshly handed to me.

Microsofties (before I was an employee) showed me some prototypes of Vista. I didn’t know they were prototypes, though. Later, after becoming a Microsoft employee, I found out that all we really saw were Macromedia Director-based movies.

They looked so cool. Tom Koch, today, and I talked about that MVP meeting where we saw those prototypes and how good they made us feel (almost everything that we saw back then was totally changed in the final release).

This actually was NOT a good thing for Microsoft. Why? Because when you build up expectations and you aren’t able to meet them you look pretty silly.

But behind the scenes things were even worse.

Why? Because executives bought into the Flash and Mirrors song and dance too. They thought what they were seeing was possible.

The problem was, developers weren’t involved. Only people who studied interaction, design, and Macromedia Director.

Problem is, anything you create in Director has to be thrown out and rewritten in C++ (if you work on the Windows team).

That meant a whole bunch of time is wasted, plus it’s very possible that what you are dreaming of is simply not possible. It’s also possible that development teams, that don’t understand interaction design, will change your “experiences” and totally munge things up.

So, could Flash ever be “force fit” to be the UI of Windows? Not according to the engineers who’ve studied the problem.

They needed a system that could be used to design real pieces of Windows, if not the entire UI, and handed off to a developer, or team of developers, without having to have the developers touch the UI at all.

You can see this in my early Channel 9 videos with the Sparkle team (which became “Blend” today).

Blend is based on .NET 3.0, and goes beyond anything possible today in Flash or Adobe products — at least as it comes to the combined design and development team.

I saw how a designer built the original Longhorn clock and a developer coded the interactions behind it using Sparkle in a fraction of the time it would take using other approaches.

Does Microsoft care about cross-platform and all that other stuff? Yeah. But it’s only secondary to Microsoft’s need to make the Windows development process much smoother. The executives never want to go through another schedule slip like they did with Longhorn.

Blend will let the Windows team designers get rid of Macromedia stuff. At least that’s the hype.

How will we know the hype is real? Show me those Vienna prototypes and let me play with them! (Vienna is the code name for the next version of Windows).

UPDATE: TechMeme is all over Expression Blend.

72 thoughts on “Microsoft targets Adobe … why?

  1. > http://www.joelonsoftware.com/items/2006/12/05.html

    Yeah, ok… So standard libraries, toolsets, node-based systems (like werkkzeug, filterforge), O/RM tools, code generators, wrist-friendly languages like Boo doesn’t affect development time, and how much you need to know about low-level details? And prototypes will never be “ported” to actual production?

    That’s the old linux nerd way of thinking: It *should* be hard. Nobody should be able to understand the things I’m doing except a select few, otherwise it just *can’t* be good.

    With more standardized middleware, and less programmers, more projects will be finished on time and on budget. We’re still recovering from a period in time where people with no specific skills became programmers because the computer and the nerd community was a safe haven, but with each tool or technology that empowers non-programmers to do what previously required computer…er… “idiots savants”, the world is getting a little better.

  2. “Problem is, anything you create in Director has to be thrown out and rewritten in C++ (if you work on the Windows team). That meant a whole bunch of time is wasted, plus it’s very possible that what you are dreaming of is simply not possible.”

    Anyone who believes Microsoft is going to use prototypes created in Blend (or any other technology) for actual production code has never worked as a software engineer. There is very good reason prototypes are treated as throw-away code.

    The idea that something can be done in Director that is ‘simply not possible’ in C++ is, at very best, an excuse by engineers who either disagree with the design or are too lazy to do the work.

  3. “Problem is, anything you create in Director has to be thrown out and rewritten in C++ (if you work on the Windows team). That meant a whole bunch of time is wasted, plus it’s very possible that what you are dreaming of is simply not possible.”

    Anyone who believes Microsoft is going to use prototypes created in Blend (or any other technology) for actual production code has never worked as a software engineer. There is very good reason prototypes are treated as throw-away code.

    The idea that something can be done in Director that is ‘simply not possible’ in C++ is, at very best, an excuse by engineers who either disagree with the design or are too lazy to do the work.

  4. Rory says, “Blend is a development tool that allows designers and developers to pass Visual Studio applications back and forth so that the designers can “de-uglify” the interfaces created by developers (at least that’s the simple story).”

    How is the workflow you describe different than the workflow with Adobe’s Apollo platform for cross-platform web-connected desktop apps? I don’t see the distinction, other than than one uses a Win32-focused stack based tightly on Visual Studio while the other uses a cross-platform stack based loosely around Eclipse.

  5. Rory says, “Blend is a development tool that allows designers and developers to pass Visual Studio applications back and forth so that the designers can “de-uglify” the interfaces created by developers (at least that’s the simple story).”

    How is the workflow you describe different than the workflow with Adobe’s Apollo platform for cross-platform web-connected desktop apps? I don’t see the distinction, other than than one uses a Win32-focused stack based tightly on Visual Studio while the other uses a cross-platform stack based loosely around Eclipse.

  6. asssuck… fitting name!
    “Once again Scoble betrays his ignorance of the development process. This sad fat wannabe coder struggles with HTML and so makes boring videos to cover his inadequacies.Only in the wacky world of web 2.0 could this joker get away with it….” What value does this comment add? At least the other people that are ripping into scoble are trying to make points while doing it. I’d just like to thank you for completely disrupting my reading… but while I’m here… This isn’t a replacement for flash, the shorter prototyping in Blend and going to developers in a shorter amount of time make sense. And those who say WPF/e could never replace Flash should never say never. I was a Flash developer for years, did some of the first beta testing for Flex and I think they are great products in their space, but if you can learn anything from msft’s history is that they can get rid of competition if they want to… not to say that they even want to replce Flash. Just my two cents.

  7. asssuck… fitting name!
    “Once again Scoble betrays his ignorance of the development process. This sad fat wannabe coder struggles with HTML and so makes boring videos to cover his inadequacies.Only in the wacky world of web 2.0 could this joker get away with it….” What value does this comment add? At least the other people that are ripping into scoble are trying to make points while doing it. I’d just like to thank you for completely disrupting my reading… but while I’m here… This isn’t a replacement for flash, the shorter prototyping in Blend and going to developers in a shorter amount of time make sense. And those who say WPF/e could never replace Flash should never say never. I was a Flash developer for years, did some of the first beta testing for Flex and I think they are great products in their space, but if you can learn anything from msft’s history is that they can get rid of competition if they want to… not to say that they even want to replce Flash. Just my two cents.

  8. WPF/e is undoubtedly Microsoft’s answer to Flash, with the WPF name glued on to make it seem part of a grander scheme. I’m not at all convinced there is a solid reason to use it.

    WPF and Blend however are squarely targeted at Windows development and Scoble is spot on to say they hope to bridge the void between designer prototypes and developer reality.

    There no .NET in Vista because 1.1 wasn’t “good enough” but 2.0 was taking too long and Windows development just couldn’t wait for it to be finished. Vienna will be the first real chance for the OS team to take advantage of all this and I’d be surprised it they didn’t.

  9. WPF/e is undoubtedly Microsoft’s answer to Flash, with the WPF name glued on to make it seem part of a grander scheme. I’m not at all convinced there is a solid reason to use it.

    WPF and Blend however are squarely targeted at Windows development and Scoble is spot on to say they hope to bridge the void between designer prototypes and developer reality.

    There no .NET in Vista because 1.1 wasn’t “good enough” but 2.0 was taking too long and Windows development just couldn’t wait for it to be finished. Vienna will be the first real chance for the OS team to take advantage of all this and I’d be surprised it they didn’t.

  10. Forget about Blend. If Microsoft had the UI engine to show Flash-like stuff, it doesn’t matter whether Microsoft had an editor or not. They could have simply written a translator for .swf files and used Macromedia’s editors.

    And I doubt WPF will be used in Vienna. It was proved that managed code just didn’t cope well with an alloc-based world. But look to WPF/E to surplant the DirectUI engine eventually used all over Vista. WPF/E is the C++-based display engine Microsoft needed all along. If they had it back in 2003, they could have written a SWF translator and we would all be living the XAML world now.

    Remember, Windows 3.1 wasn’t developed on Windows. It was developed on OS2. Microsoft don’t need an editor if they can translate/cross-compile. So Blend is irrelevant.

  11. Forget about Blend. If Microsoft had the UI engine to show Flash-like stuff, it doesn’t matter whether Microsoft had an editor or not. They could have simply written a translator for .swf files and used Macromedia’s editors.

    And I doubt WPF will be used in Vienna. It was proved that managed code just didn’t cope well with an alloc-based world. But look to WPF/E to surplant the DirectUI engine eventually used all over Vista. WPF/E is the C++-based display engine Microsoft needed all along. If they had it back in 2003, they could have written a SWF translator and we would all be living the XAML world now.

    Remember, Windows 3.1 wasn’t developed on Windows. It was developed on OS2. Microsoft don’t need an editor if they can translate/cross-compile. So Blend is irrelevant.

  12. WPF/e: Cross-platform UI engine

    OF TOMORROW! COME, JOIN US ON OUR GIANT ZEPPELIN SHIP FOR OUR GREAT WPF/e VIDEO PRESENTATION IN FOUR! YES, FOUR DIMENSIONS, WHILE OUR ROBOT SERVITORS DELIGHT YOU WITH PILL MEALS UNDREAMT OF IN PRIMITIVE TIMES!!!

    I keep hearing about WPF/e, but odd, we never SEE it outside of the occasional dog and pony show. I know, I know, sometime in 2007. Let’s see…when have I heard this line of crap before. Oh yes, cross-platform Active X. Then, oddly, just as Active X took hold, it suddenly became Windows-Only.

    Of course, Microsoft’s gotten better, right? It’s not like they cripple the not-windows versions of things anymore. it’s not like Outlook Web Access is crippled as hell if you aren’t using IE on Windows…oh…wait, never mind. Well, with all the great interop agreements from Sun and Novell, it’s not like there’s no facility in Active Directory now to properly integrate non-Windows syst…oh wait.

    You know, Microsoft talks a great game of Interop, yet, every time they have to DO the interop, something always happens along the way to make it reek of half-assed. So let’s play a game of “What’s the More Microsoft Answer”

    Number 1:

    A) Is Blend a way to help Windows developers create great applications that, thanks to strict adherence to Internet standards and WPF/e, will be able to function well in a heterogenous environment, allowing customers and end users to use the platform that most makes sense to them?

    OR

    B) Is Blend a way to help Windows developers create great applications that, thanks to lip service to internet standards, and WPF/e being a lot later than we thought, and you know, it’s not going to do what we thought it would, and we don’t see the business case in updating it, but hey, you’re on Windows now, and that’s all that counts, right?

    Come on class, What’s The More Microsoft Answer?

    Number 2:

    A) Steve Ballmer is pushing Interop because he sees that everyone is not going to use Windows exclusively, and so with Ray Ozzie, he’s moving the company into a new stance that will no longer punish companies and users who don’t move to a 100% Windows world, but instead realizes that even if they’re using .Net on Linux, they’re still using .Net, and that’s still a win.

    OR

    B) Steve Ballmer is talking a lot of shit about Interop because he sees meaningless agreements like the ones with Sun and Novell as a way to lull people into a false sense of security so that they aren’t alerted when he starts talking about how all Linux uses Microsoft IP, and how he’s thinking about suing people who aren’t using Suse.

    What’s the More Microsoft Answer!

    Number 3:

    A) Blend compliments Flash, and really, has nothing to do with it, it’s a Windows dev tool.

    B) Blend is going to finally show those &^&((%#@!&^$ at Adobe who’s in goddamned charge here, and it ain’t a buncha damned wussy artists! Let’s see how long Flash and the rest last NOW.

    What’s the More Microsoft Answer!

    Every A) answer gets you a boot to the head for being ignorant of Microsoft history, every B) answer gets you a bigger bar tab for all the drinking Microsoft is going to make you do yet again. Because when it comes to Ballmer-driven decisions, the only right answer is for Ballmer’s wallet!

    Speaking of MonkeyBoy…

    Hey Robert, you know, I did a search, and it’s funny how Ballmer threatening non-Suse Linux Users is a pretty damned big story, and yet, I do a search on “Ballmer” and find that the last time you mentioned him by name, according to your blog’s search function was Oct. 11th in a YouTube article, the last time you mentioned Novell was the day after the deal, 3 Nov., and the last time you mentioned Linux was about a food blog on the 20th of Nov. Someone as well-connected and well read as you couldn’t have missed this one, hell, Mary Jo Foley had a couple articles on it. Yet you seem to have completely missed this Microsoft FUD-Storm. How’d THAT happen?

    hmm.

    Still serving your corporate masters I see, even though you no longer work for them.

  13. WPF/e: Cross-platform UI engine

    OF TOMORROW! COME, JOIN US ON OUR GIANT ZEPPELIN SHIP FOR OUR GREAT WPF/e VIDEO PRESENTATION IN FOUR! YES, FOUR DIMENSIONS, WHILE OUR ROBOT SERVITORS DELIGHT YOU WITH PILL MEALS UNDREAMT OF IN PRIMITIVE TIMES!!!

    I keep hearing about WPF/e, but odd, we never SEE it outside of the occasional dog and pony show. I know, I know, sometime in 2007. Let’s see…when have I heard this line of crap before. Oh yes, cross-platform Active X. Then, oddly, just as Active X took hold, it suddenly became Windows-Only.

    Of course, Microsoft’s gotten better, right? It’s not like they cripple the not-windows versions of things anymore. it’s not like Outlook Web Access is crippled as hell if you aren’t using IE on Windows…oh…wait, never mind. Well, with all the great interop agreements from Sun and Novell, it’s not like there’s no facility in Active Directory now to properly integrate non-Windows syst…oh wait.

    You know, Microsoft talks a great game of Interop, yet, every time they have to DO the interop, something always happens along the way to make it reek of half-assed. So let’s play a game of “What’s the More Microsoft Answer”

    Number 1:

    A) Is Blend a way to help Windows developers create great applications that, thanks to strict adherence to Internet standards and WPF/e, will be able to function well in a heterogenous environment, allowing customers and end users to use the platform that most makes sense to them?

    OR

    B) Is Blend a way to help Windows developers create great applications that, thanks to lip service to internet standards, and WPF/e being a lot later than we thought, and you know, it’s not going to do what we thought it would, and we don’t see the business case in updating it, but hey, you’re on Windows now, and that’s all that counts, right?

    Come on class, What’s The More Microsoft Answer?

    Number 2:

    A) Steve Ballmer is pushing Interop because he sees that everyone is not going to use Windows exclusively, and so with Ray Ozzie, he’s moving the company into a new stance that will no longer punish companies and users who don’t move to a 100% Windows world, but instead realizes that even if they’re using .Net on Linux, they’re still using .Net, and that’s still a win.

    OR

    B) Steve Ballmer is talking a lot of shit about Interop because he sees meaningless agreements like the ones with Sun and Novell as a way to lull people into a false sense of security so that they aren’t alerted when he starts talking about how all Linux uses Microsoft IP, and how he’s thinking about suing people who aren’t using Suse.

    What’s the More Microsoft Answer!

    Number 3:

    A) Blend compliments Flash, and really, has nothing to do with it, it’s a Windows dev tool.

    B) Blend is going to finally show those &^&((%#@!&^$ at Adobe who’s in goddamned charge here, and it ain’t a buncha damned wussy artists! Let’s see how long Flash and the rest last NOW.

    What’s the More Microsoft Answer!

    Every A) answer gets you a boot to the head for being ignorant of Microsoft history, every B) answer gets you a bigger bar tab for all the drinking Microsoft is going to make you do yet again. Because when it comes to Ballmer-driven decisions, the only right answer is for Ballmer’s wallet!

    Speaking of MonkeyBoy…

    Hey Robert, you know, I did a search, and it’s funny how Ballmer threatening non-Suse Linux Users is a pretty damned big story, and yet, I do a search on “Ballmer” and find that the last time you mentioned him by name, according to your blog’s search function was Oct. 11th in a YouTube article, the last time you mentioned Novell was the day after the deal, 3 Nov., and the last time you mentioned Linux was about a food blog on the 20th of Nov. Someone as well-connected and well read as you couldn’t have missed this one, hell, Mary Jo Foley had a couple articles on it. Yet you seem to have completely missed this Microsoft FUD-Storm. How’d THAT happen?

    hmm.

    Still serving your corporate masters I see, even though you no longer work for them.

  14. Once again Scoble betrays his ignorance of the development process. This sad fat wannabe coder struggles with HTML and so makes boring videos to cover his inadequacies.Only in the wacky world of web 2.0 could this joker get away with it….

  15. Once again Scoble betrays his ignorance of the development process. This sad fat wannabe coder struggles with HTML and so makes boring videos to cover his inadequacies.Only in the wacky world of web 2.0 could this joker get away with it….

  16. Mitch: I’m not saying prototypes are going away. I’m saying that thanks to Blend the time between the prototypes and real code will be greatly shortened and the result will be much closer to what was originally dreamed up by the designers.

    Office 2007 greatest software UI accomplishment? Oh, because the designers had to convince so many people that it was OK? Absolutely. But as an innovation? It sure looks like a Web UI to me.

  17. Mitch: I’m not saying prototypes are going away. I’m saying that thanks to Blend the time between the prototypes and real code will be greatly shortened and the result will be much closer to what was originally dreamed up by the designers.

    Office 2007 greatest software UI accomplishment? Oh, because the designers had to convince so many people that it was OK? Absolutely. But as an innovation? It sure looks like a Web UI to me.

  18. If you think prototyping is going away you don’t understand it’s role in development, Robert. The time-consuming part of developing a UI is not converting the prototype to real code, it’s developing and testing the prototype. Coming up with a good design is the hard part, writing the corresponding code is easy (easy as in doesn’t take four years).

    According to Jensen Harris a big part of the prototypes for Office 2007 were done in Photoshop and Powerpoint (!). And Office 2007 is arguably the greatest software UI accomplishment this decade.

  19. If you think prototyping is going away you don’t understand it’s role in development, Robert. The time-consuming part of developing a UI is not converting the prototype to real code, it’s developing and testing the prototype. Coming up with a good design is the hard part, writing the corresponding code is easy (easy as in doesn’t take four years).

    According to Jensen Harris a big part of the prototypes for Office 2007 were done in Photoshop and Powerpoint (!). And Office 2007 is arguably the greatest software UI accomplishment this decade.

  20. As a Flash/Flex developer I have a really hard time getting excited about Blend. I realize its not targeted precisely at me, but to hear people speak about rapid prototyping/development and non-standard (OS-based) UIs and UI controls like this is some sort of breakthrough, my first reaction is always something like “yea, that’s what I’ve been doing for years with Flash”. Bringing these aspects of desktop development up to the level that thin-client development has enjoyed for years (we’ll see if it actually does) is nice, but its far from revolutionary.

    WPF/e will NEVER supplant Flash Player as the de facto cross platform, cross browser runtime for dynamic content and media. It simply won’t happen. I also wonder what chance there is of any self-respecting, highly talented designer ditching Photoshop and/or Illustrator for this MS offering.

    I also wonder if we’ll start pining for a skip intro button on our thick client apps once these things start reaching the market. God knows the only people less tuned in to design and UE than web developers are software engineers :)

  21. As a Flash/Flex developer I have a really hard time getting excited about Blend. I realize its not targeted precisely at me, but to hear people speak about rapid prototyping/development and non-standard (OS-based) UIs and UI controls like this is some sort of breakthrough, my first reaction is always something like “yea, that’s what I’ve been doing for years with Flash”. Bringing these aspects of desktop development up to the level that thin-client development has enjoyed for years (we’ll see if it actually does) is nice, but its far from revolutionary.

    WPF/e will NEVER supplant Flash Player as the de facto cross platform, cross browser runtime for dynamic content and media. It simply won’t happen. I also wonder what chance there is of any self-respecting, highly talented designer ditching Photoshop and/or Illustrator for this MS offering.

    I also wonder if we’ll start pining for a skip intro button on our thick client apps once these things start reaching the market. God knows the only people less tuned in to design and UE than web developers are software engineers :)

  22. Bullshit. You can claim I don’t know what I do know, that you know what I know better than myself.

    That still doesn’t change the fact that the programmers still won’t be designers, the designers still won’t be programmers, and that prototyping will occur.

    Nor does this argument even explain why Microsoft couldn’t develop a simple, internal interface builder.
    Instead they are attempting to rebuild a platform agnostic (although it isn’t really) client side graphics API. None of that has to do with the fact that Scoble was duped into believing Microsoft could actually reproduce early prototypes in a usable product.

  23. Bullshit. You can claim I don’t know what I do know, that you know what I know better than myself.

    That still doesn’t change the fact that the programmers still won’t be designers, the designers still won’t be programmers, and that prototyping will occur.

    Nor does this argument even explain why Microsoft couldn’t develop a simple, internal interface builder.
    Instead they are attempting to rebuild a platform agnostic (although it isn’t really) client side graphics API. None of that has to do with the fact that Scoble was duped into believing Microsoft could actually reproduce early prototypes in a usable product.

  24. Brian and Goebbels, it’s so painfully obvious that neither of you have ever created (useful) Windows software nor lived through the SDLC. I’ll try to simplify this as much as possible so that you “get it”.

    Right now, to make a UI with .NET, you use the Visual Studio designer; it allows you to place controls on a form, configure control properties, databind controls, etc. The problem is that Visual Studio is designed for programmers, not interface designers. Designing custom controls with Visual Studio, for a non-programmer, is even more of a nightmare. Forget about 3D objects, vector graphics, and custom form styles.

    When initially designing an interface (drafting, testing, tweaking, usability testing, etc), you are going to change a lot – possibly making drastic changes. Mocking up such interfaces in Visual Studio and having a programmer “make it work” (to the extent of illustrating interactions) only for you to break it an hour later is simply bad workflow. It would be a full time job for some unlucky programmer to keep your experimental interface working properly.

    Making use of rapid-prototyping tools, such as Macromedia Director, gives you an easy way to make interfaces “work” without needing any real code (scripting doesn’t count) behind it. The catch is that once you’ve finalized the interface, there is no way to hook the program logic up to it without recreating everything in Visual Studio’s designer; that means a programmer has to work through your mockup and try to recreate what you’ve made (not trivial), at times trying to read your mind (very bad).

    Blend, ironically, blends the best of both worlds. You get rapid-prototyping in the sense that you do not need actual program logic to drive all interactions (to an extent) and you can reinvent the interface as much as necessary. You do not have to toss out the prototype when it’s complete and nobody has to read your mind because, like the Visual Studio designer, Blend has written code for you that the program logic can easily be tied into.

    The Visual Studio designer and Blend designer are far more similar than Director/Flash and Blend. Those designers do not create code that is a part of your project and power the interface for your executable. Blend takes the programmer’s brain out of Visual Studio’s designer and replaces it with a designer’s brain – the same functionality is still there, but simplified for the non-programmer. Blend also enables many new abilities that would have never been possible in Visual Studio’s designer.

    What Blend effectively means is that interface prototyping is merged with interface implementation and that saves a lot of man hours. Instead of making non-reusable prototypes of Office 2010 and Windows Vienna Explorer interfaces, the interface designers on those projects can make the interface and the programmers can write the logic which means what executives see is what executives get.

    As far as .NET in Vista, I can’t answer that. Maybe a Microsoft employee said that .NET was designed to make Windows development easier, but I don’t believe that. I believe .NET was intended to make development on the Windows platform easier, thus bringing more developers to the platform and keeping old ones, thus continuing to grow the platform. Blend, however, is about breaking down the wall between interface designers and programmers.

    WPF/e extends the potential of WPF to websites. If Microsoft has learned anything in the past few years, it is that web applications are at least as important as desktop applications. Having a solid development offering for desktop applications only is foolish. Those who learn the Expression tools for desktop applications can now easily extend their skills to the web and vice versa; this provides them with a skill they may not have had before and makes learning Expression more valuable.

  25. Brian and Goebbels, it’s so painfully obvious that neither of you have ever created (useful) Windows software nor lived through the SDLC. I’ll try to simplify this as much as possible so that you “get it”.

    Right now, to make a UI with .NET, you use the Visual Studio designer; it allows you to place controls on a form, configure control properties, databind controls, etc. The problem is that Visual Studio is designed for programmers, not interface designers. Designing custom controls with Visual Studio, for a non-programmer, is even more of a nightmare. Forget about 3D objects, vector graphics, and custom form styles.

    When initially designing an interface (drafting, testing, tweaking, usability testing, etc), you are going to change a lot – possibly making drastic changes. Mocking up such interfaces in Visual Studio and having a programmer “make it work” (to the extent of illustrating interactions) only for you to break it an hour later is simply bad workflow. It would be a full time job for some unlucky programmer to keep your experimental interface working properly.

    Making use of rapid-prototyping tools, such as Macromedia Director, gives you an easy way to make interfaces “work” without needing any real code (scripting doesn’t count) behind it. The catch is that once you’ve finalized the interface, there is no way to hook the program logic up to it without recreating everything in Visual Studio’s designer; that means a programmer has to work through your mockup and try to recreate what you’ve made (not trivial), at times trying to read your mind (very bad).

    Blend, ironically, blends the best of both worlds. You get rapid-prototyping in the sense that you do not need actual program logic to drive all interactions (to an extent) and you can reinvent the interface as much as necessary. You do not have to toss out the prototype when it’s complete and nobody has to read your mind because, like the Visual Studio designer, Blend has written code for you that the program logic can easily be tied into.

    The Visual Studio designer and Blend designer are far more similar than Director/Flash and Blend. Those designers do not create code that is a part of your project and power the interface for your executable. Blend takes the programmer’s brain out of Visual Studio’s designer and replaces it with a designer’s brain – the same functionality is still there, but simplified for the non-programmer. Blend also enables many new abilities that would have never been possible in Visual Studio’s designer.

    What Blend effectively means is that interface prototyping is merged with interface implementation and that saves a lot of man hours. Instead of making non-reusable prototypes of Office 2010 and Windows Vienna Explorer interfaces, the interface designers on those projects can make the interface and the programmers can write the logic which means what executives see is what executives get.

    As far as .NET in Vista, I can’t answer that. Maybe a Microsoft employee said that .NET was designed to make Windows development easier, but I don’t believe that. I believe .NET was intended to make development on the Windows platform easier, thus bringing more developers to the platform and keeping old ones, thus continuing to grow the platform. Blend, however, is about breaking down the wall between interface designers and programmers.

    WPF/e extends the potential of WPF to websites. If Microsoft has learned anything in the past few years, it is that web applications are at least as important as desktop applications. Having a solid development offering for desktop applications only is foolish. Those who learn the Expression tools for desktop applications can now easily extend their skills to the web and vice versa; this provides them with a skill they may not have had before and makes learning Expression more valuable.

  26. Quote: “actually, there isn’t any .NET in Windows Vista, other than the runtimes, that I know about. Maybe some very small pieces, but generally there was a rule against using .NET stuff.

    Also, this is about the next version of Windows. Over and over I had executives tell me that Sparkle was developed to decrease the Windows development time.”

    This was my point. Vista is the next version of windows after .Net, and there is little .Net in Vista. Based on this (which may not be fair, its only one data point) I would be very surprised if this has any influence on the next version of Windows. I’ll even leave out the obvious dig about when that might actually ship :)

  27. Quote: “actually, there isn’t any .NET in Windows Vista, other than the runtimes, that I know about. Maybe some very small pieces, but generally there was a rule against using .NET stuff.

    Also, this is about the next version of Windows. Over and over I had executives tell me that Sparkle was developed to decrease the Windows development time.”

    This was my point. Vista is the next version of windows after .Net, and there is little .Net in Vista. Based on this (which may not be fair, its only one data point) I would be very surprised if this has any influence on the next version of Windows. I’ll even leave out the obvious dig about when that might actually ship :)

  28. Goebbels: it’s pretty obvious you haven’t used Blend, or talked to any of its developers, nor have you talked with any of the executives who funded it, nor have you considered what Rory just wrote, nor have you watched any of the Channel 9 videos.

    Developers and designers I hang around totally disagree that you should be using prototypers anymore. That’s lame, especially when you could be prototyping in a tool that makes moving to real workable code a lot easier.

  29. Goebbels: it’s pretty obvious you haven’t used Blend, or talked to any of its developers, nor have you talked with any of the executives who funded it, nor have you considered what Rory just wrote, nor have you watched any of the Channel 9 videos.

    Developers and designers I hang around totally disagree that you should be using prototypers anymore. That’s lame, especially when you could be prototyping in a tool that makes moving to real workable code a lot easier.

  30. For those who think Blend is being attacked, it’s not. Scoble’s lame excuse for why MS is doing this is. So… some UI prototypers used Designer. What does that have to do with creating a platform-agnostic client-side UI platform? Nothing. Prototyping will still be done. It should be done without actual development tools as UI interaction designers usually aren’t programmers. Those prototypes should never be passed off as the real thing. Scoble was suckered by an interactive demo video. That’s all that Scoble explained.

  31. For those who think Blend is being attacked, it’s not. Scoble’s lame excuse for why MS is doing this is. So… some UI prototypers used Designer. What does that have to do with creating a platform-agnostic client-side UI platform? Nothing. Prototyping will still be done. It should be done without actual development tools as UI interaction designers usually aren’t programmers. Those prototypes should never be passed off as the real thing. Scoble was suckered by an interactive demo video. That’s all that Scoble explained.

  32. Brian -

    “I have a hard time believing that this is anything but MS seeing the prevalence of flash (especially for video sharing) and feeling jealous that it is an Adobe product, and not a MS one that has become so popular. Microsoft’s answer to any problem? Reinvent it. So here we are.”

    You clearly don’t actually know what Blend *is*.

    If you want to learn, check out a video I did with the blend team:

    http://channel9.msdn.com/Showpost.aspx?postid=263549

    As you’ll see, Blend is not a Flash replacement in any way. It isn’t even remotely correct to think of it like that.

    Blend is a development tool that allows designers and developers to pass Visual Studio applications back and forth so that the designers can “de-uglify” the interfaces created by developers (at least that’s the simple story).

    Think of it this way…

    Blend loads a Visual Studio project’s UI. Designer uses Blend to modify the UI so that it looks good. The designer is working with the *same* Visual Studio solution as the developer. Definitely not prototypes (unless that’s what the goal of the project is).

    There are multiple tools in the Expression line, and each has a specific purpose. The purpose of Blend, again, is to unite developers and designers.

    The technologies behind all of this are XAML, WPF, and WPF/e.

    XAML is just the markup language that’s used to describe objects. In the case of UIs, XAML is mostly likely being used to create WPF-based interfaces.

    WPF, the Windows Presentation Foundation (formerly known as “Avalon”) is Microsoft’s next generation UI toolkit.

    WPF/e is a version of WPF designed to work on multiple platforms and under multiple browsers (IE, FF, etc…).

    Both WPF and WPF/e interfaces can be created using XAML.

    Expression Blend works with XAML.

    Expression Design works with XAML.

    In other words:

    Expression: Tools

    XAML: Markup

    WPF: Windows-only UI engine

    WPF/e: Cross-platform UI engine

    All in all, it’s very different from Flash.

    But, to get the full story, you’ll want to check out the video above (as well as the others in the same series).

    They contain some of the most recent and relevant explanations and demos of the technologies in question.

  33. Brian -

    “I have a hard time believing that this is anything but MS seeing the prevalence of flash (especially for video sharing) and feeling jealous that it is an Adobe product, and not a MS one that has become so popular. Microsoft’s answer to any problem? Reinvent it. So here we are.”

    You clearly don’t actually know what Blend *is*.

    If you want to learn, check out a video I did with the blend team:

    http://channel9.msdn.com/Showpost.aspx?postid=263549

    As you’ll see, Blend is not a Flash replacement in any way. It isn’t even remotely correct to think of it like that.

    Blend is a development tool that allows designers and developers to pass Visual Studio applications back and forth so that the designers can “de-uglify” the interfaces created by developers (at least that’s the simple story).

    Think of it this way…

    Blend loads a Visual Studio project’s UI. Designer uses Blend to modify the UI so that it looks good. The designer is working with the *same* Visual Studio solution as the developer. Definitely not prototypes (unless that’s what the goal of the project is).

    There are multiple tools in the Expression line, and each has a specific purpose. The purpose of Blend, again, is to unite developers and designers.

    The technologies behind all of this are XAML, WPF, and WPF/e.

    XAML is just the markup language that’s used to describe objects. In the case of UIs, XAML is mostly likely being used to create WPF-based interfaces.

    WPF, the Windows Presentation Foundation (formerly known as “Avalon”) is Microsoft’s next generation UI toolkit.

    WPF/e is a version of WPF designed to work on multiple platforms and under multiple browsers (IE, FF, etc…).

    Both WPF and WPF/e interfaces can be created using XAML.

    Expression Blend works with XAML.

    Expression Design works with XAML.

    In other words:

    Expression: Tools

    XAML: Markup

    WPF: Windows-only UI engine

    WPF/e: Cross-platform UI engine

    All in all, it’s very different from Flash.

    But, to get the full story, you’ll want to check out the video above (as well as the others in the same series).

    They contain some of the most recent and relevant explanations and demos of the technologies in question.

  34. “Problem is, anything you create in Director has to be thrown out and rewritten in C++ (if you work on the Windows team).”

    That’s true. Prototyping in Director is a great way to get interactive mockups out there, check gameplay, decide what you want to do.

    Once you know what you want to do, it’s faster to code. That’s why so many games in the late 90s prototyped in Director, then passed it off to coders saying “deliver this for 3D0″ or whatever. Natural for Longhorn to use that style too, I guess.

    (For modern prototyping, look at Fireworks, Flex, and the new generation of rapid delivery workflows… lots more actual code reuse here, above and beyond the confirmation of prototypes.) (Of course, I guess the next Windows won’t be built in MXML, so this point may be moot…. ;-)

    jd/adobe

  35. “Problem is, anything you create in Director has to be thrown out and rewritten in C++ (if you work on the Windows team).”

    That’s true. Prototyping in Director is a great way to get interactive mockups out there, check gameplay, decide what you want to do.

    Once you know what you want to do, it’s faster to code. That’s why so many games in the late 90s prototyped in Director, then passed it off to coders saying “deliver this for 3D0″ or whatever. Natural for Longhorn to use that style too, I guess.

    (For modern prototyping, look at Fireworks, Flex, and the new generation of rapid delivery workflows… lots more actual code reuse here, above and beyond the confirmation of prototypes.) (Of course, I guess the next Windows won’t be built in MXML, so this point may be moot…. ;-)

    jd/adobe

  36. “I’m also not sure how software prototyped in Blend would be better than something prototyped with flash. Its still a prototype, so maybe the real problem is people showing off prototype scaffoldings and pretending that they are the real programs.”

    The point is, UIs created with Blend will not be prototypes, the UI created with Blend can be handed to a developer to “wire up” the controls to real code and you’re done (in theory).

    Blend is not just a UI design tool that creates pretty non-functional pictures, it is a tool that writes your XAML for you. The XAML is then compiled together with the plumbing code to create the final program.

    Certainly a programmer needs to write the plumbing code, but the developer does not need to interpret and implement the design, the design is already implemented.

  37. “I’m also not sure how software prototyped in Blend would be better than something prototyped with flash. Its still a prototype, so maybe the real problem is people showing off prototype scaffoldings and pretending that they are the real programs.”

    The point is, UIs created with Blend will not be prototypes, the UI created with Blend can be handed to a developer to “wire up” the controls to real code and you’re done (in theory).

    Blend is not just a UI design tool that creates pretty non-functional pictures, it is a tool that writes your XAML for you. The XAML is then compiled together with the plumbing code to create the final program.

    Certainly a programmer needs to write the plumbing code, but the developer does not need to interpret and implement the design, the design is already implemented.

  38. Brian: actually, there isn’t any .NET in Windows Vista, other than the runtimes, that I know about. Maybe some very small pieces, but generally there was a rule against using .NET stuff.

    Also, this is about the next version of Windows. Over and over I had executives tell me that Sparkle was developed to decrease the Windows development time.

    Protoypes in Blend would actually work and would move straight into production code without being forced to be redesigned. That’s a HUGE development step that would be skipped. WOuld take months off of development time.

    The Director movies of Longhorn I saw were NOT prototypes. They did NOT work. We weren’t allowed to play with them. They were used in a demo, though, and it wasn’t exactly clear what we were seeing. A set of the same things done in Expression Blend would have been a LOT closer to the real thing we would have gotten to play with.

    But, they needed to wait for .NET 3.0 and WPF to be finished before they could use it on Windows.

    Expect Blend stuff to be used all over the place in the next version.

  39. Brian: actually, there isn’t any .NET in Windows Vista, other than the runtimes, that I know about. Maybe some very small pieces, but generally there was a rule against using .NET stuff.

    Also, this is about the next version of Windows. Over and over I had executives tell me that Sparkle was developed to decrease the Windows development time.

    Protoypes in Blend would actually work and would move straight into production code without being forced to be redesigned. That’s a HUGE development step that would be skipped. WOuld take months off of development time.

    The Director movies of Longhorn I saw were NOT prototypes. They did NOT work. We weren’t allowed to play with them. They were used in a demo, though, and it wasn’t exactly clear what we were seeing. A set of the same things done in Expression Blend would have been a LOT closer to the real thing we would have gotten to play with.

    But, they needed to wait for .NET 3.0 and WPF to be finished before they could use it on Windows.

    Expect Blend stuff to be used all over the place in the next version.

  40. I disagree. Blend is not being developed to help MS develop windows. Why do I say that? Because .net was supposed to be used by MS to develop windows, and some of the teams do use it. It still seems like many (maybe most, maybe almost all) do not use .net for whatever reason. Significant pieces of windows will not be written with “Blend.”

    I have a hard time believing that this is anything but MS seeing the prevalence of flash (especially for video sharing) and feeling jealous that it is an Adobe product, and not a MS one that has become so popular. Microsoft’s answer to any problem? Reinvent it. So here we are.

    I’m also not sure how software prototyped in Blend would be better than something prototyped with flash. Its still a prototype, so maybe the real problem is people showing off prototype scaffoldings and pretending that they are the real programs.

  41. I disagree. Blend is not being developed to help MS develop windows. Why do I say that? Because .net was supposed to be used by MS to develop windows, and some of the teams do use it. It still seems like many (maybe most, maybe almost all) do not use .net for whatever reason. Significant pieces of windows will not be written with “Blend.”

    I have a hard time believing that this is anything but MS seeing the prevalence of flash (especially for video sharing) and feeling jealous that it is an Adobe product, and not a MS one that has become so popular. Microsoft’s answer to any problem? Reinvent it. So here we are.

    I’m also not sure how software prototyped in Blend would be better than something prototyped with flash. Its still a prototype, so maybe the real problem is people showing off prototype scaffoldings and pretending that they are the real programs.

Comments are closed.