6 ms·
I'm no fan of Windows myself, but I find this a fairly bad policy. If nothing else - what's not used is not tested. And if you expect any real population of u
by horsawlarway 4y ago
I'm no fan of Windows myself, but I find this a fairly bad policy.
If nothing else - what's not used is not tested. And if you expect any real population of users to be using Windows machines with your products, you should have developers/PMs/QA/support interacting with your products using Windows machines.
I see this as: We're saving a bit of money and making ITs life easier, and in exchange users will get a worse product.
Realistically - that's a bad trade. It is almost never the right decision to prioritize IT quality of life over basically any other business need.
- wkdneidbwf 4y agodevelopers using windows isn’t necessary to test web software on browsers on windows.
- salzig 4y agoGitlab is essentially a website, and Microsoft Edge is just Chrome. I think there isn't any reason to test on windows anymore.
- commandlinefan 4y agoFamous last words.
- chrisan 4y agoThere are definitely differences between mac and windows (possibly linux) when it comes to font availability/rendering(maybe?) I've seen more than once a mac design use some font in a light weight that comes across almost invisible on Windows. I'm the only windows guy at our shop and "everyone has access to windows VMs to test" (lol) Outside of that, now that Edge is on Chromium most of our edge cases seem to be Safari these days (everyone uses chrome/firefox except a couple management using Safari). Which all in all I guess is a testament to our lack of full browser testing :) ¯\_(ツ)_/¯
- horsawlarway 4y agoDeveloping "essentially a website" is my full time job - if you genuinely don't think there are differences between platforms, you aren't paying attention. The browser is wired into the OS in real ways, and they matter. Everything from "How does the os manage passwords" or "how are system notifications presented" or "How much screen real estate do I have have on a given window size (scrollbars...)" to subtle differences in how the network stack behaves, or how windows are rendered. Hell, I can list about 20 differences just off the top of my head - and a damn good part of that is because I've been forced to pay attention to each of those platforms. Which clearly you have not... I read your comment as "I only use a mac, and I don't understand".
- salzig 4y agoHave you been using Gitlab lately? I don't think they have any interest in nuances, as they still have problems with basic stuff. Overall i'm pretty sure that "list about 20 differences" is relevant in some cases/procucts/websites, but not for gitlab - they just proved that by disallowing working on Windows (which wouldn't disallow testing on a VM).
- jdmg94 4y agoI've been making software for almost 10 years and password manager/notifications/responsiveness is not dependent on the platform that's why we have web standards.
- dingleberry420 4y agoYou clearly haven't been paying attention, then. It's easy to spend decades making crappy software.
- KronisLV 4y ago> It's easy to spend decades making crappy software. But here's the important question: are the problems that are caused by ignoring the aforementioned differences enough to prevent people from being able to use your software? Or, conversely, are they enough to weigh more heavily than the functionality that you provide for your users? Because somehow even Electron based software is pretty popular in the desktop, oftentimes looking and feeling rather different from most of the native software. But apart from nitpicks and rightfully complaining about those annoying inconsistencies, does it really matter enough to spend resources towards fixing them? I can't think of that many inconsistencies that caused web applications to be unusable across different platforms altogether, apart from IE not supporting certain JavaScript functionality back in the day and non-transpiled (to say, ES5) codebases breaking altogether. But look and feel related things have hardly been as important.
- ptilt 4y agoGive a try to add a drag listener mix with a double click listener on the child element, you end up with a bug only with windows laptop trackpad.
- xenomachina 4y agoThere can be weird differences that show up on different operating systems, even with the same browser. For example, we ran into a difference between Chrome on Linux vs Chrome on macOS where it turns out that on macOS, if you right-click on a link (to open a context menu) it selects the text of the link, while on Linux it does no such thing. Initially we'd tested on only one platform because we assumed they'd behave the same, and this difference resulted in buggy behavior on the untested platform.
- btschaegg 4y agoThen I'll give you one: autocrlf. In fact, if you paste text into GitLab's "Web IDE" in a windows browser, the results are (or at least used to be? We stopped using it because of that) horrible to the max. Of course with the added nuance that copy-pasting a word vs. a paragraph vs. an entire file produced vastly different results, too. That one was fun to figure out.
- gsich 4y agoWhy? Gitlab is not a Windows application per se. Either you use a browser or git on the cli.
- Xylakant 4y agoGitHub for example does have desktop apps that allow using GitHub for less CLI-inclined folks. This allows integrating people that are not primarily developers into your GitHub-based workflows with less hassle, and fosters collaboration across those boundaries. Git for windows is also notoriously different when it comes to edge cases, so in Gitlabs place I‘d be absolutely happy to have developers that use that OS as a daily driver.
- sylens 4y agoIsn’t the glab cli offered on Windows? Wouldn’t you want them dogfooding that?
- gsich 4y agotrue
- horsawlarway 4y agoAnd both the browser and cli vary by platform... Quite a bit, in some cases.
- jchw 4y agoI mean, Gitlab is a web platform. It's pretty easy to test how it's going to work on different platforms without needing full machines. Heck, you can even just get Microsoft Edge binaries on macOS and Linux if you want to test Edge. But failing that, VMs are pretty sufficient.
- ModernMech 4y agoGitlab ships various ci runner executables for all platforms. I use their Windows ci runner and it works well, but I wonder how they test it without running windows.
- jchw 4y agoThis policy about which OS your laptop runs does not seem to preclude the use of Windows VMs (and presumably CI runners, though I bet we could see if that was the case ourselves) if it were needed. The open source nature of Gitlab also makes it easy for a developer to test things on an unprivileged personal device, I'd imagine. If that was not enough, I believe the CI runner is written in the Go programming language, which has a surprisingly decent abstraction of OS functionality in it's standard library. Imperfect as it may be, I suspect that helps reduce the amount of effort needed to ensure individual platforms work properly.
- trelane 4y agoThis is exactly how I used to operate. I'd develop on Linux then ensure it works on Windows in a VM.
- milkshakes 4y agoThis is a policy for personal workstations. Presumably, there is a different policy for QA/CI environments.
- aikah 4y ago> Gitlab ships various ci runner executables for all platforms. I use their Windows ci runner and it works well, but I wonder how they test it without running windows. Maybe with a Windows VM.
- sonofhans 4y agoI agree. If nothing else they won’t be able to replicate Windows typography, which is different from Linux and OS X. Base fonts are different; kerning and anti-aliasing are different. Web design is still 90% typography, and cutting the largest install base out of your test matrix seems silly to me.
- wruza 4y agoDo you mean px issues, which web standards ought to solve, or just how typography looks from a design point of view?
- kazinator 4y agoI have a company laptop that runs Windows, but everything I work on runs on an ARM-based device. Work computer != target machine For about 20 years, I've not developed anything at work that runs on the work computer that is used for doing the development, documention, e-mailing and whatnot.
- deleted 4y ago[deleted]
- chrisfosterelli 4y agoDo you also expect that mobile devs do all their primary computing from their phone?
- strix_varius 4y agoIt's common for companies to encourage their dev workforce to use a broad variety of company-provided mobile devices so that, while dog-fooding, they get better coverage.
- horsawlarway 4y agoI certainly expect them to be driving the phone they are developing for - in the case where a single team is doing both iOS and Android - yes, I expect them to be using both consistently (and I argue for issuing both at companies where I've led mobile teams). I've been down the whole "we'll just test it in a vm" path, and it works... if by works you mean you get a happy path test every once in a while, and devs make sure the automated tests pass. It doesn't instill the same level of care and attention that daily use gives. Dog-fooding is not a joke. It's genuinely hard to make a decent UI for a platform if you're not using that UI often, and in real situations. I've literally gone as far as making devs switch device personas over time on my mobile teams. They get an assigned device from our test pool for the sprint from a list like - High end stock android device with large screen - High end stock android device with small screen - High end Samsung ROM device with large screen - High end Samsung ROM device with small screen - Mid tier stock android device with large screen - Mid tier stock android device with small screen - Mid tier Samsung ROM device with large screen etc... down to the devices no dev wants at all, like - Amazon Kindle Fire default - Amazon Kindle Fire kids and they do all their dev/testing/use on it. It works fucking wonders in suddenly making them care about things that were previously just "meh" problems. Two weeks stewing in their own problems on a device they were ignoring is one hell of an incentive.
- magnio 4y agoTesting for Windows on a non-Windows machine is far easier than testing for macOS on a non-macOS machine. Of course, having people use both is better. IIRC, Steve Klabnik uses Windows to ensure that Rust supports the platform well.
- Shorel 4y agoFor many years, and in so many companies, the policy has been the opposite. All company laptops must have windows, anything else needs to be vetted by the IT admin. Now that the Edge browser works fine on Linux, there's really no need for all these licenses, and someone needs to start to break the unhealthy dependency every company has on Active Directory.
- trelane 4y agoYep. I find it kind of surprising that this is news. There are so many companies where nothing but Windows is allowed, but not allowing Windows in one corporation with a major Microsoft-owned competitor is the issue?
- kazinator 4y agoThis document seems to be about the machines that employees at Gitlab are given, not about target machines for testing and deploying software. They probably have some Windows machines at Gitlab for verifying the experience of Gitlab users/customers who use Windows. I imagine a developer doing that would have a dedicated Windows machine, or possibly a guest VM, for that activity.
- ahtihn 4y agoYou're never going to get the same coverage with some test VMs compared to people actually using the product on their primary machine every day.
- deleted 4y ago[deleted]
- mc32 4y agoI guess is is for developers and business but in some other areas Windows would be hard to avoid: physical security systems, guest management systems and a few others.
- tpoacher 4y agoIt doesn't sound like Gitlab doesn't allow windows at all. This sounds to refer explicitly to using interim personal laptops until departmental hardware is issued formally (which, as I understood it, may then run windows). Did I misread?
- patrakov 4y agoYou did. See https://about.gitlab.com/handbook/security/approved_os.html https://about.gitlab.com/handbook/security/approved_os.html
- hatware 4y ago> I find this a fairly bad policy. How many engineers have you worked with that ONLY worked in Windows, and did it better than anyone else...? It's just a filter.
- Mikeb85 4y ago> what's not used is not tested What are they going to test on Windows? It's a web platform that runs on a Linux server... And Rails is kinda annoying to develop on using Windows, you definitely won't put it on a Windows server, what's the point?
- nikau 4y agoTest that the web UI works for the large number of customers running a browser on windows? Confirm the Windows runners work as expected?
- phkahler 4y agoNot sure how that compares to all the companies that require Windows.
- bityard 4y agoIf you would have kept reading, you would have noticed that employees can apply for an exception to the policy. So if, for example, you are a UX dev and need to test your CSS on Edge, they have a process that allows you to do that. And it's not "just a bit of money", Microsoft's enterprise product licensing is truly onerous. It's almost a career unto itself just to make sense of it, and it requires a non-trivial amount of infrastructure to support.
- huslage 4y agoWindows is a specific set of skills that takes a lot of people to do properly at any scale. The dedicated resources required are essentially a drain on the whole of IT. My company also bans Windows for the same reasons.
- asah 4y agoyou're gonna have a bad day if you're depending on random employees for testing a site used by millions. instead, invest in: - real automated testing (to the extent technically and economically feasible). One hack is to get customers and partners to fund it, then leverage outsourcing. - feedback from users - make it easy, streamline responses, setup escalation. Understand that you can't nail down everything and quickly triage issues. Scale the team so at least you can do the triage.
- octokatt 4y agoRealistically... Microsoft owns GitHub, and the weird Azure devops-ish solution for git. If an enterprise is on Microsoft, they're going to use one of those two solutions instead of GitLab. Making IT's life _vastly harder_ to allow employees to maybe use Windows and see a solution the testing team didn't see is not a good trade-off. That's not even going into how, exactly, Windows is going to make anyone's life better than using a Mac. Realistically, they're at least at parity. The trade-off here is "make every IT support and supply line more filled with friction" to gain "people can use Windows if they'd really prefer, instead of Mac or Linux". That's a terrible trade-off, and GitLab is making good decisions.
- mmcnl 4y agoOn top of that, the justification seems more like a baseless rant, citing only one blog post as a source. Ranting engineers should not make business decisions.
- rpdillon 4y agoDoes anyone know if this policy is causing GitLab's product quality to suffer? I see your argument, but products like BrowserStack and VMs can be employed to mitigate some of the negative effects. It seems premature to call the policy bad without examples of harm it has caused.
- ozim 4y agoTake into account that they prohibit Windows Home specifically. In my company I am dealing with buying laptops for new hires - there is no way I am buying laptop with Windows Home edition. That is problem with explaining people that they should buy laptop with Windows Professional. Whatever the cost is - company is paying. New hires are shy to expense company THAT is the problem. So I think problem is that people try to buy cheapest laptop they can to "be cheap". If my company would be on scale of GitLab I probably would not be able to control that but I am specifically buying laptops via my manager - and there is no way we would buy Windows Home laptop.