<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="http://duncan-cragg.org/css/atom.css" type="text/css" ?>
<!-- Copyright (c) 2006 Duncan Cragg -->

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
    <id>http://duncan-cragg.org/blog/</id>
    <title>What Not How - Posts tagged 'cilux'</title>
    <subtitle>Duncan Cragg on Declarative Architectures</subtitle>
    <author><name>Duncan Cragg</name></author>
    <logo>/favicon.gif</logo>
    <icon>/favicon.ico</icon>
    <rights>All content including photos and images by Duncan Cragg. Copyright (c) Duncan Cragg, your rights preserved: see /CXL.html</rights>
    <generator uri="http://www.djangoproject.com">A Django Production.</generator>
    <link rel="alternate" type="text/html" href="http://duncan-cragg.org/blog/" title="What Not How" />
    <link rel="self" type="application/atom+xml" href="http://duncan-cragg.org/blog/atom/cilux/" />

    <updated>2009-04-06T17:40:00Z</updated>


    <entry>
        <id>http://duncan-cragg.org/blog/post/symbian-and-linux/</id>
        <title>Symbian and Linux</title>
        <published>2009-04-06T17:40:00Z</published>
        
        <updated>2009-04-06T17:40:00Z</updated>
        
        <link rel="alternate" type="text/html" href="http://duncan-cragg.org/blog/post/symbian-and-linux/" title="Symbian and Linux" />
        
        <category term="mobile2.0" />
        
        <category term="u-web" />
        
        <category term="cilux" />
        
        <summary type="xhtml">
            <div xmlns="http://www.w3.org/1999/xhtml">

<p>

The mobile world has been thrown into turmoil by the iPhone, and everyone is scrambling to
get onto the touch-and-app-store bandwagon and to innovate their way ahead.
</p><p>
These are interesting times. For example, thanks to a remarkable move by Nokia, 
<a href="http://www.symbian.com">Symbian</a> is now going to be made Open Source over the next
year or so, joining Linux as one of the big two Open Source mobile operating systems.
</p><p>
There has recently been some 
<a href="http://www.computerworld.com.au/article/297839/symbian_foundation_faces_up_challenges?rid=-301">discussion at CTIA</a>
about what should be the focus of the newly-formed 
<a href="http://www.symbian.org">Symbian Foundation</a> - steward of this complex operating system
and its S60 wrappers. Should it jump on the iPhone bandwagon?
</p><p>
I believe that the Symbian Foundation should in fact use Linux, not the iPhone, as its
reference standard when setting priorities...
 &#160; ...
</p>

            </div>
        </summary>
        <content type="xhtml" xml:space="preserve">
            <div xmlns="http://www.w3.org/1999/xhtml">

<p>
</p><div class="summary"><p>
The mobile world has been thrown into turmoil by the iPhone, and everyone is scrambling to
get onto the touch-and-app-store bandwagon and to innovate their way ahead.
</p><p>
These are interesting times. For example, thanks to a remarkable move by Nokia, 
<a href="http://www.symbian.com">Symbian</a> is now going to be made Open Source over the next
year or so, joining Linux as one of the big two Open Source mobile operating systems.
</p><p>
There has recently been some 
<a href="http://www.computerworld.com.au/article/297839/symbian_foundation_faces_up_challenges?rid=-301">discussion at CTIA</a>
about what should be the focus of the newly-formed 
<a href="http://www.symbian.org">Symbian Foundation</a> - steward of this complex operating system
and its S60 wrappers. Should it jump on the iPhone bandwagon?
</p><p>
I believe that the Symbian Foundation should in fact use Linux, not the iPhone, as its
reference standard when setting priorities...
</p></div><p>
<b>Porting from Linux to Symbian</b>
</p><p>
I&#39;m writing an application called <a href="http://cilux.net">Cilux</a> for the Linux-based 
<a href="http://maemo.org/intro/">Maemo</a> 
platform, and loving it. I use classic Linux tools like gcc, vim, make and git.
</p><p>
Now, soon I&#39;m hoping to trade in my 
<a href="http://www.omio.com/phones/sony-ericsson/xperia-x1/reviews/61/think-carefully-before-buying-the-xperia-x1">disappointing Xperia X1</a>
for a beautiful new
<a href="http://www.youtube.com/watch?v=Ad5Zf0VdC8E&amp;feature=related">Omnia HD</a>,
which is based on Symbian and S60 v5.
</p><p>
So naturally I want to port Cilux to the Omnia HD; and thence to the Sony Ericsson Idou.
</p><p>
I&#39;ve written Cilux to have a strict boundary between its functions and the underlying
operating system through an abstraction API. I&#39;ve done it for Win32, and it was ugly,
but not too bad. So it&#39;s only the Symbian implementation of that API that I&#39;ll need to
code up in order to port Cilux to my new phone.
</p><p>&#160;</p><p>
<b>Symbian Pain</b>
</p><p>
But there is much evidence that it&#39;s going to be a pain compared to the Linux, and even
the Win32 port. There is an article on Simon Judge&#39;s Mobile Phone Development blog 
<a href="http://mobilephonedevelopment.com/archives/710">comparing coding pain</a>, 
where Symbian comes out looking rather hard. There&#39;s a 
<a href="http://www.fleasome.com/component/poll/15-pollsymbianprogramming">poll on the Fleasome site</a> 
which says much the same. And an article on Wap Review calls Symbian native development
<a href="http://wapreview.com/blog/?p=3331">&#39;notoriously difficult&#39;</a>.
</p><p>
What I want is to develop my Symbian port in my comfortable Ubuntu environment, using
all my familiar Linux tools. What I want is to have standard C operating system APIs.
I want to have full access to the latest available hardware. I hope I won&#39;t have to rely on
Samsung to provide drivers for the OpenGL ES 2.0 API into the OMAP3 chip, meaning a
possible re-port for Sony Ericsson&#39;s device.
</p><p>
Also, here&#39;s a recent article referring to 
<a href="http://www.exponere.com/2009/is-nokia-setting-itself-up-for-failure-with-ovi-store/">Symbian&#39;s instability</a>
in the face of multiple, badly-behaved applications. I want Symbian to be as reliable as
Linux. I certainly don&#39;t want a repeat of my experiences with Windows Mobile.
</p><p>
Linux and its common libraries and tools is the reference standard by which I&#39;ll
inevitably judge my Symbian porting and running experience.
</p><p>&#160;</p><p>
<b>Less Innovation, Less Fragmentation</b>
</p><p>
Linux is a workhorse. Its development is largely about being robust and keeping up
with hardware advances, rather than innovation. The community nature of Linux
development tends to work against dramatic innovation and discourage fragmentation.
</p><p>
You can get 3D interfaces, you can get VMs for Linux to run Flash and Java, you can
run Javascript in browsers - but apart from base Firefox, these are not the priority of
those that put together distributions.  You won&#39;t find much in the way of trendy app
stores in the Linux world - instead, enjoy the luxury of Debian package management,
which allows stable distributions of tested code, whose interdependencies are all taken
care of.
</p><p>
The <a href="http://www.moblin.org">Moblin</a> mobile Linux distro has been 
<a href="http://www.linuxdevices.com/articles/AT6156185477.html">handed over by Intel to the Linux Foundation</a>.
But its potential to meet the
<a href="http://www.youtube.com/watch?v=XcN_9vZ7j20">innovative visions</a>
Intel had for its 
<a href="http://www.youtube.com/watch?v=pyQ_NWt_sjA">Moorestown chips</a>
is now unlikely to be realised, because the Linux community simply has different skills
and priorities. Without the kind of input a commercial enterprise can deliver in areas
like style and information architecture, Moblin will be just another mobile Linux distro.
</p><p>
Two other mobile Linux distros - the rhyming pair
<a href="http://www.maemo.org/intro/">Maemo</a> and
<a href="http://www.limofoundation.org">LiMo</a> -
have been criticised by industry-watchers Vision Mobile for being too, well, boring.
Vision Mobile hope that Maemo&#39;s
<a href="http://www.visionmobile.com/blog/2008/09/symbian%e2%80%99s-open-source-challenge/">Open Source culture won&#39;t drag Symbian down</a>
and that both Symbian and
<a href="http://www.visionmobile.com/blog/2009/03/why-the-limo-foundation-needs-to-go-back-to-the-drawing-board/">LiMo will jump on the iPhone bandwagon</a>.
</p><p>
But a mix of dull reliability and adaptability is Linux&#39;s strength. It comes partly from
the cross-pollination of the various collaboration groups. For example, I now forsee some
Maemo/Moblin collaboration on the horizon, especially since they share the 
<a href="http://www.youtube.com/watch?v=AYGp6iBmCyM">Clutter UI toolkit</a>.
</p><p>&#160;</p><p>
<b>Symbian&#39;s Competition is Linux</b>
</p><p>
In contrast to 
<a href="http://www.visionmobile.com/blog/2008/09/symbian%e2%80%99s-open-source-challenge/">Vision Mobile</a>,
I believe that the Symbian Foundation would do well to copy the Linux model while
opening up Symbian and S60.
</p><p>
Symbian/S60 are now competing with Linux and its ecosystem. The Symbian Foundation thus
needs to learn a few lessons of a well-behaved Open Source operating system and basic
application environment.
</p><p>
It should start with understanding the ways of an Open Source community. Of course it&#39;ll
take more than a 
<a href="http://mobileopportunity.blogspot.com/2009/04/ugliest-logo-ever-but-maybe-it-makes.html">jolly logo</a>
and &#39;branding&#39; - however sincere in intent - to achieve that culture shift, especially
with such a weight of Symbian and S60 developers still working for Nokia.
</p><p>&#160;</p><p>
<b>How Symbian Can Support Innovation</b>
</p><p>
The Symbian Foundation should <i>support innovation in mobile by being the most
responsive provider of a stable mobile OS and full range of packages and drivers that
are easy to program over</i>, using Linux as the standard to aspire to.
</p><p>
The Symbian Foundation should focus on things like ease of writing and porting
applications, and stability of the operating system in the face of poorly-written code.
They must give developers a wide range of easy ways to make solid Symbian or S60
applications that exploit the hardware and give full access to device functions.  
</p><p>
Like Linux, the Symbian Foundation should keep its operating system up-to-date with
hardware advances - fully supporting capacitive touchscreens, accelerometers, GPS,
OpenGL ES 2.0 chips, etc.
</p><p>
They should bring dependency-managed, tested package delivery. They should stay the
provider of the &#39;Symbian distro&#39; of choice, by leveraging their control over the Symbian
modules and over Symbian Signed, thus preventing fragmentation.
</p><p>&#160;</p><p>
<b>Not Competing with the iPhone</b>
</p><p>
Linux, in the form of LiMo, Maemo or Moblin, is unlikely to compete with the iPhone,
or other &#39;convergence devices&#39;, by itself.
</p><p>
Likewise, Symbian is no longer competing with the iPhone, or its old enemy, Microsoft&#39;s
Windows Mobile. These are full-stack, closed systems under a single central control that is
entirely market-driven. The core is opaque, the innovation is entangled in opaque
priorities and roadmaps; the future of your precious software and startup is uncertain.
</p><p>
But when Linux or Symbian is taken by a third party and used to deliver a full package
of innovation over the top, then they could create great, competitive products.
</p><p>
<a href="http://www.android.com">Android</a>
and 
<a href="http://en.wikipedia.org/wiki/Palm_webOS">Palm WebOS</a>
are two good examples of Linux-based platforms where the fun stuff, the user experience,
happens away from the kernel in runtime environments or VMs - Java and Javascript
respectively - and in online services.
</p><p>
The Symbian Foundation should resist the temptation to commit resources to
Symbian-approved and promoted VMs or runtimes for Java, Flash, Javascript, etc. They
should resist the temptation to develop Symbian Widgets or 3D user experiences.  They
should resist the temptation to develop a &quot;Symbian App Store&quot;, or a &quot;Symbian Cloud Services&quot;.
</p><p>&#160;</p><p>
<b>Building on Symbian</b>
</p><p>
They should leave all these innovations to Nokia, Samsung and Sony Ericsson, who are focused
on their markets - and learning fast. 
</p><p>
Looking at Nokia&#39;s 5800 and N97 in the brilliant light of Samsung&#39;s Omnia HD and the Sony
Ericsson Idou leaves one wondering what Nokia will do next to leapfrog the others using
the same platform, hopefully on better chips than the Freescales.
</p><p>
Handing over the reins of S60 downwards, even if not the development, will leave Nokia
free to refocus from a techie company to a Mobile 2.0 innovator - to really get their
teeth into bringing us a
<a href="http://www.visionmobile.com/blog/2008/09/symbian%E2%80%99s-open-source-challenge/">&quot;delightful&quot;</a>
user experience, based around
<a href="http://www.ovi.com/">Ovi</a> and the work of
<a href="http://betalabs.nokia.com/blog/2009/03/31/introducing-nokia-photo-browser-browse-your-photos-with-stunning-3d-effects/">Nokia Labs</a>.
Perhaps with an 
<a href="http://wapreview.com/blog/?p=3331">emphasis on Flash and Web Runtime</a>.
</p><p>
Although, having said that, there should be 
<a href="http://www.exponere.com/2009/is-nokia-setting-itself-up-for-failure-with-ovi-store/">no concern</a>
about Ovi unleashing a large number of well-tested native S60 apps onto a stable Symbian
distribution. And native apps fetched from Nokia Ovi should run on compatible Samsung
devices without alteration - and vice-versa.
</p><p>&#160;</p><p>
<b>Strong Future</b>
</p><p>
Not so trendy for Symbian Foundation, but at least this will ensure Symbian has a strong
future, in an environment where Linux is increasingly showing its strengths.
</p><p>
There is actually already
<a href="http://blog.symbian.org/2009/04/06/collaboration-at-the-heart/">plenty of evidence</a>
that Symbian is going in the right direction.
For example, the
<a href="http://www.forum.nokia.com/main/resources/technologies/open_c/">Open-C</a>
APIs are intended to help those porting from standard environments, and there are some
<a href="http://blog.symbian.org/2009/03/28/simpler-and-cleaner-code/">improvements to the coding idioms</a>.
There are plans to improve
<a href="http://www.symbian-guru.com/welcome/2009/03/interview-with-david-wood-catalyst-at-symbian-foundation.html">Symbian Signed and the code modularity</a>.
Finally, the recent endorsement by Symbian of an 
<a href="http://blog.symbian.org/2009/04/01/the-first-hardware-reference-design/">OMAP3-based dev kit</a>
presumably means they&#39;ll also be bringing out the OpenGL ES 2.0 drivers and APIs.
</p><p>
For me, a more Linux-like Symbian &#39;distro&#39; and tools will make porting <a href="http://cilux.net">Cilux</a>
from Maemo something to look forward to...
</p><p>

</p>

            </div>
        </content>
    </entry>
    
</feed>

