Hacker News new | past | comments | ask | show | jobs | submit login
Firefox Replay (firefox-replay.com)
1595 points by nachtigall 9 days ago | hide | past | web | favorite | 285 comments





Mods: the link should perhaps be changed to: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...

This currently has 1215 points, and the link is no longer valid. It now just shows an image of Firefox's devtools and the sentence "Replay is an early experiment. We'll let you know on @FirefoxDevTools when it's ready for input." That's not useful, interesting, or informative. The MDN docs seem like an appropriate replacement.


The initial version of the site gave a good overview of Firefox Replay: https://web.archive.org/web/20191128111509/https://firefox-r...

Note: You can try out Firefox Reply on a macOS in Firefox nightly: https://www.mozilla.org/en-US/firefox/channel/desktop/

Firefox removed the content that tells you this. It's odd that they did that...

My guess is that all this attention was a premature launch, and they were hoping to make news with Firefox Replay later. (US Thanksgiving day isn't exactly ideal...)


Correct on premature launch! Handling all the excitement was fun though while preparing food. There is a lot more work and research needed before rolling this out further.

Awesome job with it! The tech is fascinating. I got it working, somewhat, myself. And thanks for confirming my suspicion! It sure looked like one =)

That gives me “The Wayback Machine has not archived that URL.”

I also get the same for all the other snapshots, maybe Mozilla applied for a takedown?

Edit: I found it on archive.is: http://archive.is/0ei35 Though it seems a bit broken.



This is a really cool extension, thanks for sharing!

This is a pretty nice comment from the source that explains how it works: https://github.com/mozilla/gecko-dev/blob/11d9c7b7fa82fdfb8a...

``` // Recording and replaying works by controlling non-determinism in the browser:

// non-deterministic behaviors are initially recorded, then later replayed

// exactly to force the browser to behave deterministically. Two types of

// non-deterministic behaviors are captured: intra-thread and inter-thread.

// Intra-thread non-deterministic behaviors are non-deterministic even in the

// absence of actions by other threads, and inter-thread non-deterministic

// behaviors are those affected by interleaving execution with other threads.

```


Sounds like Mozilla is applying the concepts they developed for their C/C++ debugger, rr (https://rr-project.org).

That's exactly right

Brian Hackett collaborated early on with ROC. Here are the basic principles of Replay (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...).

In a nutshell, replay records Firefox's OS system calls, so that that Firefox can read from the recording when replaying.


For what it's worth, the DMTCP [1] user-space checkpoint/restore system does that (and more). C/R is a way of doing coarse batch-based reversible debugging, typically of distributed HPC programs, and FReD [2] is a(n unfortunately dead) reversible debugger using DMTCP record/replay. 1. http://dmtcp.sourceforge.net/ 2. https://arxiv.org/abs/1212.5204

From a user perspective, we are trying to focus less on rewind and step back and more on adding logging retroactively.

The best way to think about this is when the user adds a logpoint, they'll immediately see the logs in the console.

We hope that making logging much better is a great way to help people better understand the recording.


adding log statements retroactively - that's awesome

Thanks for sharing!

This seems to mean that a recording done on x86_64 MacOS can't be played back on aarch64 Linux, which is a shame for something that apparently is for javascript debugging. Limitations like that are more understandable for rr, which is intended for use with native processes.

It also looks like a maintenance burden which will increase the difficulty of supporting an OS for Firefox. Stuff like that causes Firefox to drop support for an OS, and it makes developers hesitant to add support for an OS.

System calls can do all sorts of crazy stuff behind your back. Think of ioctl and fcntl. Just knowing what memory they modify is difficult. It's been lots of trouble for tools like strace and rr. Hopefully you won't encounter worse, like vfork and clone.


I think WebKit has a similar feature, though it seems to work at a higher level than the one Firefox has (disclaimer: I haven’t used it, so I could be totally wrong). From what it looks like, Firefox hooks things at a much lower level and currently relies on some very Mac-specific features like Mach exception handlers (I’m actually curious as to how it works: is there a file or two I can glance at to skim the implementation of these?) Why perform the interception at this level? How do you plan to implement this on platforms that don’t have equivalent task APIs, e.g. Linux?

Exactly what I was thinking. I wonder when Chrome's going release their version!

Depends whether anybody writes it for them, or whether Google has to make it on their own.

What is non-determinism in the browser?

Nondeterminism is every place where information can enter your program from the outside world.

It's random numbers, the system clock, data off the internet, and input events from the user.

What it sounds like is that Mozilla has come up with a debugging environment that bottles all that nondeterminism up into a neat little package so that it can replay a specific run of your program any time you want.


Inputs that are either random or subject to change (api responses, user prompts i.e.)

Based on the grandparent, it sounds like race-conditions and random number generation fit the bill.

I don't know but if I had to guess: order of responses coming in from the server, interleaved with timer events and user events.

My guess is that "optimisations" (shortcuts) in calculating the final layout, mean that the final layout is not entirely deterministic.

It probably varies slightly, due to the entangled nest of dependencies that is responsive HTML rendering...


Once source comes from the memory allocator, and the pointers it gives out.

If you have an ordered map of pointers (e.g. std::map<void*>), iterating over the map will not be deterministic because the pointers given by a (regular) allocator are not deterministic.


This may be true in c++ but I believe is not in JavaScript. The language defines iteration order over keys of an object to be the insertion order (except numeric keys which are in ascending order). Not sure if there's anywhere that iteration order is actually nondeterministic that's allowed by the spec.

Ooooh wow. This might be enough to get me to use Firefox to develop with. This could be huge for its market share, a big part of the reason chrome was able to become so popular was because of how good its devtools were (compared to the competition at the time).

Firefox definitely managed to catch up but not before lots of devs switched to chrome and stopped checking for compatibility with Firefox.


Do you really think the web developpers that use advanced dev tools can make a real difference in their market share? (real question)

It happens because applications will stop working on chrome if developers never test on it. The recommendation when a user hits a bug will be to check it in Firefox and slowly Firefox will become the reliable/advanced/working option.

It’s happened with IE, Chrome before and will swing back away from Chrome eventually.


IE was stagnant and shit, Chrome isn't.

I may not like the Chrome monoculture happening at the moment but that doesn't mean Chrome is the same dumpster fire that was IE. And Google are hardly going to let Chrome stagnate when Chrome is the perfect vehicle to local users into Google's non-free ecosystem (I say "non-free" because you pay with your privacy)


You don't just pay with your privacy. It's not a one-way street. Google's knowledge about you feeds back to you, as they attempt to manipulate you in the way that best increases the money they receive from their advertisers.

But if we want people to stop being locked into Chrome, the best way is to cease to support it. If stuff works in Chrome, that'll be because Chrome supports web standards properly, and not because there's some proprietary random Google standard-they-just-came-up-with that it relies on. (I'm looking at you, <portal>.)

Don't contribute code to Chromium; instead, contribute it to a popular fork (like ungoogled-chromium), or a different browser altogether. Until Chromium is a less-centralised project, you're pretty much just giving a competitive edge to Chrome, and hence Google's near-monopoly on the web, without Google having to put in the resources to do it themselves. You're working for Google for nothing.


They might, indirectly. If web developers use chrome as their main browser, they test their sites on chrome more, and in the end websites just work better in chrome. And this is what can make a difference in their market share.

Not necessary but they are the ones which develop websites. I use Firefox daily for my job and that ensures that whatever I build will have a 100% Firefox compatibility.

Developers in general are very influential.

Not only among our family and friends, but also because our choices create a lock-in effect due to the nature of our work.

When you use Chrome day in and out, your work is going to be optimized for Chrome and will work best on Chrome. This led to a Chrome-optimized web and while Google isn't necessarily to blame, we're back to the days of "works best in IExplorer 6".

Companies and products that attract developers will eventually attract regular people as well. You could say that this is a chicken and egg problem, developers following the users, but with few exceptions (like the iPhone) in my experience thus far it's usually the developers that come first.

---

It's worth mentioning that Chrome isn't popular only because of its technical excellence, but also because of Google's incessant marketing and bundling. But if we remember Microsoft and their declining browser market share, marketing and shoving your products down people's throats isn't enough. The product, especially if it's a platform, has to not suck and to be used by developers as well.

So yes, if other browsers like Firefox want to stay relevant and grow, a major requirement is to provide excellent developer tools.

Kudos to Mozilla for understanding that.


Developers and computer geeks have been overestimating their influence for over a decade. If geeks were influential, the “year of the Linux desktop” would have been years ago, no one would be on Facebook, and people wouldn’t buy into Apple’s wall garden and people would care about “freedom”. Definitely no one would have bought the iPod since it “had less space than the Nomad and no wireless”. (https://slashdot.org/story/01/10/23/1816257/apple-releases-i...)

The consumerization of technology happened a long time ago.


You can't talk about Chrome's market share without mentioning that it was (maybe still is? I don't know) prominently advertised on the google.com homepage.

Everyone who went to search Google saw the ad. It said something like "Try a faster browser"

The fact that Chrome was advertised on the most popular page in the world, and especially that it was the only ad on that page, definitely made a difference in adoption.

The quality of the dev tools has nothing to do with it.


Source? I don't remember such an ad.

Speaking as a dev, the dev tools had a ton to do with it.


The ad is still there, now it pushes the google app: https://twitter.com/ridiculous_fish/status/11810479664228556...

There’s also a popover div ad in gmail: https://twitter.com/ridiculous_fish/status/10810743891336806...


Here's a video that shows old Google homepages, the ad seemed to first appear sometime around 2013: https://youtu.be/LZ46uE267Nc?t=93

Disclaimer: I am the creator of the video


> Source? I don't remember such an ad.

I too remember seeing this ad every time on Google's search page, but it's hard to search for articles mentioning it now, because any search on keywords "google chrome ads" return completely unrelated results.

There are these old questions:

* https://support.google.com/chrome/forum/AAAAP1KN0B0FrX8mjNQu...

* https://support.google.com/websearch/forum/AAAAgtjJeM41xpRdM...

* https://support.google.com/chrome/forum/AAAAP1KN0B08liXq3dy9...

* https://www.quora.com/Why-am-I-being-shown-ads-for-Google-Ch...

Also this news piece: https://www.techspot.com/news/79940-how-youtube-employees-ki... While the article is about Google advertising three different browser in that particular banner, you can see on the screenshot there is another ad, that is just for Google Chrome. That's the ad that was shown all the time on Google Search and Youtube.


Thanks! I guess the Chrome ads on Google/Youtube show the influence devs can have after all =)

Not sure what you mean, but as an anecdote I quit using desktop Linux years ago and whenever I go to developer conferences, the majority are on MacOS and I think I see more people on Windows 10 than on Linux.

That people wouldn't buy into Apple stuff is a big assumption, because we did do just that, for better or worse. Speaking of which, I see many more successful commercial desktop apps for MacOS than for Windows or Linux combined, even if Windows still has a much bigger market share. And this happened since before Apple's App Store for MacOS became a thing.

I was also one of Facebook's early adopters, many of my programmer friends were too. Being from Romania, let me tell you, the early adopters here were all software developers ;-)


There might be some bias in there.

" see many more successful commercial desktop apps for MacOS than for Windows or Linux combined"

Office profits by itself would crush all MacOS application sales.

Maybe it is easier for the single developer to create something profitable on MacOS but that's because the bigger players have marketshare over windows in the profitable niches.


Office has always been available for the Mac. How many indy developers and small shops outside of games really have been successful making software?

You can trivially pick out the macs visually how are you picking out who is running Linux?

> If geeks were influential, the “year of the Linux desktop” I don't see how that's relevant, if I set up or recommend Firefox on my parents computer with ad block they're going to trust me and use it over chrome/safari/edge. If I set up Linux instead of windows they're going to be extremely confused, annoyed and won't let me touch their computer again..

Geeks are extremely influential to their non technical friends but why would you ever impose Linux on them? I don't see how it would benefit them and you'd have to deal with the endless fallout and questions that arise.


Dell once sold a “Developer Edition” laptop, so there is definitely a sizable market and developers do have some influence.

https://www.dell.com/en-us/work/shop/dell-laptops-and-notebo...



Damn, that's kind of a nice laptop. Pretty tempting actually, though I'd probably install Windows on it personally.

I was curious what specs made it "developer"-mode, and it looks like it's just a really big battery, very bright screen with good viewing angles, and easy to open with one hand (and a stable screen when you're moving around with it). Seems like it's specifically aimed at devs that work remote jobs and might be working outside from time to time?

Still, neat idea.


They still sell a Linux variant of the XPS series, which works mostly fine. It's not a patch on the X1 Carbon, but it's functional.

All geeks don't hate FB and Apple. Your vantage point may be too far. Chrome's dev tools did have a lot to do with its rise in use among devs.

I think you're overestimating how unpopular those things are with devs/geeks. As a current (comp sci) college student, I can say that while less popular than in the general public - Windows, Facebook, and Apple's ecosystem are still used by a large number of my peers.

Over a decade? Try 3, and that is in the conservative side.

> Developers and computer geeks have been overestimating their influence for over a decade. I

It's a lot easier to get people to switch browsers than OSs.


One is a click or two. The other feels like you are breaking this expensive machine.

When someone buys a computer that works after turning it on switching oses seems risky.


> This led to a Chrome-optimized web and while Google isn't necessarily to blame--

Uh that seems to imply that Google has not been striving to accomplish exactly that. Because they surely haven't been working to prevent a browser engine mono culture. Which is kind of your only option, if your browser engine holds an absolute majority of usage and you don't want to be "to blame" for the browser engine mono culture.

Seriously it puzzles me, how is this not Google's doing.

I mean it's understandable they would do it. They're doing it. Who else would be doing it, the informed preference of millions of users? That would be a first ...


I don't understand your point.

When you build a product, the purpose is to get customers / users, as many as possible. And when you win a majority market share, then that will make your product a de facto standard.

Google could have introduced a lot of proprietary, non-standard extensions to Chrome (not Chromium, but Chrome itself, aka the proprietary version), screwing everybody else in the process. Think Microsoft's ActiveX or XAML.

And while there are some glaring exceptions — like Chrome being responsible for the standardization of DRM, which is now keeping smaller open source Chromium forks out of the market, Google has been playing nice with web standards organizations, being major contributors, alongside Mozilla. And sure, they are in a position to impose pretty much anything they want, but they are fairly conservative in picking their battles, PNaCL versus WebAssembly comes to mind.

Google might be guilty of anti-competitive practices, but in my opinion it is the software developers themselves that are to blame for a Chrome-optimized web. This is because they (we?) continue to use Chrome for optimizing and testing web interfaces, while neglecting Firefox and Safari.


There are still a lot of QoL features that Firefox DevTools misses. For example autocomplete for CSS classes, a tab for handling Service Workers, commands to perform actions (like disabling JavaScript), etc.

I find myself switching between browsers just to take advantage of the different features each one provides which is slighly annoying. I would sincerely love some kind of unified DevTools.


Yeah, and vice versa as well, of course - for example, I don't think the Chrome DevTools tell you why certain CSS declarations do not apply.

That said, the Firefox DevTools have been progressing really fast since the rewrite to React was completed, so I'm hopeful that it'll practically be the unified DevTools soon.


One reason that I use Firefox DevTools mostly is because in the inspector it shows you what events are attached to a DOM element. It's really helpful for debugging legacy applications. Sure, Chrome has something similar but it's a bit more hidden.

They should've put this note at the very top of the page: "Mac OS only for now!".

What is the point of promoting this to everyone at this stage?


Team member here. Firefox Replay is currently in user research phase while we validate it.

Cross platform support will absolutely be a priority when Replay is on the official roadmap.

Thanks for the feedback, firefox-replay.com is also a work in progress. We did not plan an official release today.

We'll be sure to make the Mac OS limitation more clear.

Here is some more context on the mac specific functionality (https://searchfox.org/mozilla-central/source/toolkit/recordr...).


> Firefox Replay is currently in user research phase while we validate it

A question about how you develop / roll this out. Do you keep the code private, or do you commit it to the open source repo as you're working with a small amount high touch users?

I guess the question is do you want a full working product when you open source it? Do you tie your PR / forum posts with publicly shipping the source code? Or is all development out in the open?


Good question.

Everything is in firefox and open source

Here are the bugs: https://bugzilla.mozilla.org/buglist.cgi?cmdtype=runnamed&na...

Here's the primary directory: https://searchfox.org/mozilla-central/source/toolkit/recordr...

The debugger API is implemented in JS here https://searchfox.org/mozilla-central/source/devtools/server...


Thanks for the clarification and for building this great-sounding tool. I'm really looking forward to trying this out on Windows!

What benefits it provides than record and playback using a screen recorder?

Based on the linked MDN page (from the current top-rated comment) it sounds like the main point of this is to have a rewind-able debugger.

Retroactive logging.

Why not? A huge portion of developers uses Macs and windows support is coming at some point. Better to get an actual feedback from the developers.

People on HN don't seem to like it when some other companies start their product from one platform.

Nor do they like it when they do support all platforms from day one via an Electron app...

People on HN don't like anything.

Other people on HN like some things.

Speaking of which, I'm a little shocked to see a Mozilla thread that doesn't yet mention Pocket or the rebranding or DoH. That must mean we are in a good mood?

We're busy prepping to argue about UBI at Thanksgiving dinner.

Oh man. Now I really want to tell the wife to turn the car around.

No, just too busy talking about Linux on desktop!

Look again.

When that platform is Mac, certainly. For some mysterious reason you don't see complaints about Linux-only utilities :)

you can virtualize linux, you cannot virtualize macos.

no, downloading sketchy images or hacking your virtualization software does not count.


> you cannot virtualize macos.

You can, and it’s licensed to.

Since Lion:

> (iii) to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software.

No hassle support page on VMware site:

https://kb.vmware.com/s/article/1000131

EDIT: Amusingly on topic with gist of thread above, anger about a dev tool launched for MacOS, this fact with citations from license and support page from VMware garnered instant down votes.


Well if you can only virtualize it on a computer that's already running macos I don't know how that's supposed to help.

You can virtualize on a PC. Whether you may or not, depends whether you believe you own software.

And how it helps when you do it on MacOS on Mac hardware is letting you do all the things you virtualize an OS for, from a fine GUI on a decent kernel.


> all the things you virtualize an OS for

One of the main things I "virtualize an OS for" is to use software that requires Platform A on a system that runs Platform B. Running "legit" (authorized) virtualized MacOS does not help me do that; I am only allowed to run Platform A on Platform A.


So you mean you gotta tinker/hack?

I think we'd just like to have it labelled "for Mac Only right now"

How about linux users?

You’ve got to accept the fact they want to collect feedback from other users first and not you.

From some users first, even if that doesn't include you

No, specifically him. I’ve heard talk. I dunno what he did but he should apologize already.

Extremely featureful debuggers such as this one tend to require a great deal of code that is hardware-specific, in addition to being OS-specific. I assume MacOS was targeted first because it's the platform with the greatest degree of hardware uniformity. I fully expect Linux support to materialize someday, but with the caveat that I expect it will only (officially) work with the most popular hardware.

That's right. The only way to have a performant recording is to capture the browser's OS system calls in the recording. This unfortunately makes the feature quite OS specific.

https://searchfox.org/mozilla-central/source/toolkit/recordr...

Replay is currently in the user-research validation phase. We care about cross platform support and will prioritize it when we are ready to commit to the feature.


One would expect an organization dedicated to freedom to prioritize Linux support.

Mozilla has implemented DRM support in Firefox. I think Mozilla is more concerned with reducing dependence on nonfree software than supporting free software.

Just to clarify, I don't fault Mozilla for having that attitude, but that doesn't mean I prefer it. I would prefer that they prioritize FOSS platforms like Linux and \*BSD, as well as getting Firefox on platforms like Plasma Mobile, PostmarketOS, and other GNU/Linux-based mobile operating systems. Developer adoption is a necessary (but probably not sufficient) precondition for general adoption, which is why developing for these platforms is important even though they are new/unpopular.


Is there some technical reason it's only for os x? I'm not really upset they targeted Macs first but I am a bit curious why they felt a need to.

They mention it here[0]:

"Almost all implementation work so far has been on macOS. Windows port work is underway, but is not yet working. The difficulties are in figuring out the set of system library APIs to intercept, in getting the memory management and dirty memory parts of the rewind infrastructure to work, and in handling the different graphics and IPC pathways on different platforms."

[0]: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...


Firefox is a native app that is ported between OSes. It doesn't run on a VM.

I don’t want to go all “you darn kids” so I won’t. But the pervasiveness of web technology I think has made the majority of us forget why it’s pervasive. Cross platform can be really fucking hard, especially if you don’t respect the challenges and end up down a blind alley.

One of my favorite books starting out was the Stevens book about Unix. It only covers the differences in system call availability and behavior across Unix OSes. It doesn’t even touch graphics. It’s a big fat book just covering file, network, processes, and memory operations. No Mac, no Microsoft, just Unix.

https://en.m.wikipedia.org/wiki/Advanced_Programming_in_the_...


Small user base to test?

Actually probably Mozilla’s largest user base

Why 'probably'? According to the stats I could find [1], Firefox has around 5% of Mac users, and around 9% of Windows users. Windows is Firefox's biggest platform, both in absolute terms and as a fraction of that platform's users.

On Linux, Firefox has a bigger percentage (>30%), but (desktop) Linux is much less popular than macOS so in absolute terms they have the fewest users there.

[1]: https://netmarketshare.com/


Mozilla’s Firefox Hardware Report has the latest desktop OS share across all Firefox channels:

  51% Windows 10
  27% Windows 7
   6% Windows 8
   6% macOS
  11% Other (Linux, BSDs, etc)
https://data.firefox.com/dashboard/hardware

I think the Firefox Nightly, Developer Edition, and Beta channels have a slightly higher share of macOS and Linux users, but not much. There are a lot of Windows users out there; you just don't see them at JS conferences. :)


The plan is to do user testing on mac and if it is validated roll it out.

Replay requires a ton of difficult platform-level investment to get right and we're still actively finding bugs in the real world.

After it is validated, it will be easier to add the appropriate platform level bindings in other OSs.


I'm really disappointed that Linux gets less attention from FOSS-supportive organizations like Mozilla. Desktop Linux adoption is a catch-22: people don't use it because it doesn't have as much software; however, it has less software because it's less popular.

Yep. It's noteworthy that over 10% of Mozilla's users are on Linux. [1] And presumably that only includes users who submit the hardware report. That's a huge portion for any cross-platform application. It's genuinely rather surprising that they don't give it more attention simply because it's a large portion of their user base, and because Linux users are more likely to submit bug reports and patches.

[1] https://news.ycombinator.com/item?id=21660399


I think there are good ideological reasons to support Linux, BSD, and other FOSS operating systems, not despite, but because of their unpopularity [0].

Edit: to clarify, I refer to operating systems that have a considerable amount of potential and existing development, not systems with like 2 users .

[0]: https://news.ycombinator.com/item?id=21660819


The statistic that matters for this tool is the distribution of developers, not the overall user base.

I can see some form of replay in firefox dev edition on windows

This project is advertised on its own domain (not a mozilla.org subdomain) and there's no header/footer/link to mozilla.org.

This makes me think that it's not a feature on the roadmap of firefox sponsored by Mozilla, but an experimentation/side project.


The fact that it's in Firefox Nightly seems to blow that hypothesis out of the water

I can't really tell whether this is an official Mozilla website (though it looks like one), but the feature is certainly an official one on the roadmap. See this earlier discussion: https://news.ycombinator.com/item?id=17624709

If this works well, it could eventually be a very big boon for Firefox in the business world. Q&A can now send reproducible bug demos to development. Technical clients can do the same. I wouldn't be surprised if someone built tooling to map these recordings into automated tests either: expect the given recorded workflow to not throw errors.

I can't quite remember when I had a bug where a tool like this would've been useful, but I'm sure I would've been (and will be) very thankful for it.


Thanks for the feedback!

Our #1 use-case at the moment is bug reports with a recording attached. We think that will really help when it comes to understanding the specifics of a bug when STRs are often not clear.


Oh yeah, wow. Having bug reports come with a replayable & inspectable recording of the user's session would be an absolute game changer. We approximate this now with telemetry tools that allow you to see what the user was doing (sort of), but this would be 100x better.

I wonder how often the bugs will be so deep that something like LogRocket won't be enough.

Why "Download Firefox Nightly for macOS"?

Is it not supported on Linux and Windows? Why?


“Almost all implementation work so far has been on macOS. Windows port work is underway, but is not yet working. The difficulties are in figuring out the set of system library APIs to intercept, in getting the memory management and dirty memory parts of the rewind infrastructure to work, and in handling the different graphics and IPC pathways on different platforms.“

From https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...


It makes sense to start with OS X. Lots of front-end work is done on that platform. If you are targeting IOS or Safari, you pretty much need to be on OS X for testing.

Only macOS is supported right now. Web Replay's architecture should allow it to work on any operating system: the OS features needed are not specific to macOS or to POSIX systems. Still, porting it to other POSIX systems (Linux, Android) will be easier than Windows, due to the overlap with macOS. There is, however, a partial Windows port from an older version of the architecture that can replay a simple page but not rewind, which should make writing a complete Windows port easier.

From: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...


https://developer.mozilla.org/en-US/docs/Mozilla/Projects/We...

> Currently only macOS is supported.

As for why - no idea.



Because it's experimental and you have to start somewhere.

It's probably because its cheaper, and most web developers are using macOS anyway

https://insights.stackoverflow.com/survey/2019#technology-_-...

    Windows 47.5%
    MacOS 26.8%
    Linux-based 25.6%
    ----
    Total non-Macs: 73.1%

>web developers

And and in this case web should be read as 'front-end'.


Have been working in web development for years, also with many coworkers. I don't know anybody with macOS except design people...

That’s interesting, since nearly all of the developers I know working full stack are using a mac. Maybe it’s a regional thing.

Seen any web conference where a crapload of people (including many/most of the speakers) didn't have a MacBook?

So, while it might be far less in the general market share, and even web dev share, it's more in the "kind of developer that goes to conferences/presets/etc" share...


Of all developers I know, only 2 prefer macOS (in general). Most people are either on Windows or their favourite flavour of Linux.

These are not just web developers though, they're full stack developers; perhaps pure frontend developers are more prone to use Apple products?


Go to a Rails conference. Or a Node conference. Heck, even a Java conference. Half the people there have MacBooks, and usually more than half of the speakers.

At least far more than Apple's general market share.


Selection bias. People who go to tech conferences make up a tiny share of all the people working in the industry. Plus they're far more likely to look towards other people going to those conferences for "trends" than to the majority who don't, thus reinforcing that bias.

Even most designers I know personally don't use macOS. But if I was going by what I see at JS conferences, you'd think Apple has a 99% marketshare (although things have improved in recent years with "full stack" bringing in Linux folks and Microsoft's investment in dev tools making Windows more appealing).

This is similar to how everyone at these conferences seems to have one of the latest iPhones yet (depending on where you live) the majority of smartphone users uses Androids and those who are using iPhones generally hold onto them for years before upgrading.

Also FWIW as a long time JS dev, it seemed to me like Rails actually was one of the major contributors to the macbook monoculture because Rails (in the early days) was popular with startups who also often focused on iOS apps first, which means they had no other choice than to use macOS for development. As iOS became less of a focus than web dev, the macbooks stayed and only now seem to be slowly replaced as Microsoft is making a heavy push into web dev relations and the opinion of Apple's quality gets tarnished by dev-unfriendly decisions and hardware problems.


As the other commenter noted, RoR precedes iOS third-party development by 5 years. And Macs were already popular among web crowd in the early 2000s. I too got interested in getting a Mac after seeing countless screenshots in CSS books.

>Selection bias. People who go to tech conferences make up a tiny share of all the people working in the industry.

Yes, but they're also more influential in the respective communities, and more probable as presenters to be writing stuff others use (e.g. this Firefox dev tool).

So they'll use what they personally use to develop.

>Also FWIW as a long time JS dev, it seemed to me like Rails actually was one of the major contributors to the macbook monoculture because Rails (in the early days) was popular with startups who also often focused on iOS apps first, which means they had no other choice than to use macOS for development.

I don't think that's the case - Rails confs/devs was mostly Macs before iOS apps where a thing (which happened 4-5 years after RoR was released).


Interesting. It definitely didn't seem the case for web dev outside of Rails though. In the mid-2000s it felt to me like the default was Linux (because servers were running Linux) and beginners started on Windows (because that's what they already had at home). But then again web dev mostly meant LAMP (or WAMP for development, via XAMPP).

But this may be a regional thing (so selection bias again). When I was freelancing as a Python web dev, the few places that used Python usually used Plone/Zope (barely anyone used Django or Flask) and there were even fewer places using Ruby except startups. The popularity of Plone/Zope seems to be very much a German thing, just like SuSE Linux and Typo3/Drupal (instead of Wordpress). We've even had a very large Firefox marketshare until fairly recently (because of privacy concerns over Google Chrome).

That said, in European JS conferences over the past five years I'm definitely seeing more and more non-macbooks each year.


This blew me away a bit. Is MacOS this popular in the Web frontend crowd?

I always felt that the price/quality ratio was way off with MacOS, compared to a good regular laptop. By good I mean top 10% ranked by price/quality. Even if it wasn't, Apple's general hostility towards consumers is infuriating. Right-to-repair is a banal example.


It's popular indeed.

It gives you a well rounded OS with a Unix terminal. I think MacOS is more consistent than Windows or Linux with a better attention to details (though I haven't used Linux for almost a decade so things might have changed a bit) which make it more pleasant to use.

Also, the previous generation of Macbook Pros was just really good, sturdy hardware. Hopefully the new update will fix the flaws of the new design.

Lastly, a lot of people get laptops from their company, and companies don't mind a one time extra cost of a few hundred dollars.

I'm currently writing this from a Dell laptop, and I have to say, while the hardware has caught up with the Macbooks in terms of build quality, I still miss MacOS.


> Is MacOS this popular in the Web frontend crowd?

Yes, and seemingly in the web backend crowd too (Ruby, PHP, Python but not as much AFAICT).

If you go to a web conference and don't pull out a Mac, you do get comments and/or questions (depending if you're running Windows or Linux).

At Python conferences I've seen fewer Macs and more of the good old ThinkPads running Linux. My feeling is that community has a more "Computer sciencey" taste in laptops, because they're not all web programmers.


> My feeling is that community has a more "Computer sciencey" taste in laptops, because they're not all web programmers.

Or maybe just because they _can_ be bothered to spend a few days setting up their laptop just right and actively maintain it.

I'm a fairly advanced user but I can't be bothered to do so on a laptop and would rather have a Mac to carry around and GNU/Linux on my desktop.


I like Mac OS, and get really frustrated when doing development on Windows machines. All the toolsets that are available on Linux are also available on Mac, which is a huge convenience when switching environments (e.g. from a mac terminal session to a linux one). Mac OS gui is pretty slick (e.g. its file-rename is pretty slick), and for their laptops, their trackpad is best in class, still; but I get pretty irritated at (1) the cost of Mac products (2) the constant OS churn which makes my old applications no longer work and which inevitably slow older machines to a crawl. What has prevented me, among other things, from just going fully Linux, is the ability to install certain common consumer products with minimal hassle.

We're talking about the primary tool used by highly paid professionals. A few thousand dollars just isn't that much, especially when your employer is paying for it.

Once you're price-insensitive, the quality looks good for macs, keyboard issues notwithstanding.


Yes it is indeed very popular. All of my friends in IT switched to MacOS over the last few years, and I see more and more devs using Apple devices in web agencies. Because it looks good, it looks more pro.

Firefox Replay supports MacOS while we're validating the feature. When it comes time to plan for releasing replay we'll work on cross-platform support.

Unfortunately, Replay hooks into low-level OS system calls to do the recording, which makes it non-trivial to support other platforms.


Last seven years, all the companies I worked at had the majority/all devs using Macs. That's not only frontend, but backend (Java/Scala/PHP) and Android devs. And this was not in the US.

I think it is popular but it is an expensive laptop.

I have started using a Chromebook with 8G of memory and like it much more ... but I am probably in the minority. :(


While I agree, a lot of people (including me) don't have a choice; I simply need mac os x for ios apps. I tried everything, like having a remote mac desktop etc; it works ok, but it's really not for long bouts of work. Everything else I can do on a chromebook (or whatever laptop/hardware).

Yes, and for backend and mobile too since you can build for android and iOS.

Presumably the implementation is platform dependent and they wish to start with where they believe the most relevant developer mindshare is. I'd guess it's still somewhat tricky for them to playback different replays across platforms.

Especially as macOS users are the most likely to complain about Firefox's performance. Well, maybe that IS why

I think they are printing out the OS based on your user agent.

EDIT: sibling comment cleared things up, so mine is irrelevant


Thanks for the feedback!

Replay is in the user-research and validation phase and still quite experimental.

firefox-replay.com is a work in progress. We're still sorting out the best way to communicate record and replay debugging and the new use cases.

We'll share more on @firefoxDevTools when we have something to report.


Great work! Some insights from FANG. Two more things are necessary to make this a game changer: 1. JS level API to record RNR traces and upload them along with error reports (this will be a new W3C standard). This will be a compelling reason to include Firefox into the automation toolchain and at that point compatibility with Firefox will be mandatory. 2. JS level virtualization or sandboxing. Right now we have the iframe-level sandboxing but this granularity is too coarse because modern web apps have become really big (think of O365). We need a way to fragmentize the JS execution context into smaller docker-like sandboxes and record RNR traces for them. Rationale: big subcomponents should be isolated from each other and have separate traces. As a side effect, this new VM API will enable us to do one cool trick.

What's going on? I just see a block of text next to a static image.

"Replay is an early experiment. We'll let you know on @FirefoxDevTools when it's ready for input."


I think they saw that it got a lot of attention on HN and weren't in a stage with the product where they were ready for the corresponding feedback.

For anyone who missed what it was, it allows you to derterministically record and replay your browsing for debugging purposes, and you can export these recordings to others.


I just looked it up on the internet archive and saw the old website. I think they should have kept the old one, since the new website has almost no information at all.

https://web.archive.org/web/20191128111509/https://firefox-r...


That gives me “The Wayback Machine has not archived that URL.”

I also get the same for all the other snapshots, maybe Mozilla applied for a takedown?

Edit: I found it on archive.is: http://archive.is/0ei35 Though it seems a bit broken.


The biggest benefit for me (I think) would be if the product/design people I work with could find issues and send their recordings to me. Don't think I'll be able to convince them to switch to FF though.

That is one benefit of going all in on one of the immutable state management libraries. You can maintain past states and on a bug report attach the whole history to be able to play through it.

https://birdeatsbug.com is great for that kind of thing

Very cool. The product looks great!

Thanks a ton from the Bird team!

Important part:

$0; Essential features; Up to 3 users

$50 / month; All features; Unlimited reports; Up to 10 users

...


Hot take: If you’ve got a team of more than 3, and you can’t afford $50 a month for a tool, you’re doing something wrong.

It's not like you can pay infinite tools at $50 a month. And if you don't care at all it's unlikely you're there to stay

True (to be fair, I did say it was a hot take :) ). But assuming this is a salaried team at a cost of $150k per employee, a $50 per month expense amounts to 0.4% of salary.

You're right though, it can add up quickly. Do that 20 times and you're at nearly 10% overhead. It's also a big assumption that the team is salaried. It might be a team of founders, or an open source project.

Ultimately you just need to decide which SaaS solutions are most important to your team.


I would say that it’s also about team output. By getting rid of a productivity tool, you will decrease expenses, but simultaneously productivity and therefore revenue will suffer.

Co-founder of Bird Eats Bug here. It's so great to hear!

I use Chrome, Safari, and the Firefox Nightly. Not sure why there’s so much dedication to one browser.

Because they all eat a lots of RAM...

This is a good comment, I use FF Dev and Chrome RN, the current project I'm working on is Chrome only. It's nice for context switching (docs, etc in FF, debugging & development in GC) but I was not able to do this (1y ago) on my 2013 MB Pro, it was simply to slow.

I have a 2013 Mac Book Pro with 16 GB of RAM. They all run fine at the same time.

I also have Xcode and several other apps open.

Don’t skimp on RAM. My next computer will have 32GB of RAM. It’ll extend the usefulness by years.


you can right click on a tab in firefox, and switch that tab to this or that context ;)

As glassounds mentioned in the comment, Bird Eats Bug is actually covering that use case. Feel free to reach out to me directly if you have more questions: dan@birdeatsbug.com

Regarding Mac OS: looks like, on Windows FF Developer Edition I can access it's UI from creating a boolean in about:config named devtools.recordreplay.enabled

A new option in settings will be added to enable a Toolbox Button named "Enable WebReplay", but pressing that button will replace the entire tab content with an about:blank


My first thought is I'm mildly skeptical that this will end up being granular enough or detailed enough to actually be useful in practice, but if it does, it could be very useful.

I'm pretty happy to see Firefox pushing its dev tools in this direction. They've done a really great job with layout and styling tools, but their JS dev tools have lagged behind Chrome's. So even if this particular effort doesn't pan out for some reason, it's still very encouraging.

They're not just carbon-copying Chrome, and they're not just sitting back and ignoring the dev tools; they're trying to push them forward in some interesting ways.


This is quiet cool! They did far better job then I would have imagined in doing myself! Ha!

[Link to the editor](https://github.com/abdusamed91/realtime-codeeditor)

I implemented it in my real time code editor coursework project where I made use of [Ace Editor](https://ace.c9.io/)'s CRDT. The time machine slider does the job and looked remarkable when it ran.


No Linux support :(

Not Linux support yet I hope :)

Is there any way to make this work in automation? This could really help with debugging failed e2e firefox tests.

For those interested into how this works, look into Time-Travel Debugging and the WebReplay API

This didn't work for me.

1. I installed the nightly build as told.

2. Open nightly build

3. Went to the "Save Recording" option

4. The first two times, I got a [javascript error] saying I could not record.

5. The remaining couple of times - after I open a "New Recording Tab", whatever that is - I didn't see the javascript error but the website whose clickthru I wanted to record using this tool didn't even load in that new recording tab.

Just this morning I recorded a clickthru like caveman using Quicktime. Can't wait for FF to iron out the kinks in this feature.


Hmm, join us in http://devtools-html.slack.com/ and we'd be happy to help you debug it.

If the tab crashed, you can get the report in about:crashes


What do I do if I don't have mozilla or chromium email?

Is this an official thing from mozilla? If so it is extremely disappointing that they promote slack.

If you have an @mozilla.com or @chromium.org email address, you can create a Slack account. If not it seems like you might be out of luck.

If you’re on Windows, try the built-in Steps Recorder (formerly known as Problem Steps Recorder)

Mac.

How is this different from recording in Chrome Web Dev tools?

To be clear, I use both Chrome and Firefox for development but just to the surface level, so I'm probably missing the point here.


I'm not too familiar with "recording in the Chrome devtools", but this allows you to actually step back as well as forward in the debugger, e.g. for inspecting the value a variable had when code executed before.

Oh, oh, oh! This is so exciting!

I had built a poor mans version of this where I worked with puppeteer for automated tests. It'd basically record the full dim any time it changed, along with console logs, network request metadata, images and css and output it as a test recording. You could then view that and walk through it in an Electron app.

This'll blow it out of the water. I hope for e2e testing's sake that linux support comes soon.


Tangentially, our Apple II emulator [1] has a recording reverse-debugger, should you want to do similar to debug 6502 code... ;) Developers of recent Apple II games have been using it to resolve pesky bugs.

[1] https://paleotronic.com/software/microm8/help/web-debugger/


This looks pretty good. Are there any other tools like this for different platforms? I'd be especially interested in something like this for the .NET ecosystem.

I'm not familiar with .NET, but I think both the Elm devtools and Redux devtools can do something similar, although limited to their own features.

This looks great, it's good to see that Firefox is pushing new dev features, instead of playing catch-up to Chrome.

Does Replay work on the Firefox Dev build?


Seems to be a MacOS only feature.

I would love to give Firefox a shot, but there's one thing I've had issues with, when working with projects using things like webpack, when there's an error, Chrome links me back to the original file and line, I never seem to be able to do this in Firefox. Makes it so much harder to debug things. Am I doing something wrong, or is there a way to fix this?

Not sure how long ago you tried, but in one of the recent Firefox versions, they greatly improved the source map support - so it might just be that you should give it another try.

I've tried it with the latest versions (as of now), but it doesn't seem to match up with how good Chrome is at it. I've tried both normal Firefox and the developer version.

Why is this something Firefox seems to be struggling with? All the Blink based browsers seem to be much better in this regard.


I am not primarily a web developer, but I guess I don't really see it.

I suppose 'rewind' would mostly be useful for Javascript applications? But in Javascript you can already debug pretty well. It's been a while, but I suppose Javascript debuggers can drop frames, like debugging other languages, so you already have a kind of rewind?

Does anyone have a good example use case for this?


It sounds super handy for the hard to catch bugs that happen let's say 5-10% of the time and the bug might be originating from a wrong event or still hanging event listener.

If your app is something that takes time to react on events to unroll, then this could save you lots of time. I made a music player and just by the nature of timed events it took quite a long time to catch edge cases I did not foresee in the prototyping phase.


I'm not quite sure what "drop frames" means in this context, but a use case would be stepping through the debugger, realising that the problem might be in a piece of code that has already executed, and wanting to inspect the value of a variable at that point in time.

Or even more mundane: accidentally hitting "Step over" twice in a row.


In most debuggers you can drop back up the stack to the code that called the function you are currently in, and thus debug through the function call again.

Example: https://stackoverflow.com/questions/2367816/when-using-the-j...

"Using the "Drop Frame" functionality you can "fall back" to a previous stack frame, in a sense going back in time."


That Stack Overflow answer is poorly worded though, looking at an outer stack frame is really nothing like going back in time. Going back in time in the Firefox Replay sense means reversing execution of the program, e.g. to find the values of variables that have been mutated or gone out of scope.

But that's what drop frame does - it goes back to the state before your current function call, including resetting variables. It does not revert global state (like static variables) but it is essentially like reverting execution 95% of the times I use it.

It doesn’t really ”go back”, it just shows a different stack frame, which is part of the current state of the program.

It's basically the same value proposition as Mozilla's rr debugger (https://rr-project.org/).

This video has a good intro: https://www.youtube.com/watch?v=ytNlefY8PIE


This will be an absolute game changer for web development. I am currently working on a really simplified version of this, but as a chrome extension. We deal with a lot of real time data and have been facing some timing issues (network and user input) which is really hard to reproduce.

I’m going to give this a shot today!


I wonder how this is positioned compared to Bird Eats Bug and LogRocket/FullStory

Co-founder of Bird here. Firefox Replay seems to be focusing purely on developers, while we see usage also from PMs, QA and even customer support. So in the end developers can get more data from essentially anyone in the company.

Over time we will be adding more tools for developers. It will be interesting to see how Firefox will approach this compared to us.


I've been working on a slightly related idea - https://speakhq.co - I did submit as a Show HN, but didn't get too much traction.

Just tried it out, and performance seems really bad at the moment, to the point where I couldn't tell if it was working properly. Does anyone have any suggestions of sites to try this on?

It might just be me but enabling the option and clicking and the recording button just attempt to reload the page and I get a blank page. Not sure what is supposed to happen.

Yeah happens to me too, guess either I'm missing an obvious button or it's slightly broken on some machines (which is to be expected).

Firefox is (mostly) a wonderful, free application. Linux is a wonderful, stable, free desktop.

Strange days indeed. Just giving some thanks where it's due.


So in its scope this somewhat similar to Cypress.io?

https://www.cypress.io/


I don't use Cypress anymore as it didn't work for me but doesn't look like it. This is for debugging rather than testing.

Also the timeline in Cypress didn't actually work too well for us.


Must admit, I've used screen recording during web development for some edge cases; this might address those situations

What would apple have to do to let us have this on iOs? I would love to have a choice of browser on my phone.

It’s not going to happen; even if you could run your own browser engine on iOS this requires deep hooks into system calls and Mach messages which isn’t really something that I would see Apple letting you do.

Is it not appearing for anyone else? I downloaded it (for MacOS), and that option does not exist.

Wait, no, its fine. You have to go to the Web Developer tools, then settings, and then turn it on via the check box.

I can't see it.

> An error occurred when connecting to firefox-replay.com. PR_CONNECT_RESET_ERROR


Is there a replaying debugger for reverse-engineering dotNet programs?

Really hope they can get this working with WebGL

Can I add a little bit of randomness to this?

Is this a rebranded Firefox Focus?

Macos only for now

Maybe once they figure out how to monetize the data

Please don't post flamebait here. It degrades discussion and evokes worse from others.

https://news.ycombinator.com/newsguidelines.html

We detached this subthread from https://news.ycombinator.com/item?id=21657475 and marked it off-topic.


Chrome's dev tools are so far beyond the competitions that this joke is a non-starter.

When Chrome does add this capability(strange they haven't added it to date given the prior art from years ago), I can see it being used by actual devs inside Google and thus being actually useful.

Contrast that with Firefox dev tools which seem to fall behind the priority list compared to new shiny flashy tech projects they concoct.


It's against the site guidelines to be snarky and to dismiss other people's work like this, so please don't. I'm sure you can make your substantive points thoughtfully, so please do.

https://news.ycombinator.com/newsguidelines.html


Don't know why you're downvoted but you're totally right. FF's dev tool is still very far behind Chrome's. IIRC things like websocket inspection aren't even in mainline FF yet.

If people want to see many examples of what Chrome's webtool can do and FF can't, just take a look at this page "What's New In DevTools" for each Chrome release.

https://developers.google.com/web/updates/2019/10/devtools


> things like websocket inspection aren't even in mainline FF yet

Releasing with Firefox 71. https://hacks.mozilla.org/2019/10/firefoxs-new-websocket-ins...


People have been asking for it for years though. IIRC Chrome has had it since at least 2012.

As a former gnu/linux user, I see no point to have it on a desktop. Gnu is happy to live under c:/MSYS2, and ‘linux’ part was never good at desktop-home hardware anyway. These 1.77% are barely justified as an option, imo.

"Eschew flamebait. Don't introduce flamewar topics unless you have something genuinely new to say. Avoid unrelated controversies and generic tangents."

https://news.ycombinator.com/newsguidelines.html

We detached this subthread from https://news.ycombinator.com/item?id=21656533 and marked it off-topic.


I don't know what you're talking about. I've used Debian, then Ubuntu for decades. I'm lucky I don't need the few commercial apps that hold people back, so I get the advantages of everything just working, with a good package system that whole time. These days so much is available in the browser or distributed systems, it's even easier.

As for 1.77% (excluding ChromeOS and Android based desktop apps, of course), I'm going to guess those people are more significant in terms of software development and user advocacy, on their own and in networks, than the bulk of users. Certainly constantly compromising and taking the enclosed garden path has its drawbacks for the larger community.


I’m talking about numerous issues that I had with linux kernel (and alikes) on desktops and workstations for decades.

My story is freebsd 4.x-7.0, then debian (codenames I forgot), then OSX 10.5-10.9, then unbuntu/mint since ~ 2014-2016 maybe (when gpu and os updates broke it again). I also supervised an entire office of debian/ubuntu + printers & scanners for few years. I’m not what you would call a regular linux hater, and it has it’s own unquestioned throne at the server side.

But struggling with the drivers, laptop battery health, suspend issues, lack of business software, configuration, etc etc etc is too much for a regular user who wants things to be done. I was trying to create a scalable solution of win->linux transition for small offices at our company, and it failed. I was converting simple (non-gaming) home users to linux, and it failed most of the times.

I’m not even going into partition and breaking changes in DE teams here, which are de-facto your walled garden version of corp, inc.

>constantly compromising and taking the enclosed garden path has its drawbacks for the larger community

This I am not doing though. I’m using all the software you’re using, including bash, ls, soffice, gcc, etc. I’m all gnu, all unixway, but just not linux kernel & DE and that only on a desktop.

>those people are more significant in terms of software development and user advocacy

But I am one of them, except probably 20x of average experience and real advocacy attempts.


Linux these days, if you just want a working desktop experience, requires no configuration. You pop in an ubuntu usb drive and install, done. It will often run better than the version of windows that the machine actually shipped with. Myself, personally, I stopped running anything but linux more than a decade ago. All I remember from windows is how often it broke in ways that were completely unfixable.

Until you need to use an external device - camera, microphone, speakers, printer, scanner... most of the game mice keyboards...

You can get every of those devices with Linux support with a bit of research before buying. It's not the fault of Linux if the manufacturer of your hardware doesn't care about the platform.

Firefox and Chromium crash constantly on a fresh install of Ubuntu 18 on my Thinkpad T420. Only excuse I can think of is that it's an old machine.

I want to switch but every time I kick the tires I'm baffled at how quickly it blows up.


It really sounds like a hardware problem. Linux excels on older hardware.

Do you have bad ram?

I've had more problems with my brand new (2 month old) macbook pro, than with my 5 year old home linux laptop.

I'll throw my experience in as well. I recent memory within the past year, I count upwards of 5-6 different people coming to me with problems on their preinstalled, officially supported Windows laptops, where one day something just outright stopped working because of a background update or random registry change.

One couldn't launch any games because one day out of the blue Windows installed a second graphics driver alongside their first one for no discernible reason. One out of the box couldn't connect any external monitors or get any signal from its HDMI port. One had its audio stop working, and I never found out what the problem was -- for all I know, it still doesn't work. Just the other day I was updating a laptop at work and discovered that every 3 minutes the mouse drivers would just stop working for 1 minute. When I upgraded a Surface Pro 3 to Windows 10, I ended up with 2 OneDrive folders and half of my documents permanently deleted. Then I had to download a 3rd-party firmware driver that was only rated for Windows 8 and wasn't linked anywhere from Microsoft's site to do touchscreen calibration again on the Surface device that Microsoft built.

Which, OK, I'm not going to pretend I haven't seen weird stuff happen on Linux. But these are officially supported devices that only have one job -- to work with Windows. And people run into these problems, go on to 4 year old abandoned Microsoft forums that tell them to start messing with their registries or randomly installing drivers, and then turn around and tell me that they can't use Linux because AskUbuntu isn't "real" support.

All of this is anecdote of course, but at the end of the day I make decisions based on which platforms by my experience cause me the most trouble. Linux causes me less trouble than Windows.


I'm not going to get into a flame war over marketshare, because I couldn't care less -- from my perspective, there has never been a better time to use Linux on the desktop, and its never been in better shape than it is today.

That doesn't mean everything is perfect, or even good. I'll complain about HDPI scaling, touchscreen support, and security all day. There's some real stuff to improve.

But, I also take that criticism with a bit of perspective, and the truth is that Desktop Linux overall is really good, and it makes me more productive, and it makes my life better, and the overall direction that the desktop is moving is positive. There are things that Linux does better than any other modern OS, and I find that using it as a daily drive is un-complicatedly, un-idoiologically, purely-practically nice.

It wasn't nice in the past. When I was growing up, using Linux required pretty substantial sacrifices. I don't have the same reservations recommending something Ubuntu or Manjaro now that I used to have.

Even on the nontechnical side, if I'm going to provide computer support for someone, I usually stick them on Linux, because I have more control to simplify their environment and it's easier for me to quickly solve their problems. It's really good, I appreciate all the hard work that's gone into getting it here, and I'm optimistic about its future.


> These 1.77% are barely justified as an option, imo.

It's actually 25.6% for developers (Firefox Replay is a developer tool after all) according to the StackOverflow survey: https://insights.stackoverflow.com/survey/2019#technology-_-...


And it is probably even higher among developers who also use Firefox. Anecdotally most Linux users use Firefox, while for developers on Mac it is mostly Chrome.

> As a former gnu/linux user, I see no point to have it on a desktop.

Except, of course, software freedom.


Which Mozilla doesn't care that much about.

True, Linux on desktop sucks out of the box. But Windows and Mac suck and it’s not possible to make them good. Personally, I just switched back to Linux after 10 years on Mac. It’s a rough start but now it’s better than Mac and I can continue building the environment I want.

I've been using Linux on the desktop for 20 years now (Debian mainly) and I think things have never been as good as they are now. Its not important (to me) that there are only ~2% desktop users, just that FOSS continues to evolve at the same pace as it has...

After struggling with GPU drivers, again, the last couple of days, I could not agree more!

I'm assuming these were the closed source proprietary GPU drivers.

I assume this was nvidia. AMD and Intel drivers are finally in a good state but nvidia is as bad as ever.

Developers primary os

https://insights.stackoverflow.com/survey/2019#technology-_-...

Windows 47.5%

MacOS 26.8%

Linux-based 25.6%

BSD 0.1%

2% of yahoos and nobodies run Linux on the desktop 1 in 4 developers do.

Linux like Mac has never had and will never have perfect support for all hardware. Much like you can buy a Mac from the store you can buy a well supported system that comes with Linux.

Unlike Mac you can install it on a lot of systems and go.


Just for perspective: 1% of 1 billion is 10 millions. That's a lot of people and then some.

trolling much?!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: