I attended a Samsung Bada Developer Day in San Francisco yesterday. The event, part of a 35 city world tour, was a sold out full house with over 200 attendees. bada (Korean for "ocean") is Samsung's new smartphone platform.
Native bada development is done in C++. The bada IDE for native app development is Eclipse based and is currently Windows only with Apple OS X coming soon. It includes an emulator and supports on device debuggging. The SDK ships with extensive tutorials and several sample programs. Visit developer.bada.com to register for the bada development program and download the IDE.
My own C++ experience is pretty limited. From what I understood from the presentations, development on bada is pretty much standard C++ except that bada for some differences in object creation exception handling.
Bada offers developers quite a few hooks into the underlying OS, hardware and pre-installed apps. For example:
- Apps can embed a web browser or map control and launch built in apps like browser or media player.
- Mapping apps can use either Google or deCarta as their map provider.
- Device location is available to all apps.
- There's a "Buddy" API for creating social networking apps that can share the users location and profile information using a bada server.
- A social networking services gateway lets apps interact with Twitter, Facebook, or YouTube.
Bada also supports Bondi web widgets. The bada widget SDK is available at innovator.samsungmobile.com. I was hoping to learn more about building and deploying widgets on bada. The Developer Day presentations covered bada C++ development in considerable detail but there was nothing at all on widget development.
Apps and other content are distributed through an on device "Samsung Apps" store. There's also a web version of the store at samsungapps.com. It doesn't seem to be possible for users to install applications except through the Samsung store. Samsung Apps supports operator billing and will be available is in 100 countries but is not currently available in the US. Publishers keep 70% of an app's selling price even when using operator billing.
Apps must be tested and certified to be distributed through the Samsung Apps store. Test criteria enforce usability, stability, performance and content requirements. Gambiling with real money and "sexual content" where given as examples of prohibited content. Samsung's goal is to approve or reject bada apps within 7 days of submission. Developers whose apps are rejected will receive detailed reports of failed tests including videos demonstrating the problem in some cases. There is currently no charge for testing, certification or to join the the bada developer program.
There's a Bada Developer Challenge with 2.7 million in cash prizes including a $300,000 top prize in each of 8 categories. The dealine for entries is Aug. 31st 2010.
Every Developer Day attendee received a Samsung Wave bada phone. It seems like a pretty nice device. With a 3.3 inch screen, modest 118 x 56 x 10.9 mm dimensions and 118 gm weight, it's a pocket and purse friendly alternative to larger "superphones" like the Nexus One, Evo or iPhone 4.
I found the Wave's UI pretty snappy and the 800 x 480 SUPER AMOLED screen very sharp, bright and vibrant. I didn't experience any the keyboard lag that some reviewers have mentioned. The WebKit based Samsung browser, called "Dolfin" supports Flash Lite and has a built in ad blocker. Like the rest of the Wave software, the browser seems fast. I will be posting a full review of the Wave after I have a bit more hands on time with it.
I tried to go into the event with an open mind but couldn't help wondering if the world really needs another smartphone platform. Certainly as the #2 handset maker in the world with 22.1% market share (#1 in the US with a 29% share), Samsung is a force to be reckoned with.
Developers were told that Samsung's strategy is to use Android for high end smartphones and bada for more mass market devices. Samsung sees bada as a platform to push smartphone adoption to lower price points. The bada Kernel can be either Linux or a RTOS with the bada framework exposing a consistent API regardless of the kernel used. Using a RTOS should allow bada to run on less capable and cheaper hardware.
Provided bada devices can be produced at a significantly lower cost than other smartphones this strikes me as a good strategy. There is a huge gap in capabilities between today's typical feature phones like Nokia S40 devices and even a basic smartphone.
However, Symbian and the BlackBerry OS also have relatively low hardware requirements and both RIM and Nokia are already delivering entry-level smartphones like the Nokia 5230 and Curve 8520 at the near feature phone price of around $200 unsubsidized.
Samsung says 150+ operators in 80+ countries, including Canada and Mexico, will offer bada Phones in 2010 and that emerging markets are bada's key target.
The audience at the San Francisco Developer Event reacted with shocked silence when it was mentioned that no bada devices would be available from US operators in 2010. I spoke to several developers after the event and all said that they were taking a wait and see attitude toward bada at this time, calling the platform a gamble and decrying the lack of US distribution. One developer cited the joy he gets from seeing his friends and family using the iPhone and Android apps he has created, a joy he would not get with bada.
While I don't think US developer support is critical to bada's success, there is a lot of mobile app development talent in the US, talent that will likely continue to work mainly with the iPhone and Android. That means that many top selling apps and games for those platforms won't be ported to bada. I applaud Samsung for reaching out to US developers with presentations, a $2.7 million app contest, Silicon Valley support office and free devices. But I think that without local visibility in the market and in the streets, bada, like Symbian, will be a hard sell to US developers.