Mike Taulty's Blog
Bits and Bytes from Microsoft UK
“iPhone 4 is Dead”


Mike Taulty's Blog



Sure, it’s an attention-grabbing title and, of course, it’s complete nonsense.

I was watching the #Silverlight and #WPF tags on Twitter this week and saw a stream of noise about how various client technologies from Microsoft are “dead” and the killer seemed to be a mixture of Flash or HTML5 or even one of the other Microsoft client technologies Winking smile

I spotted a question where someone wrote;

“if WPF is dead then what’s the situation with WinForms?”

which worried me.

People like simple messages. What can you do? I blame the media. Or the schools. Or the parents. Or the government. Or Simon Cowell.

Anyway, this whole “technology X is dead” prompted a few thoughts – these are my own rather than some official Microsoft statement (you may have noticed by now that I don’t make official Microsoft statements).

WinForms Isn’t Dead

WinForms is part of the .NET Framework. When you run Windows Vista or Windows 7 you have WinForms installed along with the operating system. There’s a clearly stated support policy up here for how this works for .NET generally but as of .NET 3.5 Service Pack 1 ( which ships with Windows 7 )  the .NET Framework is supported as a component of Windows.

So, saying WinForms is “dead” is a little like saying Windows 7 is “dead”.

It’s worth saying that WinForms is pretty static and I don’t think it’s controversial to say that it’d be wrong to expect a whole tonne of new functionality to appear in a future version but I’m aware of people building brand new applications on WinForms today because it does exactly what they want it to do.

By the way, I don’t call this “dead” any more than I call the developers building those applications “zombiesWinking smile 

WPF Is Also Not Dead

WPF is part of the .NET Framework so it works the same way.

So, saying that WPF is “dead” is a little like saying Windows 7 is dead.

It’s worth saying that WPF was introduced in .NET Framework 3.0 and has been updated in every version of the .NET Framework since (3.5, 3.5 Sp1, 4.0). Other additions such as the WPF Ribbon control dropped out just the other week.

Having WPF ship in Windows Vista and Windows 7 means an awful lot of the world’s desktops have WPF installed.

Which Lives Longer? iPhone 4 or WinForms?

I’ve no idea what the support policy is for the iPhone 4 but I doubt anyone reasonable expects to be carrying one around in 10 years time so I’ll stick my neck out and say that WinForms and WPF will probably outlive iPhone 4 based on the support policies that are in place for those frameworks.

Yet, no-one is saying “iPhone 4 is dead” and neither am I.

Silverlight - Also Not Dead

Then we have Silverlight. Silverlight has released 4 versions in just 3 years going from nowhere to a penetration rate of around 60% ( riastats.com, not official Microsoft figures ) adding huge amounts of new functionality with each version and gaining some very impressive tooling inside of Visual Studio 2010 and Expression Blend 4.

Naturally, it also has a stated support lifecycle.

So, that’s not dead either.

Silverlight and WPF Have A Lot Of Overlap

Some people have been talking about “Silverlight versus WPF” and how there might be a war where one might eat the other because they look “very similar” Winking smile

this similarity is what I would largely describe as “a good thing” as it provides great re-use for skills

As far as I know, there’s not likely to be a war between Silverlight and WPF because it’s pretty much the same people working on both frameworks - I talked to Ian Ellison Taylor about this on Channel 9 in this chat many moons ago.

But these frameworks are going to converge in the future and Pete Brown explained the strategy for WPF/Silverlight around 6 months ago which I quote here as;

“In the future, it is very likely that both Silverlight and WPF will be a single technology with a single codebase. After all, Silverlight was originally known as WPF/E (E as in Everywhere), and in an amazing 180 degree reversal of our usual approach, we took an ugly codename and created a great product name (Silverlight) from it.”

and so that’s the stated plan as to how these frameworks will eventually go forward and that does not mean that you’re at risk if you choose one of them today – as Pete states;

“Microsoft is committed both to creating a great cross-platform experience, as well as ensuring that there’s a developer platform that can take full advantage of everything Windows has to offer.

Build for the requirements you have today and understand that there will be a path to the future regardless of whether you picked WPF or Silverlight.”

Clearly there are some things to figure out there that are going to take some time but the fact that the technologies overlap doesn’t mean much more than just that.

But Investment in Web Standards Must Kill Something? Surely? Someone Said So On Twitter?

Some people have been talking about “Silverlight versus HTML5” or possibly even “Silverlight versus Flash versus WPF versus HTML5” – that one sounds like a tag-team match.

as an aside, I wish “HTML5” hadn’t become a moniker for a whole bunch of web standards (e.g. CSS3) as I think it really blurs the picture

Microsoft’s making huge investments in implementing a bunch of web standards in IE9 and I think that’s very exciting and so is the way in which they’re being implemented. The feedback on the platform previews is extremely positive and I suspect the beta will only reinforce that when it comes along next week.

However, as the Silverlight team talked about just last week, that doesn’t mean that Silverlight is suddenly “dead” or WPF is suddenly “dead” or Windows applications are suddenly “dead” or Phone applications are suddenly “dead”.

It means that IE9 is going to be a great version of the browser and one that a lot of web developers have been hoping would arrive.

It means that it all depends on what you want to build and when and how you want to build it.

Same as it ever was.

It Depends On What You Want To Build And When And How You Want To Build It

If you want to build a Windows 7 application today with deep integration into the platform for features such as;

  • Multi-touch
  • Multi-core
  • Event log integration
  • WMI integration
  • Performance counter integration
  • Shell integration ( e.g. JumpLists, TaskBar, Preview Handlers )
  • Automatic startup
  • System Tray integration
  • Running components as a background service
  • Office integration
  • Custom hardware integration (ports etc)
  • Speech
  • 3D Graphics
  • Workflow Engine
  • Direct access to a database
  • etc – we could go on practically for ever here as Windows is a pretty big platform

then I’d recommend the full .NET Framework and a UI constructed in WPF. You get an awful lot in the full .NET Framework that you can make use of inside of a WPF application.

You might want to look at applications like MetroTwit which are brand new apps running on WPF and making for a very good user experience ( in my opinion ).

If you’re looking more towards building a Rich Internet Application - something that follows the “web deployment” model of dropping some bits on a server and pointing the user at a URL and that largely calls out to web services and/or you want cross-platform then I’d look to Silverlight and especially if you’re a .NET programmer as you get a very good “sweet spot” between the simplicity and cross-platform nature of the web and the richness of “the desktop” including functionality like;

  • Consistent experience cross-browser and cross-platform including OS X, Windows and including IE6, 7, 8, 9, FireFox, Safari and Chrome.
  • Rich set of controls that can be styled, themed and extended
  • Rich 2D graphics engine
  • Rich animation capabilities
  • Rich text
  • Printing
  • Full-screen
  • Rich media (audio, video, imaging) capabilities
  • (Scoped) network capabilities
  • (Scoped) access to integrate with other software on the local operating system
  • (Scoped) access to storage on the local operating system
  • Rich tooling in Visual Studio 2010 and Expression Blend 4
  • Multi-core
  • etc.

and, of course, this is (very largely) a subset of what you can do in the WPF framework and, furthermore, you’re using the same languages, runtimes, tools, frameworks.

If you want to build a Windows Phone 7 application then look to Silverlight and XNA and, luckily, once again this makes use of those same languages, runtimes, tools, frameworks.

If you want to build a standards-based web application then look to server-side frameworks like ASP.NET Web Forms and ASP.NET MVC and supplement them with libraries like jQuery which Visual Studio 2010 has great support for.

Keep a close eye on developing web standards as they move along to see what they are going to offer and how they are getting implemented in IE9 and the other major browsers out there so you can figure out what functionality your apps are going to be able to exploit consistently across browsers and platforms (the “single markup” story of IE9).

And the last one – if you’re wanting to build a cross-platform, cross-browser, cross-device application that is entirely standards based but also integrates deeply with the operating system and hardware and makes use of the GPU and all the CPUs and is highly performant and offers the richest experience and has a fantastic set of developer and designer tools and is based on a component-oriented, metadata-rich, multi-language capable runtime and framework which is already deployed to 100% of your user community and can run on the desktop and be deployed in the browser and has great access to online and offline services and is future proofed for all time Winking smile

Then you don’t need a compiler.

You need a crystal ball Winking smile 

Step this way…..

Posted Fri, Sep 10 2010 8:56 AM by mtaulty
Filed under: , , , ,


Flynn wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 10:02 AM

Thank you Mike!

IMHO I think Microsoft needs much more information like that. Most people seem to understand only *one* thing at a time. So if there are many alternatives, one must be the right thing to do and the others are dead.

I will choose whatever fits the project.

@SPDoctor wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 11:43 AM

This or that is "DEAD" -  it's a consequence of the Internet and social media that gives equal weight to industry experts and kids in their bedrooms. If we'd had that in past decades it would be "FORTRAN is dead", "Windows is dead", "Unix is dead", "Apple is dead" (on several occasions), "OS/2 is dead" (okay they would have been right about that one).

I filter it all out. Unless someone I respec' like Scott Hanselman says technology X is dead. Then I take notice.


PaulJ wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 12:12 PM

Nice post Mike, as ever, glad to see some common sense being applied to the whole situation.

People have typically invested much time (and therefore money) in to one, other, or a few of these technologies and as things move so fast, it is understandable then that they worry if they've backed the wrong horse--or worse, feel that they to "fight" for their horse(?) (feel like the equine analogy is getting away from me pretty quickly).

So it's important that developers/managers etc. know that there's no "wrong" horse (blimey, this is getting worse) to back, only the right one for the job (I don't even *like* horses!).

So thanks for spreading the word and helping to reduce the FUD.

Zombie wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 12:48 PM

Quote: "I doubt anyone reasonable expects to be carrying one around in 10 years time"

Uhh, 10 years lifetime, scary, really really scary! I don't know how it will be in ten years but I can think to an application built 10 years ago in VB, today I can say VB is dead and an application in VB is a zombie application. In 10 years many things happen and new technologies arise and I can firmly say a today built application with the newest technologies in 10 years will be a zombie application.

mtaulty wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 1:00 PM


Hmmm - there's a lot of VB applications still running today and they're supported on Windows Vista and 7 with the full statement being specified here msdn.microsoft.com/.../ms788708.aspx

So...even those apps are still running today even though the IDE is no longer supported.


Kelvin wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 2:58 PM

How about from the end users' perspective?

iphone 4 will be dead soon, but iOS will always be there and will only get better, I heard apple decided to allow flash on iOS, which will make it even more popular.

I believe most people would agree that desktop consumer applications will all have to transform to mobile devices soon in near future. Enterprise applications will follow a few years after.

I love Silverlight, but flash will always be a leader in RIA until Microsoft tries harder to make Silverlight truly cross-platform. Being able to run on Mac, Windows, and partially Linux is not cross-platform, not anymore(I'm taking WP7 out of picture because it won't be that popular even after it's released).

All developers are hoping for a standardized language that will allow us to develop applications that will run anywhere, that is why HTML5 is so hot. I'm not a big fan of HTML5 for the reason that there is no unifying implementation standard for HTML5. But it will still be a lot better than Silverlight, at least it's more wildly adopted.

So what happens when the whole world is using Phones, Pads replacing desktop in daily life and Silverlight is still not being able to run in most of them? Businesses and developers will know how to choose, either switch to flash or html5.

And When desktop is used less and less frequent, and everyone is developing on either flash or html5, who will want to develop using .NET or WPF? Perhaps only Microsoft.

Will WPF or WinForms still be around after 10 years?

Most likely no, there won't be any demands for desktop applications after 10 years. We basically pull data or resource from cloud or network, and render it in RIA. Even the almighty office suite is going online, why should we stick with WinForms?

I think it's safe to say that WinForms will disappear when RIA can access common hardware perpetuals(printer, bar code scanner, biometric etc). Or if RIA can find a way to get around it.

I sincerely hope that Microsoft will make Silverlight available on more platforms. It would seem like it's the only way to keep WPF and WCF alive. and I'd really prefer Silverlight over flash or html5 if possible.

Fred wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 3:33 PM

Im my opinion, project like the WPF Toolkit play a central role in the adoption and proliferation of technology such as WPF.

I think one can worry when he see than the toolkit has not be ported to .Net yet, and there is no pushished roadmap when it will happen. Worse yet, the forum on codeplex does not seem to be monitored by MS anymore.

In comparaison, the Silverlight Toolkit looks much more alive  (not dead!) .

So, it's a welcome post but I would like MS to put more comitment around WPF, such as in the toolkit for instance.

mumrik wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 4:49 PM

Of course MS will have long-term support for all technologies they shoot into the market, because a second disaster like it happened with the deprecation of VB6 would kill the company. Remember, "it's about trust".  

Rod Mac wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 10:14 PM

None of the techologies you speak of are dead, but as I try to advance my application to embrace your new technologies, would argue that the .NET framework has become very seriously fragmented. Let's go back to the wonderful pre- release conference for .NET in November 1999, Birmingham. Two UI's (WinForms and WebForms) and one data access technology (ADO.NET). It wasn't difficult to imagine one day that a single UI technology (er, Windows?) might pervade (and I wonder what would have happened if MS had resisted HTML and the browser was just a Window!). Anyway, giving up fanciful notions that somehow we ultimately might be able to create a converged (web and Windows) UI from a single development (a magical WinForms app when placed on a server that 'reined out' (emitted) HTML or a Windows UI according to the system requesting it, 'converged' has taken on a whole and rather sinister new meaning.

You see, the problem is it really breaks us little guys when things change. I have a real problem with 'Silverlight and WPF Have A Lot Of Overlap' and 'Clearly there are some things to figure out there that are going to take some time but the fact that the technologies overlap doesn’t mean much more than just that.' (whatever that means). 'Convergence' can no longer be construed to mean a unified web and Windows approach, but a series of (limited) overlapping UI technologies: WPF; Silverlight for WEC; Silverlight for WP7 and Silverlight for cross browser. The last of these is potentially the most useless unless iPhone and Android support it. It is here that HTML 5 becomes important - the 'interop' between the differing OS's/mobile OS's - with each OS provider offering their own dev language for the 'local app' experience (objective c, java, c#...).

So, the proliferation of xaml technologies is a disconcerting step in the wrong direction. Whilst I cannot believe compartmentalising its flavours to attempt to control a market can be appealing to developers, but what really fragments the whole .NET thing now is a break not only in the UI stack, but the data access stack as well. Please tell me I'm wrong and VS2010 was designed to support WCF RIA Services for WPF or that SL is going to support datasets.

As for WinForms, well, they are indeed useful still because there are a number of important controls missing from the standard VS toolbox (e.g. PropertyGrid).

In summary, thank goodness WinForms and ASP.NET are not dead.

mtaulty wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 10:56 PM


You raise a lot of points. My own viewpoint;

1) I'm not quite sure how you decide that iOS will "always be there".

My view is that you can rely on it being there for its lifetime as stated today by Apple. That lifetime may extend over time.

You need to take that same approach to other technologies and I provided links to the lifetimes of some MS technologies and talked about how technologies like WinForms which is 8+ years old is still supported and running on Windows 7 desktops today and into the future.

I wouldn't assume any technology will "last forever" and that's why Microsoft publishes support lifecycle policies.

1A) The announcement around clause 3.3.1 (AFAIK) was not about Flash video in Safari on the iPhone. It was more relating to AIR applications being cross compiled so that they can be deployed to iPhone.

2) I'm not sure I agree that every desktop application has to move to a mobile device in a few years. I agree that the mobile space is huge, growing and vital but I don't see that it means that apps like iTunes, Excel etc. just disappear over night. Those apps seem to still be doing very well to me in 2010.

3) I think Silverlight leads Flash in a few areas already but then I'm biased :-) Compared to Windows+OSX the number of Linux desktops is very small so I am more than happy to see Moonlight stepping in and helping those desktops get Silverlight support.

4) I think the popularity (or lack of it) of Windows Phone 7 remains to be seen. I'm hoping it'll be very popular indeed as I think it's a very strong, innovative product. Neither one of us knows right now how it will be received so I won't make guesses about it.

5) "All developers want a standardized language that will allow us to develop apps that run anywhere".

I disagree. I think the history of the industry says that standards are great and needed but app developers and hardware manufacturers constantly push for innovation beyond standards. So, I think you need both.

I think iPhone is a good example of this where a lot of apps are written using proprietary APIs and we've seen that Apple is very keen to defend those APIs rather than just telling everyone to "use standards".

6) "What happens when the whole world is using Phones, Pads and Silverlight is not able to run on them?".

I'm writing this in 2010. I don't have your time machine to predict what'll happen in the future. I guess I could reply with "What if 95% of those pads are Windows pads?" but I don't see that kind of guessing getting us anywhere.

7) Finally, I think you missed my point.

I was not suggesting that you write new WinForms applications today. I think I even said so.

What I was suggesting is that you choose an implementation technology based on what your requirements are and you can feel good about choosing Silverlight/WPF/HTML today if you're in a Microsoft world.


mtaulty wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 11:15 PM


Not 100% sure that I follow your point here but if you're saying something like;

"Wouldn't it have been great if there had never been Silverlight *AND* WPF but, instead, just one technology that had all of the best bits of both"

then, personally, I'd agree that would have been great. Not sure if it'd technically have been possible giving that WPF was built atop of Direct3D but that's a different question.

Now...given that the history is fixed, I don't see that trying to bring these frameworks closer together whilst preserving existing investments is a bad thing?

On your point around data access.

As you say, Silverlight doesn't have DataSet support. Customers have asked for it but it's not being very highly requested on the forum;


but I take your point that it'd be a "good to have" for existing services that chose to take that DataSet route.



Rod Mac wrote re: “iPhone 4 is Dead”
on Fri, Sep 10 2010 11:51 PM

Sounds like Direct3D is the issue in making SL a true subset of WPF therefore WPF (or a large part of it) needs to be rewritten to decouple Direct3D.

I have a very common scenario with a WinForms app updating a remote SQL Server which in turn feeds an ASP.NET website - data readers and datasets everywhere in both halves. I really hate having to work in both web and Windows and thought WPF or SL would ease the pain. The only route forward is a WinForms/WPF combo and ASP.NET as usual (SL & WCF RIA is going to make things even more complex). XBAP's with deep linking might be a new panacea?

It wasn't me who posted 'dataset' on the SL wishlist (honest) but I did add a comment and link to a blog pointing to a lot of folks who were very unhappy about the decision not to support datasets in SL so I wouldn't underestimate what devs feel, wishlist or no.

Thank you for listening and your reply.

Thanks for listening

Joe wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 12:46 AM

Good summary, but I wish Microsoft had a better story for a tiered platform.  You have Silverlight 4 and 3 on the phone, then full WPF.  Potentially you have different capabilities of devices in the future too.  Then you have HTML5 - which offers no re-use patterns.

What we really need is more of a subset/superset relationship with support for graceful loss of capabilities.  For HTML5/CSS3 only platforms there should be a server-side Silverlight option which renders down to the browser GWT style.

Fallon Massey wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 1:20 AM

Mike, this is going to be very interesting.

I always expected HTML5 to dominate the web in general because it will have 80% of the features of Silverlight/Flash, so for the simple stuff, it's a good choice, and even the hyper speeded up javascript engine in IE9 will help a lot.

However, as the web moves away from pages to applications(think App Store), there are two areas where Silverlight/Flash/Flex should dominate.

Companies that want to present a real application online that is supportable using all of the tooling available in RIA environments, and working across development teams, will want RIA over HTML.

The other audience is enterprise customers who value the much better code base of a java or C# application, and whose face to the world is much more complex than simple web pages.

Even so, there will be those that will say you can do anything with HTML, and they'll be mostly right.  However, those arguments have been made before.  I could use "C" and not "C++", I could use C++ and not Jave or C#.

My answer then is the same as now.  Yes, you can, but the problem is that the features you'll want aren't supported by the language, and that's the problem.

Kelvin wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 3:59 AM

oh, I missed your point on WPF.

I'm trying to bring up a different perspective, I feel that the major factor determining whether a technology is alive or not, is not based upon the support life cycle. But rather it's based on the popularity or market needs. Corporations will extend the life cycle if there's a huge popularity, or the community will just find a way to work around it. iOS will always be there, if there's a need for it. DOS is still very much alive today even after it's product life cycle is over, another example would be moonlight, Microsoft didn't take the initiative, so the community filled in.

Of course, the Linux market is just way too small for most people to consider, but the concept of moonlight is noble, allowing  Silverlight to run on more platforms, with same code based.

on the point regarding standardized language. I'm simply saying it's better to have an unifying, platform independent kind of standard, like html, Java, flash, or Silverlight. We can see how IE, firefox, safari, and chrome is fighting to be better on rendering the same code. And also html, Java, flash, or Silverlight are improving everyday as we speak. Business models like facebook and twitter would have a hard time starting up if there isn't a standard for HTML. And now app developers and hardware manufacturers are trying to adopt facebook and twitter when those 2 have become their own standards.

Having an unifying standard is not all that bad, and most certainly won't kill innovations, it allows application developers to focus on having more creative business models, better user experience interfaces and more.

I'm just wishing to stick to Silverlight and hoping it will go beyond Microsoft world, to virtually anywhere and everywhere.

And you are absolutely right, we should be very carefully when it comes to choosing an implementation technology. But we should all feel safe choosing WPF/Silverlight from Microsoft, cause after all, old VB apps or even DOS is still out there somewhere.

Anonymous wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 6:07 AM

Microsoft's Failures, is due to lack of Perfection.Witch in turn is apples SUCCESS. Think, Iphone 4 success is a result of original iphone's  slow and sure increment of the same device. So is  mobile OS . After  6 months of feedback  they are able to make changes and perfect the device/Os . On microsoft side, they belive in starting from scratch every time.

If microsoft can clean up the house and combine the best products, they can win 2 morrow. here is the combinations finals. Windows media player, c sharp, WPF forms,Silverlight.Win mobile Os.

windows Os. no more no less. I report you Decide.

Anonymous wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 9:26 AM

Apple has laughed itself to the bank at everyone who proclaimed devices theirs dead.  You're just another brick in the wall, Taulty.

mumrik wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 1:42 PM

mtaulty, I think Kelvin didn't "missed your point". I'm instead pretty sure he understood well that you simply try to back MS while it is going to face a difficult future. Go around and ask young and smart computer people about WPF, Sharepoint and other MS technologies. "Oh, then I'll need a Windows Server 20XX to run it, right?" This people know and love PHP, HTML, Javascript. And they don't even think about touching Win32-APIs or any of the new MS-only-frameworks, even if they are of superior quality. They think of MS as a very "uncool" company that is after other people copyying their software, and that's it.

mtaulty wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 4:33 PM


Sorry - I didn't proclaim Apple's device dead. I put my title in quotes and in the first line of my article described my own title as "complete nonsense"

What more could I have done to flag that I was being ironic to make a point?


mtaulty wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 4:34 PM


Good points


mtaulty wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 4:35 PM


Yep, take your points here.


mtaulty wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 4:37 PM


Don't think we're far from agreement based on the 2nd set of comments - good stuff.


mtaulty wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 4:50 PM


Kelvin did say that he "missed my point" so maybe he did?

I take your point about young, smart people ( of which I'm not one, unfortunately :-) ).

PHP runs very well on Windows Server or, perhaps being a little more 'futuristic' it also runs well up on Windows Azure. Microsoft is a pretty broad church here.

Coming back to client technologies ( which is what my post was about ) HTML and JavaScript are also technologies that we support and I think IE9's support for web standards and its new JavaScript engine show how seriously we're investing around that.

However, today there is a *tonne* of platform functionality that you cannot get to from HTML/JavaScript and so we have other frameworks to enable that functionality ( just like Apple does for its platforms ).

That leads me back to my point - choose the framework that best serves your application and feel good in choosing it because we support all of these things.


Steve wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 8:18 PM

Some define dead as in 'the company developing for it have only staffed it for bug fixes'.

That was the cause of the outbreak.  If Apple just does bug fixing and stops updating iphone with new features, we can call it dead.

If Winform developers for MS aren't working on improving and adding new features, then it's considered 'dead'.

Sorta like Linq to Sql

Visual Basic is used and tons of app's are written in it, but I'd personally consider it 'dead'

mtaulty wrote re: “iPhone 4 is Dead”
on Sat, Sep 11 2010 10:14 PM


Take your point - some people do use 'dead' that way although it's kind of interesting as (e.g.) there are various parts of .NET which aren't growing a tonne of new features and yet I wouldn't consider them 'dead'.

Things like the XML stack? Is that gaining new features each release? No. Is it dead? No.

But I take your point if you'd call those 'dead'.

It wouldn't apply to Silverlight or WPF as both of those have seen releases with new functionality in every release to date.


Steve wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 1:50 AM

True, exactly!

Well, I certainly don't consider Silverlight or WPF as dead  :)

I can't imagine a windows client app not being written in WPF today - and with the Windows phone using Silverlight, I think it's just growing, certainly not dead.

I enjoy your humor on the post title  :)

Steve wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 2:01 AM

oh, and I meant to add, in the spirit of your blog post,  that after doing 3 projects in asp.net mvc...  

"asp.net webforms are dead"   :)

Michael Thuma wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 5:42 PM


There is nothing dead anymore ...

I cannot say how practicable Winforms will be in the future ... the .net managed part is not a problem for 64-bit too. It's the 32bit native calls I think.  GDI handles are no big issue under 64bit they still remain 64bit and the integer remaind the 32bit integer. I think they will patch this the future when 64bit is spread a lot more and at this point the GDI+.dll will be stable enough - it sometimes eats up memory up to 800MB beyond the 3GB limit under Win32 and crashes the machine and if you remove memomry from a Windows workstation - the settings exactly for the theresold that limits a GDI memory corruption... it is nasty on the server side.

Next is - .net 4.x under Windows 7 workstation can allocate memory while garbage collection - This is clean so far and they just could not finish until now the same on the server side.

.net on the server side outside ASP.net where most of the objects are collected before they are generation 2 you do not run so simple into a problem - the lot more problem is a process on the serverside that starts eating up memory - this can crash the server and no one knows which .net app has caused this ... Mono, the Web Scripting Runtimes and Java can limit and finetune this.

All this does not hinder anyone from using .net and C#.

WPF would be dead without Winforms ... the power of WPF is something that cannot be unsleashed so simple with what comes on board and composed in a RAD fashion via visual composition like in Delphi. WPF vs. Winforms has the better data binding.

ADO.net - for 1 billion dollar it must work. What I will never understand - honestly - practicable when targeting one DB.

Microsofts thinking is still not everything on managed code. This is more Java and Mono people thinking - to praise the beaty of managed code - especially the second - the only beauty they have.

MS simply needed something that allows building quick solutions. Not meant for ISVs at the moment. Still more ASP.net, Office Line ... Sharepoint,.... Integration stuff.

Also not OS/2:). I use Delphi and we also have in this area an Open Source project called Freepascal/Lazarus that can compile for eCommStation too... I agree it has its niche - it is not for the masses.

What is happing the overal device market is more and more fragmenting. The second is - in the calculation of a workplace at a company MS on the desktop leaves less room for products from other vendors. This a reason too why things moved to the server side. Honestly the games are still on Windows ... in a foreseeable period there is no big change. It would at least require.

When I think back - Delphi was said dead before it was born ... and now also without 64bit currently and cross plattform support one years leater or maybe 1,5 people also take it.

MS has seen that business with content brins more profit than license sale. Obvious. Here they need something and making this something this is what Silverlight and WPF are for ... they need a new Killer App... Office is accepted ... but Win 7 is the Windows for this decade on 64bit like Win XP has been.... in they end it's the only thing they have  Windows + Excel.

One thing to say - MS is a big player but the overall IT business if we consider just normal devices too is a lot bigger. Intel would have not needed the PC chips but this them popular - the money is in the masses. Apple, Oracle , HP and MS will have to stick together to survive IBM:). A IBM computer a very good one can run 1000 Linux servers virtualized ... and 2000 if they are running idle... and this was 3 years ago. On premise on the server side is a honest wish in big enterprise.

In the mid-range MS is settled, .net fits in here wonderfull and .net is here - Android has better cards than IPHONE. It will take long until the PADs will be the prime device in the households ... in general. If a cheap alternative comes within 2 years then it will take 20 until the PC is gone... at least.

Windows will be here - the question is only - bring something new... when MS eats up the whole budget available for Software on a business workstation in a company. If they do no solve this problem - and they can keep it alive bundling more into the CALs or cut the prices off. This can impact the business model if they have no other area where they can make money ... I think there will be a Smalltalk on .net hype before...:).

There is no reason that anything that exists is dead ... maybe 4GL in the masses in the meanwhile ...

Michael Thuma wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 6:13 PM

.net works well on the client - the problem is that you cannot limit the memory usage of an app. Under ASP.net you to few objects that reach generation 2. The problems comes with an executable that leaks memory. Java allows as well as mono to limit the applications memory usage. I run things under mono. Nothing will die ... also COM+ is still alive.

The false assumption of people is that C/C++ should be replaced by .net C#. I think they need something attractive for developers in the area of enterprises. I think they are little better off new - they loose VB but get the same number back on C# and with this a number of web developers too.

There exist to few apps on .net until now that we can say this works. The preconditions concerning the GC on the client side have improved with .net 4.x on the serverside they need to be in to position to aquire memory during GC.

I first had my concerns too about Winforms - I think in the end they will have to patch the native calls to 64bit. Anything else on the GDI as well as handles ...

The problem is the GDIplus.dll - it currently still leaks memory (beyond the 3GB there is region where GDI Objects can be allocated). This will be fixed.

Delphi is dead now for - let me say - they year it was introducted to the peopel 15 years ago and still ...

PHP - PHP runs fast on every server that makes CGI + pipes. IIS does this too as well as other servers. The little gain from FastCGI - does not pay. I have tested this live here on Abyss Webserver under Windows ...

Honestly for sure nothing is dead ... what I don't like MS pushes one technology after the other and leaves people in a somewhat uncertain state ... about things that have to be solved and this forces the rewrites ... WPF is not bad, but I think MS does not see the things managed ... but in order to push interest they play the game with the fear of the people. This is why I am still on Delphi and Freepascal and try to stay open source ... they have never been to closed (they must protect their business model ... why not:)) this was always a pain also under COM+.

iphone dead - currently there is the race for the market share ... Android has good cards. What I fear a little there will be less and less money to make with Windows desktop apps this could make the whole plattform unattractive. MS still eats up the budgets for Software installed on client PCs in companies (the just normal). The will force open source - all in all they run a clean mid-range strategy ... this is where the customers want to have them and streamline the reseller structure ... it's to expensive - at least it seen to be too expensive.

Brandon wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 7:05 PM

Excellent post - I still have clients with Access and VB6 apps...as much as I'd like to see those technologies "die", it's not happening anytime soon. So to say WinForms or WPF is dead is ridiculous.

I too, blame Simon Cowell.

Raffaele Rialdi wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 7:35 PM

I believe that some guys (read WP7 team) at Microsoft should begin avoid bad taste scenes like celebrating the iPhone4 funeral.

As an MVP I am very disappointed about those scenes.

So turn those stupid twitter sentences to the WP7 team instead ...

BTW congratulations for your great work, videos and blog.

mtaulty wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 8:00 PM


Sorry, you lost me a little here but thanks for the feedback.


Ross McLoughlin wrote re: “iPhone 4 is Dead”
on Sun, Sep 12 2010 8:16 PM

Great article, and one that I will no doubt return to. I'd like to that that I keep up to date with the various rumours surrounding Microsoft technologies, but I never heard any rumours about the future of WPF, WinForms or Silverlight. I did hear that the future of IronPython and IronRuby were in doubt though.

In the meantime, I will continue to use and love Silverlight.

Juan wrote re: “iPhone 4 is Dead”
on Mon, Sep 13 2010 7:27 PM

Someone did die in this fight and is definitely XBAP's

nobody talks about them anymore and they are most probably going to be absorbed by Silverlight 5, why don't Microsoft comes out and makes an official announcement on XBAP's so that we can all move our assets quickly to Silverlight (or some other technology) instead of wasting our time.

SDC wrote re: “iPhone 4 is Dead”
on Mon, Sep 13 2010 7:57 PM

You are right sir, DOS is still around, witness the DOS on DOPE web framework. Developers, your investment in MS technologies today will never let you down in the future. You'll always be able to find some backwater company where the VP of Finance is the CEO's niece and daughter at the same time where they are still using whatever technology you learned that MS shot a long time ago.


mtaulty wrote re: “iPhone 4 is Dead”
on Mon, Sep 13 2010 11:53 PM


Lol - yeah, very good ;-) I don't think I mentioned DOS though.

I talked about Windows and that's doing pretty well.

I talked about WPF which ships with Windows which means that it's very widely deployed.

I talked about Silverlight which is also very widely deployed and especially considering that it's not very old.

I talked about how these frameworks have both seen new versions in the past 6 months.

So, for me, the DOS comparison doesn't "quite" work ;-)


Jo wrote re: “iPhone 4 is Dead”
on Tue, Sep 14 2010 6:31 AM

Mike, Really good post.However it does sound  a bit like the Linq to Sql vs Entity Framework and the rumor that Linq to Sql was dead and it turned out to be true. Literally they are not dead but you dont see the active support that asp.net mvc and continuous blogs from microsoft.

That is a good indicator

pingpong wrote re: “iPhone 4 is Dead”
on Tue, Sep 14 2010 6:24 PM

Never believe anything until it's been officially denied.

Jonathan Dickinson wrote re: “iPhone 4 is Dead”
on Wed, Sep 15 2010 9:04 AM

You didn't mention that you don't have to deal with inconsistency in SL. The two main culprits being HTML (have you ever read the official spec re. content editable?) and Javascript.

Other devs might enjoy wasting away an entire day figuring out why something doesn't work correctly across browsers; and introducing hacks and inconsistency into their code. I certainly don't.

mtaulty wrote re: “iPhone 4 is Dead”
on Wed, Sep 15 2010 9:49 AM


Yup, very true and it's a *very* strong point.

HTML/CSS/JavaScript are a cross-platform, cross-browser API.

Silverlight is also a cross-platform, cross-browser API.

The difference though is that Silverlight is implemented by 1 vendor who tests the cross-platform, cross-browser compatibility.

HTML/CSS/JS are implemented by many vendors and so it comes down to the developer to test that the parts of the API that they are using work the same way on each implementation or to either write workarounds or libraries providing a level of abstraction that make the workarounds go away.

So, that (imo) is definitely a facet around choosing which of these API's and runtimes you target.


Daniel Earwicker wrote re: “iPhone 4 is Dead”
on Wed, Sep 15 2010 8:33 PM

@mtaulty - re: the DOS comparison, it actually works in MS's favour, if we're talking development platforms, as there are DOS programs compiled in 1981 that still run on Windows 7 today. 30 years of continuous support, how's that for longevity?

This post (although it is the Microsoft official line) is a refreshing bit of common sense compared to the tripe I've read elsewhere on this story. If there's one thing Microsoft has historically been obsessed about, it's supporting existing applications. So the idea that WPF would be "dropped" is hilarious. Apart from anything else, Visual studio is utterly dependent on it!

One thing I would say is that WPF is actually already a "better winforms", so if you want to do an app that could be done in Winforms, I'd say do it in WPF just because it will be more fun and will be much more flexible. If someone says "it would be cool to put a button in that tree view" then you can do it.

Max Peck wrote re: “iPhone 4 is Dead”
on Thu, Sep 16 2010 9:36 PM

We sure do make a big thing over some of these rumors don't we?  DOS is dead. Windows is dead. VB6 is dead. WPF is dead.  (Has anyone said SQL Server is dead yet?) ;-)

I've been a developer for 35 years.  Have seen a lot of stuff come and go over the years.

As far as I'm concerned I simply select the tools that will let me write something useful on my platform of choice.  For years it was FORTRAN, then C and MASM under DOS, then VB3,4,5 and 6 under Windows.  Now it's VS2008.  I even still use VB6 because a *ton* of our existing code still lives there and it still works - right on through Windows 7.

WPF looks like it might be cool to work with so I'm going to fiddle with it too ... and if it provides something that I can use to make something useful, then it's cool.  As long as the tool will crank out something that I can deliver to a machine and it works then I'll use it.  I don't give a rat's ass whether Microsoft has declared it "dead" in their little cubicle/boardroom fights. If they stop adding features to it then to me that just means it will remain STABLE!

If VB6 stuff is still running 12 years after it came out, then I suspect deeply embedded technologies like WPF will be around for awhile too.  Why lose sleep over it?  Go write a program and stop worrying about it!

-Max :-)

Iphone Developers wrote re: “iPhone 4 is Dead”
on Sat, Sep 18 2010 11:26 AM

I think that the word 'Dead' is not suitable but we can replacement for it because iPhone 4 should be upgrade in the future as it was done in the past ,I filter it all out. Unless someone I respect like Scott Hanselman says technology X is dead. Then I take notice.

Jesse wrote re: “iPhone 4 is Dead”
on Sat, Sep 18 2010 8:02 PM

I won't get into the whole dead thing haha, technology moves too fast. It isn't just in development, everything is so fast and the next best thing is always coming down the pipe. To be honest that is what I love about this field!

Although it is a love/hate relationship for sure :D

I am struggling with the whole silverlight/html5 thing today as a large part of my customer base uses Iphone and Ipad devices.. I really wish silverlight could be an option there and I am hoping that it soon will be. Please!

Andy ONeill wrote re: “iPhone 4 is Dead”
on Tue, Sep 21 2010 8:36 AM

Excellent article Mike.

People are way too keen on the sound bite answer nowadays.

I notice there are software houses which are still developing in classic asp and vb6.  And recruiting people with those skills.

Wanted: Undead developers.

Mind you.

I heard that MVC was dead.

iphone application wrote re: “iPhone 4 is Dead”
on Mon, Oct 11 2010 10:22 AM

thank  you mike for sharing an unique information

but i recommend ,you should get more information about iphone and its future :)

mtaulty wrote re: “iPhone 4 is Dead”
on Tue, Oct 12 2010 9:21 AM

To "iphone application",

I'm more than happy to get more information about iPhone and its future.

Perhaps you could tell me where it's possible to get any view of the future of iPhone?


itrix wrote re: “iPhone 4 is Dead”
on Mon, Nov 1 2010 7:41 PM

I think iPhone, iPod Touch, and iPad are going to be here for a while. These technologies have so much innovation that so many companies have been trying to emulate trying but FAILED miserably. There is no such thing as an iPhone killer even though Android phones are gaining a lot of following and producing some great phones. But iPhone have so many features that separate it from its competitors.

Copious-Systems wrote The incredible machine (DOS) won't work on vista does any one know how to fix this?
on Wed, Dec 1 2010 6:41 PM

Someone referenced this post to answer question "The incredible machine (DOS) won't work on vista does any one know how to fix this?"...