Do Apollo and WPF compete with each other?

Im going to try to keep this post short (I have a bunch of other posts I need to work on tonight), but this question came up during Apollo Camp.

Do Apollo and WPF compete?

The answer that I have, and am posting here is that, no, I don’t think that they do.

WPF is a Windows technology for creating windows applications. It is targeted at Windows developers. If you want to build Windows desktop applications, using Microsoft technologies (XAML, C#), then WPF is for you. The primary development tools are Windows only (which make sense, since you are building Windows applications).Apollo is a cross platform runtime (currently in Alpha), that is targeted at allowing web developers to use those web development skills, to bring web and rich internet applications to the desktop. It is targeted at web developers. You use existing web technologies (Flash, Flex, HTML, JavaScript) to build your applications. The development tools are cross platform.Now, there may be cases where the functionality of Apollo and WPF overlap, however, even in these cases, I don’t think that there really is that much competition. If you are a Microsoft .NET / WPF developer and don’t care about being cross platform, then you are probably going to use WPF. If you are a web developer, then you are probably going to use Apollo.I think that the only runtimes that really compete directly with each other in the Adobe / Microsoft worlds are Flash in the browser and WPF/E, but Ill leave that post for another day.Here is a simple chart I put together to try to display my thinking on this.WPF Apollo ChartSo, Apollo is kind of in this new, in between space between the desktop and the browser, that combines some of the advantages of web technologies and deployment, with some of the advantages of being on the desktop. Someone needs to come up with a good name to describe this space.I am curious to hear others thoughts. Post them in the comments.

11 Responses to Do Apollo and WPF compete with each other?

  1. Apollo is a “DeskerNet” enabled platform. :)(Hey…if platforminess can fly…so can that…lmfao)

  2. dan says:

    DeskerNet, I like it. How about Web Desk apps, or Rich Desk apps (nice short abbreviations of what we already call them)… might as well call a spade a spade.

  3. Scott Barnes says:

    I’d agree 80% but disagree 20% heh.I throw in WPF .XBAP (which then begs the question of web-platforms vs desktop platforms) and I guess it comes back to how badly do people want X-Platform. While its important to some, others its not.Windows XP has a 5 year term left, Vista’s growing in adoption day by day so sooner or later this discussion about .XBAP will eventuate.Still, nice post though Mike I’ll give points for being fair.–Scott BarnesDeveloper EvangelistMicrosoft.

  4. Sean Voisen says:

    Mike, this is really hard to grasp when you keep throwing around all these technical terms like “webiness” and “cross platforminess.” 🙂 Plain English, please …

  5. Shiv says:

    Just Downloaded the Apollo alpha, looks great so far. In fact I’m posting this comment from within Fresh.air.Before I comment on your APF/Apollo, I’d like to give some feedback on the Alpha if I may.1. The “browser” needs to have some basic context menus available such as Back/forward, Save as etc.2. While I’m entering this comment I don’t see the cursor in the fields as I type.3. The “home” and “end” keys don’t work either.On to the WPF and Apollo post…I believe WPF, XBAP, WPF/E are competition. The fact of the matter is that these technologies are Windows technologies, and is Apollo is intended for this space then they compete. I personally use these technologies extensively for production work (just so you know :)). I also use Flex. I love the end result, but I totally detest the effort of getting there. The Debugger totally and I mean totally sucks. For Apollo to have a good chance at least for the Windows folks out there and there are millions for of us/them than other platformers, you’ve got to make some huge strides in many areas and the IDE is paramount.Sorry for the rant. We want to use Apollo for some things and I’m personally looking forward to the release date, but I so dread the whole development experience (what especially after the incredible VS.NET 2005 and Orcas experience) in Flex Builder/Eclipse 3.2.2.

  6. bitwize says:

    Stating the obvious; Deskspace, Netspace, Webtop.*yawn*Perhaps; Midspace, Dubspace, Devspace, Appspace.But considering the price/platforms howabouts; Freespace!;O)

  7. Ashwinee says:

    Hi Mike,Great article on Apollo vs WPF/E.In fact it will help me convincing my people that WPF is not MS version of Apollo.I downloaded the Apollo alpha and will try it at home. I also installed the Apollo runtime and believe me it was quite hassle-free,hence a joy.I also downloaded some sample apps and installed them also(yeah installed them).It showed a message like publisher UNVERIFIED and system access UNRESTRICTED (I think this is something that can be taken care of while publishing the app).I had earlier made a color picker in Flash and made windowless in SWFKit ( someone has to use it ,he/she does not have to install anything.Just doubleclick on the icon that is on the Desktop and it will open up and press ESC button to close it.Can we do something similar incase of an Apollo app ?I also installed the Fresh.air and saw this post and the reason I am viewing this post in a browser is that I didnot see the Apollo vs WPF/E chart in Fresh.Any explanation would be welcome.

  8. enefekt says:

    Hybriddefinition: a thing made by combining two different elements; a mixture

  9. Phillip Kerman says:

    I think your comment: If you are a Microsoft .NET / WPF developer and don’t care about being cross platform, then you are probably going to use WPF. If you are a web developer, then you are probably going to use Apollo…is fair. But Scott’s comment that it comes back to how badly do people want X-Platform. While its important to some, others its not. is not entirely fair. That is, I do plenty of apps that don’t need to be cross platform but I’ll STILL use Apollo (probably).

  10. David says:

    I think for completeness-sake, you should include Java in the graph. It’s less webby, but more cross platformy. Or has the world completely given up on Java on the desktop at this point?

  11. Well heck,I’ll be so bold as to say I think this is a completely fair assessment of where all this stuff stands at the moment. But it’s also a moving target right? There’s probably a bunch of interesting things that will happen at Microsoft and Adobe that will change the dynamics and placement of some of the technology on this chart.I’ll go so far to suggest that in the very near future some companies might develop apps not with one or the other type of technology (insert poison here) but with multiple types of technology.Just like we have multi-channel experiences in the physical world we’re probably going to have multi-channel digital experiences too. I can envision scenarios where an Apollo app will make alot of sense for a customer scenario where you’re looking at 10 to 12% of your audience being on Linux or Mac and the remainder on Windows.But I can also envision alot companies going, “Hey, we can serve the majority of our audience better with a WPF application than an Apollo app on Windows, let’s spin up one of those too.” Now this sounds crazy from a development perspective and TOC perspective but it’s not from a customer perspective, whereas differentiation and the ownership of a superior experience is a competitive benefit. It’s why we see co-branding in consumer electronics and cars for example.The driver of what technology folks will embrace will depend on alot of these things right? Like how easy is something to build? How hard is it to implement the desired spec on the platform? How much does it cost to maintain? These will be fuzzy issues with all this stuff–or perhaps not, we may find that tools and workflow in some technology offers some clear advantages to developers or designers.If you look across the spectrum I’m not sure it’s obvious that there’s a clear winner across the landscape of stuff like XUL, GWT, Apollo, Flash, FLEX, WPF/E and WPF. I think they all bring some advantages to the table depending on your perspective and they will all have their appropriate uses. Thought provoking post Mike and great new jargon, ‘platforminess’, I love it!Chris BernardUser Experience Evangelist, Microsoft(So yes, these means I work there.)