Software should adapt and improve when UI paradigms change – rethink, don’t just port
During WPF’s first version (v3, of course) we considered building a porting tool to enable WinForms developers to easily migrate to WPF. We didn’t build that migration tool because:
- We thought that the UI paradigm changes didn’t deserve a simple port, and believed people shouldn’t just port their battleship grey apps to WPF, but they should rethink and upgrade their user experience.
- We were aware of the VB6 –> WinForms converter and had the impression that it cost a bunch, but didn’t provide great customer value.
- Tooling inside of Visual Studio for WPF was very early in development, compared to the very complete set of design services for Windows Forms.
- Our platform had many holes that WinForms developers would find lacking, with DataGrid, perhaps the biggest hole.
I was reminded of that first reason when I read “Extreme Makeover, Phone Edition: Comcast’s xfinity”…an example of a what a UI rethink for a new platform can do.
A couple of the other reasons have now changed:
- Visual Studio 2010’s WPF & Silverlight Designer experience is much improved, approaching WinForms productivity.
- DataGrid’s were shipped by several 3rd parties + eventually by our team as part of the WPF Toolkit for WPF 3.5sp1 and included in the box with WPF 4.
Interestingly, a MVP is working on a WinForms to WPF/Silverlight/WP7 Converter today. It may be a helpful tool, but it is an interesting question about what role it should play in your apps move to new UI platforms.
What do you think of the “port” vs “rethink” debate? What have you ended up doing with WPF/Silverlight/etc…