Friday, February 22, 2013

I'd like to embed you, in the worst way (plus: Sony sells out)

Periodically I read these "best browser for PowerPC" blog postings, which generally have the scientific testing rigour of an addled camel in heat and are about as intelligible. Generally some version of WebKit is proposed as the winner based on highly objective criteria like how quickly they can get a Kate Upton pinup to load, and this is how WebKit will eat the world.

Snark aside, I think a lot of people don't really understand that most of the WebKit browsers, including Safari itself, are merely shells around the system WebKit framework; they simply embed it. With Gecko browsers like this one, SeaMonkey, AuroraFox, etc., the browser is the framework. While Camino was a little more complex because it actually did embed Gecko as a framework on which it depended, it included its own copy because there is obviously no system Gecko (and embedding is no longer supported anymore anyway; maybe it should be). When you update a Gecko browser, you get all the security fixes in the core as well because a new core comes with it. This is not true for a WebKit shell.

Obviously, this has a security concern because while the browser shell may be up to date, there could be security flaws in the system framework, and these in turn become security flaws of any app that uses it. For example, Stainless, iCab (4 and up), Roccat, Safari, etc., all are just shells on the system WebKit and thus become vulnerable to any flaw that affects it. If you open up the app package, they don't contain WebKit themselves, which is why they're so small (there is one exception I know of).

If you're going to use one of these browsers, you need to update the system WebKit framework at the same time and the only way to do that I know of is Tobias' Leopard WebKit (or, TenFourKit on 10.4, which is somewhat less current). By installing that, you simultaneously update the core of any browser shell that uses it. (It should also make you think hard about what the difference is between these browsers, functionally. Although they may have certain boutique value-added features, arguably the only WebKit shell doing anything interesting at the system level is Stainless.) If you're not going to use TenFourFox or AuroraFox or SeaMonkeyPPC, then please at least keep WebKit up to date, and that's the only way I know of for PowerPC OS X.

Well, actually, there's one other, the shining exception: OmniWeb. OmniWeb, alone among WebKit browsers, includes its own updated copy of the WebKit framework. This allows it to be more current than Safari 4 on 10.4, for example, and it is my preferred choice when I need to check an HTML layout against WebKit. No one know how much longer OmniWeb will still be compatible with 10.4 (or for that matter 10.5), but that's your other option, and OmniWeb has always been a very solid product.

Other news. This week, Sony introduced the PlayStation 4, and announced that they were ditching IBM's custom Cell CPU for a relatively pedestrian AMD x86 multi-core (and a crapload of GDDR5 RAM, though its latency with the CPU is a bit concerning). AMD has really lost the battle with Intel in a big way; all of us probably remember during the NetBurst era when AMD routinely ate Intel's lunch in benchmarks and price-performance ratio, but those days are long gone ever since Intel came out with the Core microarchitecture. However, AMD is cash-poor and business-hungry, and they probably offered their chips to Sony very cheaply. Really, it's more of an indictment of Cell and how it never achieved IBM's or Sony's goals, which was always an odd duck processor. Recall that Cell is a PowerPC core of modest means, the "PPE" Power Performance Element, surrounded by "SPEs" Synergistic Programming Elements, which are special-purpose coprocessors that must be primed by the PPE for execution. The PPE main core, the PowerPC portion, was straight-forward enough to program but could not achieve sufficient performance on its own, and the satellite SPEs always bedeviled developers with their almost purely SIMD instruction set and dependency on the PPE. Why Sony didn't do what Microsoft did and ask for a more typical multi-core CPU -- the Xbox 360's Xenon is, in fact, just three modified PPEs -- is totally unclear to me. It also means that it will be very difficult for the PS4 to run PS3 games in emulation and even recompiling them for the new architecture is not guaranteed to work since there are in fact two architectures they must account for.

When 20 hits beta 2, the next unstable port will begin.

6 comments:

  1. Interesting post. That's one of the reasons I only use TFF, Safari+LW and Camino on my eMac.
    There is one thing about Stainless that I never see mentioned, though. It is very easy to use it in conjunction with Leopard Webkit. You only need to select "Load frameworks from Webkit nightly build" in its preferences, and you'll be able to use the updated frameworks from LW. Plus Stainless is going open source, and the developers are determined to keep PPC compatibility (WOOHOOO!!!!!!).

    Unrelated. An Italian site is reporting that Presto may be released as open source (based on this: https://lists.webkit.org/pipermail/webkit-dev/2013-February/023841.html ). Do you think this could be good news for the powerpc community?

    ReplyDelete
    Replies
    1. That certainly is a nice feature. I would be a little more laudatory of Stainless if it were compatible with 10.4. Perhaps this is something "somebody" will work on when it goes open source.

      For Presto, I was hoping Opera would do this, but hold the enthusiasm, because it may well be that all of the PowerPC-compatibility bits were expunged from the source tree already. If they're still there or Opera exports enough of the source history that an old revision (i.e., 10.63) still compatible with PowerPC could be pulled, then this definitely improves the possibilities. If neither is the case, it may not be worth the trouble to get it backported.

      Delete
  2. Believe it or not, the path to backward compatibility with PS3 games is going to be streaming them from Sony HQ using the infrastructure of Gaikal which they recently acquired.

    It sounds positively awful, anyone with mid-level latency is going to be offered the option of enjoying slide shows depicting the death of their character dying in various PS3 games as a way to "play" games from the previous generation console.

    ReplyDelete
    Replies
    1. I heard that rumoured, but did Sony actually confirm that? It makes sense, at least from Sony's side, but I agree it's a lousy way to run old games.

      Then again, my console gaming is primarily on a Dreamcast and an Intellivision (and the occasional run on a NeoGeo X), so I'm hardly Sony's target market.

      Delete
  3. You're right that OmniWeb includes its own copy of WebKit, but that copy is still a couple of years old. It may be solid in some ways, but I'd be very surprised if there weren't plenty of vulnerabilities.

    ReplyDelete
    Replies
    1. True, although from the perspective of 10.4 it still beats Safari 4, and I'm sure Omni Group would audit it periodically.

      But I agree on 10.5 there are better choices.

      Delete

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