[MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Andy Ross
The subject of how the MeeGo API is defined came up in the TSG
yesterday, and against my better judgement I managed to inject myself
into a discussion about standards.

The way it's currently phrased, the MeeGo API is a very limited set of
libraries (Qt, QtMobility and GLES, plus the web framework).
Everything else is reserved for the Platform API, which carries no
promise of future availability.

I made the point that a literal reading here would make applications
that link against the POSIX.1 symbols noncompliant.  The answer came
back that glibc was an obvious candidate for the MeeGo API, and
didn't need to be specified.  And for the C library I suppose that's
true.

But I think the issue is a more complicated spectrum than that.  What
about other useful APIs that are always present for a Qt app on
linux?  Is an app directly linking to zlib compliant (I don't think Qt
wraps this)?  How about libjpeg (which is abstracted by the
framework)?  What about an app which executes a shell script; can we
assume a /bin/sh (or /bin/bash) will be present?  What about a shell
script that invokes tar or bzip2?

I can understand the need for excluding a bunch of low level facilities
that may be deprecated in the future, and limiting what constitutes
MeeGo for forward-portable applications.  But the way it's done
right now rules out a lot of stuff that I don't think was intended.

Is it worth going through the core package list more carefully and
expanding the MeeGo API definition?

Andy

--
MTS, MeeGo Solutions, Wind River Systems
andy.r...@windriver.com
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Toni Nikkanen
On Thu, Nov 11, 2010 at 01:27:44PM -0800, Andy Ross wrote:
 The subject of how the MeeGo API is defined came up in the TSG
 yesterday, and against my better judgement I managed to inject myself
 into a discussion about standards.
 
 The way it's currently phrased, the MeeGo API is a very limited set of
 libraries (Qt, QtMobility and GLES, plus the web framework).
 Everything else is reserved for the Platform API, which carries no
 promise of future availability.

I have just recently read the developer pages on this very subject, and I was 
surprised to find the distinction, that Meego Touch 
Framework and the Web Runtime are in a Platform API with warnings against 
using them. More clarification is indeed needed, as far as I 
am concerned.
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Wichmann, Mats D
meego-dev-boun...@meego.com wrote:
 The subject of how the MeeGo API is defined came up in the TSG
 yesterday, and against my better judgement I managed to inject myself
 into a discussion about standards.
 
 The way it's currently phrased, the MeeGo API is a very limited set of
 libraries (Qt, QtMobility and GLES, plus the web framework).
 Everything else is reserved for the Platform API, which carries no
 promise of future availability.
 
 I made the point that a literal reading here would make applications
 that link against the POSIX.1 symbols noncompliant.  The answer came
 back that glibc was an obvious candidate for the MeeGo API, and
 didn't need to be specified.  And for the C library I suppose that's
 true. 
 
 But I think the issue is a more complicated spectrum than that.  What
 about other useful APIs that are always present for a Qt app on
 linux?  Is an app directly linking to zlib compliant (I don't think Qt
 wraps this)?  How about libjpeg (which is abstracted by the
 framework)?  What about an app which executes a shell script; can we
 assume a /bin/sh (or /bin/bash) will be present?  What about a shell
 script that invokes tar or bzip2?
 
 I can understand the need for excluding a bunch of low level facilities
 that may be deprecated in the future, and limiting what constitutes
 MeeGo for forward-portable applications.  But the way it's done
 right now rules out a lot of stuff that I don't think was intended.
 
 Is it worth going through the core package list more carefully and
 expanding the MeeGo API definition?


I expect you'll get divided opinions on that, let's see what the
reactions are.

For me, we should identify stuff that's truly useful, and stable,
and promote it to first class status.

But I think there is a constituency that believes program to Qt
and as an emergency exception if Qt doesn't wrap that yet there
are a few other things you maybe could use - for now.

And yes, you're allowed a shell script; tar/bzip2 don't appear to
be in the package list (bzip2-libs is) though.


___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Wichmann, Mats D
meego-dev-boun...@meego.com wrote:
 On Thu, Nov 11, 2010 at 01:27:44PM -0800, Andy Ross wrote:
 The subject of how the MeeGo API is defined came up in the TSG
 yesterday, and against my better judgement I managed to inject myself
 into a discussion about standards.
 
 The way it's currently phrased, the MeeGo API is a very limited set of
 libraries (Qt, QtMobility and GLES, plus the web framework).
 Everything else is reserved for the Platform API, which carries no
 promise of future availability.
 
 I have just recently read the developer pages on this very
 subject, and I was surprised to find the distinction, that Meego Touch
 Framework and the Web Runtime are in a Platform API with
 warnings against using them. More clarification is indeed
 needed, as far as I am concerned.

In the case of these two, it's a question of maturity.
Since the current versions aren't fully mature, it can't be promised
they won't change in the next version.  There's nothing to prevent,
and indeed it's the intent, to promote these to high-guarantee status
once the right level of maturity is reached.

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Quim Gil
On Thu, 2010-11-11 at 14:45 -0700, ext Wichmann, Mats D wrote:
 meego-dev-boun...@meego.com wrote:
  On Thu, Nov 11, 2010 at 01:27:44PM -0800, Andy Ross wrote:
  The subject of how the MeeGo API is defined came up in the TSG
  yesterday, and against my better judgement I managed to inject myself
  into a discussion about standards.
  
  The way it's currently phrased, the MeeGo API is a very limited set of
  libraries (Qt, QtMobility and GLES, plus the web framework).
  Everything else is reserved for the Platform API, which carries no
  promise of future availability.
  
  I have just recently read the developer pages on this very
  subject, and I was surprised to find the distinction, that Meego Touch
  Framework and the Web Runtime are in a Platform API with
  warnings against using them. More clarification is indeed
  needed, as far as I am concerned.
 
 In the case of these two, it's a question of maturity.
 Since the current versions aren't fully mature, it can't be promised
 they won't change in the next version.  There's nothing to prevent,
 and indeed it's the intent, to promote these to high-guarantee status
 once the right level of maturity is reached.

Actually this is not accurate. The mid term future of MeeGo Touch
Framework and Web Runtime is not clear next to Qt / Qt Quick and HTML5.
The components are in MeeGo 1.1 and the APIs are there for developers,
but a good advice for new projects is to check Qt Quick first.

About deeper APIs in the platform, the reason to push a well controlled
set of APIs around Qt and Qt Mobility is not only based by the fact the
components will be there in the future. It's also related to the
possibility to manage the MeeGo API properly, offer a compatibility
promise towards future releases, simplify the developer story,
documentation, training materials...

For the big majority of application developers targeting MeeGo, the Qt /
Qt Mobility APIs should suffice (plus OpenGL ES for the specific segment
willing to use it). If any of these developers is not finding what he is
looking for, then bugs against Qt Mobility are welcome (I asked the
maintainers and this is the answer they gave).

The MeeGo Compliance needs to sit on a clear principle, and the MeeGo
API described at
http://meego.com/developers/meego-architecture/meego-architecture-api-view is 
clear. If the implementation of the principle has some problems today 
(functionality not covered by APIs, or APIs not connected the MeeGo backend) 
then we need to know what is missing and work on the implementation and fixes. 
Bypassing a problem by hooking directly on a deeper API solves a problem today, 
but still the bug reports are needed to help the Qt Mobility team working on 
the right items.

--
Quim

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Ville M. Vainio
On Thu, Nov 11, 2010 at 10:45 PM, Wichmann, Mats D
mats.d.wichm...@intel.com wrote:

 I have just recently read the developer pages on this very
 subject, and I was surprised to find the distinction, that Meego Touch
 Framework and the Web Runtime are in a Platform API with
 warnings against using them. More clarification is indeed
 needed, as far as I am concerned.

 In the case of these two, it's a question of maturity.
 Since the current versions aren't fully mature, it can't be promised
 they won't change in the next version.  There's nothing to prevent,
 and indeed it's the intent, to promote these to high-guarantee status
 once the right level of maturity is reached.

Nope, the decision to have these as platform APIs instead of MeeGo
APIs is a strategic choice:

http://www.engadget.com/2010/10/21/nokia-refines-development-stategy-adopts-html5-in-qt-and-ends-s/

Articles like these may seem a bit weird to technical people (with all
the talk about 'Qt'), but when you replace all references to Qt with
Qt Quick (which is the real meaning behind the message), they
suddenly make more sense. Orbit was axed and MTF won't be promoted to
external developers. Regarding WRT - having it as platform api is not
an accident or oversight.

-- 
Ville M. Vainio @@ Forum Nokia
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Andy Ross
On 11/11/2010 01:43 PM, Wichmann, Mats D wrote:
 I expect you'll get divided opinions on that, let's see what the
 reactions are.

That's exactly my worry.  But it seems that if we're going to go there
(to a world where MeeGo means a limited and focused API suite and not
just another distro), it's important to get it right ahead of time and
not rely on intuition.  My fear is that going ahead with the current
API set is going to mean a ton of assumed compatible apps which
dependencies on stuff that other people want to drop or change.

Basically, everyone's intuition of what an obvious set of base
features is will be different.  FWIW, here's mine.  I just quickly
went through the list of MeeGo base packages in the current compliance
spec and pulled out a list of the ones that provide important and
common capabilities that I don't see abstracted in the current API set
(or where I see a compelling reason to not want to use a wrapper API):

bash
bzip2
coreutils
curl
glibc
gnupg
grep
openssl
pcre
sed
zlib

Andy

--
MTS, MeeGo Solutions, Wind River Systems
andy.r...@windriver.com
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] MeeGo vs. Platform API ambiguity

2010-11-11 Thread Graham Cobb
On Thursday 11 November 2010 22:15:26 Quim Gil wrote:
 For the big majority of application developers targeting MeeGo, the Qt /
 Qt Mobility APIs should suffice (plus OpenGL ES for the specific segment
 willing to use it). If any of these developers is not finding what he is
 looking for, then bugs against Qt Mobility are welcome (I asked the
 maintainers and this is the answer they gave).

It depends on what you mean by application.  If you mean the sort of apps 
that you find in the Apple iStore or on Ovi then I agree: the majority of app 
developers have what they need in Qt (although there is a substantial minority 
who need platform APIs as well -- even 10% would be a lot of developers).  

On the other hand, I don't agree that it is true for the large applications 
that don't exist in the handset world today but which many people are working 
on (like the mobile device equivalent of application suites routinely found on 
PCs such as MS Office/OpenOffice or Kdepim, or social network integrators, or 
augmented reality experiences and more).  Those sorts of applications are 
multi-faceted and will build on many libraries of their own and others, 
require carefully tuned databases, specialised backup and synchronisation, 
will provide their own APIs and be extendible with other applications layered 
on top, plugins, etc.  As we say in the telecom network world, one man's 
service is another man's enabler -- a mantra which is only just starting to 
be adopted in the handset app world.

Proprietary platforms, of course, deliberately try to make it hard for people 
to develop those sorts of large applications (particularly the ones which 
provide an environment in which the user spends most of their time) because 
they would compete with the device brand itself for the mindshare of the 
user.  Apple wants people to buy an iPhone and get lots of apps which add 
value to it.  They don't want people to decide they need a certain application 
and then go looking for a device to run it on.  But MeeGo, controlled by the 
LF and supporting a range of devices, should be taking the opposite approach: 
it should be encouraging people to build compelling and exciting environments, 
re-using free software, and running on a large range of platforms.

I am disappointed that the LF appear to have let MeeGo compliance be captured 
by Intel and Nokia to make it hard to create these game-changing applications.  
MeeGo compliance certainly should sit on clear principles, and those 
principles should be that a compliant platform offers all the APIs and tools to 
allow creation of these sorts of new applications, as well as the openness to 
allow users to install them.

Maybe a philosophical discussion over a Guinness next week!

Graham
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev