4 ms·
Microsoft's biggest issue here is that there is no such thing as a "modern" browser that runs only on one unreleased platform (Windows), that is closed source,
by kenshaw 12y ago
Microsoft's biggest issue here is that there is no such thing as a "modern" browser that runs only on one unreleased platform (Windows), that is closed source, and that cannot also run on mobile devices with significant market share (iOS, Android). Regardless of how polished, fast, and great Microsoft makes this, without the above it will never be a "modern" browser, nor gain any significant market share, simply because developers won't support it.
One of the primary reasons why Microsoft needs to immediately halt, backpedal and release a version that can run on Linux/OSX (beyond the obvious need to port to Android/iOS) is that so many high quality sites are tested using automated testing suites (through Selenium, or otherwise), and those testing instances typically run through bash shells / scripts. While I'm sure you could jury-rig Windows 10 to do that (I've used bash on Windows previously, via Git Bash), you would need to rewrite extensive build and testing tool chains to use non-Unix-y commands --- and even then, you'll likely find many of the open source libraries you rely on are broken, unmaintained, or otherwise unusable on Windows.
As an anecdote, and fairly recently, I actually tried getting unit tests for a pre-existing, fairly sizable project with 10s of developers and many hundreds of thousands of lines of code to run on Windows, and realized it was cheaper to just hand all the developers Mac Books than to either train them on installing Unix tool chains on Windows, or on "properly" using Linux -- especially considering they were not responsible to write the unit tests, just run them. It's also much easier to cross-build for Windows from a Unix system, thus it was possible to completely eliminate Windows in the release process almost completely, other than for later manual testing/verification that can't be automated anyways.
- jameshart 12y agoIt's been clear for a while that 'modern browser' is basically defined as 'browser not made by Microsoft'. That you're willing to define 'modern browser' as basically "must run on iOS and be scriptable from bash" as a way to exclude their latest effort just implies Microsoft is doomed to forever fail your 'true scotsman' test. If they provided a Linux and android port, you'd find something else to exclude them on - modern browsers render their type using TypeKit, after all.
- kenshaw 12y agoActually, no. If they provide cross-platform support, open source it, and make it easily pluggable into existing scripting toolchains (ie, Selenium WebDriver or some such), then I'll call it a modern and open browser. Open source isn't actually necessary, so long as its easily installable using native package managers so that SysAdmins don't have to run/write custom installation scripts for CI support. I honestly couldn't care much if they supported Android or iOS. I'm simply pointing out that the competition -- Chrome, Firefox, Opera -- all have these features, and are what people consider "modern." You can't go backwards on featureset and still be considered modern.
- jameshart 12y agoI'm curious - did Apple make available easy toolchains for integrating Safari on iOS into selenium webdriver tests? Or did the Selenium community do that? Of course, your argument would be that of course Safari on iOS has a large mobile market share, so it qualifies as 'modern', in spite of the fact that it doesn't run on a UNIX system that can be easily scripted. But are you going to really argue that Windows doesn't represent a significant marketshare of users? If you're willing to buy all your windows developers macbooks to help them run unit tests, what's to stop you ordering all your UNIX developers a windows laptop to host windows-only browsers running tests driven through a remote webdriver just like the ones that you run on iOS devices?
- Encosia 12y ago> realized it was cheaper to just hand all the developers Mac Books than to either train them on installing Unix tool chains on Windows, or on "properly" using Linux Did you try Cmder? That gets you a pretty reasonable bash environment on Windows with a single install that's dead simple.
- kenshaw 12y agoUnless it has changed, Cmder is just simply a VTTY for Windows, similar to/replacing cmd.exe from Microsoft. I don't believe it includes, out-of-the-box support for Unix tool chains. You would need to install Cygwin tools, or similar, to accomplish that. If you've ever tried to administer large groups of systems with Cygwin installed, then you've shared my pain. The quickest, fastest way that I know to get the Unix shell commands/stuff up on Windows is to use the packaged Git installation (which I referenced in my previous post), but the issue then is that if you have ever dealt with semi-large code bases that involve one or two separate programming languages, then every developer has to track down all the various packages (if they exist), build them, or otherwise install / get them to work. This is often why in companies Windows devs are just given a shell account on a central Linux server to run their unit tests, or runs them inside a VM on Windows. Windows doesn't have any kind of central package manager akin to apt / yum / port for Unix systems that would allow for easy and quick installation of widely used open source software. While they are trying to push their own package manager on Windows, I don't see that as being successful anytime soon. And, ultimately this approach (of installing Unix toolchains on Windows) is just a hackish workaround, and doesn't address the root issue that the most powerful automation toolsets in the world are all written / developed on / designed for Unix-like systems, and they simply do not run natively on Windows. If Microsoft genuinely wants to join the modern development ecosystem, they will provide cross platform versions of their browser and keep them synced and up to date across platforms, so that they can be plugged into the existing infrastructure (and thus investment) companies have made in their development environments, automated testing, and continuous integration/deployment. Microsoft can not ignore (by virtue of exclusion) Linux / OSX (and other Unix-es) if they want wide-spread adoption of this new Spartan browser, simply because they want to push the Windows platform. That strategy may have worked in the late 90s, early 2000s when there was no other options for a readily usable, simple user experience desktop platform , but that's not the case any more.
- frik 12y ago> many high quality sites are tested using automated testing suites (through Selenium, or otherwise) Big sites like Google* and Facebook* work less and less reliable in IE11 (UI glitches, JS errors, CSS position issues). As almost all of their developers use OSX or Linux and most of the tests run on Firefox and Chrome, it's hardly a surprise. I loved IE since version 3 because of its native UI and its responsiveness, but as there will be no IE12 I will move on as well. Well, Microsoft could open up their browser engine "trident-edge" like they do with dotNet vNext. * Google.com frontpage shows a unformatted sentence on top left corner for ca. 1 seconds, it seems like a JS loading race-condition. Every other week on FB a few minor features like selecting posts privacy groups are broken for a day or two. The React based search is unstable/broken on Android 2.3 as well, before that the mobile web version stayed already completely unchanged from 2010 to 2014. I don't want to blame them, as I guess the majority of users uses their apps and Chrome/Firefox.