Thursday, January 20, 2011

Meego Conference


Intel and Nokia MeeGo roadshow was organised on 10th Nov'10 at Surya Crowne Plaza. It was informative but not 100% complete. Also, hands-on lab was cancelled at the last moment citing reasons that the laptops were held at the customs. There were presentations on MeeGo platform-intro, MeeGo Installation and use-info(by Prem Rao, Intel), AppUp Market-info(by Preethi Raj, Intel) and WindRiver(by Thilak Kumar, WindRiver).
Here's a summary about MeeGo and some tips to start developing MeeGo Apps.
Introduction
MeeGo is a combination of Intel Moblin and Nokia Maemo projects. Nokia was working on Maemo 6 after porting Maemo 5 on Nokia N900. Intel was disaapointed by the Micorosft support for Intel Atom processor. So, Intel joined hands with Nokia to make a platform which can work on a variety of devices, i.e. Smartphones, Netbook, In-car Infotainment Systems,  MIDs, Tablet PCs etc and perform much better than windows. MeeGo can work on ARM as well as Intel Atom processor.
MeeGo can work on all these devices, but the source needs to be cross-compiled for the platform required, i.e.one MeeGo binary cannot be used for all the paltforms. The default format of the MeeGo application is .rpm.
There was a discussion on the interaction between OEMs, ODMs, ISVs etc.
Development
MeeGo is open source project hosted by The Linux Foundation. MeeGo apps are based on Qt (pronounced as "Cute" by Intel/Nokia people). So, the easiest and best way to start development is download the SDK for Linux install it. The default SDK(approx. 600MB) consists of a Qt Creator(IDE), Maemo Simulator, Debugging tools, Qt Localization tool, Qt UI creator(based on XML) etc. Full dev support on Windows/Mac is yet to come.
Qt is cross-platform and supported on most OS. So, if you first want to brush up/learn C++/Qt without downloading the SDK, its already provided with most of the Linux distribution. Install Ubuntu(v10.0+) and check if Qt 4.0+ libraries and headers are installed. Two prime libraries are-QtGui and QtCore. There are 3 simple steps to compile a Qt project. QMake is a tool which does the Qt related work for you.
(i) Go to the project dir where you've placed your src files.
(ii) $ qmake -project
It'll create a .pro file. You can modify it as per your requirement and put CONFIG += qt if its not already added.
(iii) $ qmake
It'll create the Makefile in the current directory. You can review it.
(iv) $ make
It'll create the binary for you.
Working on Qemu and Xephyr with MeeGo image
Currently netbook and handset images are available. They can be used with Qemu or Xephyr. Xephyr is only supported on Intel Graphics card and uses chroot and works faster than Qemu. Both can be used to simulate a MeeGo OS environment.
Selling the App(Intel AppUp Store)
Intel AppUp store is now supported in India. The developer can register(its free for one year now) and submit the app to the AppStore. The dev can receive upto 70% of the revenue from the app sales. The store currently has Maemo/MeeGo apps for sale/download.
WindRiver
Windriver is a 100% Intel owned subsidiary. It is known for its popular software, i.e. VxWorks. Its into building software for Space crafts, aircrafts, ships etc. Its now also has started work in the Telecom domain. It has modified and enhanced the MeeGo source to have better speed, stability, performance and UI enhancements and thus created and enhanced version of MeeGo which is commercial. So, the OEMs looking for a customized and enhanced MeeGo can contact WindRiver for the solution. It also provides an automated test framework, also a validation tool called FAST. They support FOTA (Firmware Over-The-Air) upgrade.
New features include but not limited to enhanced framework interface, device management software, drivers, UI framework etc.
WindRiver is concentrated on the embedded devices, i.e. Smartphones, In-vehicle Infotainment systems, Tablets.
They work on a CMMi Level 3 certified process. The IP rights is with the OEMs. The latest version is compatible with MeeGo v1.1.
Q&A
I asked a few questions to the presenters and I must say I was not satisfied with the answers. The presenters' knowledge were not upto the mark.
Q.1. What is the memory assigned to a MeeGo Application?
Ans: Presenter->It depends. (not satisfied with the answer)
Q.2. Will MeeGo support a JVM or will it follow Apple's princinple of not allowing a Java App(J2ME MIDlet) to run?
Ans: Presenter->No, we don't have any plans to support Java.
Q.3. What about the Sandbox model in MeeGo? How will the App Manager restrict the App not to hurt the system?
Ans: Presenter-> It'll be as per the Kernel security. (not a complete answer as a device app needs a lot of permissions which is the job of Security Manager)
Q.4. Is AppUp Store the only way to install the App on the MeeGo device? Can we have an offline installation of a MeeGo binary(.rpm)?
Ans: Presenters-> Yes you can install it like a regular .rpm file (not a complete answer as a device package needs a lot of validation before a successful installation which is the job of App Manager. Its not a PC rpm package.)
Q.5. Why was rpm chosen as the default format not .deb as Maemo is based on .deb and Moblin is based on .rpm?
Ans: Presenter-> Most of the code is migrated from Fedora.

Q.6. Is there a GPS emulation support in the emulator?
Ans: Presenter-> Not sure.
The presenter showed us one video with MeeGo Graphics running on a device, and it looked really awesome. The UI page floated like a curtain/wave. The icons and the widgets looked awesome!! It was announced that BMW cars will have MeeGo running on their in-vehicle systems.

No comments:

Post a Comment