“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.“
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.
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...
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 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.
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.
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).
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.
Is it not supported on Linux and Windows? Why?