Couldn't you say the same about the operating system in general? That is, that apps are limited to the the container provided by the APIs given by the operating system? The browser is only limited by the restrictions given to it by the operating system. There's no reason a browser can't run frame-less graphics-intensive apps with something like WebGL or why it couldn't have access to more of the operating system and hardware or function more like an app.
The main workflow of a web browser (urls and browser history), don't seem any more restricting than having to use an app store to download an app or using the home screen to launch an app. (I would argue that they are, in fact, less restricting). The restrictions are a factor of the operating system, not a inherit restriction of a web-based workflow.
In a way, but there are advantages to running an application in a web-based platform:
- Distribution is easier and doesn't require approval from a third party (such as app stores), providing less of a barrier to entry and more freedom to create what you want to.
- It can be easier to develop and you may not have to provide support for multiple versions of your app (because you can easily ensure that everyone is running the latest codebase).
- Common components/libraries that would be used across different applications can be part of the browser itself or cached for one app and re-used for other applications, instead of having to be packaged into a downloadable runtime application.
- Depending on your application, creating a cross-platform product may be easier and require less development and have built-in functionality like copy-paste and other functionality provided by the browser (history, bookmarking, etc).
- The user and other people have more power to use your application in more flexible ways (due to browser plugins), and the content can be crawled and made searchable/discoverable by a variety of companies.
- The hyper-linking built into the web offers easy, cross-site (and application) integration that may be difficult to accomplish in a native app. In fact, you may be limited to a certain application provided by the operating system (like a particular map provider on mobile)
If you have a late 2012 or early 2013 MBP you will know that your MBP will restart every time you played a video from youtube because they had a faulty GPU and refused to acknowledge it. There are problems with everything including the chromebooks but Apple's focus on quality is making Microsoft think twice and as a result is lifting all boats.
I feel there is good and bad. I am glad he moved to a more data driven and agile culture. He is also empowering engineers in his organization. The bad is that they all suffer from the windows mindset and spend a great deal of time building for windows. With all the patents they own they literally own android and yet they are not willing to allow android apps on windows phone or surface pro 3. It feels like a slow march towards irrelevance.
It wouldn't have been so monumental if instead of locking everything into Direct3D they'd used OpenGL instead. Here their own lock-in mentality will eventually bite them hard. If MS will outgrow their dinosaur lock-in approach, they can start supporting GL-Next on all of their platforms when it will come out.
When all you have is a hammer, everything starts to look like a nail.
Windows runs OpenGL just fine (look at anything iD Software puts out). It doesn't run Google's custom Java VM, it doesn't offer AOSP APIs and it doesn't offer Google Play Services. THOSE are the obstacles to running Android apps on Windows, not your obsession with OpenGL vs DirectX.
Is there OpenGL on their mobile platforms? It can run just fine in theory there, but it's not available. Applications are not limited to Java, and often rely on the graphics system a lot and there can be as well native code.
Mobile games do. And if you want to translate it into a broader context, what about having OpenGL on Xbox? Didn't MS want to unify their OSes across different devices? So it's really all related.
This wasn't about persuading, but about them not being jerks and making life easier for those who develop cross platform applications like games. I'm sure many developers would appreciate using portable API.
Perhaps Microsoft is planning on dumping the Windows phone in favor of Android and iOS? The Office365 apps run well on my Android Note 4 phone and my iPad mini (and my MacBook Air).
I like Microsoft's new strategy, but I wonder about the financial aspects of it. Microsoft gets $100/year from my family, that is it, and everyone gets 1 terrabyte of OneDrive storage and all of the apps. Is this sustainable for a business? I don't know.
I bought a tiny Windows 8.1 laptop a few weeks ago mostly out of curiousity (HP Stream 11, direct from Microsoft so no crap-ware installed, price: $199). Except for it being slow running IntelliJ for Clojure/Java dev, it is such a cool little laptop. Windows is free on it because it is a low cost device. Considering that this laptop uses OneBox configured for few files being on the local drive, and most used dynamically from Microsoft's servers, how much money could they make selling me this device with the cost of running OneDrive? Not much.
The Windows license is absolutely free on devices with an MSRP of $200 or less, which means they make nothing on it except maybe any apps you purchase.
This is tricky. From a developer standpoint, if Android apps were to become first-class citizens on WP, it would make no sense to bother making WP-only apps.
I actually think it is a great idea because I don't want to stop wearing my stainless steel watch on the only premium part - wrist. Most right handed people wear their watch on their left hand and it is a hard habit to break. In that way, it is good that I can wear this band on my left hand.