01-27-2014 10:01 AM
49 12
tools
  1. Mike Gibson's Avatar
    You completely avoided his question and only talked about the one area where MS is behind (mobile) while ignoring all the areas of technology that they dominate.
    I should have made it clear at the start of that reply: MSFT should provide desktop to phone support.

    The deskop UI is still there and so are all the core APIs which is why desktop programs continue to run on Windows 8 just as they did on previous versions. Microsoft has *added* Modern UI apps and programming models to their ecosystem in order to provide for a new use case. They have not abandoned their other programming technology/frameworks.
    Oh yes they have. ATI/AMD has said that there will be no Direct3D12. That is core Win32 technology (and was responsible for all the gains in GPU horsepower for 20 years, which has benefited phone to supercomputer hardware).

    The only difference is the programming model, but that is no different that a developer that has to learn web programming techniques (session handling, data persistence, etc.) after becoming an expert in desktop programming or vice versa. I hate to break it to you, but as a developer you will need to be willing to learn new things if you want to write new kinds of programs.
    Uh, I have "learned new things". I have a fairly complex scientific app in the Windows Phone Store right now. After going through that exercise, I determined that MSFT's RT concept is stupid.

    Of course ARM vs. x86 is relevant. WinRT is designed to support relatively simple apps that *may* be running on devices with very limited hardware, devices with power constraints, and devices with slow/cloud storage as their primary storage. The Win32 APIs are not designed for this type of device.
    Simply not true. The program determines how much power is consumed by the device, not the OS. For example, I can run my Win32 programs on my Samsung Series 7 Slate. The fan never revs up unless I do a ton of 3d volumetric rendering (which will rev the GPU fan even on a Desktop machine). Then I run Microsoft's own WinRT Solitaire, which is supposedly a power-sipping "modern" app. Without doing anything, the fan starts revving up. What happened? I thought WinRT meant low power consumption???

    Many ARM devices are too simple to be able to support all the functionality of Win32 and even if they could it would make them very inefficient.
    Not true. My HTC 8X has about the horsepower of a 10 year old laptop. Win32 programs would run fine on that device (and, in fact, my WP8 app uses Win32 APIs, Direct3D and simple file access calls, as much as possible for performance).

    There is a reason why apps get "tombstoned" instead of just collecting as background processes where they would eat memory and kill battery life.
    Win32 apps can be shut down by the OS at any time (see WM_QUERYENDSESSION, etc.).

    Complaining about this is like saying that MS should have used Win32 APIs as the basis for their HTTP services and web application development frameworks.
    Uh, you do know that the Win32 APIs, WinInet and WinSock, are the underlying technology used by WinRT's HTTP APIs, correct? See the following:

    Connecting to an HTTP server using Windows.Web.Http.HttpClient (Windows Store apps using C#/VB/C++ and XAML) (Windows)

    It's crazy. People think that WinRT is some great new thing that breaks with the past. In reality, it's just an additional (and unnecessary) framework sitting on top of Win32.
    a5cent likes this.
    01-24-2014 01:30 PM
  2. Citizen X's Avatar
    I think the reason for declining consumer sales has more to do with current hardware/software being 'good enough', not so much anything Microsoft has done or failed to do.
    Thank you. When IBM sold its PC division to Lenovo that was the clear sign the PC market was mature and a commodity business.

    Not true. Look at the financial statements/profile for AAPL. It has more revenue and cash on hand than MSFT. Its iPhone business alone is larger than MSFT's total from all products. MSFT is the underdog.
    Ugh. How many desktops is Apple's software suite on? How many companies run their entire operation on Apples? Microsoft sold almost 4 million xbox ones... How many next gen game systems has Apple sold?

    Apple is a phone and tablet company. That's it. Every other thing they sell is either dead or dying. Maybe Macbooks are maintaining? Who knows. The majority of what they sell is phones and ipads. With phones becoming a commodity and Apple restricting their entire line to one form factor you really have to wonder not if but when their revenue numbers are going to start coming under pressure.
    dkediger and Editguy1900 like this.
    01-24-2014 01:51 PM
  3. Citizen X's Avatar
    It's crazy. People think that WinRT is some great new thing that breaks with the past. In reality, it's just an additional (and unnecessary) framework sitting on top of Win32.
    What matters is the end user experience. And the end users I know who run businesses and use RT tablets to help do it have no complaints. Oddly none of them have ever said, "it's just an additional (and unnecessary) framework sitting on top of Win32." They are just happy to have Office with Outlook, a proper browser, and few if any virus concerns.
    01-24-2014 01:53 PM
  4. jmshub's Avatar
    I am a systems administrator in a financial institution. I would love to see our vendors build Windows 8 apps for our bank applications. We would lock the PCs down, eliminating the desktop and people using desktop applications. The browser doesn't run plugins, getting rid of a lot of our vulnerabilities, like Java apps. Unfortunately, this is the type of stuff that I am not seeing Windows 8 being done at all, and it's a real shame.
    Laura Knotek and a5cent like this.
    01-24-2014 02:21 PM
  5. dkediger's Avatar
    I should have made it clear at the start of that reply: MSFT should provide desktop to phone support.
    I realize this forum is Windows Phone Central, but again, are we giving Apple a pass here? You could argue their transgression regarding desktop to mobile app support is more egregious than Microsoft's. You're going to take a dose of poison in targeting any platform, none of them reach across devices.


    Apple is a phone and tablet company. That's it. Every other thing they sell is either dead or dying. Maybe Macbooks are maintaining? Who knows. The majority of what they sell is phones and ipads. With phones becoming a commodity and Apple restricting their entire line to one form factor you really have to wonder not if but when their revenue numbers are going to start coming under pressure.
    In a sense, this is why I refer to them as a "Niche" company. Granted, its a hell of a niche - but they've had the same play for years - with no real hint at what their next play will be. They could have my undivided attention today if they would announce an enterprise manageable "iCloud" similar to Office 365. I'm not holding my breath though.....

    Edit:
    To expand on this - I truly believe this is why Google plays nice with Apple and is antagonistic towards Microsoft. I'm not trying to be misogynistic in this illustration, but what the hey:
    Apple is the "wingman" to Google in the battle for the bar pickup against Microsoft. Not any threat to move in on your pickup, while Microsoft is the rival at the other end of the bar who just ordered up drinks.....
    Last edited by dkediger; 01-24-2014 at 02:55 PM.
    01-24-2014 02:26 PM
  6. Cleavitt76's Avatar
    Oh yes they have. ATI/AMD has said that there will be no Direct3D12. That is core Win32 technology (and was responsible for all the gains in GPU horsepower for 20 years, which has benefited phone to supercomputer hardware).
    How is that an example of MS abandoning their other programming technology/frameworks? Direct3D 11.2 is still available and is considered cutting edge. It just got released with 8.1 a few months ago for god's sakes. Is there even a need for a major new release of Direct3D at this time? What advancements in GPU hardware would it take advantage of that Direct3D 11.2 isn't already making use of? This is a pretty poor example of MS abandoning their programming technology. At least pick something that hasn't been updated in the past few months.

    Simply not true. The program determines how much power is consumed by the device, not the OS. For example, I can run my Win32 programs on my Samsung Series 7 Slate. The fan never revs up unless I do a ton of 3d volumetric rendering (which will rev the GPU fan even on a Desktop machine). Then I run Microsoft's own WinRT Solitaire, which is supposedly a power-sipping "modern" app. Without doing anything, the fan starts revving up. What happened? I thought WinRT meant low power consumption???
    That is only part of the equation. Yes, I can write a traditional Win32 desktop program that just sits there idle and uses very little CPU power. However, it still uses memory which is a problem on mobile devices like ARM tablets and phones once you open a few too many apps. It also won't respond to being "tombstoned" (i.e. purged from memory) and then "rehydrated" (expected to startup in the same state it was in before it was killed) which are memory and power saving concepts used on ARM class devices. Those concepts and related APIs don't exist in Win32.

    Most importantly, Win32 supports a ton of functionality that is not needed on a small mobile device and duplicating all of the underlying technology would be very wasteful for a phone or Surface RT style device. This is why WinRT was designed to provide a subset of Win32 functionality. You could argue that they should have just made a stripped down version of Win32 and then changed some things related to very low power hardware. I would argue that the result of that project would might be called "WinRT".

    Not true. My HTC 8X has about the horsepower of a 10 year old laptop. Win32 programs would run fine on that device (and, in fact, my WP8 app uses Win32 APIs, Direct3D and simple file access calls, as much as possible for performance).
    You complain that MS has forced you into WinRT and abandoned Win32 (you specifically mention Direct3D as an example of this) and then you talk about using Win32 APIs and Direct3D in your own published WP8 app.

    Win32 apps can be shut down by the OS at any time (see WM_QUERYENDSESSION, etc.).
    Completely shutting down the app has nothing to do with the concept of tombstoning.

    Uh, you do know that the Win32 APIs, WinInet and WinSock, are the underlying technology used by WinRT's HTTP APIs, correct? See the following:

    Connecting to an HTTP server using Windows.Web.Http.HttpClient (Windows Store apps using C#/VB/C++ and XAML) (Windows)

    It's crazy. People think that WinRT is some great new thing that breaks with the past. In reality, it's just an additional (and unnecessary) framework sitting on top of Win32.
    This is funny for two reason...

    First, I wasn't talking about the underlying implementation within the Windows OS, I was talking about from the developer perspective. In other words, it would be silly to complain that MS uses HTML, JavaScript, or ASP.Net as their web programming frameworks instead of sticking with Win32 APIs and C++ to write webpages. Those languages/frameworks are intended for completely different types of applications.

    Second, you are again proving my point. You keep saying that MS has abandoned Win32 in favor of WinRT, but here you are saying that WinRT is an additional layer that has been added above Win32. You also said earlier that Win32 is still accessible (via "un-managed" code calls).

    While you may see WinRT as unnecessary for your style of coding or your own needs, it really isn't any more "unnecessary" than any other abstraction layer. The .Net framework is an abstraction layer that runs on top of Win32 (on x86 Windows machines at least), but it has a lot of advantages and is a more reliable, efficient, and consistent development platform for most common applications. ASP.Net is an abstraction layer that ultimately runs as HTML/javascript and it has many advantages over traditional web programming for most web apps. Even your beloved Win32 and Direct3D are abstraction layers (although lower level) over internal OS specific implementations.

    EDIT:

    P.S. I never claimed that WinRT is some "great new thing that breaks from the past." I have said quite the opposite actually, but I agree that many people think it is meant to replace everything else which is not the case.
    Last edited by Cleavitt76; 01-24-2014 at 02:58 PM.
    01-24-2014 02:45 PM
  7. Cleavitt76's Avatar
    I am a systems administrator in a financial institution. I would love to see our vendors build Windows 8 apps for our bank applications. We would lock the PCs down, eliminating the desktop and people using desktop applications. The browser doesn't run plugins, getting rid of a lot of our vulnerabilities, like Java apps. Unfortunately, this is the type of stuff that I am not seeing Windows 8 being done at all, and it's a real shame.
    Yeah, there is a lot of untapped potential for businesses in Windows 8. Businesses tend to move slowly so I wouldn't hold your breath waiting for industry specific Modern UI apps. However, you might be able accomplish something similar on the desktop now. If your users really only need access to a limited list of applications you could use Group Policy to limit certain user groups (non admins) to only be able to launch certain executable paths.

    Run >> gpedit.msc >> User Configuration >> System >> Run only specified Windows applications

    "Limits the Windows programs that users have permission to run on the computer. If you enable this policy setting, users can only run programs that you add to the list of allowed applications."

    You may already know about this, but I just thought I would throw it out there in case it helps. It's hard to get a virus when all you can execute is Outlook.exe, Word.exe, and MyCompanyProgram.exe. Microsoft has some white papers on the interweb with details needed to implement this properly.
    Laura Knotek and a5cent like this.
    01-24-2014 03:27 PM
  8. rmeigs's Avatar
    Even the most die hard fans of Microsoft among the journalists are getting skeptical about the company's future.
    Which diehard Microsoft fan journalists are getting skeptical? I haven't seen one (but maybe I missed it).

    Has no one been reading their quarterly financials over the last years? Microsoft is an enormous success and powerhouse with plenty of cash to see it through on Windows and Phone products. It's easy to see the struggles they are having at growing market share in phones or the stumble of Windows 8 and assume Microsoft is in trouble. But Windows and Windows phone are third tier products and not where MS makes it money.
    01-24-2014 04:34 PM
  9. bilzkh's Avatar
    I'm going to bet that we'll start seeing some rapid movement after BUILD. For the longest time the Windows Phone team was the team *no one* cared about at MS, and now, they're in charge of OS development at the company. With all those resources at their disposal I'm sure we will start seeing quality stuff shoot through a lot quicker.
    01-24-2014 05:51 PM
  10. Simon Tupper's Avatar
    Which diehard Microsoft fan journalists are getting skeptical? I haven't seen one (but maybe I missed it).

    Has no one been reading their quarterly financials over the last years? Microsoft is an enormous success and powerhouse with plenty of cash to see it through on Windows and Phone products. It's easy to see the struggles they are having at growing market share in phones or the stumble of Windows 8 and assume Microsoft is in trouble. But Windows and Windows phone are third tier products and not where MS makes it money.
    money is obviously not the problem with MS. The problem is how people see Microsoft. They don't think about Microsoft the innovator, but more about Microsoft the undead behemoth(they want it dead).
    01-24-2014 06:40 PM
  11. stephen_az's Avatar
    I'm trying really hard to believe in that company, but its tough. They recently admitted that W8 was a failure and from there we haven't seen any good news about the Redmond's giant.

    In fact, it started the hate machine all over again on many websites.

    I'm trying not to care about it, but the more it goes the more I think that every devices I own that runs either WP/RT or Pro are already obsolete.

    Ballmer is a cancer. He's good with money, but he's hurting the company in every other way. Everytime he bashes on a product to make one of his products look good it has the opposite effect.

    I wish I could like this company as much as I do with many other brands, but the fact I can't buy one of their products and have the certainty that it's worth it makes it hard to appreciate MS. They had me before with Vista and the Kin, but this time I was expecting a better outcome.

    I'm one or two fails away from switching to a company that offers me some sort of certainty.
    I wonder if people who post this sort of thread even follow the actual news. 1) Even though the numbers were released today, it was no secret they were going to be one of the companies beating Wall Street estimates. On a day when the markets were down across the board, they were up because of their record quarterly performance. What a terrible performance. This is, of course, occurred by pushing Ballmer's flawed vision forward. Again, what a terrible future this conveys.

    BTW, it would be great if people would drop the incredibly offensive and repugnant insistence on referring to another human being as a cancer. Perhaps you gave never lost a loved one - good for you. Having lost my father and one of my dearest friends to cancer (she was not even 45 years old) I find that phase to be about as callous, insensitive, and disgraceful as any uttered in any setting. A little decorum and consideration can go a long way.....
    01-24-2014 08:39 PM
  12. dkediger's Avatar
    money is obviously not the problem with MS. The problem is how people see Microsoft. They don't think about Microsoft the innovator, but more about Microsoft the undead behemoth(they want it dead).
    Which is a shame, because across the board, Microsoft is undertaking some pretty comprehensive and far reaching innovation. Its not "goldpagne" or a giant data stream parsing funnel, so I guess its not that meaningful.
    a5cent likes this.
    01-24-2014 08:50 PM
  13. Mike Gibson's Avatar
    How is that an example of MS abandoning their other programming technology/frameworks? Direct3D 11.2 is still available and is considered cutting edge. It just got released with 8.1 a few months ago for god's sakes. Is there even a need for a major new release of Direct3D at this time? What advancements in GPU hardware would it take advantage of that Direct3D 11.2 isn't already making use of? This is a pretty poor example of MS abandoning their programming technology. At least pick something that hasn't been updated in the past few months.
    Those are tweaks on existing releases and I'm not talking about D3D12 right now. According to AMD/ATI, MSFT has no plans for a Direct3D12. No plans -- meaning it is a dead end. As for future GPU innovation, I'd like to see Output Merger stage shaders. Most important are the things I can't even think of right now.

    That is only part of the equation. Yes, I can write a traditional Win32 desktop program that just sits there idle and uses very little CPU power. However, it still uses memory which is a problem on mobile devices like ARM tablets and phones once you open a few too many apps. It also won't respond to being "tombstoned" (i.e. purged from memory) and then "rehydrated" (expected to startup in the same state it was in before it was killed) which are memory and power saving concepts used on ARM class devices. Those concepts and related APIs don't exist in Win32.
    A Win32 program can certainly start up in its previous state. My Win32 apps start up in nearly the same state that they were in when closed. And look at WM_QUERYENDSESSION for information on how to know when your Win32 app is force-closed. Adding a few more messages would have been far easier than reinventing the wheel over and over again.

    Most importantly, Win32 supports a ton of functionality that is not needed on a small mobile device and duplicating all of the underlying technology would be very wasteful for a phone or Surface RT style device. This is why WinRT was designed to provide a subset of Win32 functionality. You could argue that they should have just made a stripped down version of Win32 and then changed some things related to very low power hardware. I would argue that the result of that project would might be called "WinRT".
    Yes, they should have produced a stripped down version of Win32. I would have completely supported a new Win32 subset that cut out old, obsolete stuff (especially insecure APIs and access) while adding a simple, scalable UI API. I also like the Store managing updates, etc. (though not the 30% cut, that should be no more than 10%). Take the good stuff from WinRT (scalable XAML, store, etc), repackage it for Win32, then backport the damn thing to Win7 and they'd have a winner. I would have converted my Win32 programs over to this new Win32X platform instantly.

    What I do *not* like is MSFT wasting their time reinventing file access, forcing ISVs to use the stupid Async pattern, etc. Basically nuking all existing Win32 code. The market has proven this to be the wrong course. Windows is dying right now. The MJF article on ZDNet says that MSFT has abandoned their plan to bring WinRT and WinPRT closer together in the upcoming Win81 update. Why? Because Win8's OEM sales dropped 20% in the latest quarter. That's a forward-looking number which means that OEMs expect sales to get even worse than they were in 2013. MSFT is panicking and tossing everything aside to try and fix the Win8 disaster. And note that this Win8 disaster is *not* independent of the WinRT development disaster. It's reflected in the lack of large selection of WinRT programs. Why would an ISV duplicate all their Win32 effort for a entirely new, critically limited, and poorly performing WinRT system? Do I even need to mention the orders-of-magnitude slower file access in WinRT?

    You complain that MS has forced you into WinRT and abandoned Win32 (you specifically mention Direct3D as an example of this) and then you talk about using Win32 APIs and Direct3D in your own published WP8 app.
    I'm talking about the future of Direct3D, not the present. See my comment above about MSFT not developing future versions of D3D.

    First, I wasn't talking about the underlying implementation within the Windows OS, I was talking about from the developer perspective. In other words, it would be silly to complain that MS uses HTML, JavaScript, or ASP.Net as their web programming frameworks instead of sticking with Win32 APIs and C++ to write webpages. Those languages/frameworks are intended for completely different types of applications.
    An OS is written C++ and I'm a C++ programmer. I don't care what framework goop other languages use to communicate with the OS. I want a clean, simple OS that I can access from C++. You do know that WinRT is written in C++, correct?

    Second, you are again proving my point. You keep saying that MS has abandoned Win32 in favor of WinRT, but here you are saying that WinRT is an additional layer that has been added above Win32. You also said earlier that Win32 is still accessible (via "un-managed" code calls).
    Very few Win32 APIs are available to WinRT programs. And even then they're inconsistent between WinRT and WinPRT. For example, WinRT only has the Windows.Socket APIs while a WinPRT program can use WinSock. The HTTP situation between the WinRT/WinPRT is even worse. I couldn't use XMLHttpRequest2 because of the differences in behavior between WinRT and WinPRT (e.g. both fail range-byte GET requests differently because they set the gzip flag on requests, both cache things differently, etc.). What's stupid is that XHR2 calls WinInet to do the actual work but my C++ programs can't access WinInet. To fix this, in Win81 MSFT wasted more time implementing an entirely new HttpClient API. Guess what, it turns around and calls Win32's WinInet. Why didn't they simply give C++ programs access to WinInet in the first place???

    While you may see WinRT as unnecessary for your style of coding or your own needs, it really isn't any more "unnecessary" than any other abstraction layer. The .Net framework is an abstraction layer that runs on top of Win32 (on x86 Windows machines at least), but it has a lot of advantages and is a more reliable, efficient, and consistent development platform for most common applications. ASP.Net is an abstraction layer that ultimately runs as HTML/javascript and it has many advantages over traditional web programming for most web apps. Even your beloved Win32 and Direct3D are abstraction layers (although lower level) over internal OS specific implementations.
    See my comments above about C++ and OS access. I don't care how many layers of goop MSFT wants to place between the OS and other languages/scripts.
    a5cent and dkediger like this.
    01-24-2014 11:19 PM
  14. a5cent's Avatar
    Just wanted to say thanks to all the posters in this thread! Very interesting and unusually high quality discussion.
    Laura Knotek and dkediger like this.
    01-25-2014 12:22 AM
  15. TaliZorah's Avatar
    Windows may not have a super strong choke-hold for the every day home PC like they used to but fact is in the gaming world (im talking PC not just xbox) and the business world windows is king and thats not going to change during any of our lifetimes.
    Blu3V3nom07 likes this.
    01-25-2014 12:30 AM
  16. crystal_planet's Avatar
    money is obviously not the problem with MS. The problem is how people see Microsoft. They don't think about Microsoft the innovator, but more about Microsoft the undead behemoth(they want it dead).
    So, what do you want then? Microsoft to have a weekly presser to announce some cool new technology it's working on? The last half of 2013 saw some pretty great news for MSFT, but now that we are in a bit of a lull the wheels have fallen off? Give me a break. Do you think Google/Android folks are gnashing their teeth because the buzz has worn off Google Glass?

    The reality is MSFT is a demonized company. It got that rep in the early 90's and it stuck even today. That means MSFT has to fight harder for mindshare - and will continue to do so for a long time to come.

    The people that scream about how unethical Microsoft is (because of the IE debacle in the 90's) are current users of Android - you know the ones that will use your personal info for advertising. Or Apple fans - the ones that beat their chest about innovation, and now that Apple is no longer innovative, beat their chests about how it "just works".
    01-25-2014 08:49 AM
  17. Simon Tupper's Avatar
    So, what do you want then? Microsoft to have a weekly presser to announce some cool new technology it's working on? The last half of 2013 saw some pretty great news for MSFT, but now that we are in a bit of a lull the wheels have fallen off? Give me a break. Do you think Google/Android folks are gnashing their teeth because the buzz has worn off Google Glass?

    The reality is MSFT is a demonized company. It got that rep in the early 90's and it stuck even today. That means MSFT has to fight harder for mindshare - and will continue to do so for a long time to come.

    The people that scream about how unethical Microsoft is (because of the IE debacle in the 90's) are current users of Android - you know the ones that will use your personal info for advertising. Or Apple fans - the ones that beat their chest about innovation, and now that Apple is no longer innovative, beat their chests about how it "just works".
    I saw an article about the Antitrust ruling against MS. It said that Microsoft might have never had an antitrust ruling against them in today's market, because it is much more competitive than it use to be. Which I think shows that Microsoft only made a minor mistake in the 90's that was demonized too.

    So basically Microsoft was "shut down", because it was too strong. No one was able to keep up with them. much like Android, but it's different nowadays.
    01-25-2014 12:43 PM
  18. bilzkh's Avatar
    Those are tweaks on existing releases and I'm not talking about D3D12 right now. According to AMD/ATI, MSFT has no plans for a Direct3D12. No plans -- meaning it is a dead end. As for future GPU innovation, I'd like to see Output Merger stage shaders. Most important are the things I can't even think of right now.


    A Win32 program can certainly start up in its previous state. My Win32 apps start up in nearly the same state that they were in when closed. And look at WM_QUERYENDSESSION for information on how to know when your Win32 app is force-closed. Adding a few more messages would have been far easier than reinventing the wheel over and over again.


    Yes, they should have produced a stripped down version of Win32. I would have completely supported a new Win32 subset that cut out old, obsolete stuff (especially insecure APIs and access) while adding a simple, scalable UI API. I also like the Store managing updates, etc. (though not the 30% cut, that should be no more than 10%). Take the good stuff from WinRT (scalable XAML, store, etc), repackage it for Win32, then backport the damn thing to Win7 and they'd have a winner. I would have converted my Win32 programs over to this new Win32X platform instantly.

    What I do *not* like is MSFT wasting their time reinventing file access, forcing ISVs to use the stupid Async pattern, etc. Basically nuking all existing Win32 code. The market has proven this to be the wrong course. Windows is dying right now. The MJF article on ZDNet says that MSFT has abandoned their plan to bring WinRT and WinPRT closer together in the upcoming Win81 update. Why? Because Win8's OEM sales dropped 20% in the latest quarter. That's a forward-looking number which means that OEMs expect sales to get even worse than they were in 2013. MSFT is panicking and tossing everything aside to try and fix the Win8 disaster. And note that this Win8 disaster is *not* independent of the WinRT development disaster. It's reflected in the lack of large selection of WinRT programs. Why would an ISV duplicate all their Win32 effort for a entirely new, critically limited, and poorly performing WinRT system? Do I even need to mention the orders-of-magnitude slower file access in WinRT?


    I'm talking about the future of Direct3D, not the present. See my comment above about MSFT not developing future versions of D3D.


    An OS is written C++ and I'm a C++ programmer. I don't care what framework goop other languages use to communicate with the OS. I want a clean, simple OS that I can access from C++. You do know that WinRT is written in C++, correct?


    Very few Win32 APIs are available to WinRT programs. And even then they're inconsistent between WinRT and WinPRT. For example, WinRT only has the Windows.Socket APIs while a WinPRT program can use WinSock. The HTTP situation between the WinRT/WinPRT is even worse. I couldn't use XMLHttpRequest2 because of the differences in behavior between WinRT and WinPRT (e.g. both fail range-byte GET requests differently because they set the gzip flag on requests, both cache things differently, etc.). What's stupid is that XHR2 calls WinInet to do the actual work but my C++ programs can't access WinInet. To fix this, in Win81 MSFT wasted more time implementing an entirely new HttpClient API. Guess what, it turns around and calls Win32's WinInet. Why didn't they simply give C++ programs access to WinInet in the first place???


    See my comments above about C++ and OS access. I don't care how many layers of goop MSFT wants to place between the OS and other languages/scripts.
    100% agreed. It's no surprise that Windows Phone has more developer and market attention behind it than Windows. Between the two OS it's clear that Windows Phone is more in-tune with the market realities (albeit still flawed/off in a few ways). It would've been smart to do what you suggested, i.e. new Win32 APIs allowing for legacy applications to become tablet-friendly apps (i.e. new UI, scalable XAML, but legacy power). Do you think Microsoft has the time and resources to make Windows Phone OS apps run well on Windows *and* do justice to Win32? Since the Windows Phone team is in charge and intent on bringing back the Start Menu, things look promising, no?
    Laura Knotek likes this.
    01-25-2014 01:15 PM
  19. Mike Gibson's Avatar
    100% agreed. It's no surprise that Windows Phone has more developer and market attention behind it than Windows. Between the two OS it's clear that Windows Phone is more in-tune with the market realities (albeit still flawed/off in a few ways). It would've been smart to do what you suggested, i.e. new Win32 APIs allowing for legacy applications to become tablet-friendly apps (i.e. new UI, scalable XAML, but legacy power). Do you think Microsoft has the time and resources to make Windows Phone OS apps run well on Windows *and* do justice to Win32? Since the Windows Phone team is in charge and intent on bringing back the Start Menu, things look promising, no?
    There should be no fundamental difference between a phone, tablet, laptop, xbox, or desktop program so I don't think growing WinPRT is the solution, especially since it isn't backwards compatible with Win7 (which I believe is critical to get broad ISV support). The entire RT concept needs to be replaced with "Win32X". The app should adapt to the screen size and available input devices.

    MSFT definitely has the resources to do it. Creating a scalable extension API for Win32 would only take 10-20 crack devs, if they kept their noses to the grindstone and didn't try to impress their programmer friends with a bunch of all-the-rage crap like Async.

    Unfortunately, MSFT folks think that the problem with RT is a lack of "education" of ISVs and end users.
    01-25-2014 03:54 PM
  20. Cleavitt76's Avatar
    Those are tweaks on existing releases and I'm not talking about D3D12 right now. According to AMD/ATI, MSFT has no plans for a Direct3D12. No plans -- meaning it is a dead end. As for future GPU innovation, I'd like to see Output Merger stage shaders. Most important are the things I can't even think of right now.
    I did a web search for this topic and found absolutely nothing. If you happen to have a link I would be interested in reading about it. To be honest, it sounds rather hard to believe that MS would abandon Direct3D since there is currently nothing in place to replace it and so much of their own software depends on it. My guess is that AMD/ATI said something that was taken out of context by the Interwebs which happens all the time. In any event, I wouldn't get all worked up about it until MS makes an announcement.

    A Win32 program can certainly start up in its previous state. My Win32 apps start up in nearly the same state that they were in when closed. And look at WM_QUERYENDSESSION for information on how to know when your Win32 app is force-closed. Adding a few more messages would have been far easier than reinventing the wheel over and over again.
    Yes, I know that, but the developer basically has to go out of their way to do that and roll their own methods. It was really just an example of one of the many things that MS has to consider as they develop the runtimes for these new low power touch optimized apps.

    ...
    An OS is written C++ and I'm a C++ programmer. I don't care what framework goop other languages use to communicate with the OS. I want a clean, simple OS that I can access from C++. You do know that WinRT is written in C++, correct?
    ...
    We both know it makes zero difference what language WinRT is written in except to the developers at MS that write those libraries. WinRT could be written in Notepad as a string of 1s and 0s and it wouldn't matter to you an I one bit. The whole point of APIs is to hide the implementation so that developers can just use the functionality with minimal fuss.

    Anyway, you and I are just talking in circles and splitting hairs are this point. You have some valid points and I can certainly relate to the frustration of loosing backwards compatibility with a lot of your existing code. I just disagree that this is going to be the "downfall of MS" which is how your original post read.

    My only point is that MS is trying to create a new type of app that can be run on all types of hardware ranging from extremely powerful x86 to extremely weak ARM class hardware. Neither you nor I know exactly where this is going. Xbox is a safe bet, but smart watches, glasses, toasters, etc. are all possibilities. I feel that MS provides the best development tools and frameworks by far and I give them the benefit of the doubt on their decisions with WinRT. I assume they looked at their goals and determined the best approach was to build a framework (WinRT) that sits on top of native OS APIs like Win32 rather than try to modify the OS APIs directly. You clearly disagree and that's fine too. I respect your opinion, I just don't share it.
    01-25-2014 06:28 PM
  21. Mike Gibson's Avatar
    I did a web search for this topic and found absolutely nothing. If you happen to have a link I would be interested in reading about it. To be honest, it sounds rather hard to believe that MS would abandon Direct3D since there is currently nothing in place to replace it and so much of their own software depends on it. My guess is that AMD/ATI said something that was taken out of context by the Interwebs which happens all the time. In any event, I wouldn't get all worked up about it until MS makes an announcement.
    Here's one link describing what happened and the follow up denial by MSFT:

    AMD - No DirectX 12

    You can google the AMD guy's name and DirectX12 to see more reporting on the issue. It was a real WTF moment when that story came out.

    They're playing with fire up in Redmond these days and they're going to get burned.
    Cleavitt76 likes this.
    01-25-2014 08:32 PM
  22. Cleavitt76's Avatar
    Here's one link describing what happened and the follow up denial by MSFT:

    AMD - No DirectX 12

    You can google the AMD guy's name and DirectX12 to see more reporting on the issue. It was a real WTF moment when that story came out.

    They're playing with fire up in Redmond these days and they're going to get burned.
    Well again, it sounds like we will have to agree to disagree. I read the article, along with a few others, and it appears to be pretty much what I suspected earlier. Some non-technical VP at AMD makes a casual unofficial comment in an interview...

    "... But there will be no DirectX 12. That's it. To our knowledge there are no plans for DirectX 12 If someone wants to correct me - wonderful. ..."

    The interwebs briefly went nuts until MS said in an official statement...

    "... That is definitely not true in any way, shape or form. Microsoft is actively investing in DirectX as the unified graphics foundation for our key platforms, including Xbox 360, Windows Phone and Windows. DirectX is evolving and will continue to evolve. For instance, right now we’re investing in some very cool graphics code authorizing [sic] technology in Visual Studio. We have absolutely no intention of stopping innovation with DirectX"

    The bolded parts are pretty hard to misinterpret. Microsoft is basically saying (in a politically correct way) that the AMD VP is full of crap. Since then, DirectX has been updated to 11.2. It seems to me that AMD's uninformed VP of Global Channel Sales is the one playing with fire and MS got burned in the process. Which actually happens quite often. I really don't understand why you are blaming MS for this.

    Since we are sharing links, here are a couple links to MSDN posts explaining why MS chose to make all file system APIs asynchronous in WinRT.

    Opening Files from SkyDrive using .NET - .NET Blog - Site Home - MSDN Blogs
    WinRT and .NET in Windows 8 | All Your Base Are Belong To Us

    They didn't do it just to upset developers. In a nutshell they did it because WinRT apps are likely to be running on devices that primarily use cloud storage (i.e. SkyDrive) and might be accessing that storage through a slow cellular connection. If they had used synchronous IO, users would be dealing with a lot of apps that would appear unresponsive. For that reason, they felt that the WinRT framework should always use asynchronous IO to ensure what they consider to be best practices for that type of app. I can totally understand how it is annoying as a developer to have to rethink/recode something as common and simple as file system access, but I can also understand why MS decided to do that when considering the intended purpose of the WinRT framework.
    01-25-2014 09:50 PM
  23. Mike Gibson's Avatar
    The bolded parts are pretty hard to misinterpret. Microsoft is basically saying (in a politically correct way) that the AMD VP is full of crap. Since then, DirectX has been updated to 11.2. It seems to me that AMD's uninformed VP of Global Channel Sales is the one playing with fire and MS got burned in the process. Which actually happens quite often. I really don't understand why you are blaming MS for this.
    AMD folks would know if there was going to be a D3D12 (because they would be the ones designing the GPU support, which has a long lead time) and they said it is not in the cards. I haven't heard a peep out of MSFT regarding future GPU technology.

    Since we are sharing links, here are a couple links to MSDN posts explaining why MS chose to make all file system APIs asynchronous in WinRT.

    Opening Files from SkyDrive using .NET - .NET Blog - Site Home - MSDN Blogs
    WinRT and .NET in Windows 8 | All Your Base Are Belong To Us

    They didn't do it just to upset developers. In a nutshell they did it because WinRT apps are likely to be running on devices that primarily use cloud storage (i.e. SkyDrive) and might be accessing that storage through a slow cellular connection. If they had used synchronous IO, users would be dealing with a lot of apps that would appear unresponsive. For that reason, they felt that the WinRT framework should always use asynchronous IO to ensure what they consider to be best practices for that type of app. I can totally understand how it is annoying as a developer to have to rethink/recode something as common and simple as file system access, but I can also understand why MS decided to do that when considering the intended purpose of the WinRT framework.
    Those links don't justify the Async pattern. Accessing a SkyDrive "placefile" is no different from accessing a file on a network, all of which is handled just fine in a Win32 thread calling blocking Win32 file APIs. My Win32 programs read hundreds of files per day, with some being 10-20 MB in size, from real time internet data sources using background threads. When people use my apps to load archived data already on their PCs (loading and parsing those 10-20 MB files takes a few seconds per file), I fire up a file loader thread and it posts messages to a covering dialog box for progress updates. I'll note that the real time data downloader doesn't affect my programs' UI thread, which maintains a smooth 60 FPS display rate in D3D, because it uses Windows excellent multithreading support, the best of any OS out there. MSFT is throwing that battle tested, superior technology in the trash.

    When using a Win32 thread your code is nice and sequential. You know where you are at all times. In Async you don't know where your code is executing at any moment and have to use all sorts of goofy syntax and boxing to keep variables alive for the lambda callback. Look at all the problems ISVs have with that issue. Looping on an Async callback, like you have to do in C++ to read an unknown length file, results in a vomit-inducing pseudo-recursive coding pattern. It's just stupid. There's a reason why all the C++ StreamSocket examples include a "length" field in front of the data -- it's so they don't have to include the grotesque pseudo-recursion in the example.

    Couple of other notes:

    1. Apparently this wonderful Async-is-required functionality is available for Desktop apps that use the Common File Dialogs (like mine):

    Placeholder files (Windows)

    How in the world did MSFT manage to do that in the ancient Win32 API???

    2. And the wonderful Async pattern, as you might expect, requires special work to maintain performance (so much for "go Async and all your troubles disappear"):

    Asynchronous Programming - Async Performance: Understanding the Costs of Async and Await

    I found this to be the case when doing a simple test that added up the sizes of 2000 files in app local storage. Using the ancient Win32 FindFirst/FindNext APIs, my WinRT test app could perform the task in a single NT timer tick (15 ms). Using the wonderful WinRT Async directory functions, that same task took 3.75 seconds (250X longer). Screwing up performance that bad requires effort (!), so I decided to dig deeper. I isolated the Async part from the dreadful FileBroker in WinRT by using Win32 to enum the files and the Async pattern to step through them. That reduced the overall task time to around 150 ms. So, in this simple operation, using the Async pattern only cost me one order of magnitude perf hit! If I designed and implemented a system like that, I would expect to be fired ... and the people who approved the RT mess have already been canned (Ballmer and Sinofsky). That's a good start.
    01-26-2014 10:12 AM
  24. ny_yankees's Avatar
    I love Microsoft and I love Windows Phone but lack of apps like Yahoo messenger, Snapchat and such like that are really taking a toll on me. Considering that many third party electronics all have Android/IOS apps but they do not have one for Windows Phone

    I was looking to buying a toy helicopter for my little cousin and great part about it was that it can be operated by your phone. Then only to find out it only supports Android/IOS. Things like these are whats really annoying when owning a windows phone.
    01-27-2014 10:01 AM
49 12

Similar Threads

  1. Windows phone - Microsoft account not syncing with error 850100D
    By hardikvjoshi in forum Nokia Lumia 920
    Replies: 7
    Last Post: 03-13-2015, 10:58 PM
  2. Losing signal on 1520
    By ahmad12 in forum Nokia Lumia 1520
    Replies: 4
    Last Post: 01-25-2014, 04:47 AM
  3. Microsoft Europe prepping a cross-platform quiz app with some exciting prizes
    By WindowsCentral.com in forum Windows Central News Discussion
    Replies: 1
    Last Post: 01-23-2014, 03:15 AM
  4. Microsoft releases Windows 8.1 user guides for businesses
    By WindowsCentral.com in forum Windows Central News Discussion
    Replies: 1
    Last Post: 01-23-2014, 03:09 AM
  5. Microsoft Store Hosting Twitter Chat at 1 PM P.S.T
    By Garneth in forum Microsoft News & Rumors
    Replies: 1
    Last Post: 01-21-2014, 02:18 PM
LINK TO POST COPIED TO CLIPBOARD