Here Comes Homebrew: Wii
This post is a continuation of a series discussing the potential coming of mass market homebrew. The previous article discussed the Sony PlayStation 3 and today we discuss the Nintendo Wii.
The Nintendo Wii
Of all the current generation console makers, Nintendo appears to be the most reluctant when it comes to legitimate homebrew. They currently do not have an official strategy unlike Sony and Microsoft. While they said games by independent developers will happen fairly soon through a new Games Channel, I would guess 'independent developers' doesn't mean 'amateur/homebrew developers'. I'm sure we will find out at this year's GDC.
While Nintendo may not have an official homebrew strategy, the Wii appears to be the first of the current generation consoles to be hacked (no soldering required) to support homebrew applications and emulators. However, the only avenue suitable for mass market homebrew is the optional download of the Opera 9 web browser. The browser is currently a free beta but will apparently cost $5 dollars a few months after its official release.
The Web Browser
Nintendo's choice of Opera makes a lot of sense. Opera is feature rich and is available for numerous platforms including mobile phones and even the Nintendo DS. What is curious is the need to download it. Why not include it in the Wii, particularly when a less feature rich version of the Opera 9 browser is included and used by the Shopping Channel?
Perhaps it was the need to pay royalties or the fact it was going to take more time to perfect. Regardless, a downloadable browser that supports JavaScript, CSS and Flash (up to version 7) certainly provides a wealth of possibilities, like the PS3. Unlike the PS3 there is more talk of people doing web-based Wii homebrew. There are sites tracking usable Flash games, people figuring out how controller input gets mapped to JavaScript and Flash, and even media centers.
We are talking about web applications so many, if not all, of these applications and games will work on the PS3. However, people are building the sites and applications because of the Wii and as I mentioned in the PS3 article, you can build experiences specific to the console using user agent detection. Perhaps that is what WiiAim will do.
Console detection is important since there is a big discrepancy in the screen resolution offered by the Wii, which is primarily designed for standard definition television, and the PS3, which is primarily designed for high definition television. So if you are looking to build web sites or applications specifically for the Wii this design guide may be of help.
If there is anything to be concerned with, and this applies to any console based web browser, it's security. All web browsers have security holes, it is just a matter of finding them. Given the Wii's web browser is Opera 9 it has a high chance of having Opera 9 security holes.
In fact a vulnerability was already found early this year. The vulnerability can cause the Wii to crash requiring a power on/off to fix the problem. This may point to a weak or non-existent sandbox around the browser, which in turn could mean the potential to either brick the Wii or have the Wii run unintended code upon visiting a malicious web page.
This isn't scare mongering, the Wii just happens to be the first of the current generation consoles to have such a vulnerability revealed. Of course, I don't expect too many people to do their online banking via their Wii.
In general, seeing console vulnerabilities isn't much of a surprise. Traditionally consoles were closed gaming systems but today all the consoles are online and getting features that blur the line with a traditional computer. Hopefully all three console makers have done adequate vulnerability assessments of their system software and will patch adequately.
Bottom-line: In the PS3 article I mentioned web-based console homebrew being a wild card with potential. It is the Wii that is leading this charge. I doubt Nintendo will officially support it, but Wii owners are definitely making a mark. While security issues may eventually be a concern, the big thing that may stand in the way is that the web browser must be downloaded and will eventually have a small fee.
Follow-on blog posts ....
Later this week I will take a look at the Xbox 360 as I continue the look at how homebrew may be hitting its stride.
Currently in the series:
A few comments:
1. QJ has responded to your article here: http://wii.qj.net/index.php?&pg=49&aid=82733
2. For the love of all things holy, PLEASE don't tell coders to check the user-agent string! More than enough info can be found by probing the environment through Javascript and/or by using standard HTML features. Both Flash and Javascript programs can detect the current size of their components.
3. In case other Wii homebrewers are unaware, Opera Wii fully supports the CANVAS tag. CANVAS provides flash-like functionality through standard HTML and Javascript. Which means that games using the DPad can become a reality, even if the issues with the Javascript -> Flash interface are never worked out.
Here's info on the Canvas tag: http://developer.mozilla.org/en/docs/Canvas_tutorial
Here's a video of an upcoming game that uses the Canvas tag:
http://www.youtube.com/watch?v=Ikwh8bQaW7E
4. I'm crossing my fingers that Nintendo/Opera will fix the event.stopDefault() function so that we can use the 1 & 2 buttons. If Nintendo/Opera really wanted to be nice, they'd hardware accelerate the "2D" context in the canvas, and even support a "3D" canvas context using the OpenGL ES API. We'll see, though.
... so said 'thewiirocks' on 02/13/2007 @ 01:57:07 PM [Direct Link]
Hey wiirocks, I agree. I certainly could have been clearer here since I would certainly advocate an adaptive UI approach.
The main reason I mentioned it was the thought to redirect to you a specific environment/app for the device or even outright only allow a particular device; if the paths are divergent, no pointing in pushing it client-side.
Otherwise if the paths are not so divergent I would use a form of adaptive layout. For those of you looking to do an adaptive layout technique I find A list Apart to be a great site for reference material. Have a look here http://alistapart.com/articles/switchymclayout.
Also, great tip on the canvas tag.
... so said 'Joseph Molnar' on 02/13/2007 @ 03:21:19 PM [Direct Link]