Microsoft Demos Three Platforms Running the Same Game 196
suraj.sun writes with this excerpt from Engadget:
"Microsoft's Eric Rudder, speaking at TechEd Middle East, showed off a game developed in Visual Studio as a singular project (with 90% shared code) that plays on Windows with a keyboard, a Windows Phone 7 Series prototype device with accelerometer and touch controls, and the Xbox 360 with the Xbox gamepad. Interestingly, not only is the development cross-platform friendly, but the game itself (a simple Indiana Jones platformer was demoed) saves its place and lets you resume from that spot on whichever platform you happen to pick up."
Not Cross Platform (Score:5, Insightful)
We expect them to be pushing studd across their own platforms. Not news.
Re: (Score:3, Insightful)
Yep, you beat me to it. I was going to comment... how is this cross-platform? It's all Windows technologies and .NET. That's hardly cross-platform. Show it to me on Windows, Linux, Mac, Wii, Xbox and PS3 and that'll be something to post an article about.
Re: (Score:2, Funny)
Remember, one of the definitions of cross platform is that it still works after a system restart.
Re: (Score:2)
It's cross-platform in a sense that desktop Windows, and Windows CE (Mobile / Phone / ...) are two different OSes. Not "distros", but OSes - different kernels, different userlands, different APIs.
Re:Not Cross Platform (Score:5, Interesting)
Re: (Score:2)
Hello? It's a presentation to developers. (Score:2)
Even shows the code loaded into Visual Studio. He's not talking to "consumers". And since when did Microsoft ever claim, even to consumers, that all there OSes were the same on all devices? Consumers couldn't care less about whether a phone OS is the same as a PC OS.
Re: (Score:2)
Even shows the code loaded into Visual Studio. He's not talking to "consumers". And since when did Microsoft ever claim, even to consumers, that all there OSes were the same on all devices? Consumers couldn't care less about whether a phone OS is the same as a PC OS.
Technically Microsoft haven't claimed that it was the same OS on all devices.
They've used a similar name for totally different products and let ignorant tech "journalists" (if you can call them journalists) do the rest. Though I note they haven't exactly gone out of their way to correct these tech "journalists".
Re: (Score:2)
The device is part of the platform, so it is cross platform, just weakly so. OTOH, I have no idea why you think what you describe would be 'newsworthy.' I can run a GUI app with OpenGL written in python on my Mac, Windows, and Linux
Re: (Score:2)
By your definition of platform, sure.
Unfortunately, you have a strict, non-standard interpretation of 'platform' that doesn't fall in line with pretty much the entire rest of the world.
MS, and most of the world has come to believe cross platform means hardware platform OR software platform. FreeBSD 7 is one platform, FBSD 8 is another.
You're definition doesn't match with the majority of the rest of the business world. Its kind of hard for you to communicate effectively with them if you don't understand wh
Re: (Score:2)
Re: (Score:2)
By that definition Sun did this with Java about 15 years ago and IBM has been doing this with VM since 1972.
Anyone impressed by this "new, ground breaking technology" from Microsoft should immediately cancel their Slashdot account and tear up their geek membership card.
Re: (Score:2)
By that definition Sun did this with Java about 15 years ago and IBM has been doing this with VM since 1972.
Anyone impressed by this "new, ground breaking technology" from Microsoft should immediately cancel their Slashdot account and tear up their geek membership card.
I dunno. Microsoft finally catching up with the rest of the world is most certainly news.
It'll be even more newsworthy when they do so in a fashion that isn't completely half-assed.
Re: (Score:2)
Not to mention, a lot of titles (like Fable II) only show up on XBox360 regardless of how easy PC-XBox360 development is.
This really doesn't signal anything.
Re: (Score:2)
Cross-platform? (Score:2)
Great! Can't wait til they have this at the BlackBerry app store.
Oh, you didn't really mean what we normally mean by "cross-platform" then?
Re: (Score:3, Insightful)
Re:Cross-platform? (Score:5, Insightful)
and lets you resume from that spot on whichever platform you happen to pick
My take was a little different. "oh, so they finally got it to work the way it's expected to work? Congrats.
1) use the same save game format
2) use the same controller layout
3) be network gaming compatible
is this soooo much to ask?
Meanwhile... (Score:4, Insightful)
A simple demo game written on a Fedora system runs perfectly on Ubuntu, Debian, Mandriva, Mint, Arch, and a few dozen others, but nobody paid for a press conference.
Re:Meanwhile... (Score:4, Informative)
A simple demo game written on a Fedora system runs perfectly on [other Linux operating systems], but nobody paid for a press conference.
Unless the game was developed using the Allegro library. Distributions that switched to PulseAudio broke sound in Allegro games because PulseAudio does not like unsigned 16-bit PCM.
Re:Meanwhile... (Score:4, Funny)
And the 0.02% of the global video game playing market rejoiced!
Re:Meanwhile... (Score:5, Insightful)
Re: (Score:3, Informative)
Windows XP/7, Windows Mobile, and Xbox are not all running Windows. They are all entirely independent code-bases that were developed separately.
This is not correct. The XBox [360] OS is a Windows NT fork (from Windows 2000, IIRC, or maybe XP).
Re: (Score:2)
A simple demo game written on a Fedora system runs perfectly on Ubuntu, Debian, Mandriva, Mint, Arch, and a few dozen others, but nobody paid for a press conference.
Yeah, well, that's part of the problem, isn't it?
It's only a slight exaggeration to suggest that the Linux distros that have money, visibility and marketing muscle don't do gaming - or don't do gaming particularly well. PulseAudio fixes and workarounds [fedorasolved.org]
So now pc games will be dumbed down to phone level (Score:3, Insightful)
So now pc games will be Dumbing down to the phone level.
And If you think that deus ex 2 was bad with that then this may even worse.
And will this lock out user maps and mods.
Re: (Score:2)
Re: (Score:2)
Its already started - Supreme Commander 2, which I hoped would be a perfect extension of SupCom1.. turns out to be dumbed down game designed specially for the XBox. I've heard comments from people that they won't even bother pirating it, let alone buying it.
This is the new world order - dumbed down for the phone is next.
Cross platform? (Score:5, Insightful)
Oh, my god, he's displaying this and he has all these #ifdefs and "copies of projects" within his workspace and a "shared resources" folder for the game. Is that the future of cross platform? That's more like the PAST of cross platform. The way to do this is to create interfaces for the same object and implement that using different devices. What you don't want, ever, is to have all this different execution paths through your code using #ifdefs to instruct the compiler to compile each and every one of them separately.
Re: (Score:2)
Re:Cross platform? (Score:4, Insightful)
Yeah, i do not get it. What is so special about this? Looks primitive to me, and you still do not have a cross platform solution yet. I can make that game even easier and truly cross platform....HTML, Javascript and CSS. Sure there needs to be some hacks to support broken browsers like IE, and yeah it will run in a slow browser like IE, but it the same code runs on Windows, OSX, GNU Linux, Iphone OS (touch, ipad, iphone), Blackberry, Windows BMW 7 Series (sorry could not resist), Solaris, Palm Web OS, etc...
Re: (Score:2)
There is no way you are going to run that game in Pocket IE for Windows Mobile 6.1.
Re: (Score:2)
Oh, my god, he's displaying this and he has all these #ifdefs and "copies of projects" within his workspace.
You clearly missed the #ifdef MARKETING_BULLSHIT
Re:Cross platform? (Score:5, Insightful)
I guess you've never actually used XNA, but feel qualified to talk about it regardless.
The reason you have ifdefs in XNA projects are not because you need to ifdef everything from the graphics API to the networking API and so on. The ifdefs exist, because the different platforms it works across have different capabilities. You do not have an XBox 360 controller on Windows 7 phones, and you do not have a touch screen or keyboard on the XBox 360, the fact is the platforms DO have differences and they simply have to be catered to one way or another, the method used really works just fine and has no disadvantages- go and actually have a play with XNA rather than just whining about it.
The doesn't detract from the fact though, that all your rendering, networking, audio, concurrency, IO, physics, game code and so forth are shared between them.
A lot of people are talking it down as been there done that, but has it really? Well no, it hasn't. The great thing about Xbox live is the profile system and how everything connects back to it- they're just taking that across other platforms, you should be able to buy a game on XBox live arcade and play it wherever you are and that's the goal, simply put this hasn't really been done yet. The closest we've had are flash games and other web based games, but they're limited in performance, and are limited in ability. Even the likes of Steam hasn't stepped away from Windows yet, and only just seems to be creeping across to the Mac, there's no sign of it going to Linux, or phones, or media players, or consoles any time soon, if ever. This is a big deal, because it means you can continue to play your games wherever you are, and it makes it piss easy for developers to do it, you no longer need graphics abstraction layers and so forth like you used to.
Really, if this is not cross platform, and if this is the way of doing things in the past then tell me, where can I find a phone, console, and computer that let me play the same game and move between them without having to manually copy saves, without having to buy a different copy of the game for each platform, without having to care about anything technical, and which makes full use of graphics hardware and isn't some crippled web implementation of something.
What's that you murmured? no such thing currently exists. So this IS in fact a major step forward? thought so.
I love how Slashdot goes idiotic about things when Microsoft is involved, but if this was Apple they'd be masturbating all over the screen because Apple has created something else that "just works" even though when it's Apple it's inherently crippled, and uses a dated horrible language like Objective C.
Re: (Score:2)
Oh, if only you had not posted as anonymous coward, I could have dazzled you with my wisdom...
You do not have an XBox 360 controller on Windows 7 phones, and you do not have a touch screen or keyboard on the XBox 360, the fact is the platforms DO have differences
We can appreciate that. But you should not allow the API to the hardware to go beyond the input classes of your game. There is always going to be a point where the hardware events (keyboard press/release, controller press/release) are read or proces
Re: (Score:2)
You can work fine without #ifdefs anyway you spin it. If you control the platform then you should have an API that lets you explore the capabilities of the system. After that it is as easy as switching in the classes.
It's not the time anymore where a virtual call takes so much of your CPU that you have to revert to #ifdevs. And if you still need #ifdefs because the capabilities do not map to specific modules/classes then the design is worthless.
At my company we've banned #ifdefs except for very specific cas
Re: (Score:2)
Where can I find a computer (OS) console and phone all made by the same company .... there is only one Microsoft, all allegedly run "Windows", and give the same (or similar) experience, and all were designed to be compatible with each other.... so my question, is why did this not work before?!
Re: (Score:2)
You can collect your gold star on your way out.
Platform = HARDWARE platform (Score:2)
For those nerds equally confused, I'm pretty confident that they just mean the hardware platform, since all devices seem to be using some kind of Windows & .NET. So the software platform is more or less the same. It just shows how you can store and load save games from the .NET using different hardware platforms.
Re: (Score:2)
Re: (Score:2)
Even so, how is it news? I could understand if Apple were to show OS X running well on non-Apple hardware, and implying that it may be legally allowed in the future. That's news. Windows and Windows programs have been running on myriad hardware combinations for years, with few problems (if we ignore Vista). This is not news.
Just make it happen for Civilization 5 (Score:4, Funny)
Make it happen for Civ 5, so I can play the same game on the TV at home, switch to the laptop when the wife wants to watch TV, then switch to the phone in the bathroom at work! My life would be complete.
Takeing civ 4 as guide no phone will have power ru (Score:2)
Takeing civ 4 as guide no phone will have the power run it at any good speed also the small screen will make it hard to play.
Re: (Score:2)
Well, in all seriously, I don't care what they do to it graphically. The game would be just as much fun if a grassland was a unanimated green square, mountains were gray, etc. Civ 1 was 320X200 wasn't it? My phone has a better screen, and more processor/RAM than my 486/33 where I played Civ1. I have no idea how CPU intensive the math that calculates all the moves and AI logic is in Civ4 though.
Re: (Score:2)
They've got their head in the sand (Score:3, Interesting)
I can see where this is news for Microsoft, king of platform-specific APIs. For those of us accustomed to developing using, say, SDL and OpenGL, this isn't news at all, as a properly written program using said libraries will need literally zero changes between several platforms. The input bit is tricky, but 90% reuse is low, I would think.
Re:They've got their head in the sand (Score:4, Insightful)
I'm going to ignore the mostly inflammatory content of your post, because there is a valid point in there -- that the complexity of a lot of operations are underestimated by those unfamiliar when they are heavily exposed to the end product. On that count, I agree.
However, in this instance, at least, the concern is misplaced. I do have experience with cross-platform development, including any game-related subsystem you care to name (video, audio, mouse/kb/controller input, networking, file/data access, et cetera). The problem IS a trivial one if it is planned and accounted for, rather than a last-minute decision.
For 99% of development studios, it goes something like this: use DirectX, porting is a nightmare. Use SDL/OpenGL, porting is changing less than 5% of your code (and for non-'exotic' applications, 0%). Some things are -designed- to allow portability; it should be no surprise that they enable it. This is quite simply a field that UNIX-alikes have been dealing with for a long time, and Windows applications have not.
Virtual Machine? (Score:2, Insightful)
Re: (Score:2)
Re: (Score:2)
Wow, they actually got a .NET program working on several different microsoft operating systems! Now, seriously, where's the news? .NET runs on a virtual machine. It's just like showing a Java game that "magically" works on several differnet PLATFORMS (and with Java they can be called platforms, a program running on several different microsoft products can hardly be called cross-platform).
Well, I can see one obvious difference. Say, can you write a game in Java that will readily run on any of the major gaming consoles out there, with no need for the player to muck around with anything (like, say, installing Linux on PS3)?
cross-platform != monoculture (Score:2)
Only 90% of the code in common? (Score:5, Interesting)
God almighty, their code base is more fragmented than I ever imagined.
Even at the worst of the "UNIX wars", if you had to rewrite as much as 10% of your code to get it to run on (say) AIX, SunOS, and System V that meant you'd done a really bad job of isolating the platform-specific parts of your code. If Microsoft can't keep their code bases in sync when they control all of them and they have incentive to do so, they're really slipping.
Re: (Score:2)
Color me unimpressed. Device-dependent APIs were embarrassing in the '80s.
Re: (Score:2)
Worthless (Score:2)
cross platform (Score:2)
cross platform:
Windows, Windows and Windows.
yipee!
Re: (Score:2)
It's all different versions of Windows.
Re: (Score:2)
Re: (Score:2)
Of course, but that's an easy one and it proves nothing. The Windows version on my desktop does not exist, so it as nothing in common with everything.
Cross platform windows development (Score:2)
This story reminds me of a text book I once purchased that was about cross platform programming using windows. What I failed to realize until after I purchased it was that the platforms were Windows 95, 98, NT 3.51 and NT 4. Also what is so impressive about saving data that is not dependent on the platform, or are microsoft still simply dumping memory and calling it a file format?
Game complexity is the deciding factor. (Score:2)
The simpler the game, the easier it is to pull it off. E.g. a game that only needs one button and basic OpenGL, is very easy to port everywhere.
I count one platform (Score:2)
Sounds about right (Score:2)
our game engine has about 10% of platform specific code, and it runs on about 6 platforms (and we actually count windows, linux and mac as 1). it's actually pretty standard. especially in this case, probably all the input, filesystem, memory, threading apis are pretty much the same (they're probably still doing 3 different renderer implementations). is anyone really impressed by this?
#if PATFORM (Score:2)
This makes life easier when touch becomes a popular feature on laptops and desktop computers, for example.
What would you do if you had a million (Score:2)
Q. What would you do if you had a million compilers?
A. Two chips at the same time
Re: (Score:2, Insightful)
Only player 1 (Score:2)
I agree, There is nothing special about running with or without a game controller.
Other than that it's the only choice for players 2, 3, and 4. Only player 1 can use a keyboard and mouse.
Poor people (Score:2)
Thats nothin (Score:2)
Yeah, on both Intel and AMD!
Re: (Score:2, Interesting)
Actions script is a dynamic interpreted, and it significantly limits its performance. Writing cross platform c++ code is significantly harder.* (Although, if you use a compilers by the same vendor it makes things easier.)
I guess this demo was about to showcase their cross-platform gaming libraries. I guess 10% non-shared parts were responsible for the different user-interface controls.
* I guess it's more likely some c++ libraries with .net bindings.
Re: (Score:3, Interesting)
Nothing is going to be native C++ on Windows anymore. Microsoft is only interested in using .NET, probably C#, for *everything*.
Its their new lock-in. Developers write in C# and find their code only works on Microsoft platforms. Then they look at their developer tools and features MS has packed in there and think "I don't know/not interested in writing code that works on alternative platforms", as Ballmer grins and rubs his hands together.
I know the 'real' game studios all use C++, so I understand where you
Re: (Score:2)
If there was a serious open source competitor to Java/C#, I'd love to hear about it. But right now, there are only open source implementations of either.
Re: (Score:2)
It is a while since I last looked at it, but doesn't the glib/gobject system provide automatic memory management. It is pretty grotesque to use in C, but a Java/C#-like language could be written to target it (there are some pre-processors, but they aren't really ideal). Its one of thsoe projects that would be worth doing if I had the skill to do it, but I don;t really have time to learn how to do right now (as opposed to posting on /., which is of course a wonderfully productive use of my time).
Re: (Score:2)
Nothing is going to be native C++ on Windows anymore. Microsoft is only interested in using .NET, probably C#, for *everything*.
This isn't true. If it was, Visual C++ wouldn't be significantly developed anymore, and nor would be native Win32 APIs.
In practice, though - Visual C++ 2010 has got a bunch of C++0x features, with more probably to follow in next release; Windows 7 added a new native Ribbon API (to be backported to Vista soon) - not yet replicated on .NET, in fact - and a Web service API for C++ (both client and servers). As .NET gets ParallelFX, VC++ gets Parallel Pattern Library. Etc...
Managed has its places, and so does n
Re: (Score:2)
Yes, I know. I'm a C++ dev myself and I see so much effort being placed in C# (and so much "can we do it in C# please, please can we, can we" from the other devs) that we're most definitely a niche in Microsoft now. Sure VC++ is still developed, but not like the .net tools. Sure, we have WWS (but only for Windows 7/Server 2008r2, you can get it for the older platforms, but it'll cost you a lot of cash).
And yes, I know of the Ribbon as the MFC thing that no-one else has, but there are lots of them available
Re: (Score:2)
lol.
its so much easier to usw that there are a hundred frameworks designed to make writing your C# apps simpler. Think about that.
Most game studios do use C++, often with a Lua scripting end. Sure there are some C# code used, but so too is javascript, python, and many others. Its not the primary language for games by a long stretch.
Mono, wake me up when its a) not full of bugs, b) contains all the good stuff C# devs use today.
Re: (Score:2)
C#/XNA will do just fine to create top-end mobile games, as evidenced by the ZuneHD's Project Gotham Racing game, and other 3-D games.
"Zune HD - 3D Games Demo" [youtube.com]
Re: (Score:2)
The trouble with XHTML5+SVG is that there isn't a good IDE for it, probably because most of the people who care and have the skill to do anything about it like using text-oriented editors, and aren't really interested in making browser games and so on. However, since both Google and Apple would probably quite like to get people to leave flash and silverlight, maybe they should try to get a GSOC (or similar) project going to work on it. There are already FOSS vector-art editors, what is lacking is easily tyi
Re: (Score:2, Interesting)
Have you ever played a Flash game with a joystick or a gamepad? On any machine without a keyboard or mouse? How about a Flash game that makes use of 3D hardware?
Yeah, that's what I thought.
dom
Re: (Score:2)
Re: (Score:3, Insightful)
Flash is the platform. It's not a particularly efficient one on Windows, let alone any of the places where an inferior knockoff is provided. You can get halfway decent performance on OSX (from what I hear) and you get almost that good of an experience with Linux on x86_64... Or in other words, ugh.
Re: (Score:2)
the flash runtime is part of the "game" in this case, and while most of its code is shared between all the ports, some of it isn't.
Re:90% shared code? so what? (Score:4, Informative)
Let's see where to start....
1. If you are writing different libraries for each platform -- that's not 100% code re-use
2. You're not "just distributing" the same binary for each platform.
3. What are you using for graphics, sounds, storage, etc. on each platform?
4. You're doing this without a bunch of #ifdef's?
5. How are you accounting for different screen resolutions, graphics hardware, touch capabilities, and other hardware difference?
I've never programmed games for either the PC or mobile but I do write boring old business apps for Windows Mobile industrial devices. I'm able to target Windows Mobile and take the same app and run it flawlessly on the desktop -- without a recompile.
Re: (Score:2)
If you are writing different libraries for each platform -- that's not 100% code re-use
sure it is. if you use libc - is that code re-use? i have done a library for a generic platform for developing on top of. it is a library; that as a developer you dont have to write - you just use it.. just like openGL, libc, mathlib et al
You're not "just distributing" the same binary for each platform.
unless there is a universal "thick binary" standard; you are going to have to ship different binaries. thats how it is.
W
No text-to-speech in XNA (Score:2)
as for audio; worst case; you have PCM audio.
That's not the worst case. The worst case is XNA's solution "XACT", where you have to precompile all audio assets into your solution. You can't synthesize audio at runtime, which means no chance of text-to-speech.
i avoid .NET and Java like the plague for mobile applications
Then how do you target BlackBerry and Android, both of which use Java? Or how do you justify to your boss the lost sales from not targeting these platforms?
Re: (Score:2)
Then how do you target BlackBerry and Android, both of which use Java?
android - NDK (native development kit)
the library portion i provide is actually still Java; but with JNI calls to the real meat of the code.
Or how do you justify to your boss the lost sales from not targeting these platforms?
i support android - i have demo versions in place - so, thats not an issue. as for justifying it to my boss? i am my own boss - justified. but you do raise a valid point.
The second paddle (Score:2)
I most certainly have the source to a pong clone [for OpenGL and GLUT] that will compile on OSX, Linux, FreeBSD, and Windows out of the box. Not even an ifdef.
What controls are used for the second paddle in this Pong clone? If a gamepad, then since when does GLUT support gamepads? If another computer, then since when does the same networking code work without modification (not even WSAStartup()) on Windows?
Re: (Score:2)
And you said you could target Palm. Palm just released a native SDK for the WebOS a few days ago. OpenGL is not public yet for the Palm Pre and doesn't work on most Windows Mobile devices -- especially not the industrial ruggedized devices. Exactly how many of those platforms that you bragged about above have you actually programmed for?
Re: (Score:2, Insightful)
If you have platform specific bits, you merely have very high code reuse, not 100% code reuse.
Re: (Score:2)
90% shared code? so what? (Score:-1, Troll)
is it me - or are some of the slashdot moderators total idiots? either apple or microsoft fan boys. when i was your age you were probably still in diapers. obviously they miss the point. oh well.
Re: (Score:2)
They have low res and high res versions of the content as can be seen in the Visual Studio solution in the video. The phone will use the low res content only.
Re: (Score:2)
In games where precise control offers an advantage, say a shooter, a player with a mouse may have an advantage overs someone with a controller. Can the game be designed to level the playing field by introducing automatic assistance in aiming , yes, but that limits a players ability to prevail with better skills
Rifles in the real world are much less accurate than a mouse. I'm a little tired of hyper accurate mouse targeting "skills" being the centerpiece of shooter mechanics. How about some more strategy? Console games have been branching out with soldiers, planes, trucks and tanks, all of which adapt well to gamepads. Even games with 100% auto-aim can work, look at Warhawk. How can you even say "skill" when everyone has different machines running at different frame rates with different mice, and differing ne
Re: (Score:3, Informative)
Rifles in the real world are more accurate than they are made to be in the games. For instance, IRL it's possible to hit a person-sized target at 300 meters with a simple M-16, while in a game, you'd be happy to do that at 100m, and might even need some optics to pull that off. So yeah, it's already hard to hit a moving target a at a long distance, there's no need to also have to fight an inferior input device while doing this.
Also, in any "realistic" game like Rainbow Six or SWAT two people bumping into ea
Re:Cross platform - maybe not so awesome (Score:4, Interesting)
There are a good number of people I know (including a few riflemen in the Marine Corps) who would most definitely disagree with your first statement. It's more of a matter of the ability of the shooter, not the accuracy of the rifle. The US Military has some highly accurate rifles, when put in the hands of the right shooter.
Re: (Score:2)
Re: (Score:2)
Operation Flashpoint had a "cross-hair" that resembled real life iron sights. Very interesting touch - and it worked somewhat like in real life, too.
Re:"Cross Platform" (Score:5, Insightful)
Re: (Score:2)
Nice try Microsoft.
It was not Microsoft who claimed that it was cross platform. They were never trying for that. Eric Rudder explicitly said in the video how this was a demonstration of the "commonality of the platform across all of their offerings". This was just a demonstration of that, plus the use of the Live services to link that save games (which was the only thing that got any audience reaction).
The integration over the net sounds like a nice feature, but if it cannot also save locally then this is just another version
Re: (Score:2)
So..., does this mean they'll sell me the same game x times?
Only if you choose to buy it x times.
Re: (Score:2)
Re: (Score:2)
What kind of MS apologist are you? WM has pretty much been stagnant since 5.0. Even you admit that. While their competitors like Blackberry, Apple, Google, and even Palm have been making advancements, MS has stood still with incremental and cosmetic upgrades since 2005.
Now MS is finally making advancements to their mobile platform. But any apps you may have developed in the past for WM will not work. It isn't a simple recompile either. Windows 7 Phone is expected to finally launch in December at best