9 ms·
How Stylo Brought Rust and Servo to Firefox
- pitaj 9y agoOne thing I've noticed about Firefox, especially on mobile, is that transform animations are pretty janky. Does anyone know if this is being worked on? Should I submit a bug report?
- muizelaar 9y agoThere are no known issues about this. You should submit a bug report.
- pcwalton 9y agoFeel free to file a bug report with your hardware, Firefox version, and test case, yes. These often boil down to simple bugs (hardware-specific or page-specific) that can be quickly fixed when isolated. The medium-term effort to revamp the graphics stack is WebRender. Note that, like Stylo, WebRender is not just meant to achieve parity with other browsers. It's a different architecture entirely that is more similar to what games do than what current browsers do.
- spiderfarmer 9y agoFirefox’ CSS transform/animation performance is terrible on macOS. I filed a bugreport but there’s no interest in solving it unfortunately. https://bugzilla.mozilla.org/show_bug.cgi?id=1407536 https://bugzilla.mozilla.org/show_bug.cgi?id=1407536
- pcwalton 9y agoThose are very general conclusions to draw from one test case. The bouncing ball test runs at 60 FPS for me on macOS; most of the time is spent in painting, as expected. Likewise, Stripe scrolls at 60 FPS for me. I should note that the bouncing ball test is the kind of thing that WebRender is designed to improve—painting-intensive animations—so it's obviously untrue that there's no interest in improving this sort of workload. When running your bouncing ball test in Servo with master WebRender, I observed CPU usage of no higher than 15% (as well as 60 FPS)…
- kbenson 9y ago> With the page at stripe.com, I don't see any difference between FF52ESR, FF56.0.2, FF57.0b14 with servo enabled, or with it disabled. On my 2012 Macbook Air with macOS 10.12, I see about 98-108% CPU on each, according to iStat Menus CPU meter. With Safari it's about 35%. That's exactly what I would expect based on past experience. > I would probably close this as invalid, as it's not something new or specific to Quantum or Servo, or as a duplicate of one of the older bugs, though I'm not sure which. That likely points as to why there's little movement on this bug. It's title can be interpreted to indicate a Quantum regression, but it's a general issue that's longstanding, so it may be the people that are seeing it are not focused on it (they're likely tracking down and fixing actual regressions, not known problems). I know that doesn't help your issue, but it may help you locate the relevant bug report and lend your weight there, if you feel so inclined.
- aidenn0 9y agoKind of OT, but I've noticed both latency and battery-life hits for compositing WMs in X (compared to traditional WMs). Are those things being measured at all in FF? It may be that the tradeoff is worth it (and I have no doubt it can be done better than the median compositing WM on linux), but it would be good to have that data. On the other hand, it may be moot if Wayland does end up taking over from X.
- majewsky 9y ago(Nitpick: Traditional WMs composite as well, they just do it on the CPU instead of the GPU.) That's interesting. I remember the developer of KWin (KDE's window manager) saying that he considered disabling GPU compositing when the battery runs low, but he couldn't prove that this actually saves energy. In fact, on some configurations, GPU compositing was less power-intensive than CPU compositing.
- aidenn0 9y agoI thought traditional WMs had the clients send the draw commands directly to the server, rather than doing any compositing themselves? It's definitely true that different GPUs have different power profiles (and even the same GPU with different drivers).
- infogulch 9y agoDon't forget "race to sleep". If the GPU takes 3x more power but completes 10x faster and can go back into low power mode sooner that could be another power savings.
- majewsky 9y agoNo Qt or GTK application sends draw commands to the X server anymore (except for the final "draw window-sized pixmap"). That only applies to xterm or maybe Tcl/Tk stuff.
- aidenn0 9y ago
- ksec 9y agoI am still a little sceptical of WebRender. Not for its theory or implementation, but relying on Graphics Drivers and GPU to do the work continue to be a pain. There are lots of Laptop with Graphics Drivers that doesn't ever get updated.
- pcwalton 9y agoWebRender doesn't actually necessitate a GPU backend. You could have a CPU backend just as well. (In fact, I might up being the one writing it.) ;)
- ksec 9y ago>WebRender doesn't actually necessitate a GPU backend. Wow to me this is big news! I have long wanted the GFX part to be CPU backend instead of the trend of Hardware Acceleration on GPU. Cant wait to see the results.
- cpeterso 9y agoStylo is now enabled in Firefox for Android's Nightly builds. You can install Nightly from the Google Play Store to see if Stylo makes a difference for the animation problems. https://play.google.com/store/apps/details?id=org.mozilla.fennec_aurora https://play.google.com/store/apps/details?id=org.mozilla.fe...
- pitaj 9y agosince when? I've been running Nightly for months.
- johnp_ 9y agoLanded ~5 days ago: https://hg.mozilla.org/mozilla-central/rev/db56323cd08f https://hg.mozilla.org/mozilla-central/rev/db56323cd08f
- kibwen 9y agoAccording to this tweet, four hours ago: https://twitter.com/cpeterso/status/935594491339161600 https://twitter.com/cpeterso/status/935594491339161600
- jrowlingson 9y agoThis blog has a good example of the jank you are reporting. I am observing noticeable jank on the "slideup" animation on #fixedcontent.firstvisit vs. Chrome (62.0.3202.94). (macOS/10.12.6 FF/57.0 late-2013 MBP)
- makotech222 9y agoIn about:config, make sure privacy.resistFingerprinting is false. This messes with timer accuracy.
- DonbunEf7 9y ago"So it’s pretty clear by now that “don’t make mistakes” is not a viable strategy." This is more generally known as Constant Flawless Vigilance: https://capability.party/memes/2017/09/11/constant-flawless-vigilance.html https://capability.party/memes/2017/09/11/constant-flawless-...
- wyldfire 9y agoAnecdote regarding this new FF: I would find frequent cases where my system would stall for 10-20s (could not caps lock toggle, pointer stopped moving). I almost always have just Chrome and gnome-terminal open (Ubuntu 16.04). I had attributed it to either a hardware or BIOS/firmware defect. Now, after switching to Firefox I have gone a week without seeing those stalls. YMMV -- I never bothered to investigate, it could be something as simple as slightly-less-memory-consumption from FF, or still a hardware defect that FF doesn't happen to trigger.
- plq 9y agoTypical behavior when the OS is writing to the swap space to free some ram. If that ever happens again, you can run "free" on the terminal to see whether this is the case.
- throwaway613834 9y agoThis sounds vaguely like what I've been experiencing on recent Chrome versions. On Windows I've had Chrome randomly hang... initially on the network, then after a few seconds even the UI freezes. When that happens, if I launch Firefox and try to access the network, it hangs too. But programs that don't try to access the network don't hang. Then after maybe (very roughly) 30 seconds, it all goes back to normal. No idea what's been going on but it seems like you might be experiencing a same thing, and it seems like a recent bug on Chrome versions, not a firmware issue... I'm just confused at how it affects other programs. It didn't use to be like this just a few weeks ago.
- tdb7893 9y agoI notice chrome having these issues if I'm running out of memory or if another program is trying to read from the hard drive at the same time.
- throwaway613834 9y agoI am most definitely not running out of memory or having other programs active. I easily have like > 10 GB free RAM and it happens when nothing else is open. Like I was suggesting early -- my habits haven't changed. It's started doing this quite recently. It wasn't like this a few weeks ago.
- justizin 9y ago"browsers must maintain backwards-compatibility with every single webpage ever written" PAHAHAHAHAHAHAHAHAH
- sctb 9y agoPlease don't. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- JupiterMoon 9y agoFF has for me crashed more times in the last week than in the previous year. - Multiple installs on different Linux systems. The last crash was with a clean profile. And then there's the disappearing dev tools - that's fun. EDIT: I hope that there is something weird with my systems. But I fear that the rush to push this out might have been a little hasty. EDIT EDIT Apart from the crashes the new FF has been nice. I've been able to largely stop using chromium for dev work - so not all is bad.
- mbrubeck 9y agoYou can go to "about:crashes" to get some more information about reported crashes. If you open a crash report and click the "Bugzilla" tab, you can find out if a bug is on file for that specific stack trace.
- JupiterMoon 9y agoCool. I'll check this out next time. Any way to report the disappearing dev tools?
- dochtman 9y agoJust file it on https://bugzilla.mozilla.org/; https://bugzilla.mozilla.org/; you can login with your GitHub credentials.
- thomastjeffery 9y agoI have been using Firefox for several months, using Windows 10, and several GNU/Linux distributions, different hardware, etc., and have never experienced a crash. It's definitely something weird to do with your systems, meaning it's a real bug that you are experiencing, and I am not. So please share crash reports, and file bug reports. Different hardware/software quirks may reveal bugs in Firefox/Linux/drivers/window managers/anything. By submitting a bug report for Firefox, you may be able to help find a video driver bug, etc.
- 9y ago
- fulafel 9y agoCongratulations, it's really an unparalleled performance of parallel performance.
- vanderZwan 9y agoSpeaking of which: does anyone know if some new optimization land in the beta versions a couple of days ago? Or if some bug that caused delays on Linux got fixed? I updated my developer version yesterday and it was as if Firefox - already ludicrously fast compared to before - turned on the turbo booster. Obviously, I'm not complaining ;)
- wldcordeiro 9y agoThe next Servo component is webrender and I'm not certain on if it has been flagged to on for developer edition but that would certainly affect speed.
- steveklabnik 9y agoI'd be shocked, WebRender is still not default in nightly, and I'd expect that before it was turned on for beta/DE.
- moosingin3space 9y agoIf I remember correctly, it's in Nightly behind a feature flag, not Beta.
- vanderZwan 9y agoI'd be very surprised if that wasn't announced somewhere. Guess it must be a specific bug that affected my hardware more than the average person then.
- pimeys 9y agoIt's only on nightly and still buggy on certain chipsets. At home I have a Kaby Lake system and using WebRender for daily browsing without problems. At work I use a Skylake system which has trouble with some sites, such as https://tradingview.com https://tradingview.com If you want to read the latest info, there is a good status post from a couple of days ago: https://mozillagfx.wordpress.com/2017/11/27/webrender-newsletter-10/ https://mozillagfx.wordpress.com/2017/11/27/webrender-newsle...
- haberman 9y agoI'm a huge, huge fan of Rust, Stylo, Servo, WebRender, etc. Hats off to everyone involved.
- pcwalton 9y agoThanks for the kind words!
- haberman 9y agoYou're welcome! I guess while I'm at it I should mention that I am a huge fan of your HN comments also. I learn more from them on a technical level than probably anyone else on this site.
- cal_t 9y agoHaven't used firefox since they shamefully ousted JavaScript creator Brendan Eich for making a donation. So forgive me for not getting excited about Rust.
- bjz_ 9y agoYeah - it's really inspiring to see the grit and determination poured in over many years starting to pay off. Truly great software engineering happening over at Mozilla!
- pimeys 9y agoYeah. I got a taste of Rust in the last two years and it's the first tool set I really want to continue using. And it gave me the interest to dig into systems programming. I'm very grateful for that!
- nopit 9y agoInstalled the new firefox, had 1 tab running for a few days which had allocated more than 10gb of virtual memory. I had high hopes but im sticking with chrome.
- DigitalJack 9y agoForgive my ignorance, but does having X amount of virtual memory allocated necessarily correspond to physical memory (and storage for that matter?)
- tjoff 9y agoIt does not (but it is a big problem for 32 bit applications where you quickly run out of addressable memory).
- deathanatos 9y agoNo, it doesn't necessarily correspond. It could be an indicator, though. RSS would be more useful, IMO. That said, even if the poster is correct, it isn't necessarily wrong either. AFAICT, nothing stops JS on a page from allocating that much memory, and "leaking" it (e.g., holding on to the JS object, maybe accidentally in a giant list, and not making use of it). It isn't the browser's fault if JS is actually "using" that much RAM.
- deleted 9y ago[deleted]
- thomastjeffery 9y ago> Stylo was the culmination of a near-decade of R&D, a multiple-moonshot effort to build a better browser by building a better language. This is the most impressive, and useful aspect of all the recent work in Firefox. Rust is an amazing language. It really brings something new to the table with its borrow checker. The fact that rust was created as part of a greater effort to work on a web browser is amazing.
- stingraycharles 9y agoWhat I wonder, and I do not mean this in negative way, is whether this would have happened in a more commercially oriented organisation. Mozilla remains a foundation, and I consider Rust a fruit of their labour in itself. To put it another way, I find it hard to justify developing Rust just for a web browser. But if you consider it from the perspective of a foundation developing tools for the developer community as a whole, it makes much more sense.
- pjmlp 9y agoThe majority of programming languages used across the industry have had commercially oriented organisations behind them, including all the C family of programming languages.
- lucozade 9y agoIs there anything specific about Rust that you don’t think a commercial organisation would do? Obviously, commercial organisations have a long track record of developing and supporting programming languages.
- drb91 9y agoWell, it's been in development for at least 7 years, without any product until the url parser appeared. That's far greater of an investment with no return than I've seen at any software enterprise outside of Google X, Microsoft Research, and Intel's various funding efforts, and each of those arguably have had more projects cut off before they return than they have had projects that succeeded in generating some return. Enterprises tend to invest in <5 year projects, I've noted, and 5 years is a hell of a long time for an extended investment.
- agentultra 9y agoThis is a great story. For large, existing code-bases incremental change is the only strategy I've seen work. Kudos to the team behind it.
- thomastjeffery 9y ago> the breadth of the web platform is staggering. It grew organically over almost three decades, has no clear limits in scope, and has lots of tricky observables that thwart attempts to simplify. It would be great to create the html/css/javascript stack from scratch, or at least make a non-backwards-compatible version that is simpler and can perform better. HTML5 showed us that can work.
- notriddle 9y agoDidn't HTML5 only remove features that didn't work consistently across browsers anyway?
- dullgiulio 9y agoYeah but Firefox is already struggling while supporting all the possible standards and more ("sorry our site is better view with Google IE4... ehm Google Chrome"). The whole Mozilla strategy of corroding Firefox piece by piece is actually very professional. Big backwards-incompatible transitions in technology almost always fail.
- Manishearth 9y ago> sorry our site is better view with Google IE4... ehm Google Chrome FWIW this is usually due to folks doing performance work in only one browser or not really testing well and slapping that label on after the fact. Or stuff like Hangouts and Allo where they use nonstandard features. The major things Firefox doesn't support that Chrome does are U2F (it does support it now, but flipped off, will flip on soon I think) and web components (support should be available next year I guess; this kinda stalled because of lots of spec churn and Google implementing an earlier incompatible spec early or something.)
- kazagistar 9y agoI've been using a U2F plugin that works everywhere except google, which insists that you cannot possibly have U2F on firefox.
- 9y ago
- FlyingSnake 9y ago> They borrowed Apple’s C++ compiler backend, which lets Rust match C++ in speed without reimplementing decades of platform-specific code generation optimizations. This was a pretty smart move by the Rust team, and this gave them a rock solid platform to go cross-platform. In words of Newton, "If I have seen further it is by standing on the shoulders of giants". Kudos team Rust, and let's hope they eat C++'s lunch soon.
- sp332 9y agoDoes this just mean LLVM? Because it's weird to describe it as "Apple's", Apple just uses it.
- Manishearth 9y agoYes, this is LLVM.
- Sammi 9y agoApple doesn't "just use it". LLVM was originally developed at an university, then made production ready at Apple, and is still very much influenced by Apple, as Apple bases almost everything they make on it.
- fulafel 9y agoIt's slightly oversimplified. Apple hired Chris Lattner from academia to ramp up work on LLVM & create Clang. (Apple always hated GNU stuff so the motive might not have been purely technical.)
- GeekyBear 9y agoThere were a couple of purely technical reasons for Apple to pursue Clang. 1.) GCC was designed for command line use, not to provide integration (for instance, debugging info) into a modern IDE. 2.) Objective-C was not a priority for those who maintained GCC, but was for Apple. https://en.wikipedia.org/wiki/Clang https://en.wikipedia.org/wiki/Clang
- gjem97 9y agoWhat parts of FF 57 are written in Rust? Just Stylo? Edit: I don't intend for this to sound like I'm complaining, just interested.
- steveklabnik 9y agoStylo is the biggest and most significant thing; there are some smaller bits (a media parser, and something else?) included before 57.
- Manishearth 9y agoI'd say the change of the encoding stack to encoding-rs is pretty significant; while it's not that much code it's stuff that gets used throughout the codebase.
- steveklabnik 9y agoThat's fair, and you know the impact better than I!
- cpeterso 9y agoStylo is new in Firefox 57, but Mozilla has shipped other Rust code in earlier Firefox versions: https://wiki.mozilla.org/Oxidation#Rust_components_in_Firefox https://wiki.mozilla.org/Oxidation#Rust_components_in_Firefo... Completed: MP4 metadata parser (Firefox 48) Replace uconv with encoding-rs (Firefox 56) U2F HID backend (Firefox 57) In progress: URL parser WebM demuxer WebRender (from Servo) Audio remoting for Linux SDP parsing in WebRTC (aiming for Firefox 59) Linebreaking with xi-unicode Optimizing WebVM compiler backend: cretonne
- phkahler 9y agoCan anyone explain what a URL parser does and why it's so complex? I feel like there's a whole interesting story lurking there.
- kbd 9y agoIt's gratifying to see how successfully the same organization has learned from the debacle that was the rewrite from Netscape 4 to Mozilla in the first place. That time, they didn't release for years, losing market share and ceding the web to Internet Explorer for the next decade. Joel Spolsky wrote multiple articles[1][2] pointing out their folly. This time, their "multiple-moonshot effort" is paying off big-time because they're doing it incrementally. Kudos! [1] https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part https://www.joelonsoftware.com/2000/04/06/things-you-should-... [2] https://www.joelonsoftware.com/2000/11/20/netscape-goes-bonkers/ https://www.joelonsoftware.com/2000/11/20/netscape-goes-bonk...
- cwzwarich 9y agoThe original plan was for the Servo project was to develop a new browser engine separate from Gecko, similar to the original Mozilla transition. An alpha-quality browser with Servo as an engine was originally a 2015 goal, and the active goal tracking this was removed from the roadmap in 2016: https://github.com/servo/servo/wiki/Roadmap/_compare/47f490bf43c0a61b7d234aa2d7ed87f15210b012...9ffba10e5fc455c3443faa923221b7f46a6131f6 https://github.com/servo/servo/wiki/Roadmap/_compare/47f490b... As someone who was involved with Servo during that time period, I was disappointed at the time that it was quite obviously not going to happen. However, looking at what has happened since then, the change of focus towards Firefox integration was definitely a good move.
- majewsky 9y agoWhen I looked at browser.html, it was what you could call an "alpha-quality browser", unless we use different definitions of the term "alpha-quality".
- fabrice_d 9y agoWe all due respect, browser.html can do so little that it's hardly more than a prototype. Also, Servo itself as a web engine is still far from supporting enough of the web stack to be usable in a daily browser. I guess putting effort in Stylo diverted some resources from Servo - I feel it didn't progress much the last year in terms of "sites I can browse for more than 5 minutes". At this point it's clear that Mozilla is unlikely to staff Servo to fill the gap (although cpearce and others are working on getting the gecko media stack in Servo), but I wonder what will happen once WebRender makes its way in Gecko; are there any other pieces of Servo that can be useful?
- m0th87 9y ago> For example, register allocation is a tedious process that bedeviled assembly programmers, whereas higher-level languages like C++ handle it automatically and get it right every single time. Ideal register allocation is NP-complete, so a compiler can't get it right every single time. I'm not sure how good in practice modern compilers are at this, but would be curious to know if there's some asm writers who can actually consistently outperform them.
- Manishearth 9y agoI think "get it right" here is "have it work at all", not "get it fast".
- m0th87 9y agoAh, that makes sense!
- kbsletten 9y agoThey're not saying that C++ compilers do the best possible register allocation, they're saying that C++ compilers generate a register allocation that works and doesn't contain bugs. Technically, spilling everything to memory and loading only what you need to issue instructions is "getting it right" by this definition. No compiler strives to get the "optimal" anything in the general case, but we do expect them to strive to be "correct" in all cases. The language we use determines which properties are included in our idea of "correctness".
- deleted 9y ago[deleted]
- phkahler 9y agoOptimal register allocation has been polynomial time for more than 10 years - for some definition of optimal. IIRC it started with programs in SSA form and has dropped that requirement more recently. Modern GCC uses SSA form and I think LLVM might too.
- 9y ago
- Brakenshire 9y agoOne thing I've been wondering is that Stylo and Webrender can parallelize CSS and Paint, respectively, but I haven't seen any mention in Project Quantum (the project to integrate Servo components into Firefox/Gecko) of any component to parallelize layout, which is probably the biggest bottleneck on the web at the moment. Is parallel layout something which can only be done through a full rewrite, hence with Servo, and bringing Servo up to full web compatibility, or can this be handled through the Project Quantum process, of hiving off components from Servo into Firefox?
- kibwen 9y agoThe OP links a video from 2015 that implies that one of the advantages of making Stylo the first Servo component in Gecko is that the next phase in the pipeline, layout, will be able to benefit from having a well-defined interface in place. I'm curious about this as well!
- bholley 9y agoSince I gave that talk, it's become more clear to me that servo's layout engine is a lot farther from feature-complete than the CSS engine was. So my hunch is that the granularity of incrementalism we used for stylo may not be workable for layout. That said, we are absolutely going to explore opportunities for more Rust/Servo in layout, so we just need to find the right strategy. One incremental step I'm interested in exploring is to rewrite Gecko's frame constructor in Rust using the servo model, but have it continue to generate frames in the Gecko C++ format. This would give us rayon-driven parallelism in frame construction (which is a big performance bottleneck), while being a lot more tractable than swapping out all of layout at once. Another thing to explore would be borrowing Servo's tech for certain subtypes of layout (i.e. block reflow) and shipping it incrementally. Each of these may or may not share code with Servo proper, depending on the tradeoffs. But Servo has a lot of neat innovation in that part of the pipeline (like bottom-up frame construction and parallel reflow) that I'm very interested in integrating into Firefox somehow. We're going to meet in Austin in a few weeks and discuss this. Stay tuned!
- Manishearth 9y ago
- bdmarian 9y agoI really like the new Fox. I’ve tried switching over completely but I think it’s causing some random BSODs on my Latitude E5570. The laptop does have a second Nvidia graphics card, for which there is no driver installed. ( don’t ask :) I’m perfectly fine with the onboard Intel and I much prefer the extra hours of battery life)
- xstartup 9y agoI use firefox/rust every day. Thanks for the one of the most interesting language!
- VeejayRampay 9y agoIt might sound very naive to say this, but I found it very cool that it was someone from the States, an Aussie and a Spaniard working on this, open source is something magical when you think about it. Props to everyone involved, all those projects sound like a lot of fun for a good cause.
- Manishearth 9y agoBoth the stylo and servo teams are extremely distributed. For servo we've had long periods of time where no two employees are in the same office (it helps that most folks are remote). In both teams we found it impossible to pick meeting times that work for everyone so we instead scheduled two sessions for the recurring meetings, and you can show up for one of them (the team lead / etc are usually at both so they're scheduled such that it is possible for them to attend both). Though for Servo we eventually stopped the meeting since we're pretty good at async communication through all the other channels and the meeting wasn't very useful anymore. Also, to clarify, while that was the initial team, shortly after getting Wikipedia working the team grew with folks from the Servo and Gecko teams. Eventually we had folks living in the US, Paris, Spain, Australia, Japan, Taiwan, and Turkey working on it. As well as volunteer contributors from all over the place.
- linkregister 9y agoI love Firefox Quantum and it has replaced Chrome as my browser at home. It's memory consumption is far lower with the same amount of tabs open. That said, why does it perform slower than Chrome on most benchmarks? Is it due to the Chrome team doing much more grunt work regarding parallelism and asynchronous I/O? Or are there still features in the current Firefox build that still call the original engine? Does Rust have a runtime penalty as Golang does?
- steveklabnik 9y ago> most benchmarks Which benchmarks are you talking about? It depends on what those benchmarks measure. For example, a lot of the Quantum work was in user-percieved UI latency; unless the benchmark is measuring that, and I imagine that's a hard thing to measure, it's not going to show up. > Does Rust have a runtime penalty as Golang does? Rust has the same amount of runtime as C does: very very little. https://github.com/rust-lang/rust/blob/master/src/libstd/rt.rs https://github.com/rust-lang/rust/blob/master/src/libstd/rt....
- ricardobeat 9y agoNot sure if this is normal, but I have very noticeable lag in the search/address bar autocomplete which does make the whole browser feel a bit slow (MacOS Sierra, using Developer Edition). And since we are here, the prompt/dialog windows in FF are still not native looking too. These are my two major complaints :)
- steveklabnik 9y agoI don't work on Firefox, but you should file bugs. I've generally had a pretty good time doing so.
- labster 9y agoI've enjoyed filing bugs too, but my first bug is about to celebrate its 10th birthday. Hopefully it will be fixed before it can legally drive a car.
- mi_lk 9y agoOff-topic, but does anyone know why in FF on Mac the pinch to zoom functionality is disabled by default? Is there any performance concern?
- nicalsilva 9y agoIt's a matter of allocating time to implement the missing parts and get it to work properly. Right now the people who could do this are working on other things but it will get done eventually.
- vatotemking 9y ago> The teams behind revolutionary products succeed because they make strategic bets about which things to reinvent, and don’t waste energy rehashing stuff that doesn’t matter. This needs to be emphasized more
- Annatar 9y agoFor example, register allocation is a tedious process that bedeviled assembly programmers, Yet more propaganda. I’ve been part of the cracking and demo scene since my early childhood. If you didn’t code in assembler you might as well not have taken part in it at all, because small fast code was everything. None of us ever had an issue with register allocation, nor do we face such issues today. Not 30+ years ago, not now.
- xtf 9y agoThanks Mozilla Going to donate
- Vinnl 9y agoThis is a great write-up that gives me warm fuzzy feelings. What also is interesting for me to realise, though, is that a lot of this was happening at the same time as Mozilla was largely focused on Firefox OS, and receiving a lot of flak for that. It's a shame that Firefox OS failed, but it was clear that they had to try many different things to remain relevant, and it's excellent to see that one of those is very likely to pay off. Even though Rust might've been dismissed for the same reasons Firefox OS was.