Samsung bada: The HTML5 Developer Scorecard
A few week’s ago, we brought you our review of the browser on the HP TouchPad. In today’s review we bring you a bit of a change, looking at the Samsung bada platform. If you’re based in North America, you may not be familiar with the Samsung bada operating system. The bada OS is a hybrid featurephone/smartphone OS that ships mostly in Europe (we hear it’s coming to North America soon). We were interested in it because we heard good things about its WebKit browser from our community of Sencha Touch developers.
“While bada has a featurephone heritage, the browser is better than most smartphone devices we’ve seen.”
We managed to get our hands on a Samsung GT-S8530, running bada version 1.2 and put it though our browser tests to see how well bada’s WebKit implementation stands up as an HTML5 app platform. On paper and through many of our synthetic tests, bada had a lot of deficiencies and was often a mixed bag of results. On the other hand, in terms of real world performance and when actually used for HTML5 content the bada phone performed impressively well. We were pleasantly surprised how easily the bada browser was able to tackle CSS3 transformations and many other HTML5 features. While bada has a featurephone heritage, the browser is better than most smartphone devices we’ve seen.
Our First Look “Methodology”
Acid3 and Modernizr
We use the Acid3 tests to get a sense of the completeness of a browser’s rendering and feature set. While the Acid3 tests are a bit dated as this point, they still provide a fairly good indication of the browser and developer experience on a particular device. Bada scored a 98/100 on the Acid3 tests. The failures came in bucket 5, and we believe those are from the lack of SVG support on the device. Also if you look closely at the the Acid3 image, you’ll notice that there are extra dark black borders around some of the boxes. While browsing and testing, however, we didn’t see these causing visible issues.
We then turned to Modernizr, one of our favorite tools to look under the hood of a browser and let us know what HTML5 features it supports. We again tested using the test suite. The Modernizr test failed after 236 tests were attempted (out of a total of 276). Failure occurred in the last set of tests — where the Modernizr test run results are compared against caniuse. It’s unclear if this is a test case issue, or a browser issue. Overall, therefore, the bada browser has fairly good support for HTML5 features, but there were a few major gaps reported, specifically CSS 3D transforms, audio and video, WebSockets and inline SVG. Also missing was font-face support. The browser renders all fonts in the browser default and ignores font-face. We noted that the browser reports that it supports SVG, but as Acid3 showed earlier and as we found in further ad hoc testing, we were not able to get it to work. On the other hand, WebSQL was present, touch events were present, and standard CSS transforms, animations, and reflections were also supported.
Given how poor the SunSpider tests were, we decided against running v8 benchmarks. These tests are synthetic tests that push the engine to its limit. So as we usually do, we turned our attention to some more real world tests, looking at CSS3 performance using our own Sencha Animator demos as well as a few other tests.
As this point we typically would have done our audio and video test but the bada browser doesn’t support either, so we skipped this test altogether. We also attempted a few SVG tests, both inline and out in a separate file and were not able to get them to work in the browser. When we attempted click on a link for a .svg file, the browser downloaded the file to the camera roll, where you could then go and view the SVG file. Not very useful.
Sencha Touch Kitchen Sink
Samsung bada: Suggestions for the HTML5 App Developer
Samsung’s bada platform comes from a background as a featurephone, and while many of the aspects of the device reminded us of the old world of featurephones, the browser is squarely in the realm of a modern smartphone. The browser has many HTML5 features, and while a few are missing or are implemented in a somewhat strange way, as a HTML5 app platform it’s quite reliable.
We’re very excited about the promise of bada is a device and app platform for HTML5 developers. In many ways Samsung’s bada performs far better than its more expensive Android siblings in the Samsung lineup, so we’re very happy to see solid WebKit implementations coming from them. We were surprised with how well many of advanced browser features worked on their device, and we’re excited to see what the next generation of bada devices will offer with bada 2.