Bada, new Samsung mobile phone platform

Samsung bada is a new open platform that enables developer to build applications on Samsung mobile devices. Even if the Korean firm announced its upcoming platform a month ago, the developer site has become accessible only for few days now. Let’s have a look on this platform.

Bada overview

Concerning this new technology, Samsung communication focuses on 3 main topics :
¬ User-interactivity
¬ Service-oriented framework
¬ Open and configurable system

User-interactivity
Samsung bada includes a new UI framework that supports the next generation Samsung touch. Some additional UI tools include the ability to embed the Adobe® Flash® Player and the WebKit Internet browser directly into native bada applications UI. The framework includes also sensors such as acceleration, magnetic, tilt, weather, proximity, and activity sensors.
The bada platform provides user interaction modalities including motion sensing, fine-tuned vibration control, and face detection.

Service-oriented framework
The BAda platform has new service-centric capabilities including social networking, device synchronization, content management, location-based services, and commerce services, all supported by back-end bada servers.

Open and Configurable system
The bada platform is kernel-configurable so that it can run either on the Linux kernel or real-time OS kernels. Samsung bada uses Eclipse and a GNU tool-chain.

Bada architecture

Samsung bada architecture is made up of these 4 layers:

Kernel layer Based on a real-time OS or Linux kernel, depending on hardware configuration.
Device layer Core functions as a device platform such as system and security management, graphics and window system, data protocols and telephony, audio-visual and multimedia management, and so on.
Service layer Service-centric functions that are provided by application engines – such as messaging and contact management – and web-service components interconnecting with bada Server.
Framework layer It can export standard open APIs in C++, and it consists of application framework and functions exported by underlying layers.

Osp::Bada API for developers

I highly recommend the reading of the Samsung official Bada overview to understand the package content. Moreover you may consult Bada API Reference V1.0.0a3 for day-to-day development.

SDK overview

Here below is a summary of this document with link (especially to Wikipedia) for most of technical terminology and concepts related to image processing, network and mobile phone technology.

Osp::Base Namespaces for basic types, execution environment, and utilities
- Basic data types
- Runtime
- Collection
- Utility
- Standard library support (C++ STL)
Osp::Io Namespace for input/output data handling
- File and Directory
- Database
- Registry
Osp::Text Namespaces for internationalization and localization
- Text
UNICODE
UTF8
UCS2
Latin1
GSM
ASCII
Osp::Locales Namespaces for internationalization and localization
- Locale
Osp::App Namespace for application framework
- Application types
- Application life-cycle management
- Multiple base applications and one UI application can run concurrently.
- Application control
Osp::Graphics Namespace for drawing-related functions
- 2D Graphics
- 3D Graphics
OpenGL® ES
EGL []
Osp::Ui Namespace for creating user interfaces
- Uibase
- Containers
- Controls
- Advanced controls
- Theme
- Virtual keypad
- XML UI Builder
- Resolution independent
- Multi-point touch
Samsung TouchWiz User Interface
Wide VGA
WQVGA [Wide Quarter Video Graphics Display]
Osp::Uix Namespace for advanced user interaction.
- Various sensors
- Programmable vibration
- Motion
- Face
Magsweep
IVT files
Osp::Net Namespace for data networking
- Network management
- Socket
- HTTP
- Bluetooth
- Wi-Fi
UMTS [Universal Mobile Telecommunications System]
Wi-Fi
TCP [Transmission Control Protocol]
UDP [User Datagram Protocol]
TLS [Transport Layer Security]
DNS [Domain Name System]
SSL [Secure Sockets Layer]
BluetoothProfile :
- GAP [Generic access profile]
- OPP [Object Push Profile]
- SPP [Serial Port Profile]
Osp::Telephony Namespace for telephony capabilities
- Call
- Network
- SIM
PLMN [Public Land Mobile Network]
MCC [Mobile Country Code]
MNC – [Mobile Network Code]
Cell ID
LAC [Location Area Code]
SIM [Subscriber Identity Module]
SPN [Service Provider Name]
ICC-ID [Integrated Circuit Card ID]
Osp::Messaging Namespace for messaging services
- Messaging service
- Push notification service
Osp::Media Namespace for multi-media handling
- Media playback
- Recording
- Image processing
- Camera
- DRM information
RTSP [Real Time Streaming Protocol]
OMA DRM [Open Mobile Alliance Digital Rights Management]
MS DRM [Windows Media DRM]
Osp::Security Namespace for cryptography keys, algorithms and certificate management PRNG [Pseudo Random Number Generator]
HMAC [Hash-based Message Authentication Code]
Hash
AES [Advanced Encryption Standard]
DES [Data Encryption Standard]
RSA [Rivest, Shamir and Adleman]
X.509 certificate
Osp::Device Namespace for device sync and management
- Data sync among user devices
Osp::Social Namespace for managing user data stored on a device.
- Addressbook management
- Calendarbook management
- Application log query

Namespace for managing user data in the cloud
- User profile service
- Buddy management
- Board service
- Messaging service
- SNS gateway – [Social Networking Services]

Osp::Content Namespace for content management and search services on a device.
- Local content management
- Local content search

Namespace for content management and search services in the cloud.
- Content management on server
- Content search on server
- Content transfer to and from the server

ID3
EXIF [Exchangeable image file format]
Osp::Locations Namespace for location-related information and services.
- Locating
- Location updates and retrieval
- Landmark management
- Location services from deCarta
- Map UI control
Osp::Commerce Namespace for commerce services through the Samsung Application Store.
- Item information queries
- Item purchases
Osp::Web Namespace for embedded browsing functionality
- Web control
- Browser utilities
- Download functionality
- JavaScript utility

Tools :: Eclipse plugin

Like RIM (aka BlackBerry) or Google (Android), Samsung has developed an Eclipse plugin as IDE for application development. But tremendous frsutration when I tried to download it… Be a developer is enough, you or your company need to be a partner in order to be authorized to get the plugin… Very shameful!.
Perhaps I will try the BlackBerry JDE plugin for Eclipse or the Google ADT Plugin for Eclipse before…!

Application store

As most of mobile phone suppliers, Samsung will launch its application store. Like for iPhone applications, the process is rough controlled by Samsung before selling/buying any application on the Samsung store. The following process describes the steps before adding application to the application store. By the way Samsung seems to have duplicate the Apple receipe. With the same success?

Finally after the Apple revolution thanks to the iPhone, the real competition is appearing for the next decade. Apple, Google, Microsoft, RIM, Nokia, Sony Ericksson, Samsung, Adobe… Stay tuned!

I sadly recommend the Bada framework (sad because not enable to play with it…)

About these ads

About this entry