
PS4 UX is powered by WebGL - sciwiz
https://plus.google.com/+DonOlmstead/posts/Mzy6VEAwHaa
======
gisenberg
There's a bit of irony in that the strengths of HTML5 shine through when
confined to a single environment. If the best experience comes from targeting
a single environment, then why go web at all? Further, HTML is considered a
strong contender for true cross-platform app support, which is where it fails
the hardest. In my experience, it's less effort to target native apps per
platform than to try and use something like PhoneGap for apps of reasonable
quality and complexity.

The single environment HTML5 showcase is also often supported by another
development team who is actively trying to support their specific use cases;
Microsoft with IE/WinJS, Mozilla with Firefox/WebOS, Sony with a PS4-optimized
WebGL implementation, etc.

When the big players hit roadblocks during the development of something as
high profile as their UI for their next-gen console, the browser can be
changed on-the-fly to overcome them. That option isn't available to the rest
of the world, and "audio doesn't work like we need it to" being a solvable
problem can certainly influence whether or not you believe HTML5 is a suitable
app platform.

~~~
erikpukinskis
> it's less effort to target native apps per platform than to try and use
> something like PhoneGap for apps of reasonable quality and complexity.

Sorry, are you saying that it's the effort for you to build a native Android
app, a native iOS app, a native Windows Phone app, and a mobile web app
combined add up to more than the effort it takes to make a single web app and
get it to run well on Phonegap on multiple platforms?

That's a pretty bold statement. Are you on a big team? I would expect you'd
need at least a half dozen developers to pull off four separate apps, while I
can easily imagine a single person building a web app that could run well in
PhoneGap.

I just spent six months building a quite complex single page web app with the
hope that I could in the future package it in PhoneGap (or similar), so if
what you're saying is true then I'm fucked, because it would take me easily a
full year to build 3 native apps of the same complexity. Probably much longer.

~~~
gisenberg
In my experience, implementing a sufficiently complex app in PhoneGap
targeting Android, Windows Phone, iPhone and iPad is absolutely more work with
lower quality result than doing native versions of each app through Xamarin.

HTML apps have a tremendous hurdle to overcome. Customer expectations are
different between something opened in a web browser and something downloaded
from the app store. Apps that are amazing as web pages can be awful as apps.
The amount of effort required to get a web application to perform in a way
that matches user expectations for native UI cues, animations, quality and
responsiveness across platforms is enormous and incredibly more difficult than
your standard web app.

Of course, if you target just one platform, things get a lot better, but at
that point, why not just use the native tooling?

This has been my experience, having tried both approaches over the course of
several years, across team sizes ranging between one and ten developers.

~~~
erikpukinskis
Ah, I see. All that matters for me is that it works and it looks good. I
constantly modify my designs so that they are as easy as possible implement,
without losing any usability. There are no fancy transitions, no fancy
widgets, just a handful of animations where they are necessary for
comprehensibility. My focus as a designer is on what users are able to do with
my app. All my design effort is in service to that.

I don't have the resources to care about nativeness. I think you're definitely
right that if you want something that behaves like a native app you're much
better off just building a native app. I suspect for most people that level of
nativity doesn't materially affect their business though.

~~~
gisenberg
One thing to keep in mind is that targeting a browser is not the same as
targeting an API level. API levels guarantee consistent behaviors across
different targets, but if you use the WebView, you'll encounter different
behaviors across the same version of Android across different hardware
vendors. Debugging PhoneGap apps isn't exactly painless, either.

It's a bit of magic to see a game work reliably across Android devices dating
back to Froyo with excellent performance. Running your web app on the same
hardware is not quite such a delight.

It's also interesting to note the bigger players that have recently made the
transition from HTML5 to native apps. That said, the good enough bar may be
good enough for many people.

------
kllrnohj
So they have a web browser for the sole purpose of setting up an GLES context
for their UI? On a video game console? I guess that's what you do when you
suddenly have 8GB of RAM, you piss it away on useless shit...

~~~
mkramlich
Counter-argument: the PS4's desktop is the one place where performance least
matters. But they would like to add new UX features there, over time, with
less dev effort. Especially basic UI content. That can be fetched remotely or
locally, relatively seamlessly. Which is what browsers already do well.

~~~
rm445
It bothers me how little people care about responsive UI. I haven't used a PS4
yet, so this is more just a general comment than a criticism of the decision -
but the PS3 is a bit of a clunker in its cross-media bar. There are spinning
placeholders for a couple of seconds every time the icons load. It doesn't
exactly scream raw power - why aren't devs _embarrassed_ by these things?

~~~
r00fus
Have you read the polygon PS4 review? The review absolutely gushes bout how
responsive the PS4 interface is, in general.

[http://www.polygon.com/a/ps4-review](http://www.polygon.com/a/ps4-review)

~~~
maccard
This is particulary impressive, seeing as it came from Polygon, who are
notoriously pro-MS

~~~
Narishma
Aren't they funded by Microsoft, or something?

------
seanalltogether
Both steam and mac app stores are html as well. It really makes sense given
how easy it is to create fluid layouts in browsers, as well as how much easier
it is to prototype new changes from designers.

~~~
tomhschmidt
Really? I find the Steam app on OSX awful - super slow and unresponsive. They
do this in some of their games too - DotA 2 comes to mind - and it's so
obvious that's not native when you're using it.

~~~
prezjordan
Not just OSX, it's sloppy on Windows too. I'm not sure what UI Toolkit they're
using, but they should do a complete overhaul.

~~~
Vbits
Steam is based on Valve's own custom UI Engine, the same one used by most of
their games.

------
drawkbox
Most game companies and associated now use embedded Webkit that makes all this
possible. Apple webkit investment still paying dividends and benefitted so
many areas including desktop browsers (Chrome, now Opera) that run on it.

EA's open source initiatives almost all use an embedded webkit lib/browser to
render UI content (some also use Scaleform (flash) -- skate 3 uses it a
bunch).

[http://gpl.ea.com/](http://gpl.ea.com/)

Back in the day EA did this more often, they also had an EASTL for game
optimized STL containers/usage: [http://www.open-
std.org/jtc1/sc22/wg21/docs/papers/2007/n227...](http://www.open-
std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html)

~~~
pjmlp
> Back in the day EA did this more often, they also had an EASTL for game
> optimized STL containers/usage ...

There are a few examples of such optimizations in the Game Programming Gems
series

~~~
drawkbox
EASTL on github, pulled out of the ea gpl projects:
[https://github.com/paulhodge/EASTL](https://github.com/paulhodge/EASTL)

------
macspoofing
Makes sense. HTML/CSS/JS is not a bad way to build UI and if you're going to
have an HTML rendering engine and JS VM on your machine, you might as well use
it.

When WebView on iOS and Android finally get WebGL support ( what's taking so
slong?!!?), native app development with native SDKs will plummet.

~~~
programminggeek
No, it won't.

As a iOS developer, I write native because I want to deliver the best possible
user experience. I've done HTML5 with PhoneGap and it does not deliver the
same experience. WebGL on iOS will not change that at all.

~~~
shocks
You may be surprised to know that most in game interfaces are powered by
Flash/ActionScript.

Would you build a website in Flash? I doubt it - you'd probably tell me it was
slow and didn't deliver the same experience.

~~~
georgemcbay
Many in-game interfaces are powered by Flash/ActionScript, running in things
like Scaleform or various open source offshoots of gameswf but they aren't
running in Adobe's actual Flash virtual machine, so any performance
comparisons are pretty moot.

In any case, anyone who didn't build websites in Flash because it was "slow"
was misinformed. Flash/AS, especially with AS3/AVM2 was significantly faster
than JavaScript (at the time Flash was relevant) if doing anything that
required "Web App" style functionality, at least if the ActionScript code was
written by an actual programmer and not a designer copy-pasta-ing scripts to
make something work. There are/were very valid arguments against Flash
(security, un-indexability, etc), but performance compared to JS wasn't really
one of them.

Source: used to write ActionScript apps that ran on the 350 mhz i.MX21 ARM
chumby device with 64 megabytes of memory that had better performance than a
lot of "native" mobile apps have today, let alone web-based mobile apps.

------
shocks
Many commenters here may be very surprised to know that it is very common for
game developers to use Flash/ActionScript to build both game interfaces and
game logic. See ScaleForm.

WebGL is the natural next step.

~~~
carnaval
The reason why game devs use Scaleform is because of the great vector graphics
authoring tool. WebGL is just a gl context in javascript and gives you nothing
more than before. No, WebXXX isn't always the natural next step HN.

------
davb
I suspect it may be rendered in WebKit
([http://www.scei.co.jp/ps4-license/webkit.html](http://www.scei.co.jp/ps4-license/webkit.html))

~~~
davb
Actually the whole list of open source licenses is interesting.. JQuery, Lua,
Mono, Protobufs.

~~~
pjmlp
They are already using Mono on the PS Vita and there will be a commercial
version of MonoGame for the PS 4.

------
kayoone
Its actually a pretty small part of the UX as the guy pointed out here:
[https://plus.google.com/113371030751322342143/posts/5akNbY6A...](https://plus.google.com/113371030751322342143/posts/5akNbY6A15J)

------
fidotron
More interesting is it is running FreeBSD:
[http://www.scei.co.jp/ps4-license/](http://www.scei.co.jp/ps4-license/)

~~~
pjmlp
That would be on the devkit most likely.

~~~
dcu
ps3, ps4 and ps vita run freebsd

~~~
jevinskie
PS3 for sure does not run FreeBSD. It does use a modified version of UFS. The
lv1 hypervisor is likely derived from IBM's reference implementation. I'm not
sure about the lv2 OS (GameOS) but I believe it is 100% Sony code.

------
ffrryuu
So that's why PS4 is using 70-90W idle?

------
filipedeschamps
Despite all the hate, they've done it and it looks rock solid. Great job guys!

------
damirkotoric
Hate it when people use UX as a cool new buzzword for UI. UX is not UI. Read:

[http://www.helloerik.com/ux-is-not-ui](http://www.helloerik.com/ux-is-not-ui)

------
Touche
Any video of what it looks like?

~~~
bd
Here are some screenshots from the personal site of the author:

[http://donolmstead.me/portfolio/trilithium-
webgl/](http://donolmstead.me/portfolio/trilithium-webgl/)

------
davb
I really enjoy getting to "peak behind the curtain" of embedded systems and
other such appliances, especially games consoles. They've always held a
certain mystique. Sometimes a beautiful, glossy UI running on top of a well
thought out, logical and high performance system can be just as exciting as
the games they were designed to deliver.

(At least to someone stuck doing LoB/ERP work and CMS development.)

------
eonil
WebGL is just an interface to low-level graphics. This just means HTML was
inappropriate for any UX in PS4.

So, why didn't they use just native GL code? Because of sandboxing limitation?

------
camus2
yeah, Netflix thought it was a good idea too until they ditch their web ui for
a native one:

[http://gigaom.com/2013/11/12/netflix-ditches-webkit-to-
roll-...](http://gigaom.com/2013/11/12/netflix-ditches-webkit-to-roll-out-
slick-new-ui-for-smart-tvs-roku-boxes-and-game-consoles/)

~~~
kalleboo
That's completely different. Netflix had to work across low-end devices like
Roku boxes, SmartTVs and Blu-ray players with very limited embedded CPUs and
memory counted in the dozens of megabytes. Sony only need this to run on a
latest-gen game console with an 8-core x86 CPU, 3 GB of RAM and a screaming
GPU. Netflix never had the option of using WebGL.

------
morenoh149
no surprise. Here in SF Sony was searching aggressively for webGL and JS
hackers since last year

------
taopao
UX => UI

~~~
icebraining
UI ∈ UX

~~~
eonil
UI != UX.

UX is a side effect of UI execution.

