The first thing you may ask yourself is why would you want to use a console as a general application platform. The answer to that question lies in the evolution of the end-user IT market. Until about 2003, people mostly used desktop computers. At the time laptops where a somewhat expensive novelty for business users. I haven't really used a laptop until around 2006.
With the launch of the iPad, things started changing again: Now people no longer need a laptop or desktop computer, they can use an Android or Apple tablet. Tablets were initially a cheap laptop replacement. This is changing again with new low-cost laptops appearing on the market and exchange rates and import duties making tablets expensive, at least in the South African market.
Tablets are mainly content consumption devices. While most people are not content producers (ex. programmers, accountants and other creative professionals) this creates a problem: If you want to create a MS Word document, a program or do anything that requires a keyboard, you have to buy an extra device or use a tablet which is somewhat inadequate for the job.
This is where my initial question comes in: Why can't we use gaming consoles for normal applications? The latest generation of gaming consoles are in effect miniaturized desktop computers that are a year or so out of date. If you look at the specifications for current consoles (http://www.ign.com/wikis/xbox-one/PS4_vs._Xbox_One_vs._Wii_U_Comparison_Chart), these machines should be able to run an operating system like Ubuntu Linux or Windows. If these platforms were open for application developers, it may be possible to fulfill this need for a content creation device using existing hardware that many people already own.
If the XBox One gets Windows 10 with full access to the online Application Store (for say HTML applications) this need will be fulfilled, but what about the PS4?
First of all you may ask why not develop an application using the Sony supported development kit instead of a browser. The problem with this is the requirements laid out on this page: http://www.playstation.com/en-us/develop/. This is awkward for the rest of the world that do not live in North or South America.
In order to test the browser as it is, I created a small website to see what the browser capabilities are. From the start I already know that:
- The browser is WebKit based - http://www.psdevwiki.com/ps4/Internet_Browser
- The PS4 has keyboard and mouse support: I can see the mouse initializing when I plug it in. It does not seem to do anything after that.
- The UI of the PS4 is built using WebGL - http://news.softpedia.com/news/The-PS4-UI-Is-Built-Using-WebGL-a-Web-3D-Graphics-Technology-400937.shtml
- WebGL is not available for use on public websites. It seems to be deliberately disabled. You can check this by browsing to https://get.webgl.org/.
- The browser supports keyboard input on text fields on websites.
My browser test is here: http://www.coffee-smudge.com/PS4Test/
The source code is here: https://github.com/WCoetser/RandomUsefulCode/tree/master/PS4Test
After testing the browser I made these observations:
- The browser is mainly designed to be a content consumption device like a tablet.
- Plugging in a mouse causes no inputs to be generated.
- The canvas element is a viable alternative to develop simple games, however this is hampered by adequate input options.
- The game-pad generates input events for L1, R1, and the up, down,left and right arrows. The rest of the buttons are mapped to navigation options. This rules out using the game controller as an input.
- When using the keyboard on a non-text input field, no events are generated for non-navigation buttons. Therefore, there is no way to capture normal typing events for a computer game or application.
I guess Sony intended the browser to be only that: a content consumption device for browsing the web. Hopefully this will change in the future, especially if Microsoft turns the XBox One into a general computing device.