Subscribe to Bodom's Universe        RSS Feed
-----

My thoughts on Bada as an Operating System and as a Development Platform

Icon 2 Comments
A couple weeks ago, I got a new cell phone, a Samsung Wave (S8500G?). This phone has the same screen as a Samsung Galaxy S, the AMOLED vibrant, 480x800 HD(?) screen. It has a 1 GHz processor in it as well, along with bluetooth, wifi, GPS, a 5M camera on the back, and a secondary camera on the front. It runs samsung's new operating system, Bada, version 1.0, which is the subject of this blog entry.

The Operating System
Bada, at first glance, kind of looks like any other phone OS, but you really need to dive in and see everything before passing too much judgement. What sold me on this phone was the price. I was able to get one used for $200, and new they run for around twice that (here in Canada...). The first thing I noticed was that there were only 3 icons along the bottom of the home screen, and at first view, they didn't look changeable. I also noticed widgets, such as those for accessing your gmail account via the web browser, and viewing weather, stocks, and the like.

Seeing as how Bada is a new operating system, I figured I would give it a chance. I grabbed a copy of the SDK, and started looking through the API, trying to think of something cool to make, but more on that later.

For now, more thoughts on the operating system itself. For one, the 1 GHz processor makes everything run very smoothly. However, I do think that work can be done with memory management, and possibly call for a volatile memory update on future devices. The actual persistent storage is amazing however. To the extent of my knowledge, there are two versions of the phone available, one with 2GB internal storage, and one with 8. This is an extreme advance over the last phone I had, an HTC dream, which only had around 100MB of storage. That means lots and lots of apps can be downloaded, and with native ability to store installed applications on an SD Card, it was quite easy for me to all of a sudden have 10GB of space for Apps, pictures, movies, music, and everything else.

There are certainly downfalls with this operating system. For one, there is no spell-check, and no quick complete with the keyboard, as one may see in Android or Blackberry OS, meaning typing a full word means typing the full word, which can defiantly slow down people when they are replying to text messages or emails on the go. Another thing is the notification icons in the status bar, as these do not seem to disappear through just opening your message thread, you must then have each message in your field of view at least once and then close it again, which is a hassle. The camera on the front is basically useless, as you are only able to use it for video calling, which requires both extra minutes from your cellphone plan, as well as data from your data plan in order to function, and so far, Samsung is not allowing any kind of VOIP applications in their store, which is a real drag.

What really bothers me about the operating system is that Samsung seems to be a little too concerned with making apps for the app market, and not concerned enough about upgrading and optimizing the operating system, to make it more efficient, more stable, and faster.

My hopes for Bada as an operating system are that Samsung improves upon the core applications and the operating system itself, adding in missing features and making things more configurable (and uninstallable? Not everyone wants twitter or Facebook...), allow the creation and distribution of VOIP applications, and allow those with the Samsung Wave to upgrade to new versions of the operating system as they are released, via Samsung Keis or however.

What Samsung should NOT do is prohibit VOIP applications forever, as this is one of the leading factors driving people away from the platform, and they should NOT let the cell phone companies dictate what version of the operating system can be on what phone. People will learn how to hack these phones, and allowing users to update their phone to new versions of the operating system as they come out, freely and easily, is the best way to maintain the user base and not have a bunch of custom hacked roms floating around.

Bada as a Development Platform
I was quite pleasantly surprised to learn that the Samsung Bada operating system is not Java based, but C++ based. Being a C++ buff with Java experience and C# experience, this was a very easy API to get into, and understand the structure of. However, this is only version 1.0.0, so some problems with the development platform do exist. While I do think that rewriting any part of the API is a bad idea, as it can lead to a lot of applications breaking, there are some utilities that do not seem to be present. For example, it is quite difficult to convert a ByteBuffer into a String, and vice versa. Not quite difficult per say, but not very easy. Thankfully, there are functions online that can greatly help with this. Another problem I noticed was inconsistencies in how objects were created or passed, some as pointers and others as references, which added a level of frustration when they would change back and forth.

What really draws me into developing for this platform is that there is such a small number of applications, and so many of which seem to be copies of others that already exist. I do appreciate that there is about a 50/50 split between free and paid applications. I, unless an application takes a significant amount of my time and dedication, have no problem giving away whatever I write for free. My first application submitted to Samsung is one called FooBada, which interfaces with foo_controlserver, a plugin for the popular Foobar2000 audio player, and allows users to control the application on a small level remotely (thus they can toggle pause, play, stop, next, previous, control volume, and see what's currently playing.) This app allowed me to at least view the tip of the Bada API iceberg, and gave me experience with Action event listeners, Socket event listeners, low level sockets, and the like from the perspective of Bada. If you have ever done anything with Java GUI programming, interfaces will come naturally to you. If you haven't, they aren't too hard to use. Quite simple actually.

The Bada IDE is easy to work with and is based off eclipse. The GUI designer is an awesome tool making setting up GUIs a breeze, and importing the properties into your C++ code is as easy as a function call and a type cast. The method for doing so can be seen in the form class created for you when you start a new project in the IDE. Some of the tools, like broker, do seem to break sometimes. Also, on device debugging does not currently work, but it is my hope that the Samsung team is adamant towards fixing this in a future release.

Getting your product into the app store is as easy as registering for a Samsung sellers account, and filling out some online forms. I'm currently waiting to hear back about FooBada, but hopefully it will go without a hitch.

Summing it all up
To be honest, I really do like what Samsung has produced. However, certain key issues drive me into hoping that there will be an operating system revision out soon. Such things include on device debugging, the absenteeism of VOIP applications, and the Apple like control they seem to be implementing over the operating system and application infrastructure. All of these are not attractive to developers or users. The world does not need another iPhone. If these issues are fixed, and other improvements mentioned are seen, we could very well be looking at one of the next top smart phone operating systems.

2 Comments On This Entry

Page 1 of 1

srahul07 

20 September 2010 - 03:16 AM
Nice thoughts dude... even I feel the same for Samsung bada as it will be really a new world out there with samsung bada os into smartphone application development. Also i would like to add one thing over here is that samsung shoould think of making bada sdk available into linux as that is the major development environment used worldwide by developers. I would say samsung should think of declaring its new OS to be under GNU open-source licensing so as to create upgrades as well revisions to it, which will reduce its overhead of working on it on its own.
0

bodom658 

23 September 2010 - 05:20 PM
I agree very much with you. Porting the toolchain to linux would not be a very demanding task for Samsung, as their IDE is based off Eclipse. The only problem would then lie in things like the simulator and the compilation tool chain itself, even though it, as far as I know, is an arm based processor. Samsung seems to be moving more towards an Apple model of software distribution. This is sad, as a lot of people are very turned off by Apple's control over its own market. I really think the critical breaking point for Apples strategy is limiting its operating system to a single phone. Hopefully, samsung will offer bada on a range of devices, and will allow all of their users to upgrade their OS as new versions come out. The Wave is a quite powerful phone. I've had it for about 6 weeks now, and am still blown away by the performance. It's a little lacking in RAM, but other than that it's wonderful.

The main point to make here is that Bada provides us with an opportunity to break away from Java based phone operating systems. If it did go GPL, which it probably won't, it could one day surpass even android. However, if Samsung plans to keep this closed source, closed hardware grip on their operating system, I don't see myself getting another one of their Bada based phones when I upgrade in a few years.
0
Page 1 of 1

January 2022

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
3031     

Recent Entries

Recent Comments

Search My Blog

4 user(s) viewing

4 Guests
0 member(s)
0 anonymous member(s)