As a parent, I try not to pick favorites. This discussion here is kind of similar... ;)
We had a brown-bag with some of the WPF team [John Gossman, Rob Relyea, Mike Hillberg, Ian Ellison-Taylor (the GM of WPF and SL), ...]. Naturally, this question came up.
Ian answered:
+ VS10 is built using WPF, which means that MSFT is committed to WPF for at least the next N (he said 10) years.
[I sat in Paul Harrington's talk on how they build VS10 off of VS9 while switching to WPF. For anyone who has done a large-scale app in WPF, they are solving a ton of interesting problems. They are also driving the framework based on their needs. Clearly, MSFT is serious about VS, so that means they are serious about WPF.
What Paul also said is that there are a lot of eyes on the VS10 project internally. Office and other large apps are all looking to VS10 to blaze the trail; if they are successful, other projects will likely move to use WPF.
So hopefully the question of "if WPF is so special, why isn't MSFT building more apps using it?" will be moot. ;)]
+ Silverlight is a brand. WPF is a technology.
This IMO is the most important one from an external standpoint. The reason project managers and other non-tech folks know about SL is because MSFT markets the heck out of it. It's an end-user play. They want adoption, just like Flash. They need users to say, "Sure, I'll go download that".
MSFT will never market the heck out of WPF. Hell, many windows devs I know are like, "WP-what?" whenever I say it. It's aimed at developers. Project managers and the like will never say, "Oh man, we need to build that in WPF." because they don't know, nor should they care.
Microsoft wants SL to become the cross-platform application platform of choice. They recognize that we live in a RIA world now, but there's also a need for desktop support without going full-on native client apps. SL4 and it's out-of-browser stuff aims squarely at Air 2.0. In-browser it's aimed at Flash. And the hope is that if they get to the point of API compatibility (which is getting much closer and is often solved using the WPF or SL toolkits in conjunction with the platform), then breaking out to a full native client will be an easier transition since you can share XAML and resources and often backend code. And if you need Windows only and/or need some serious low-level stuff like P/Invoke to legacy code, you use WPF. (SL4 can talk to legacy code if you have a COM wrapper with IDispatch.)
It will be interesting to me to see where the fight ends up between SL vs. Flash, SL vs. Air 2.0 vs. other cross-platform shells such as Titanium.
The one non-story surrounding SL is mobile. They seemingly have nothing, whereas things like Titanium run on mobile browsers. I've heard rumors of SL support on WM7 but there's been nothing official and it's a huge sore spot right now. Anyone know anything about that?
SL4 has been given a lot more "love" than WPF4, but that "love" adds
very little that doesn't already exist in WPF3(.5). So this argument
is at least a tad off the mark. The day SL is used to create an
application like Visual Studio or Office is the day I'll say that it
has any chance of "killing" WPF in the same manner that WPF killed
WinForms (which, honestly, it didn't).
I'm still disturbed by the movement towards web applications. I would
have much preferred to see Microsoft put more emphasis on a cross
platform desktop CLR and a nicer click once deployment model. With SL
OOB, the compatibility between the frameworks and the slow push to
feature parity, maybe that's where we'll eventually wind up anyway,
just down a different path from what I would have preferred. Until
then, SL has no chance of "killing" WPF. Unfortunately, it seems like
it might "smother" it, however. With all of the development focus on
SL, it does feel like WPF isn't getting the attention some of us would
like. That may not be a fair impression, since some of the new WPF
goodness (especially in the tooling) certainly would have taken
significant development resources that may really be on par with SL4.
It just doesn't feel that way :(.
--
Quidquid latine dictum sit, altum sonatur.
- Whatever is said in Latin sounds profound.
War is peace. Freedom is slavery. Bugs are features.
Office web apps are already being developed using Silverlight.
http://blogs.msdn.com/officewebapps/archive/2009/08/05/9858563.aspx
http://www.off14.com/microsoft-office-14-for-the-web/
Hi look, it's Excel in the browser using Silverlight. Amazing.
Microsoft doesn't kill platforms by executing developers who use them, it
just stops developing them.
Again, Winforms, ASP3 & Webservices are prime examples of dead Microsoft
technologies.
If you're feeling the lack of WPF love at the Microsoft side, guess what
that means.
-- Justin
(This is all purely speculation, If I had any first hand information on a
nefarious Microsoft plan to kill WPF I'd keep it to myself.)
From: wpf-di...@googlegroups.com [mailto:wpf-di...@googlegroups.com]
On Behalf Of Bill Kempf
Sent: November-20-09 1:35 PM
To: wpf-di...@googlegroups.com
Subject: [WPF Disciples] Re: Future of WPF/Silverlight
From: Mike Brown <mbro...@gmail.com>
To: wpf-di...@googlegroups.com
Sent: Fri, November 20, 2009 4:59:46 PM
Subject: [WPF Disciples] Re: Future of WPF/Silverlight
2. WPF has appeared to slow (though I'm not convinced yet that that's
anything more than an outsider's mistaken perception), but has far
from been abandoned.
--
One thing that needs to be better is the ClickOnce story (both the experience and the marketing should be improved) because i recently had 2 cases where the devs wanted to do SL when WPF+ClickOnce was obviously better, but they did not know about it (both had never heard of ClickOnce and were giddy when i demoed it to them). Other than that, and apart from the fact that I still think it would be cool if WPF had a better name and a shiny logo, i couldn't be happier about the recent developments in WPF/SL and about the convergence which is happening.
Cheers,
Laurent
--
Sent from mobile
-original message-
Subject: [WPF Disciples] Re: Future of WPF/Silverlight
I like to use the time honored approach to technology, "select the correct tool for the job."
FYI: Silverlight is not a Golden Hammer, neither is WPF or any other technology.
Cheers,
kdawg
Please give us SL/WPF for embedded-mobile development.
.C
Hey Pete,
Actually Silverlight 3 supports multitouch.
Cheers,
Laurent
Then there's wording chosen during the PDC. "The future is
Silverlight" might have meant one thing to the presenter, but the
message heard by the audience is often something else.
--
And there are some good gesture Behaviors in http://expressionblend.codeplex.com that will help
You may know that I own the Data Visualization part of the Silverlight Toolkit and also that I did the work to get it added to the WPF Toolkit for their most recent (June) release. This had always been my goal, and it was nice to get it realized.
What's particularly relevant to your comments below is that I've been talking with the WPF Toolkit folks recently about migrating more of the rest of the Silverlight Toolkit over to the WPF Toolkit. As before, it'll be just little 'ol me doing the work and pretty much doing it in my free time, but I'm hopeful that I can migrate ~3-5 controls for the next WPF Toolkit release.
If folks here have opinions about which ones to focus on, I'll take that under advisement. :) Bill seems to have already cast a vote for Accordion. Another that seems interesting is the SDK's AutoCompleteBox. But beyond that, I haven't done much thinking - I'd love to hear if there are particular controls you folks think belong in WPF.
Thanks for your feedback!
mark
Before I was involved with Silverlight, I worked on the AJAX Control Toolkit which was also open source. One of the neat things we did was accept community contributions. In many ways, this was a great thing: the community benefitted from a richer set of controls, the contributors benefitted by sharing their work with others in a high profile project, we benefitted by having more resources, etc.. However, the involvement of non-Microsoft people had an unintended consequence: certain internal and external teams were reluctant to take a dependency on our work because of the fear that one of the external contributors might have inadvertently introduced some third-party intellectual property into the codebase. (And if you're up on your tech news, you may know of a situation just last week where this very thing seems to have happened to another team.) Though I'm confident nobody we worked with would have done (or did) this, the simple possibility of it created a big hurdle for partner teams and in some cases they were unable to make use of the Toolkit despite a strong desire to.
So even though third-party contributions did a lot of good, this particular problem was big enough that we made a specific decision with the Silverlight Toolkit NOT to accept third-party contributions. To be clear, the Silverlight Toolkit is still full-on open-source Ms-PL (OSI approved), but we don't allow "take-backs". Which is a shame in some ways, but I still believe it's the right call because the story for customers is super-simple: this is all Microsoft IP, here's the Ms-PL license, there you go, have a blast. :) Consequently, internal and external teams have been able to take a dependency on the Silverlight Toolkit without a hurdle - and many of them have.
All that said, I don't *know* the policy of the WPF Toolkit team. And I'll ask! But I doubt that the situation is much different for them than us. In fact, because we've now seen that WPF Toolkit controls can migrate into the .NET Framework itself (as most of the WPF Toolkit controls have done for .NET 4), I'd guess that they've got plenty of reasons to be strict, too.
Long story short: I appreciate the help, I wish I could take advantage of it, I will if I can, but I expect that I can't.
I hope I've done an okay job explaining things here. If you've got any specific concerns, please share them with me - either publically or privately.
Thanks.
PS - I am not a lawyer; this is just my perspective on why things are the way they are. :)
Thanks,
mark
That said, I'm excited to hear that work is being done to bring these
controls to WPF! :)
I am not MVP anymore, so I'll be unable to ask my favorite question
about the future of WPF vs. Silverlight again (for those who remember
this question, related to the future of it). But, frankly, today as
one who should answer old customers to the same question "why you
advice to use WPF? We invest a year in learning, another year in
developing and now we realize that our app looks much shiny, but stuck
and no one all over the world (and in Microsoft) can explain us why we
could not do it in Silverlight by investing a quarter to time and
money and get better and much responsive app" again and again, I'd
answer: "I still believe in WPF (even as one who completely rewrote
non-responsive rendering and data binding for my own app, and one
who's advices were incorporated into this skimp update of WPF 4.0) and
think that now you learned a lot and know how to do things yourself".
This statement is very similar to how experienced core C++ programmer
take guys learned Java (or C#) in "another have your new profession
within a month" training for this team.
This statement is very similar to my another favorite question, a
asked Anders Hejlsberg: "Why you want to turn .NET into Javascript?".
The right answer to those and all other similar questions is: "'cos it
demands" and unfortunately we have nothing to do with this, so let's
try to learn to live with
--
Tamir http://khason.net/
1. Don't add something to SL that's missing from WPF unless you also
add it to WPF.
2. Be careful with statements like "The future is Silverlight." in keynotes ;).
3. Find something that WPF can innovate (SL has had the VSM and
Behaviors... both of which exist in WPF, but the story given is always
that these were SL innovations). IOW, you just need one significant
and highly visible piece of new tech coming from WPF to turn around
perceptions.
Of course, maybe fixing the PR problem isn't that important. WPF isn't
abandoned, isn't really getting less attention and is extremely
important to Microsoft. If people aren't seeing that now, does it
really matter (especially to Microsoft, since WPF isn't something that
adds directly to the bottom line)?
--
--
http://www.jebishop.com/2009/11/18/implementing-a-contextmenu-in-silverlight-4-beta/
-----Original Message-----
From: wpf-di...@googlegroups.com [mailto:wpf-di...@googlegroups.com] On Behalf Of Daniel Vaughan
Sent: Monday, November 23, 2009 10:07 AM
To: WPF Disciples
Subject: [WPF Disciples] Re: Future of WPF/Silverlight
Miguel de Icaza calls Silverlight 4 revolutionary.
“There are many other great features in Silverlight 4, but none as important as Silverlight becoming a universal runtime for the CLR. This is a revolution.”
http://tirania.org/blog/archive/2009/Nov-23.html
Walt Ritscher
From: wpf-di...@googlegroups.com
[mailto:wpf-di...@googlegroups.com] On Behalf Of Jeremiah Morrill
Sent: Monday, November 23, 2009 4:00 PM
To: wpf-di...@googlegroups.com
Subject: [WPF Disciples] Re: Future of WPF/Silverlight
I'd like to add that the new features coming in WPF4 are phenomenal. On the perf side, BitmapCache is absolutely nothing short of amazing. Yeah it's been in SL since 3.0, but the performance gains are a totally different magnitude. BitmapCache on my SL took my CPU from 80% down to ~35% in some animated scenarios (gaining FPS of course). BitmapCache has taken some my WPF scenarios from ~5FPS -> 60 FPS and barley any CPU at all! Pavan, your ElementFlow will FLY! As far as I can tell, this fixes almost all performance issues I ever had with WPF graphics (in general).
This has been a great thread. Lots of Microsoft people are getting great insights, learning from it, and discussing it internally.
Here is my insider view:
Most of us are very excited –maybe as much as Miguel despite our lack of eloquence – about the future of .NET XAML apps.. (yes, to some of us Silverlight is .NET code)
Back to the original question on future of WPF/Silverlight, I think it is easier if you answer it. How many of you could meet your current products requirements with Silverlight 4?
[Note, I expect answer to be “some but not all , and percentage is growing, but it won’t reach 100% for a few years” ]
A few points that I read from the thread and would like to comment on:
· Attention != Adoption. Look at Sharepoint, this platform is growing a lot (quietly)
o There was a 2:1 number quoted on SL:WPF ratio. I assume this was attention. I do not use that metric, I focus on:
§ There is more production WPF applications today than there is Silverlight apps. We do expect this to change quickly, so I don’t want to dwell there but had to bring it up as it sums today’s state of affairs. WPF is pretty successful on its own, and ironically Silverlight is adding to that. The people that were doing web before, are still doing web, but now on Silverlight. The people that were doing desktop before, are more eager to move to XAML now that they see the whole picture.
§ The .NET Framework 3.5 SP1 is on ~ 75% desktops world-wide. In the more developed countries the number is even higher. Silverlight is catching up quick, but it is not there yet. As we continue to make progress deploying the framework there will be even more WPF apps out there. I think both platforms will continue to grow on their respective space, and end up at some pretty high numbers in a year or two. Adoption/deployment of the run-times is not mutually exclusive.
· I heard the “lame excuses” to use WPF include “integrate with C++”, “full desktop .net access”, etc. Sorry to break it to you, but we have a huge ecosystem with billions of dollars that fit into this space. Including our own Visual Studio, Expression Blend, Microsoft Dynamics, Office (Semblio) and many others. The space does not sound “lame” to anyone at Microsoft.
About innovation/ feature investments:
The two products are in very different states:
· Silverlight is innovating very fast, no doubt about it. They are also catching up in some areas, it is much easier to add Viewbox, or printing, or Styling, when you have a blue print, written code to (partially) reuse, lessons learned, and no legacy to maintain. For these two tasks, same resources can accomplish more than in WPF’s two tasks (see below), consider the overall circumstances so you can conclude that within the core teams, the investments are not that different.
· WPF on the other side is innovating (e.g. touch, Windows 7 integration, ribbon, etc.) while also doing maintenance ( e.g. performance, interop, bug fixes). Text, as easy as it sounds is a huge surface area in WPF, this was no small undertaking. It was on our top 3 customer pains; needed to be done; lots of lessons learned and code from have already made it (or will make it ) into Silverlight.
Why some features appear in Silverlight first?
· Silverlight is the common denominator. It makes sense we start there for efforts like the control toolkit. We have to code them there first.
· Silverlight team is very agile and they have no dependencies. WPF team ships with .NET, there are huge pros and a few cons about that dependency. We did learn from all your insights that the WPF team should try to be more creative and agile. Can’t promise anything now, but rest assured Scott and Ian are listening.
· Silverlight is aimed at a space with more competition. We have to move quicker and invest to stay ahead of the competition. This is where investments outside of the core (like controls) pay off. It is a needed, and welcomed investment. Yes, I did read, we should figure how to incorporate into WPF quicker; we need to figure it out.
On Collaboration, I am surprised this is not noticed by all of
you. There is huge collaboration on both sides; WPF gets SL features, SL gets
WPF features all the time. We released the assembly portability, which is a
new approach to sharing code, etc.
This collaboration is the critical component to long-term success; we are not there
today, but the direction is clear: over time, the platforms will converge for 95%
of the scenarios (maybe more).
As you all know I drink the Koolaid. You also know I focus a bit more on WPF than Silverlight, so do consider me biased; all I can tell you is I am excited about Silverlight, and I am also not worried about WPF’s future.
If you want to know my answer today: what platform should I use?
“The one that meets your business needs. If they both do exactly what you want today and keep you covered for future needs, then go Silverlight, the lighter, common denominator that targets more platforms. If on the other side, only WPF is doing what you need, then do adopt it without hesitation, keep an eye on Silverlight practices so you can maximize your ‘portability’ across the platforms, give us some time, we have really smart people ( like gossman) focused on getting the platforms to converge over time”
That is my 2c! Probably added very little to your original thread, but wanted you to have the view from inside and give you the ‘business’ explanation on why both WPF and Silverlight have a great future (and neither is dead to us).
Cheers & thanks to all of you for your candid thoughts on the thread; it has spiked lots of great conversations inside Microsoft.
Jaime Rodriguez, http://blogs.msdn.com/jaimer, @jaimerodriguez
I can only speak for myself. Despite the appearant message sent at the
PDC, I never had concerns for the future of either framework. It's
great to hear insights into the effort that was done on both, but
honestly, it just verifies what I suspected. From a technical
standpoint, I'm not concerned with the technical effort, as it's been
phenominal for both frameworks. I haven't seen tech advances like this
since the days when Visual Studio was released quarterly! Kudos to
everyone involved!
So, my concern isn't technical. It's just about the PR. I'm worried
about what the PHBs will say and do based on perception. :(
--