Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

MAME Running In Chrome

timothy posted more than 2 years ago | from the ok-now-iterate-and-1-and-2-and-switch dept.

Google 165

An anonymous reader writes to point out this interesting outgrowth of Google's Native Client: a Google engineer has ported MAME 0.143 to the browser-based platform, and written about the process in detail, outlining the overall strategy employed as well as specific problems that MAME presented. An impressive postscript from the conclusion: "The port of MAME was relatively challenging; combined with figuring out how to port SDL-based games and load resources in Native Client, the overall effort took us about 4 days to complete."

cancel ×

165 comments

Sorry! There are no comments related to the filter you selected.

Is Google trying to fragment web? (5, Insightful)

SharkLaser (2495316) | more than 2 years ago | (#38555122)

We had that shit before with ActiveX. We need standards, not some stuff that only works in Chrome. However, I guess it's better for Google - now they have something that only works with Chrome. So when new users go to some web site it will say that they need to download and install Chrome to use it. Old users will also be locked to Chrome.

Don't do that. Only use standards like HTML5 that work in every browser.

Re:Is Google trying to fragment web? (5, Informative)

errandum (2014454) | more than 2 years ago | (#38555142)

I don't see your problem. It's not like they won't be supporting the standard, investing on their platform (that they even consider big enough to be your whole PC UI).

I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser - and wouldn't mind if this became the standard. By uniting all OS'es under this platform, I don't believe that there is fragmentation (what exists now IS fragmentation)

Re:Is Google trying to fragment web? (1)

Anonymous Coward | more than 2 years ago | (#38555366)

I for one don't want control of my desktop applications in the hands of 'cloud'. If I have dependence on something, I want to ensure I have access to it. this includes control, not just convenience.

there is nothing wrong with fragmentation. it allows innovation. if everything's monolithic, nothing can change.

Re:Is Google trying to fragment web? (5, Insightful)

raburton (1281780) | more than 2 years ago | (#38555466)

> I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser - and wouldn't mind if this became the standard

The browser is your platform, that's the whole concept behind moving everything to web based. That's a good thing if you take the traditional view that the OS is the platform - now you can run any old OS you like (with a standards compliant browser) and you'll be able to run the apps.

This doesn't make you platform independent though, it makes you OS independent - all you've done is just redefined 'platform'. While apps only use standards you maintain independence. As soon as they use non-standard extensions you are no longer independent and now you are limited again. In this case you are limited to Chrome.

In this respect it's really no different to ActiveX. Just because google have published the workings of this doesn't make it a standard and there is really no reason for all other browsers to implement it. And if it isn't a standard and isn't available in all browsers people working with it will be forcing their choice of platform on their users and we're back to where we started. Why don't we all just run Windows and use ActiveX?

Richard.

ActiveX is non-free (2)

tepples (727027) | more than 2 years ago | (#38555600)

Why don't we all just run Windows and use ActiveX?

The difference is that Windows is non-free and chromium-browser is free software. (Google Chrome is chromium-browser plus Flash and a couple other minor non-free bits.)

Re:Is Google trying to fragment web? (1)

Hatta (162192) | more than 2 years ago | (#38555670)

That's a good thing if you take the traditional view that the OS is the platform - now you can run any old OS you like (with a standards compliant browser) and you'll be able to run the apps.

Except that it defeats the purpose of choosing your OS. Why bother having multiple OSs at all, if you're just going to launch a browser and do everything there. You might as well boot directly into the browser to begin with.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555704)

Which some laptop can do nowadays.....

The difference is that this has a standard while operating systems do not. The browser in this case acts as an abstraction layer on top of the very diverse OS. Sorta like the posix standard but aimed more for modern users. The main benifit is that it doesn't require cooperation from OS makers.

Now is this a good or bad direction to take for the web/browser? Not sure but Google seems to think so and hence why they push it. Whether the rest of the world follows remains to be seen.

Re:Is Google trying to fragment web? (2)

ChunderDownunder (709234) | more than 2 years ago | (#38556196)

Well that's the strategy of ChromeOS. The browser is, effectively, the OS.

Two BIG differences between NaCl and ActiveX (5, Informative)

YA_Python_dev (885173) | more than 2 years ago | (#38555852)

1) NaCl is free/open source software, both the SDK and the client implementation in Chromium; ActiveX was proprietary and every program required to be signed by Microsoft to run by default;

2) NaCl is secure (see this IEEE article [chromium.org] , it's very interesting) and designed to be portable to different browsers and OSes; you can safely run untrusted code, just like you would do with JavaScript; ActiveX required not only to trust that the controls weren't malicious, but also to trust that they all were free of security bugs: if only a single signed ActiveX control somewhere had a security bug, it could be exploited to p0wn Windows PCs (that's why Microsoft had a growing list of signed controls and another growing list of signed-but-blacklisted controls).

Native Client is certainly not perfect, but please don't compare it to ActiveX. Entirely different beast.

Disclaimer: I speak only for myself and not anyone else. IANARE.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555884)

It's not ActiveX because it's (a) roughly as powerful as JavaScript and (b) doesn't run as a plugin. It's more client-side scripting in the language of your choice than a all-powerful plugin.

Re:Is Google trying to fragment web? (2)

hairyfeet (841228) | more than 2 years ago | (#38555514)

Uhhh...because no matter how smart Google engineers THINK they are the malware writers are smarter? As the first poster said look at the history of ActiveX. When it first came out it was like a Godsend, an easy to use way to just host an app on your server and have ALL the branches instantly have access to it or to do the same for your customers. No rollout headaches or compatibility problems it all "just worked" but before you could say "Oh shit!" every malware writer and his cat and his cat's squeaky toy figured out how to get around the security and use it as a one stop malware drop. MSFT spent something like 4 years trying to plug the holes but it was like whack a mole.

Personally I really really REALLY don't want native code running on my browser, thanks ever so. sandboxes can and have been broken out of and its just too risky a vector IMHO. While they've had a few sharp ideas (if anyone hasn't tried it chrome remote desktop makes taking control of a system for support work pretty damned simple) I really don't think this is the brightest idea they've had. I suppose we shall see but I wouldn't be surprised if the malware guys figure out how to jump out the sandbox just like they figured out how to get past FF's XSS protection and then this will be all kinds of nasty, especially on older systems that may not have all their patches up to date.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555906)

As the first poster said look at the history of ActiveX.

With that you've completely disqualified yourself to anybody that actually knows better (which admittedly that is a vanishingly small number of people here on Slashdot). NaCL is completely different from ActiveX and to compare the two is utter ignorance. ActiveX required the code you are running to be completely safe. NaCL is more like an industrial strength javascript in that it absolutely does not require the code you are running to be trusted. Now tell me how we should all abandon javascript because the malware authors are "smarter" than the js engine writers. Typical AHairyPFeetK indulgent stupidity.

Re:Is Google trying to fragment web? (1, Insightful)

hairyfeet (841228) | more than 2 years ago | (#38556214)

Can someone PLEASE tell me where the hidden setting is to block ACs, please? because I swear their fanboi bleating and flag waving must knock a good point or two off any IQ that dares to read their bullshit.

Newsflash: sandboxes WILL be broken and no matter how smart your precious Google is (which if you think running native code in a browser is just JavaScript can i have some of what you are smoking?) the malware guys are ALWAYS smarter, always. look at how badly Google has gotten assraped in Android market with malware, everytime they think they have a handle on it something new comes out and stomps them down again.

In the end just like JavaScript you are talking about running third party untrusted code and hoping the sandbox holds which we've seen time and time again is a BAD assumption to make. Even with all the testing JavaScript STILL gets "JavaScript malware o' the day" yet you think that running native code on top of that is SAFER? I'm sorry but if you were any more full of shit your post would smell like a porta-potty in July.

Re:Is Google trying to fragment web? (5, Informative)

Justin_Schuh (322319) | more than 2 years ago | (#38556164)

I can appreciate your confusion, but comparing NaCl to ActiveX doesn't really make sense. Once you instantiate an ActiveX control it runs arbitrary code at your full user privilege. Whereas NaCl is much more accurately compared to the restricted execution environment of a virtual machine, such as Java, .NET CLR, or even JITed JavaScript. It's just that NaCl virtualizes a well-defined subset of an existing hardware instruction set, rather than one developed specifically for it. That virtualization (and the associated instruction validation) is the primary security mechanism, and is typical of a VM environment. The process sandbox is just a defense-in-depth measure (and a very strong one) layered underneath an existing VM sandbox.

However, there's no reason to take my word for it. If you research it a bit you should find that NaCl has a comparable or (in most cases) a more robust security model compared to the web-delivered execution environments most people are already running.

Re:Is Google trying to fragment web? (2)

TeknoHog (164938) | more than 2 years ago | (#38555536)

I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser - and wouldn't mind if this became the standard. By uniting all OS'es under this platform, I don't believe that there is fragmentation (what exists now IS fragmentation)

AFAIK, the "native" in NaCl means that it is compiled for a given CPU architecture. It is probably independent of the OS, but you still couldn't run an x86 version on ARM, for example.

Re:Is Google trying to fragment web? (1)

gl4ss (559668) | more than 2 years ago | (#38555748)

I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser - and wouldn't mind if this became the standard. By uniting all OS'es under this platform, I don't believe that there is fragmentation (what exists now IS fragmentation)

AFAIK, the "native" in NaCl means that it is compiled for a given CPU architecture. It is probably independent of the OS, but you still couldn't run an x86 version on ARM, for example.

'

it's noteworthy that google has sort of parallel development going on with NDK for android, which is using native code from within android apps. but that has support for fat x86+arm binaries. now, why couldn't they just do android for chrome?

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555830)

Quick guess: NaCl runs on otherwise uncontrolled operating systems and therefore does a *lot* more checking of the binaries (limited instruction set, required 4-byte alignment of instructions and jumps,...). If anything, you'd get NaCl on Android, not the other way around.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38556124)

actually, 32 byte alignment.

Re:Is Google trying to fragment web? (1)

marcello_dl (667940) | more than 2 years ago | (#38555740)

> I, for one, like the idea that I can have desktop quality applications running independent of platform on my browser

I for one welcome your new OS overlord :D
The advantage in running everything through the browser is ease of installation and compatibility with all platforms using that browser.
The disadvantage is the security problem such freedom of installation poses, google browser becomes the os, and has to solve every problem the traditional os do. And until EVERYTHING you need has a native client version you'll be stuck with both an os for native apps and an os in the browser. Plus if you don't use chromium google has the same amount of control MS has on windows.

Now, the advantage might still be good in the windows platform but take debian model. You have apt, the mother of app stores, with cryptographically signed packages, very very few installation problems even when you get 10x the number of apps that make windows choke, network activity is under your control, you can analyze traffic by port if you use traditional internet apps. And you're multiplatform and scalable. Did I fscking mention you're FREE too? I sure hope the web 3.0 resembles the internet 1.0 and not this.

Re:Is Google trying to fragment web? (1)

Anonymous Coward | more than 2 years ago | (#38555148)

I don't think its intended to be accessed as a web resource, but a purely local one. Chrome has its own apps and an app store of its own as google intends to use it as an OS on their own devices while still enabling all software on their OS to be cross-platform. So, if you code your app on native client it should run on ANYTHING (OSX, Windows, Linux, & Google Chrome OS), locally. Far as I'm concerned, HELL YEAH.

I'm coding for native client.

Re:Is Google trying to fragment web? (1)

SharkLaser (2495316) | more than 2 years ago | (#38555212)

So why make it again, and especially why bundle it with browser? There is Adobe AIR already and it works with every browser, not just Chrome. And on every platform, too.

Re:Is Google trying to fragment web? (1)

thejynxed (831517) | more than 2 years ago | (#38555408)

Because it's an Adobe product, with every niggling bug, exploit, and vulnerability associated with Adobe software that typically takes them months to even acknowledge, let alone fix.

Re:Is Google trying to fragment web? (1)

SharkLaser (2495316) | more than 2 years ago | (#38556212)

Complex software has bugs, news at eleven. NaCI will have too.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555384)

no thanks.. just another vendor api. nothing to see here. pcs suffer enough from ideologically or financially motivated stacking of apis that hinder performance and make manageability annoying. sun was saying the same thing about java in 1998 and microsoft still calls dot net 'cross platform.'

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555818)

Instead of being an ideologue drone, how about manning up and using the right tool for the right job? Want ease of installation, cross platform compatibility, strong sand boxing, ease of upgradability? The answer is NaCL. I'm all in.

Re:Is Google trying to fragment web? (1)

drolli (522659) | more than 2 years ago | (#38555150)

And if you want some native program, then why not to compile the C on the client side (or use LLVM from the beginning)? In that way at least a new platform had a chance to compete. Compiling something for a specific architecture will automatically put all other architectures in a disadvantage.

Re:Is Google trying to fragment web? (1)

icebraining (1313345) | more than 2 years ago | (#38555490)

That's what PNaCL is for, but it's still in earlier stages.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555152)

Don't do that. Only use standards like HTML5 that work in every browser.

I wouldn't be surprised if Google started to sell NaCl as being "HTML5". You can call anything "HTML5" nowadays and even the HTMLWG acquiesces.

Re:Is Google trying to fragment web? (0)

bmo (77928) | more than 2 years ago | (#38555158)

>ActiveX

You totally misunderstand the entire point of MAME.

MAME exists so you can run unmodified ROMs of classic games. Right down to the "insert coin" handling. It's not about running "work-alike games" but rather taking ROM dumps and using them.

This is also not something that is going to be a standard part of Chrome. It is completely optional. It is literally a toy, to run toys. It's not meant to be anything other than that.

--
BMO

Re:Is Google trying to fragment web? (3, Informative)

SharkLaser (2495316) | more than 2 years ago | (#38555220)

I'm talking about Native Client, not MAME per se.

Re:Is Google trying to fragment web? (0)

bmo (77928) | more than 2 years ago | (#38555302)

Then what, exactly are you trying to say?

ROM images are not some new Web markup technology. They are old tech. Older than the Web itself. They have nothing whatsoever to do with the Web.

MAME is for local use.. Having a plugin for Chrome allows one to open ROMs locally and run them within the browser on tablet devices. This is pretty cool and useful.

It is entirely useless over the Web, however, because who, exactly, is going to open himself up to lawsuits by serving up ROM images of Zaxxon or Frogger out in the open?

Your entire first post in this is a non-sequitur argument merely to flame Google and Chrome for no reason whatsoever.

--
BMO

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555378)

Are you retarded or something?

Re:Is Google trying to fragment web? (4, Informative)

kangsterizer (1698322) | more than 2 years ago | (#38555392)

It's not a plugin. It's integrated in chrome. It's called NaCl aka native client.
the mame emulator is just ran from NaCl just like you load a java applet when you visit the web, except that the java part would be integrated into chrome.

it doesn't work anywhere else. do you call java applets loaded from - the web - local programs?

And there are tons of emulators that work on the web *without* NaCl and which are fully open. Heck there's even a Linux emulator.None of which uses NaCl.

Finally please note that you can't currently run NaCl properly on tablet devices. Also that's *Android* tablet devices, and no, they don't actually ship with Chrome yet.

So you're entire post is very uninformed.

Re:Is Google trying to fragment web? (1)

goruka (1721094) | more than 2 years ago | (#38556190)

It IS a plugin, it uses the PPAPI specification, which is a much improved plugin API. Firefox and Opera will probably never want to implement it, though.

Re:Is Google trying to fragment web? (1)

51M02 (165179) | more than 2 years ago | (#38555160)

We had that shit before with ActiveX.

Native Client runs in a sandbox so it's nothing like ActiveX.

HTML5 does nothing in itself, it still needs some coding to be done in Javascript. While Javascript interpreters did get better and faster it's still far from native speed. And it's still only Javascript. If you have a game developped in C I still don't see how to convert it to Javascript. MAME is one example of a complex C program hard to translate to Javascript but could be ported easily (4 days) to the Native Client platform.

Chrome is available for most platform including Linux and is open source. So stop whining about it not being a standard. It's not IE we are talking about.

Re:Is Google trying to fragment web? (1)

nogginthenog (582552) | more than 2 years ago | (#38555304)

Chromium is open source, Chrome is not.

Re:Is Google trying to fragment web? (2)

BasilBrush (643681) | more than 2 years ago | (#38555372)

MAME is one example of a complex C program hard to translate to Javascript but could be ported easily (4 days) to the Native Client platform.

Just because it was done in 4 days doesn't mean it was easy. They said themselves it was relatively challenging. And reading through their description of how many things that MAME does are not supported in Native Client, it does indeed look challenging.

This was done by a team of damn good engineers.

Re:Is Google trying to fragment web? (2)

icebraining (1313345) | more than 2 years ago | (#38555418)

The source is not sufficient. A standard should be discussed and developed in partnership with the other parties, not just "here's a code dump, take it if you want".

Re:Is Google trying to fragment web? (1)

Tubal-Cain (1289912) | more than 2 years ago | (#38555164)

NativeClient programs = ChromeOS programs NativeClient support in the Chrome browser creates incentive to write NativeClient apps: write once, run everywhere.

Re:Is Google trying to fragment web? (4, Insightful)

JanneM (7445) | more than 2 years ago | (#38555248)

"write once, run everywhere"

Write once, run in Chrome.

You really want to return to the days when sites required a specific browser to let you in?

Re:Is Google trying to fragment web? (1)

Anonymous Coward | more than 2 years ago | (#38555306)

..

You really want to return to the days when sites required a specific browser to let you in?

The biggest problem was that it was not just one specific browser but it was one specific browser on one specific platform.

Re:Is Google trying to fragment web? (1, Insightful)

StripedCow (776465) | more than 2 years ago | (#38555344)

Native Client is a Chromium project, which means it is open-source, and other vendors can implement it as well.
Right? (IANAL)

Re:Is Google trying to fragment web? (2)

SharkLaser (2495316) | more than 2 years ago | (#38555410)

That still doesn't change anything. Microsoft lets other browsers implement ActiveX too if they want to. But they don't. Why would other browsers suddenly start supporting everything Google does, especially non-standard stuff?

Re:Is Google trying to fragment web? (1)

StripedCow (776465) | more than 2 years ago | (#38555426)

Once NaCl gets sufficient momentum, I guess other vendors will, simply because it will allow them to access the content provided by the NaCl ecosystem.

ActiveX was not adopted because the technology was just inherently broken.

Re:Is Google trying to fragment web? (1)

sproketboy (608031) | more than 2 years ago | (#38555538)

"If NaCl gets sufficient momentum." There fixed that for you.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555546)

Exactly. Not just broken, but a major security risk. NaCL is sandboxed and much more powerful, not to mention less bulky. I can see at least Firefox including it (you know, since Google just signed to give them $300 mil a year), which could potentially force the others too as well. If anything, Google has Chrome Frame for IE which I believe will be able to run NaCL content (?) so that just leaves Safari and Opera, both of which have low market share but generally loyal users. If those users request it, they'll eventually get it. At least with Opera.

Re:Is Google trying to fragment web? (1)

gbjbaanb (229885) | more than 2 years ago | (#38555598)

ActiveX was not adopted because it required (basically) Windows. If you tried porting it to another platform, you'd be onto an never-ending port.

Re:Is Google trying to fragment web? (2)

chrb (1083577) | more than 2 years ago | (#38555610)

Microsoft never released the source code for free, though. The probability of uptake is higher if other browsers are given a free implementation.

Because it's smaller than Windows (3, Insightful)

tepples (727027) | more than 2 years ago | (#38555648)

Microsoft lets other browsers implement ActiveX too if they want to. But they don't.

Because they'd have to reimplement the entirety of Windows.

Why would other browsers suddenly start supporting everything Google does, especially non-standard stuff?

Because the Pepper API is a much more achievable target than the entirety of Win32.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555958)

Yeah, you can run ActiveX anywhere you want as long as it is on Windows(TM). That is nothing like NaCL which runs in Chromium/Chrome on every platform they run on which is essentially all of them as Chromium is open source and so is NaCL. Who let the 'tards into slashdot? Oh...the 2,xxx,xxx ID should have been the first tip-off. Do you and InterestingFellow/CmdrPony/cgeys/soppsa have beers after a "shift"?

Re:Is Google trying to fragment web? (3, Insightful)

deniable (76198) | more than 2 years ago | (#38555338)

Java programs = JVM programs Java support in the browser creates incentive to write Java applets: write once, run everywhere. Been there, done that. Didn't get a t-shirt.

Re:Is Google trying to fragment web? (4, Insightful)

StripedCow (776465) | more than 2 years ago | (#38555462)

Java is much more high-level, because it integrates a garbage collector in the VM. This is what makes it a sluggish memory hog.

NaCl does not do that. It allows lean-and-mean code. It is basically like a lightweight version of VMWare/VirtualBox sitting in your browser.

Re:Is Google trying to fragment web? (-1, Troll)

sproketboy (608031) | more than 2 years ago | (#38555548)

Stop drinking the Google kool-ade. What you wrote makes no scene at all. NaCI doesn't garbage collect? So it just crashes after a while by using up all memory? Since you don't know what you're talking about why not not shut up.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555582)

So it just crashes after a while by using up all memory? ...
Since you don't know what you're talking about why not not shut up.
Follow your own advice please.

Re:Is Google trying to fragment web? (1)

tepples (727027) | more than 2 years ago | (#38555672)

NaCI doesn't garbage collect? So it just crashes after a while by using up all memory?

That depends on how you define garbage collection. Some people define it to include only tracing garbage collection using a reachability metric, as used in the Java virtual machine, the .NET CLR, or the Boehm GC. Others define it more loosely to include reference counting schemes like that of CPython, retain/release in Objective-C, and the shared_ptr of Boost and C++11.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38556000)

Stop drinking the kool-ade

Stop using tired ass internet memes that make you sound like a 16 year old valley girl. I can't help but to assume you also rolled your eyes and flipped your hair as you were typing that.

Re:Is Google trying to fragment web? (1)

shione (666388) | more than 2 years ago | (#38555176)

I can't see whats wrong with this as this is a binary and not a website. Mame is ported to many OSs already and by porting it to chrome, it now works on any device that can run chrome. Websites are different though. They're public pages on the web and if they're only written to work in chrome then other browsers would be discriminated against. Chrome is also on windows, mac, linux, ios and android which basically covers everything. When ms was doing their activex shit, ie was only available on windows which meant if you didnt have windows you were SOL using the the website.

Re:Is Google trying to fragment web? (1)

shione (666388) | more than 2 years ago | (#38555190)

My bad. It looks like Native Client is windows, Mac and Linux only. Still thats more operating systems supported than activex ever has.

Re:Is Google trying to fragment web? (1)

Anonymous Coward | more than 2 years ago | (#38555200)

While we're at it, let's get rid of that pesky Firefox with add-ons that only work under FireFox...

Re:Is Google trying to fragment web? (1)

kangsterizer (1698322) | more than 2 years ago | (#38555396)

Firefox addons are full javascript. Plus Chrome supports similar addons.
They've nothing in common with NaCl.

Re:Is Google trying to fragment web? (1)

SCVirus (774240) | more than 2 years ago | (#38555216)

Difference: The reference implementation is open source.

Re:Is Google trying to fragment web? (1)

Clarious (1177725) | more than 2 years ago | (#38555234)

NaCl is open source, but Mozilla has refused to include it in Firefox.
Also NaCl is quite different from ActiveX, if you have time to read the papers you will see that it is highly secure without hurting the performance much, as the code is analyzed before executing to make sure it won't do anything macilious.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555358)

Java is also "highly secure" and "extremely fast" (faster than C/C++ in some cases and that's true). It's also sandboxed, yada yada.

NaCl is also difficult to integrate because it depends on V8. No V8 no NaCl, which means by extension, that it can only work in Chrome. So much for "but it's open source".

Re:Is Google trying to fragment web? (2)

MichaelJ (140077) | more than 2 years ago | (#38555452)

it is highly secure as the code is analyzed before executing to make sure it won't do anything macilious.

That's not highly secure. That's a challenge.

Re:Is Google trying to fragment web? (-1)

Anonymous Coward | more than 2 years ago | (#38556034)

Witness Slashdot. The website frequented by thousands of closeted luddites who on the one hand will decry and rail against the "think of the children" mentality then in the next breath shout down any advancement in software whatsoever if it has even the remotest chance of doing anything insecure. Whether it actually does or not. Whether they even have a fucking clue what they are talking about or not. Basement dwelling mouth breathing mother fuckers wouldn't know secure code if squirmed up your gaping assholes. Fuck you all in general and fuck you in particular MichaelJ.

Re:Is Google trying to fragment web? (1)

StripedCow (776465) | more than 2 years ago | (#38555254)

With your logic, any attempt at advancing the web can be seen as an attempt to fragment the web.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555278)

* We had that shit before with ActiveX.

Native Client? Not from what I've heard. I was extremely skeptical of Native Client - as should everyone be. UNTIL I actually looked at the details and watched the techtalks and saw how it actually works (security for example). It is a genuinely interesting idea for helping to port code from older native applications or for applications that need to be native for speed - without some shitty JIT getting in the way.

There are parts that sound strange - like code on other architectures ending up being JITed into native stuff for portability... which sounds like a hell's merry-go-round. But I'm willing t give them the benefit of the doubt. This isn't Microsoft's collossally stupid ActiveX. Check it out for yourself.

Replacement for apps. (0)

Anonymous Coward | more than 2 years ago | (#38555326)

No. Google are trying to create a new standard that hopes to replace application delivery on the web.

HTML and JavaScript is STILL too slow for anything useful.
The DOM is 10 kinds of pain in the ass to work with, especially when it comes to different renderers. W3Cs terrible instructions that led to a whole bunch of different values for input handling, inconsistent handling of CSS and a billion other things. (not to mention the ability for websites to BLOCK your own keyboard because some tube thought it was a good idea to prevent key presses to bubble up beyond the browser process. Escape should have been the general pause-all key, or, you know, PAUSE KEY, WHY DOES NOBODY USE THIS KEY)

NaCi hopes to fix the application part. That doesn't outright deny applications in the browser.
Those guys got Quake 2 (was it?) running in the browser using only web stuffs and an experimental API. And with the new Mouselock API, the ability to lock the mouse to a position will allow first person games to be done the right way, instead of having to batter your mouse by lifting and dropping it constantly to keep you centered. (or virtually doubling the dimensions of the canvas so a full circle can be done in a smaller area)
But that was running in a Canvas. (and using another API for 3D that has been disabled for security reasons)
It didn't have to deal with the terrible DOM system and the fifty billion attributes and conditions it needs to check in order to exist where it does.

So we have the DOM, which is just plain terrible, nobody can deny that. It is too big and complicated for its own good. Most people don't need what the DOM offers. Ever.
Then we have CSS, annoying again due to it being so strict, no decent inheritance control or rules / pattern matching (well, very basic) and a bunch of other problems, especially some attribute names/values.
Then we have JavaScript... I like JavaScript, but god DAMN is it a pain in the ass sometimes. The abilities of the language are nice, but the way it is expressed isn't entirely ideal for the language itself. (and we have to deal with the horrible inconsistency between browsers that still exists today)

The web was a nice idea. But stop trying to make it fit everything else. It wasn't built for it. (which is also why they created the SPDY protocol to replace HTTP, which nobody seems to be using either despite it cutting things in around half compared to HTTP, HTTP is literally hacks upon hacks now)
We need something to replace Java now that Oracle owns it and will destroy it.
Java was obtuse, stupidly bloated and old.
Didn't Google work on something like this recently? It wasn't Go, something else I think. It had some fantastic features.

Re:Replacement for apps. (1)

Anonymous Coward | more than 2 years ago | (#38555394)

which is also why they created the SPDY protocol to replace HTTP, which nobody seems to be using either despite it cutting things in around half compared to HTTP, HTTP is literally hacks upon hacks now)

SPDY is shit. It's complicated with its own hacks like a hardcoded compression prefix that saves on order of a hundred bytes per connection (web pages are pushing 1 MiB and google are hacking out a few bytes). It doesn't proxy well, and on top of that in practice it's the same speed as pipelining.

NaCi hopes to fix the application part. ... Those guys got Quake 2 (was it?) running

Main problem with NaCl is that it secures the code but not the APIs. Every API in NaCl has to verify all its parameters just as well as an operating system call does, meaning with any large API set there will be security flaws. Another big problem is the code doesn't run on different architectures (even if they get the LLVM compiler integrated it won't run well). A probably problem is that it relies on hardware hacks that are unused in normal programs, and if some security research discovers flaws in how CPUs implement segments etc then those CPUs will need to emulate the code.

In other words it's possible for NaCL to be a net good, but unlikely.

Re:Replacement for apps. (1)

icebraining (1313345) | more than 2 years ago | (#38555440)

Didn't Google work on something like this recently? It wasn't Go, something else I think.

You mean Dart.

Re:Is Google trying to fragment web? (2)

supersat (639745) | more than 2 years ago | (#38555350)

I've thought about this a fair amount and have come to the conclusion that Native Client is not at all like ActiveX.

First, ActiveX targeted the Win32 APIs, ensuring that it only works under Windows. Native Client now uses the new Pepper APIs (which is a replacement for the old Netscape Plugin APIs) and runs under Windows, OS X, and Linux.

ActiveX relied on users to decide if a plugin is trustworthy. Native Client uses a sandbox to prevent code from doing anything that a regular web page couldn't do.

Work is underway to make Native Client work across multiple architectures. While x86, x64, and ARM are all supported today, soon you'll be able to build LLVM binaries that can be run on any architecture.

Microsoft's interest in ActiveX was tying web applications to Windows. Google's interest is in moving the web forward. After all, the more capable web applications can be, the better positioned they are to compete with traditional desktop software.

Google has long experimented with non-standard APIs in order to stimulate progress. For example Google Gears added geolocation, local databases and storage, background workers, and more. Due to the success of Gears, all of these are now in the HTML 5 standard. I think Google will pursue standardization of Native Client when it's more mature. In the mean time, it's giving people a glimpse of what web apps can be.

(And just to give Microsoft some credit, they sometimes move the web forward too. For example, they enabled AJAX with their XMLHTTP object in IE, which was later standardized as XMLHttpRequest.)

Re:Is Google trying to fragment web? (1)

kangsterizer (1698322) | more than 2 years ago | (#38555380)

NaCl is much more similar to java applets.

And no, MS point of activex was, probably to allow easier plugin implementation (they already had sufficient lock-ins to have 95% of the OS market back then)
Google's goal is obviously client browser control by enforcing Chrome. For one thing, NaCl is actually, well, about running native apps and not writing open apps (web technologies such as html/js/webgl/etc force you to write open apps). For the other, it's terribly difficult to implement in other browsers, and there is not a single doubt that Google would change the specs along the way so that other browsers don't have all the features.

Now you don't have to believe me on that. You can just check.

- Google's playing the spec/changes game already on HTML5. Many things are Chrome-only, and often in obscure way. Like, Gmail, Gdocs offline? Well it works only on Chrome because it uses Chrome specific tags. Please go ahead and look at it.

- Google has a Chrome-only webstore which only, only works with Chrome. Even thus the apps on it are regular webapps, those use also a few Chrome-only things and you require Chrome to use the web apps (which, btw, are just websites of course, by nature).

Now if that's not attempting to lock-in users and fragmenting the web I don't know what is.

Re:Is Google trying to fragment web? (1)

tepples (727027) | more than 2 years ago | (#38555702)

For one thing, NaCl is actually, well, about running native apps

When an NES emulator running in JavaScript runs as fast as an NES emulator in native code, I'll believe you that native code isn't useful.

a few Chrome-only things

If not Chromium, then in which project should developers experiment with new features before proposing their addition to HTML5?

Re:Is Google trying to fragment web? (1)

Wabbble (2542552) | more than 2 years ago | (#38555414)

As long as native support is still there, we have nothing to worry about and I seriously doubt that they'd be doing something like Microsoft and Silverlight.

Re:Is Google trying to fragment web? (1)

StripedCow (776465) | more than 2 years ago | (#38555458)

The problem with HTML is that it actually does not work in every browser (reliably). The reason is that the standard is way too complex. The underlying reason is that it was designed for humans, not for compiler back-ends. Supporting a handful of machine instructions in a reliable and secure way is actually much simpler than supporting the enormous HTML (and javascript, css, etc.) standard.

So, in a way, W3C actually fundamentally fragmented the web when it introduced HTML.

Re:Is Google trying to fragment web? (1)

JohnnyMindcrime (2487092) | more than 2 years ago | (#38555568)

Personally, I run MAME (have done for years) and I run Chrome, but apart from a quick look to satisfy my inquisitive geekness, I doubt I will use this long term.

No, it's not standard, but neither are the plugins that you can run in Firefox, Chrome, etc. that give you themes, adblocking, download management, etc.

And not that I own a single Apple device either (or plan to) but I assume this will be of interest to Apple users who currently can't load MAME onto their iP*ds/iPhones unless they jailbreak - as far as I'm aware, any emulation is a strict no-no on the App Store (and one of the main reasons I don't give Apple stuff a second glance).

But I assume they can run Chrome and therefore can run MAME in it now. And if it's non-standard in this case then sobeit - it's for a minority of the populace that use Apple devices AND want to retrogame.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555746)

What happens is that Google engineers are unable to think outside of the web browser box, for a good reason: Google makes 96% of its profit with ads, they want users to spend as much time as possible looking at their browser. So things like this make a lot of sense to them.

--
There is a new arrogant asshole [mailto] in town!

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38556150)

I know right? Those darn forward thinking Google engineers. Always trying to make the web better and faster and more secure. It just grinds my gears that I can't comfortably use my Internet explorer 6 on hardly any website because of Google's incessant meddling and making the web better for everybody. What every happened to the halcyon days of MS having 95+ percent of browser share and we liked it? Or you are just an idiot. That's my other likely thought.

Re:Is Google trying to fragment web? (0)

Anonymous Coward | more than 2 years ago | (#38555764)

NaCL is completely open source you jackass. Surely the mighty Microsoft and now 300,000,000 doll or flush Mozilla can handle incorporating this great technology into their browsers. But, no, fuck that. Let's hold back the state of the art so that you can get a +4 for a good old fashioned google bash.

Re:Is Google trying to fragment web? (1)

Ihmhi (1206036) | more than 2 years ago | (#38555822)

To be fair, you could use the same argument and say that it's not fair that Firefox extensions don't work in Chrome, Opera, IE, etc.

I mean, I get the web should be all about open standards and everything, but if every browser could the same things as every other browser, why would people even make a choice?

The actual extension... (2)

methamorph (950510) | more than 2 years ago | (#38555162)

Won't work on Chrome beta (0)

Anonymous Coward | more than 2 years ago | (#38555390)

It says "Package is invalid: Could not unzip extensions" on the latest Chrome beta (16) for me

Amazing! (3, Informative)

Gaygirlie (1657131) | more than 2 years ago | (#38555178)

It's now possible to make a native client of MAME...which...already was native... uhhh, hmm.

Re:Amazing! (1)

tepples (727027) | more than 2 years ago | (#38555714)

All this means is that if you already have an application written in a language that compiles to native code, such as C or C++, you can deploy it easily to Chrome users. So if you've made a new video game that runs on a PC, you can port it to the Pepper API and make a playable demo available to Chrome users (and any IE users willing to install the Google Chrome Frame BHO).

Why is this important (2)

YA_Python_dev (885173) | more than 2 years ago | (#38555918)

It's now possible to make a native client of MAME...which...already was native... uhhh, hmm.

It's not immediately obvious, but there are two advantages in having a program running in NaCl rather than directly on top of the OS:

1) portability: exactly the same code runs in any OS that has a browsers that supports NaCl (right now this means Linux, Mac OS X and Windows);

2) security: users can safely try running it even without knowing if MAME can be trusted (users often are not good at making security decisions); obviously this is not terribly important in this particular case since MAME is free software and is very unlikely to contain any malicious code, but even code written by the good guys can have security bugs that can be exploited if the thing is run directly on top of the OS. With NaCl you only need to keep a single program secure (the browser) to be protected.

Re:Amazing! (1)

gr8_phk (621180) | more than 2 years ago | (#38556128)

It's now possible to make a native client of MAME...which...already was native... uhhh, hmm.

Yeah, but instead of running MAME full-screen, you can now run it inside a web browser. Awesome! I want all my apps to sprout web interface features. Not.

Re:Amazing! (0)

Anonymous Coward | more than 2 years ago | (#38556204)

First of all, Chrome will full screen just like any other window. Second of all, Chrome supports an "app" window that doesn't have any controls at all just the window manager controls. And thirdly, as a troll, you failed completely.

Re:Amazing! (0)

Anonymous Coward | more than 2 years ago | (#38556178)

I know, right? Porting applications over to other virtual machines and architectures is such a waste of time. I mean, who wants to go to the trouble of delivering their application in front of as many eyeballs as possible therefore making more money from your work? Surely not you...you've made enough already flipping fries right? You could probably even stand to give some of it away.

general purpose computing (1)

StripedCow (776465) | more than 2 years ago | (#38555250)

In light of the discussion here:
http://yro.slashdot.org/story/11/12/30/2159200/doctorow-the-coming-war-on-general-purpose-computing [slashdot.org]

Let me say: Finally, general purpose computing coming to the web!

Besides, if this trend continues, we can finally be relieved of the quirks of web-browsers and just send our applications as-is, without any compatibility problems, and continuous maintenance due to continuously changing browser specs. Apps will JUST WORK (tm). About time.

Re:general purpose computing (1)

StripedCow (776465) | more than 2 years ago | (#38555296)

But note, if Apple would allow Native Client in Safari, we would be able to run Flash on iOS after all :)

Summary (5, Interesting)

Anonymous Coward | more than 2 years ago | (#38555290)

- They had to adapt the makefiles because they didn't support cross-compilation. However they did that by using ad-hoc hacks specific to Native Client rather than doing it the right way: they still compile stuff that should be compiled for the host for the target, and then run it on the host with an emulator. They also chose to remove use of makedep entirely, meaning their "port" is not something that anyone can keep or that could be integrated upstream. It's something you can throw away once finished, and that you'll need to redo whenever a new version gets released.

- Native Client runs applications in a minimal virtualized operating system for sandboxing, that only has partial POSIX support and doesn't even have support for the libc fopen/fclose functions (at least this is what the authors claim -- googling about Native Client says it supports POSIX file I/O just fine, and C I/O should be the obvious thing to come with it). The provided libc implements many things as macros, which is a cause for several conflicts. The sandbox also disallows certain classes of instructions because they are "unsafe", and in particular most uses of inline assembly are likely to not work (again, this is what the authors claim, googling says native client supports hand-coded assembly code just fine).
Again, the modifications they did to the code was very ad-hoc and is not proper support for an extra operating system in the MAME codebase, and is therefore not suitable for inclusion upstream.

So finally, they claim something was "relatively challenging" and they did it "in 4 days". This is quite contradictory, if it was challenging it would have taken significantly more time. In particular, for most software, it is not uncommon to take several months to port to another platform, and typically takes much more work than what they've done.
What they did is adapt a piece of cross-platform software to work on an extra platform that is very similar to one other platform it already supports. The process in doing so was fairly straightforward and accessible to any software engineer. They did it quickly and badly, preferring ad-hoc hacks over good software architecture. They didn't fully port it and disabled significant parts of the software and reduced its performance.
Not really a great achievement.

Re:Summary (1)

loufoque (1400831) | more than 2 years ago | (#38555310)

Argh, forgot to log in before posting...

Re:Summary (3, Insightful)

BasilBrush (643681) | more than 2 years ago | (#38555416)

I'd tend to go with what "the authors claim" rather than your Googling, since this port was done by Google engineers working on Native Client. If they don't know what it does and doesn't do, no one does.

Resume of the person who posted the method of porting:
http://muth.org/Robert/resume.html [muth.org]

You're probably right that they went for a quick and dirty approach rather than future maintainable port. But why not, if that is what met their objective? They obviously want to test/prove/demonstrate the capabilities of Native Client. They can do that by just getting MAME running and pointing to it. It isn't their job to take much longer (several months in your estimation) to make it fully maintainable.

Re:Summary (1)

gbjbaanb (229885) | more than 2 years ago | (#38555630)

sure, but a quick and dirty hack only proves some possible potential of the platform, it does not mean its ready for real-world use as no-one wants a platform that only supports a ton of hacking to get it to work.

Until they release MAME in a maintainable form that is supported upstream (as that would be a fine recommendation of fitness for purpose), this is just a toy to be played with.

Re:Summary (0)

loufoque (1400831) | more than 2 years ago | (#38555660)

Regardless, the Google-supplied information is inconsistent. Chances are, the features are supposed to work but don't quite do, so they workaround'ed the issues instead of fixing them.

A good port without hacks and included upstream would have much more value in vouching for the quality of their platform.

What I see only makes me think that NaCl is not a platform worth considering for serious software development.

Re:Summary (0, Flamebait)

Anonymous Coward | more than 2 years ago | (#38555870)

Hey, jackass, you do realize that native client is still in development phase and has not had general release right? Of course it isn't fully ready and functional yet. How about instead of being an asshole and judging free alpha software like you just paid 100 dollars for a shrink-wrapped box of it at Worst Buy, you just accept the fact that significant changes are likely to take place before release and saving your bitching and moaning until then. Fucking Slashdot know-mornings couldn't code themselves out of a wet paper bag slamming somebody elses product that hasn't even been released yet. Yeah, I'm surprised.

party like its 1999 (4, Interesting)

Anonymous Coward | more than 2 years ago | (#38555422)

Sorry, this comment requires Google Chrome 11.56258772331 with WebGL and VP6 installed
Click here to go back
Click here to visit webring

The internet, 1 step forward, 2 steps back, feet together

Re:party like its 1999 (2)

YA_Python_dev (885173) | more than 2 years ago | (#38556080)

I get your point, but please note that WebGL is a web standard (implemented in Firefox, Chrome, Safari, Opera and Internet Explorer) and VP8 (I assume you mean VP8, the video codec used in WebM, and not literally VP6 that's obsolete) has multiple free/open source implementations and even its patents are available with very liberal conditions that make them compatible with free software licences.

WebM unfortunately is not (yet?) part of the HTML standard due to strong opposition from Apple and Microsoft, but it's interoperably implemented in Firefox, Chrome, Opera, Safari and Internet Explorer (the latter two require the installation of the WebM codec in the OS, all other browsers just work out-of-the-box). It's also the thing that allowed me to not install a proprietary Flash plugin on my last two computers, so I kinda like it.

Avoiding lock-in and proprietary techs on the intertubes is a very good thing, but neither WebGL nor WebM are a problem here, IMO.

Now what codeing mame to use GPU Cpu for some stuf (1)

Joe_Dragon (2206452) | more than 2 years ago | (#38556074)

Now that will speed it up and maybe make running games that used 3d chips run at a good speed or some kind of on it's own X86 VM for the games that used X86 cpus where you need to emu the input / security boards in them + maybe a 3d card.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?