Linked by Thom Holwerda on Tue 12th Feb 2013 18:27 UTC
Windows "Imagine a phone that could run real Remote Desktop. Real PowerShell. Anything that can run on your desktop PC. Imagine 'phablet' form factors, similar to today's Samsung Galaxy Note 2, which could dock to a desktop setup and utilize an external display, keyboard, mouse, and other peripherals. Imagine a single set of APIs that work everywhere. Imagine that Phone isn't a whole separate platform, but an app. An app that runs on Windows. Real Windows. The Windows Phone team could never make that happen. But the Windows client team? You betcha. Make it happen, Microsoft. It's time to take the phone seriously." I have never agreed with Thurrot as much as I do right now.
Permalink for comment 552468
To read all comments associated with this story, please click here.
RE[3]: This guy is off his rocker
by Nelson on Thu 14th Feb 2013 18:53 UTC in reply to "RE[2]: This guy is off his rocker"
Nelson
Member since:
2005-11-29


Why? Just like properly written Android apps have different UIs depending on if you're running them on tablet or phone, there's no reason why this concept couldn't be extended to desktop as well.


Because there's an entire layer between the Model and the View which needs adaptation, and while it may make sense on paper to re-use this plumbing across apps, it doesn't work that well in practice.

Windows Phone and Windows 8 have different navigation paradigms. They're both page based, but with differences in some key areas which affect how you cache data and handle events from the View.

In addition, Windows 8 comes with different interaction models in mind (Mouse+KB in addition to Touch) and if you're doing any Mouse/KB specific coding (meaning you move beyond the generic Pointer events) then that bit will need to be rewritten too.

Basically, I think we're pretty close on opinion, just state it differently. YES you can reuse the Model, and no I probably wouldn't re-use my ViewModel but I'd re-use a lot of the supporting classes in the VMs and a lot of the supporting classes in my Views. Its not so cut and dry, in my experience.

Still, the end result is like 80-85% code re-use, today, already. My criticism is that this could be more like 90-95% with some common sense improvements to the code base.

There will always be that 5% that has to be rewritten, and it's often not entirely View specific.

The problem becomes worse if you're porting to a platform with wildly different characteristics (like iOS) where it doesn't really make sense to use MVVM and MVC is much more prevalent and a more natural fit into the Core APIs. So it means you only really keep your Model and maybe some helper classes.

Android is an even wilder beast all together.


And I agree with you wholeheartedly on Windows 7. Having gone from XP to 7, it's quite underwhelming, when you consider about 9 years went by between the two.

I mostly agree with you about Win8 as well. If you leave Metro out of the equation, it's actually a better desktop OS than Win7; easily worth the $40 upgrade price I paid, IMO. But Metro in Win8 is a big ass burger with a side order of fries. I'm guessing it works better on a tablet, but the integration with 'classic' desktop Win32 (or lack thereof) seems very scatterbrained and poorly thought out.


I can agree that some of the Metro-Desktop interaction points can be better. For sure. I expect them to get better too, BUT I don't think they're as bad as people make them seem.

They don't make your PC unusable, or make you dramatically less productive, or whatever. They just take some getting used to. And you know what, going back to Windows 7 for me is a chore because I've gotten so used to what Windows 8 affords me in convenience.


They probably should've held it back until Windows 9.


I think they should've reprioritized some things, freed up some resources, and made a better Windows 8. But this is what we have for now until we see how Windows 8's first interim release plays out.

Reply Parent Score: 3