Friday, March 23, 2012

Calling out the kvetchers

First of all, it looks like there have been no more major issues with Fx11, so the plan continues with Fx12, the port of which will begin after beta 3. We are looking at getting the CoreGraphics backend working with 10.4. We can still use a Cairo fallback if this is no good, but it would accelerate our canvas performance by a decent amount, and it may be possible Mozilla may use this for the entire browser chrome, so this is a potential win if we get it operational. The other thing on tap is to reschedule XPCOM calls better for the G5, in the same vein that we did for JavaScript, which should further smooth out performance.

Anxiety is building in the Power Mac community now that Mozilla has officially announced 3.6 is dead, and no one is really sure what will happen to Camino (they still make updates, and historically they have maintained old branches after Firefox versions based upon it have ceased, such as 3.0 (Camino 2.0/Mozilla 1.9.0), but there is no clear future for the project and Mozilla 1.9.2 is quite long in the tooth by now). Some people are bailing out for Linux, and there are some nice options there. I tried Lubuntu 12.04 on my 867MHz TiBook which normally runs OS 9, and the LiveCD was very impressive. I missed having the JIT in Firefox, though ...

Nevertheless many of us, including yours truly, will remain 10.4 (and 10.5) users simply because we need the software options and/or Classic, and the browser options will continue to dwindle. Since Mozilla has indicated us as their official recommendation to Power Mac users going forward, we want to make sure we are covering all bases, which is why SUMO entries like this and this Mozillazine thread (possibly the same user) really cheese me off. Thanks, sport, for slamming the project in public (in so many words, "I think it's nice but it sucks") and then admitting in that same SUMO thread that you haven't even bothered to report your issue(s) to us, whatever they actually are. I can't fix what I don't see, but I don't even look unless you tell me about it. Chris and Theo are on the job in the support area, plus whatever crack users are around, plus myself. There's no excuse for not reporting issues as pervasive as this user claims to be experiencing anymore; we have the infrastructure and we have the volunteers to at least triage it. If we can't fix it, well, I suppose I can't blame someone for having a bad opinion of the software in that case (justified or not), but not even giving us a chance is just plain mean.

Also, yes, we know Mozilla has thrown in the towel and is working on an H.264 solution, so please stop E-mailing me, posting support threads about it, etc. A couple of notes: 1) it's going to have to involve QuickTime; I am very leery of the legal risk I or others would assume if we embed ffmpeg because there is no exception for decoders, even not for profit and 2) while it will be faster than WebM, it will still be slower than the QTE because the QTE doesn't have to composite the video and can use OpenGL hardware to accelerate display, whereas we still have to composite, scale, etc., the video in TenFourFox. Please keep these issues in mind (and accept that I won't enable the option if it turns out Mozilla won't support QT or uses a QT X-only API). I am really hoping Mozilla's legal counsel issues some opinion on this that those of us downstream can take to the bank.

As soon as Mozilla finishes with 10.0.4, which is usually week 3 or 4 in the cycle, we will push out a go-to-build, and hopefully 12 will be out by then too.

43 comments:

  1. I'm sorry to say I've largely reverted to Camino nightly on the G4 due to the featherweight nature of the program. The JIT is noticeably slower on some sites and the pop-up blocking is substandard but the ability to instantly load a nightly app on this old machine is somewhat exhilarating and a nearly extinct experience on the platform. I think, like all organisms TFF must adapt to thrive, and if it is being challenged by a comparatively unmaintained project that presents a problem. I propose that an unstable branch be developed and geared toward your most active and coincidentally most modern user base, AuroraFox.

    ReplyDelete
  2. I have also heard things like that when I try to inform about TenFourFox to PPC users. I love TenFourFox, because it demonstrates that PPC Macs and OS X 10.4 are not obsolete. Many people just say like "Firefox 3.6 uses less memory, so I just use it." and "No plugins? This browser is shit.". I just cannot understand these people. TenFourFox is the future, Firefox 3.6 is abandoned past. How hard is it to understand?

    My 2 cents

    ReplyDelete
  3. The "buggy" complaint might have something to do with plugins, being that they are unsupported. Between TenFourFox 6 and 7, the menu button on quicktime content stopped working.

    ReplyDelete
  4. I'm curious about IonMonkey in TenFourFox.
    - Will it be simpler to get going on PowerPC than JM was? How does it compare with now-retired TM?
    - How hard would it be to make it competitive with JM as currently present in TFF?
    - Does it have potential to be faster than JM on PPC (PPC-specific optimizations such as using AltiVec etc.)? IIRC enabling optimizations was one of the goals of IM.

    ReplyDelete
  5. Long reply while I wait for PhotoRec to finish rescuing files off my mother's sick iBook (there's always something when I visit the folks').

    @commenter, while I empathize with your frustration, I don't see how an "AuroraFox" solves the issue of performance. If anything, Australis may in fact make performance worse, because it has more elements and strains our software renderer further. People keep forgetting that Firefox (and, for that matter, SeaMonkey) use an almost entirely synthetic user interface and Australis/UX is more complex than the simple tabbed interface we use now. That's why Camino (on Mac) and K-Meleon (on Windows) existed in the first place, so that native OS-supported controls could be used. The optimal solution would be, if Mozilla still supported embedding, to embed Mozilla.next in the Camino shell, but if the bright folks working on Camino could have figured that out, however, they would have. I think it was a short-sighted move on Mozilla's part to kill embedding, but I'm just a Mozilla contributor; I have no voice in the organization.

    There isn't going to be a "TenFourFox Lite" from me. Besides essentially doubling the build time (which already requires close to 8 hours to generate all four architectures), I have to go through and tag what's needed for function and what isn't (and deal with people who disagree), and this robs time from porting as much of the full product as possible. If someone(tm) wants to do this, great. TenFourBird, and I hope it "lifts off," is the first downstream product to use our patches. It leads the way for others if it succeeds.

    But I will give you an idea that will actually help you (though I'm not your man for that either): porting the tracejit backend to Mozilla 1.9.2. Once this is done, it would "just work" with Camino, and while TM is now greatly outclassed by JM+TI, it's still a lot faster than the 1.9.2 interpreter. The changesets from 4 to, say, 7, specifically to js/src/nanojit and the build system, would mostly apply to 1.9.2, though you would need configurations for G5 and the extra LIRops that were dropped between 3.6 and 4.0. You don't get the rest of the AltiVec work, nor the HTML5 features, but you would get the JIT and this might be good enough for awhile. If you find someone who wants to work on this, I'll be happy to advise, but again it's not a project I'm personally going to pick up.

    Overall, yes, Camino wins the war: it may be less functional, but it's smaller as a benefit, and the native controls are faster. However, it is losing the battle: there is no upgrade path for it and it may not survive to make a transition to WebKit. You can consider this in the context of someone who was an avid user of Camino until I started working on TenFourFox. But, as long as Camino meets your needs, I'm glad it meets your performance requirements as well.

    @Johnson, maybe. Still, we'll never know, apparently.

    @uyrujyr, IM is almost certainly going to be harder. They do use the Nitro macroassembler, but most of it uses a new and different MASM and a different intermediate representation. Very little of what Ben and I wrote for JM+TI is going to translate directly, which is depressing, because it's going to be another big load of work on the backend. The optimizations so far are more generic kinds like LICM and SSA, which should benefit us as well; the only SIMD extension I know about is River Trail and that's an Intelism (see bug 644389). I don't know enough about the performance but AWFY is showing some improvements piece by piece, so we'll see. I'm just not looking forward to implementing a third JS engine in as many years.

    ReplyDelete
  6. After playing with a new iMac Quad Core i5 for a few hours yesterday, the hole performance thing with PPC browsers for me dropped to "nice to try squeezing everything out of your old Mac", but not the most important thing anymore (unlike security and web standards compatibility!). Because it's pointless anyway – Firefox 11 on Lion starts up instantly and literally flies through any website or web movie or whatever you throw at it. Any PPC Mac I've seen in comparison is a completely hopeless case. PPC Macs are for enthusiasts, or people (like me) who don't believe they have to buy a new computer every year and the older one they have is sufficient for what they want to do with it. But to complain about TenFourFox being slow or heavy or whatever is unfair. It's not the browser that's slow, it's the PPC Macs.

    ReplyDelete
  7. Very interesting tips for Camino+, I hope someone does this (maybe even Camino, I joke) And if they do the impetus for AuroraFox grows exponentially.

    TFF is a modern project, just as modern as FireFox itself. The challenges of modernity (which Camino have avoided thus far by being "good enough") TFF must always confront head on.

    I believe AuroraFox is an inevitability just as TenFourFox was (sort of a Cambridge-Oxford situation? Forgive me). But before we take the conversation further we need to find out what ports to what OS, definitively.

    IM? UX? H.264?

    I'm far from a programmer but it wouldn't surprise me if one or more of these integrated more smoothly (or at all) with 10.5 and performance as a whole was boosted by removing 10.4 specific hacks. Again, "Aurora" could never replace the mothership but it would be a specialized derivative for the real majority of people that are actually using this brilliant project which takes current code and successfully executes it from G3-10.4 to G5-10.5.

    I also feel it is a noteworthy accomplishment that there is now a downstream project. An expanding ecosystem means resources abound!

    And PPC is not weak hardware! my 7450 multitasks flawlessly up to 5 cocoa apps in energy saver for hours as I have previously attested.

    Hopefully someone will step forward and deliver your promising Camino+ idea and/or AuroraFox, either way a giant step forward for PPC in it's first decade of obsolescence. Jobs would be proud!

    At the end of the day, if all 3 features make it to TFF that would be cause for celebration.

    ReplyDelete
  8. @commenter, I guess I don't understand what you mean by "AuroraFox" and what your intent is for it. Is it a "lite" version, with certain features disabled? Is it using a different interface or native widgets? All of the above? It's mostly an academic exercise from my perspective, but if there is to be interest from another developer there needs to be a clear definition.

    PowerPC is not weak hardware per se (my POWER6 is a beast), but there has been no evolution in Power Macs specifically since 2005. Even the quad G5, at its best, was "merely" designed to compete against the Pentium 4 of that generation and which itself was nearly totally eclipsed by Core. I have a 2007 Intel C2D mini which I use mostly for Android development, of modest specification by today's standards, and on some tasks it is nearly as fast as my quad despite a lower clock speed and half the cores. (I just don't care for it much, which is why I use the quad.)

    As Chris eloquently points out, the point of TenFourFox is to keep Power Macs relevant; it will not approach the speed of an Intel Mac because it simply can't. But I don't need an Intel Mac to do most of my tasks and I just need a browser that works, and works with today's sites. And it does.

    ReplyDelete
  9. AuroraFox

    - 10.5
    - G5 & G4e
    - UX
    - H.264
    - Best JIT per Arch

    Your Camino idea is excellent and probably easier to execute in the short-term. The exciting part is it would run on all the platforms that Camino (& TFF) already do.

    In closing the war is not won until Chris reports Peacekeeper scores of 400+!

    ReplyDelete
  10. Yes, but the UX branch and H.264 are going to land eventually, and we already support 10.5, PPC and JIT. So what's different?

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. A few more thoughts:

    What if it could be released buildbot only, sort of a rolling release with less emphasis on version numbers. The big thing is it shouldn't overshadow TFF at all. I don't think it needs a website or formal blog posts just sort of an option for people who know.

    Thinking even further ahead, is Floodgap's destiny to host a waterfall for Mozilla PPC builds?

    It is unquestionably the market leader.

    Now a sci-fi exercise:

    2020, Classilla userbase is down to the remaining Tribe elders. TenFourFox download statistics are 99% G5/G4e. The fate of Floodgap, and thus Mozilla-PPC lies in the hands of one (two) optimized build(s)!

    And if electric costs for the additional server are the major hurdle, I'd be willing to sponsor.

    ReplyDelete
  13. It still needs someone working on it, if for no other purpose than to remove the 10.4-specific code which you mentioned above, because I do my development on my 10.4 G5.

    I don't accept donations for the simple reason that it's too complicated (having seen my folks recently get bludgeoned by the American IRS, I'm not interested in courting disaster), and it invites expectations I can't guarantee. I don't have a compelling reason to run a buildbot tracking -aurora or -central myself otherwise, especially since such a bot would likely be in a broken state much of the time because upstream changes are not guaranteed to be compatible, and that means even more work for me to make it worth it.

    I'll be happy to facilitate for anyone who wants to pick up the job, but I learned early on never to accept projects for which I personally am not part of the audience.

    ReplyDelete
  14. Right, tracking -aurora would require a lot of manpower we won't get. That is totally off the table. The real point of AF's existence is to have the fastest possible UX browser for your Leopard constituency, which I assume is a majority within the UB majority. Any light shed on those stats would be appreciated.

    I won't patronize with statements like "surely Floodgap could use a hot new 2012 underground brand" or the like but I still believe it is a sensible idea.

    Thread readers, do your work and spread the word to able-minded Leopard devs! If I understand correctly the hardware is available and the main task would be removing obsolete code, tweaking and optimizing.

    The other valuable undertaking would be Camino+ (working title). Probably less time consuming and reaches the full range of platforms (and as close to PPC-Chromium as we may get until Google sends a Summer Coder ;D).

    ReplyDelete
  15. > Any light shed on those stats would be appreciated.

    A completely unscientific sampling of the update checkins to the server from 00:00 to 13:30 Pacific this morning, numbering exactly (!) 2750, showed about 58% 10.5. At some point I should keep better statistics, but it's more for interest than any particular targetting strategy.

    ReplyDelete
  16. Hi Cameron,
    Are you set up to be involved in Google Summer of Code? You could get help with "implementing your third JS..."

    ReplyDelete
  17. It's a thought, but we're all just speculating until IM gets fast enough to replace JM+TI, and it's nowhere near that yet.

    ReplyDelete
  18. A while ago I indeed tried to backport TFF nanojit to camino but it resulted much more complicated than I had expected. So for someone who doesn't know nanojit at all it's quite a lot of work - too much for me doing it for an already outdated browser.

    ReplyDelete
  19. Yes, I think those were the biggest problem. And some other incompatibilities.

    ReplyDelete
  20. Cameron, the thing that has me (on my 400 MHz PowerBook G4 7400 w/ TFF 1.0.0.3) tearing my hair out is the typing buffer in text fields like this comment form: suddenly up to a sentence may just drop out, not appear on the screen, and when screen type resumes (not "catches up") that text is simply gone and has to be retyped. I have no "other platform" to crosscheck against FireFox proper; this is my only computer. I didn't see this happen with earlier versions -- though the last few fractions went by so fast I might simply not have fairly tested them.

    This for me is an appkiller, sorry. If I can't *write* with it, I'm gone.

    ReplyDelete
  21. I've never seen anything like that on the 450MHz G4/7400 in the shop, although it's a Sawtooth, so it isn't precisely your configuration. There have been no similar reports, but if someone can provide me STRs, I can investigate. A misbehaving extension could cause something like that, however, so either restarting in safe mode or trying a clean profile is where I would start.

    ReplyDelete
  22. @ClassicHasClass, thanks for the stats, impressive for a random morning.

    @Tobias, I know of your expertise porting WebKit to Leopard, would you consider attempting AuroraFox?

    ReplyDelete
  23. I've noticed the typing buffer issue also, since maybe TenFourFox 9, on a 1ghz g4 7450

    ReplyDelete
  24. That work on maintaining WebKit compatible with Leopard is quite time consuming - and I spend very little time in bugfixing.
    What I could provide are patchsets against mozilla beta that contain just the enhancements TenFourFox has done to improve speed on PPCs. So that might be one patchset per TenFourFox release (provided the fixes).
    I'll not build release packages. So building, packaging and uploading would have to be done by someone else.
    There wouldn't be any end user support provided from my part.
    I'd be able to proceed until mozilla decides to drop support for 10.5 (until now it seems 13 will still run on 10.5).

    ReplyDelete
  25. So if I understand correctly, when UX hits Beta, you're willing to produce a patchset per TFF release that removes pre-G4e, optimizes for Leopard and someone else can build/package and release?

    *commenter pops champagne*

    Welcome to the team.

    ReplyDelete
  26. @Johnson / @Raven: I need a site that does it consistently that I can reproduce. (If it's "everywhere," that won't help, because obviously I'm not seeing that.) I have an iMac G4/1.0 which is doing just great (it's my desk machine), so there has to be an explainable difference. Also, 10.4 or 10.5?

    ReplyDelete
  27. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  28. This comment has been removed by the author.

    ReplyDelete
  29. @ClassicHasClass, do you know roughly when Australis will reach Beta?

    ReplyDelete
  30. I don't have a Mac nor am I a lawyer, and this is probably an incredibly stupid idea, but would it be possible to ship ffmpeg, but only enable it if the H.264 codec is found in QuickTime? I know it is probably a stupid idea, but if it is acceptable, then you could use ffmpeg's fast implementation.

    ReplyDelete
  31. @commenter, no idea. I imagine Windows will be first, though, so I wouldn't expect anything much earlier than Fx15 or so.

    @Jose Pedro, I don't know if that sufficiently covers us, and more to the point, I don't know if ffmpeg is necessarily faster at decoding than QT.

    ReplyDelete
  32. So still some time for a builder to come forward. Someone must be able to apply the changesets and build with 10.5 SDK.

    Bueller?

    A third, 64-bit build (for the scientific record) is also an interesting possibility.

    ReplyDelete
  33. Why not you? The steps are laid out on HowToBuildNow.

    ReplyDelete
  34. Hi Cameron & crew. This is a little off-topic, but here i go anyway: after reading this post i decided to try Linux on my iBook G3. I've installed MintPPC and everything runs smoothly, noticeable faster than Tiger, and Iceweasel is really fine. So i looked up for the Ubuntu 12 Live CD to try it on my PowerBook G4. I thought there was no Ubuntu PPC version since version 8, but that seems to have changed: good for us. In fact i'm typing this using Firefox 11 right from the CD, and here is where i get more confused: i thought there was not official Mozilla development for PowerPC since 3.6, i mean, for ANY platform, not only for OS X. I guess i were wrong since i'm running what seems to be a full featured Firefox 11 on my G4. Any idea of what's happening here? =) Sorry if this is a stupid question!

    ReplyDelete
  35. Mozilla doesn't support PowerPC on OS X anymore. On other OSes, they don't care. There's no specific testing for PowerPC on those OSes, so if something breaks it they won't fix it themselves, but they don't block it so Firefox will still generally build.

    Note that the Fx you're using is a vanilla one, i.e., no AltiVec acceleration and no JIT. On the other hand, the Linux graphics stack is faster than our software OS X stack, and there is less overhead in the window manager.

    I am glad to see Linux PPC continue to thrive, but I can't really make use of it as a daily driver myself because I still have lots of Mac legacy software and so I still need 10.4.

    Btw, this post is coming from TenFourFox 12; more shortly.

    ReplyDelete
  36. This comment has been removed by the author.

    ReplyDelete
  37. @ClassicHasClass Thanks for your answer, mate. Very clarifying. I'm not planning to move to Ubuntu or any other distro on the G4, basically because there's a lot of OS X software (some of it is legacy too, so i need Classic) that i use daily for work (i'm a recording engineer) that won't run on Linux, and because i just love Tiger. TenFourFox is more than just the best browser for Power Macs, it's an excellent browser on its own right. I'm glad you have reached version 12... truly amazing. I'll be waiting for it to download.

    ReplyDelete
  38. Hi,

    I just wanted to thank you for all the work you put into this project. The quality of w
    ork you do is outstanding and I wish you accepted donations. Hopefully this project will continue for a long time.

    The only suggestion I have is, would you ever consider getting the graphics acceleration operational in TFF (I don't even know if this is physically possible). My nvidia quadro would definitely help speed things up.

    I have a powermac g5's and a powerbook g4. This browser has allowed me to continue to use these fine machines for everyday computing. I even run it on a macpro that is still running Tiger

    Thanks again, and have a good day!

    ReplyDelete
  39. @commenter, you can still use any of the pre-fab .mozcfgs. You don't need to roll your own, and actually you probably shouldn't. Build with DEBUG.mozcfg first and if that works, run off the other four.

    @AleNu, thanks, man! I imagine there are lots of Power Macs still in recording studios. I know a guy who uses Pro Tools on OS 9 because he loves the near-zero latency.

    @rdibiase, thanks very much for the kind word. Glad it works on your Mac Pro too (!).

    There are two ways Mozilla offers for graphics acceleration. The first is OpenGL, and we just don't support that because no card in 10.4 PPC supports OpenGL 2.0 (and only a handful in Leopard). More to the point, Mozilla doesn't support OpenGL before 10.6 either because of various bugs they couldn't fix. I do admit a Quadro is a pretty sweet card (I just have a 7800GT in my G5 and now I regret not buying the BTO Quadro when I could have). So OpenGL and WebGL are pretty much out. People have wanted to work on it and as far as I know no one has successfully fixed the issues specific to 10.5 (and I'm 10.4 only).

    However, Mozilla is now offering an accelerated backend called Azure which gets rid of a lot of the chaff that is required to talk to Cairo (the normal graphics stack). Azure has a CoreGraphics backend which means that whatever aspects of CG are accelerated on your system will also be accelerated in TenFourFox, assuming we get the backend working. I do have a preliminary version already running and while it has some serious issues, it is enough to run Peacekeeper and canvas performance is already 60% faster (for a 10% improvement overall). Mozilla may use Azure to draw the entire browser chrome at some point, which would make everything faster. This will be supported; it's just a matter of making everything work and it's too big a win to ignore. An initial pass at this will be in 12, preffed off, so you all can play with it.

    ReplyDelete
  40. Is there any way that your improvements (AltiVec/JIT) could go upstream so that they help Linux users on the PowerPC platform in a NPOTDB way?

    Thanks for all your amazing work!

    Kind regards,

    Nick

    ReplyDelete
  41. I'd like to respond to this complaint about my so-called-complaints on a Mozillazine thread and a few obscure FX support question posts. It is excessively thin-skinned, and I have a few comments to make about it. I will also post these comments in the thread in question.

    1) First of all, I hadn't been aware that it was somehow impolite to talk about one's opinion of software "in public". In the case of this thread, I was expressing a desire for Mozilla to continue a Firefox version--it was not directed at TenFourFox, though it obviously expressed doubt about TenFourFox. But so what? People express opinions about software on forums all the time, and having a discussion on a thread where you are trying to get a problem solved is not like taking out an attack ad.

    2) No, I didn't report problems to TenFourFox. Why? I tried several versions of it in a row. Each time, I experienced crashes and slowdowns right away. Each time, I decided not to adopt the browser and instead return to using FX 3.6. That, frankly, seems like reasonable behavior to me. When a browser that is supposed to be a ready-to-go (that is, not an alpha or beta) replacement for Firefox immediately displays unacceptable behavior, it is not the responsibility of users to report each problem before forming an opinion about that piece of software. That is especially true when it relates to overall buggy behavior over several versions. And, again, this thread was addressed to those in the Mozilla community who might have some say over extending FX support for PPC users--I didn't start it to complain about TenFourFox.

    3) Honestly, I was very polite about TenFourFox, even though I didn't necessarily want to use it. That doesn't seem to have been enough for TenFourFox's developers, though. I think that anyone who actually reads the thread linked from this blog will disagree that my attitude was "just plain mean".

    4) I will say that I have tried the latest version of TenFourFox, and it seems much better re: crashes (though still slow, which I am guessing has to do with its larger memory usage than FX 3.6). So, good on you, TenFourFox developers. I will probably end up using it, since FX 3.6 is now insecure. Still, perhaps you could calm down about some forum discussion about your software that isn't 100% positive.

    ReplyDelete

Due to an increased frequency of spam, comments are now subject to moderation.