Meego Wiki
Views

Marketing/MeeGo vs Android

From MeeGo wiki
< Marketing(Difference between revisions)
Jump to: navigation, search
m (Build system: wikify link)
(categorise)
 
Line 73: Line 73:
=== Why MeeGo can't have a single distribution channel like the Android Market? ===
=== Why MeeGo can't have a single distribution channel like the Android Market? ===
 +
 +
[[Category:Marketing]]

Latest revision as of 09:52, 8 April 2011

(This task lacks a proper plan, objectives committed to a MeeGo release and a coordinator. If you want to discuss it further go to meego-community)

THIS PAGE IS A DRAFT AND DOESN'T REFLECT OFFICIAL OPINIONS OF THE MEEGO PROJECT

What are the strengths and weaknesses of the MeeGo project compared to Android? Dave Neary wrote an article on the subject, and plans to integrate the ideas from that article into this page: MeeGo Progress Report

Links to analysis, data and examples are very welcome!

Contents

Business model

The MeeGo business model is quite straightforward and known in the open source context: developing a platform takes resources, and sharing the development optimizes costs for each contributor, while increasing the quality and reducing the time to market for all stakeholders. The platform itself becomes a commodity while each stakeholder still has plenty of room for their own differentiation with proprietary software, services and device products.

The Android business model is, in comparison, a lot more obscure. Android is for Google an extension to their complex of free services powering their advertisement business model. Taking the Android gift companies might get their own short term success, but they are always contributing to Google's benefits and growth. Google's growing power is seen with high concern by many companies, even by those benefiting from Android's short term benefits today.

Governance

The governance structure of MeeGo is open to all contributors while Android and the Open Handset Alliance are clearly governed by Google alone. Since the first day MeeGo has at least two different companies as core stakeholders, which requires a totally different setup. Intel and Nokia are willing to get more companies involved in MeeGo development, deployment and governance, including their own competitors.

Architecture

MeeGo is a platform that sits entirely in the Linux and free software tradition. The platform is a standard Linux based stack made of cutting edge upstream projects that are developed independently and benefit also other distributions. It's the setup that has brought the Linux kernel and the operating systems based on it on a path of growth and success. The MeeGo API and development environment is based on Qt, a project with a long history in the free software community that has opened its development process and contribution model in the past years. Most of the components of the MeeGo platform are deployed also in other platforms.

Even if Android is based on Linux, in practice is developed as a fork by Google, who carries with most of its development. The Dalvik application framework is a Java based implementation also detached from the Java community. The key parts of the Android stack are basically used in Android alone. This isolation has been useful for Android in the short term, but in practice it pushes ODMs and application developers out of the broader Linux and free desktop currents, requiring skills and development specific to Android.

Roadmap

The MeeGo project wants to have an open roadmapping process governed by the Working Groups, where the main contributors and stakeholders are involved. In that process, the maintainers of development areas commit to develop features targeting specific releases. The progress of the development of those features can be followed at http://bugs.meego.com . The MeeGo roadmap indirectly depends also on the roadmaps of the upstream projects developing openly software components integrated in MeeGo (Linux Kernel, Xorg, Qt, etc). This allows platform and application developers to plan ahead in equal conditions.

The Android roadmap is private, designed entirely by Google and updated whenever Google decides to make announcements. Google partners involved in future lead products for the Android platform might get a view on those plans in advance, putting in disadvantage the Android deployers and developers without a special relationship with Google.

Releases

MeeGo releases are time based and occur every six months following a publicly documented process.

UX

The MeeGo platform has single Core OS powering different UX categories. All these categories share the same MeeGo API but have an UX layer optimized for the form factors they are targeted to. This architecture was designed to satisfy different device categories since the beginning. Every MeeGo release brings an update to the Core OS and all the UX categories.

Android was created only with the smartphone form factor in mind. Even if it has been ported and customized to be deployed in other form factors, the adaptation is not trivial and the maintenance burden can grow considerably.

SDK

Build system

MeeGo has a professional integrated build system called OBS: [Open Build System] originally created for the openSUSE project.
The OBS solves the issue of moving dependencies between conflicting requirements :

  • MeeGo 6 monthly rebase to allign at best with latest Linux Kernel and applications
  • Bespoke modules and kernel configurations supporting extra hardware features provides by the ODM
  • Compatibility of application developed for multiple platforms (including incompatible architectures such as ARM and x86).

The MeeGo project provides the initial OBS which contains the entire MeeGo project split in convenient packages. It can be daisy chained by the ODM private OBS if non proprietary code integration is required. Once the OBS process is configured, the ODM benefits from an automatic and fully customisable method to easy follow the movement of the MeeGo core and by side effect of Linux Community as a whole, while retaining an easy method to keep compatibility with their proprietary extensions. More on that use the [ODM case].

OBS also delivers to the Developers the capability to support simultaneously multiple distributions and/or versions of the same distribution by automatically triggering the build process and the secure publication of the new packages at each change of one of the dependency. Developers can enjoy the use of free community OBS, build their own, or use the simplify build sub-system.

Distribution

FAQ

Why MeeGo and not using / contributing to Android instead?

Is there a place for MeeGo when Android already exists and is free?

Will MeeGo catch up with the Android growth?

Will MeeGo have the same fragmentation problems Android has?

First let's define the Android fragmentation problem:

  • Android has different versions with different API coverage (((FIXME and binary breaks?))).
  • Some Android products go to market shipping the last version while other new products are shipping previous versions.
  • Some Android products get OS updates while others don't, or the updates are provided at very different times.
  • For application developers is a pain to maintain different versions of different apps.

The risk of falling in a similar scenario exists:

  • MeeGo has a new release every six months. Just like any innovative platform these days, MeeGo will also have an evolving API and binary breaks. Some of these breaks might come from upstream projects and not even be under the direct responsibility of the MeeGo project.
  • MeeGo will eventually have a variety of vendors and the risk of seeing products shipping with different versions and being updated (or not) at different speeds exist.
  • If the conditions above are true, it will be also true that life might be more complicated for app developers.

What are the measures the MeeGo project is taking / should take to avoid those problems?

  • The open governance, roadmap and development on time-based releases help ODMs and the rest of MeeGo stakeholders getting involved in the definition and implementation of new MeeGo releases. Placing a binary break in the next release or one after is a decision made by many, and not a single company behind closed doors.
  • The 6 month release cycle plus the monthly maintenance releases provides an easier path for ODMs to plan new products and their OS updates. (((FIXME: are we planning for an scenario like e.g. Qt Mobility update to a maintenance release for better compatibility?)))
  • The Qt and Qt Mobility roadmaps are key factors of success managing releases and fragmentation. The Qt team has a long and well documented track managing their APIs across releases and platforms.
  • The MeeGo SDK (based on Qt Creator) and the OBS are designed to handle the compilation of the same source code for different targets. (((FIXME: more details about why life for developers can be non-painful if API changes across releases are documented properly))).
  • Note that the risk of fragmentation increases exponentially when apps use directly platform APIs not part of the official MeeGo API, unofficial toolkits, etc. This is directly connected to the definition and observation of the MeeGo Compliance.

Why MeeGo can't have a single distribution channel like the Android Market?

Personal tools