News for hackers. Stuff that matters.
Re:Microsoft Windows is prohibited at Gitlab by horsawlarway on Friday August 05, 2022 @10:29AM (#32356586)
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.

Re:Microsoft Windows is prohibited at Gitlab by jchw on Friday August 05, 2022 @10:36AM (#32356707)
I 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.
Re:Microsoft Windows is prohibited at Gitlab by Diggsey on Friday August 05, 2022 @10:45AM (#32356862)
Tell that to the FE devs who add `overflow: scroll` everywhere and don't spot the problem...
Re:Microsoft Windows is prohibited at Gitlab by Guid_NewGuid on Friday August 05, 2022 @11:06AM (#32357182)
God yes, I hate how all FEs have tunnel vision on MacOS nowadays. Our sign-up flow had godawful scrollbars both horizontally and vertically for the longest time but they didn't notice because they're all on retina display Macbooks instead of what the bulk of our users will be using.
Re:Microsoft Windows is prohibited at Gitlab by mmis1000 on Friday August 05, 2022 @01:44PM (#32359397)
Macos do have a option to always show scrollbar. And I think this is a pre-requirement to enable that if you ever care about what your user may actually see as a FE.

Besides that, there isn't actually obvious different between firefox/chrome/edge on macos/windows.

The most problematic one is actually safari(which is on mac only). If you dev on chrome and use on firefox or vise versus. You usually get a "mostly work with minor visual different". But safari… will give you a fail and are't even usable. It is outright the modern age ie.

Re:Microsoft Windows is prohibited at Gitlab by patrakov on Friday August 05, 2022 @11:34PM (#32364573)
In the past, I was able to reproduce a supposedly Safari-only issue using Epiphany on Linux. This browser uses a closely-related engine.
Re:Microsoft Windows is prohibited at Gitlab by wildmanx on Friday August 05, 2022 @01:29PM (#32359195)
A solution is to have somebody in each FE team with a "that's what the masses use" device. Screen-wise, CPU-wise, RAM-wise, network b/w wise. And let them use it as a primary dev device.

Doesn't sound sexy, no. Compensate them royaly. And make clear that they are superstars just by having this work environment. Then keep listening to what annoys them with whatever you are building, and let them fix it.

Re:Microsoft Windows is prohibited at Gitlab by jchw on Friday August 05, 2022 @10:48AM (#32356908)
I agree with this nitpick. Unfortunately, I think we are losing that battle, because more platforms are adopting the hidden scrollbar (anti-)pattern.

That, however, is bound to happen even if you have Windows workstations. It happened at a job where I was, in fact, running Windows, because the designer ran macOS and was oblivious to this issue. (Of course, I would fix it when spotted. But it still managed to make it out to prod at times.)

Re:Microsoft Windows is prohibited at Gitlab by Wowfunhappy on Friday August 05, 2022 @01:43PM (#32359384)
What's especially nuts about this to me is that macOS supports static scrollbars! System Preferences → General → Show Scroll Bars → Always.

Or, leave the default settings in place, but plug in a mouse with a physical scroll wheel.

So it's not even that they're only using one platform, but they're only testing the platform with default settings with the default hardware. And we're not even talking about an obscure setting buried three levels deep, it's right there in the general pane!

Re:Microsoft Windows is prohibited at Gitlab by dreamcompiler on Friday August 05, 2022 @03:22PM (#32360744)
Or on the command line:

  sudo defaults write -g AppleShowScrollBars -string Always
I include this as part of my setup script for any new Mac.
Re:Microsoft Windows is prohibited at Gitlab by azangru on Friday August 05, 2022 @12:31PM (#32358433)
This can be fixed by toggling a single MacOS setting to make the scrollbars always visible so that FE devs can feel the pain they are causing to their non-Mac using customers. Can be included into onboarding process. No need for a real windows machine just on that account.
Re:Microsoft Windows is prohibited at Gitlab by Jcampuzano2 on Friday August 05, 2022 @01:43PM (#32359386)
This is one of the first things I always turn on with a new Mac. And I always encourage everyone on my teams to turn this on because otherwise it goes completely unnoticed until we get that huge surge of issues and product being angry because Windows users complain about it.

But I also place the blame on design teams. Most design teams I've worked with also doesn't account for this in anything they create. They usually only design for: 1: the latest macbook pro; and 2: the latest iPhone.

Re:Microsoft Windows is prohibited at Gitlab by hbn on Friday August 05, 2022 @12:04PM (#32358041)
I think YouTube comments have a bug like this right now. On Windows I frequently see a giant horizontal scrollbar across some comments that doesn't even move, or moves very little.
Re:Microsoft Windows is prohibited at Gitlab by jakear on Friday August 05, 2022 @11:43AM (#32357772)
VM's are sufficient only if you want "idk, it runs kinda glitchy on the VM" to be the end of the conversation when Windows-specific bugs come up in dev. And "idk, works fine on the VM" when Windows-specific tickets come up in prod.
Re:Microsoft Windows is prohibited at Gitlab by CSSer on Friday August 05, 2022 @11:15AM (#32357340)
The binary is still platform specific. Chrome, for example, does not render identical select element menus across platforms and certain select style rules are interpreted differently across said platforms.

I'll give you a point on VMs but it's cumbersome. There's a big difference between rolling to another machine or asking someone in the department who uses that machine every day and waiting for a VM to finish booting or using a service like Browserstack (and both cost $$ anyway).

Re:Microsoft Windows is prohibited at Gitlab by miki123211 on Friday August 05, 2022 @12:25PM (#32358355)
Not if you're doing any kind of accessibility testing, and considering they want to sell to the US government, they will have to at some point.

Screen readers are not consistent across platforms, and things that work on Windows sometimes don't work on other platforms, and vice versa.

Re:Microsoft Windows is prohibited at Gitlab by jchw on Saturday August 06, 2022 @12:07AM (#32364744)
I have done this using virtual machines.
Re:Microsoft Windows is prohibited at Gitlab by ModernMech on Friday August 05, 2022 @10:41AM (#32356787)
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.
Re:Microsoft Windows is prohibited at Gitlab by jchw on Friday August 05, 2022 @10:45AM (#32356848)
This 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.

Re:Microsoft Windows is prohibited at Gitlab by trelane on Friday August 05, 2022 @10:55AM (#32357021)
This is exactly how I used to operate. I'd develop on Linux then ensure it works on Windows in a VM.
Re:Microsoft Windows is prohibited at Gitlab by milkshakes on Friday August 05, 2022 @10:45AM (#32356853)
This is a policy for personal workstations. Presumably, there is a different policy for QA/CI environments.
Re:Microsoft Windows is prohibited at Gitlab by aikah on Friday August 05, 2022 @10:45AM (#32356858)
> 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.

Re:Microsoft Windows is prohibited at Gitlab by bart_spoon on Friday August 05, 2022 @10:52AM (#32356986)
If that’s the case then Windows isn’t actually prohibited at Gitlab.
Re:Microsoft Windows is prohibited at Gitlab by jchw on Saturday August 06, 2022 @12:14AM (#32364777)
It is prohibited at Gitlab according to this policy. On developer laptops. It is not necessarily prohibited in all contexts. The one-line title could've been slightly clearer, but I think it's a totally fair statement.

The prohibition on developer laptops is not just a trivial or nitpicky detail; while the security of a VM obviously still matters, as you can't simply assume that malicious software in the VM can't escape, I would assume that the policy effectively means it would also be prohibited to setup a Linux dom0 and just run Windows under that and use it as your developer workspace. The benefit of only using Windows for testing is that you presumably won't be reading emails, talking on team chat, taking video calls, opening documents, etc. inside of Windows, only doing the thing you actually need (testing.) From a security standpoint, this can be helpful. I think that Windows vs Linux security is a rabbit hole not worth debating; both are very flawed and have many challenges, nothing is a panacea. However, I would say that every OS you don't need to harden is a huge operational advantage no matter how you slice it. You effectively cut off an entire slice of the malware market, and easily the largest slice in case of Windows.

Re:Microsoft Windows is prohibited at Gitlab by bityard on Friday August 05, 2022 @12:30PM (#32358416)
If 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.

Re:Microsoft Windows is prohibited at Gitlab by sonofhans on Friday August 05, 2022 @10:42AM (#32356815)
I 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.
Re:Microsoft Windows is prohibited at Gitlab by kazinator on Friday August 05, 2022 @10:54AM (#32357016)
I 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.

Re:Microsoft Windows is prohibited at Gitlab by wruza on Friday August 05, 2022 @10:55AM (#32357025)
Do you mean px issues, which web standards ought to solve, or just how typography looks from a design point of view?
Re:Microsoft Windows is prohibited at Gitlab by salzig on Friday August 05, 2022 @10:36AM (#32356694)
Gitlab is essentially a website, and Microsoft Edge is just Chrome. I think there isn't any reason to test on windows anymore.
Re:Microsoft Windows is prohibited at Gitlab by horsawlarway on Friday August 05, 2022 @10:42AM (#32356819)
Developing "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".

Re:Microsoft Windows is prohibited at Gitlab by salzig on Friday August 05, 2022 @10:55AM (#32357030)
Have 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).

Re:Microsoft Windows is prohibited at Gitlab by jdmg94 on Friday August 05, 2022 @11:14AM (#32357320)
I'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.
Re:Microsoft Windows is prohibited at Gitlab by dingleberry420 on Friday August 05, 2022 @11:47AM (#32357822)
You clearly haven't been paying attention, then. It's easy to spend decades making crappy software.
Re:Microsoft Windows is prohibited at Gitlab by KronisLV on Friday August 05, 2022 @01:25PM (#32359158)
> 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.

Re:Microsoft Windows is prohibited at Gitlab by mmcnl on Friday August 05, 2022 @02:50PM (#32360282)
You are absolutely right.
Re:Microsoft Windows is prohibited at Gitlab by xenomachina on Friday August 05, 2022 @10:46AM (#32356878)
There 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.

Re:Microsoft Windows is prohibited at Gitlab by commandlinefan on Friday August 05, 2022 @10:36AM (#32356709)
Famous last words.
Re:Microsoft Windows is prohibited at Gitlab by chrisan on Friday August 05, 2022 @10:47AM (#32356882)
There 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 :)

¯\_(ツ)_/¯

Re:Microsoft Windows is prohibited at Gitlab by ptilt on Friday August 05, 2022 @10:43AM (#32356824)
Give 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.
Re:Microsoft Windows is prohibited at Gitlab by btschaegg on Friday August 05, 2022 @05:42PM (#32362302)
Then 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.

Re:Microsoft Windows is prohibited at Gitlab by huslage on Friday August 05, 2022 @12:34PM (#32358470)
Windows 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.
Re:Microsoft Windows is prohibited at Gitlab by Shorel on Friday August 05, 2022 @10:49AM (#32356927)
For 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.

Re:Microsoft Windows is prohibited at Gitlab by trelane on Friday August 05, 2022 @02:19PM (#32359851)
Yep. 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?
Re:Microsoft Windows is prohibited at Gitlab by magnio on Friday August 05, 2022 @10:49AM (#32356918)
Testing 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.
Re:Microsoft Windows is prohibited at Gitlab by tpoacher on Friday August 05, 2022 @11:12AM (#32357290)
It 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?

Re:Microsoft Windows is prohibited at Gitlab by patrakov on Friday August 05, 2022 @11:39PM (#32364608)
Re:Microsoft Windows is prohibited at Gitlab by asah on Friday August 05, 2022 @01:11PM (#32358957)
you'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.

Re:Microsoft Windows is prohibited at Gitlab by chrisfosterelli on Friday August 05, 2022 @10:47AM (#32356890)
Do you also expect that mobile devs do all their primary computing from their phone?
Re:Microsoft Windows is prohibited at Gitlab by horsawlarway on Monday August 08, 2022 @02:59PM (#32389521)
I 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.

Re:Microsoft Windows is prohibited at Gitlab by strix_varius on Friday August 05, 2022 @12:17PM (#32358246)
It'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.
Re:Microsoft Windows is prohibited at Gitlab by octokatt on Friday August 05, 2022 @01:13PM (#32359001)
Realistically... 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.

Re:Microsoft Windows is prohibited at Gitlab by ozim on Friday August 05, 2022 @06:21PM (#32362647)
Take 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.

Re:Microsoft Windows is prohibited at Gitlab by kazinator on Friday August 05, 2022 @10:52AM (#32356988)
This 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.

Re:Microsoft Windows is prohibited at Gitlab by ahtihn on Friday August 05, 2022 @12:03PM (#32358032)
You'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.
Re:Microsoft Windows is prohibited at Gitlab by rpdillon on Friday August 05, 2022 @02:57PM (#32360385)
Does 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.
Re:Microsoft Windows is prohibited at Gitlab by phkahler on Friday August 05, 2022 @11:59AM (#32357990)
Not sure how that compares to all the companies that require Windows.
Re:Microsoft Windows is prohibited at Gitlab by mc32 on Friday August 05, 2022 @11:00AM (#32357100)
I 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.
Re:Microsoft Windows is prohibited at Gitlab by mmcnl on Friday August 05, 2022 @02:48PM (#32360264)
On 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.
Re:Microsoft Windows is prohibited at Gitlab by hatware on Friday August 05, 2022 @11:25AM (#32357501)
> 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.

Re:Microsoft Windows is prohibited at Gitlab by wkdneidbwf on Friday August 05, 2022 @12:39PM (#32358534)
developers using windows isn’t necessary to test web software on browsers on windows.
Re:Microsoft Windows is prohibited at Gitlab by gsich on Friday August 05, 2022 @10:36AM (#32356703)
Why? Gitlab is not a Windows application per se. Either you use a browser or git on the cli.
Re:Microsoft Windows is prohibited at Gitlab by Xylakant on Friday August 05, 2022 @10:41AM (#32356797)
GitHub 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.

Re:Microsoft Windows is prohibited at Gitlab by jupp0r on Friday August 05, 2022 @12:30PM (#32358424)
It’s somewhat rare for developers to be willing to do that though.
Re:Microsoft Windows is prohibited at Gitlab by Xylakant on Friday August 05, 2022 @01:41PM (#32359353)
Absolutely, that’s why I believe you shouldn’t put up more obstacles than absolutely necessary if someone would pick windows.
Re:Microsoft Windows is prohibited at Gitlab by sylens on Friday August 05, 2022 @10:44AM (#32356842)
Isn’t the glab cli offered on Windows? Wouldn’t you want them dogfooding that?
Re:Microsoft Windows is prohibited at Gitlab by gsich on Friday August 05, 2022 @11:01AM (#32357105)
true
Re:Microsoft Windows is prohibited at Gitlab by horsawlarway on Friday August 05, 2022 @10:47AM (#32356894)
And both the browser and cli vary by platform... Quite a bit, in some cases.
Re:Microsoft Windows is prohibited at Gitlab by Mikeb85 on Friday August 05, 2022 @11:50AM (#32357871)
> 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?

Re:Microsoft Windows is prohibited at Gitlab by nikau on Saturday August 06, 2022 @01:04AM (#32364978)
Test that the web UI works for the large number of customers running a browser on windows?

Confirm the Windows runners work as expected?