Gerard
QtMobility
Posted by Gerard
 in QtMobility
 on Tuesday, July 27, 2010 @ 10:09

The Qt Mobility teams are working full steam to bring you new APIs and extend our Qt developer offering.

To that end, we are very pleased to share the Technology Preview of our latest APIs.
This set of new APIs will be matured, with your help, and released later this year as QtMobility 1.1.0.

As you may know, we have also worked hard to resolve issues within the QtMobility 1.0.1 release, and to that end, earlier today we released our 1.0.2 package. While the quality of 1.0 is of the highest importance, we did not want to delay in sharing our drafts here for 1.1, as we believe that sharing early and often with you helps to achieve robust, high quality APIs.

Those longer term veterans understand that the Technology Preview releases are the best opportunity for you to help shape our new APIs before they solidify.

Releasing a Technology Preview early on like this however has some limitations for those reviewing. Specifically, given the early stage of development we have included only minimal backend support. But it is better to release the API drafts early and give you the opportunity to review and contribute before things become too settled.

On the subject of Contributions:
Your contribution toward desktop backends in particular is always most welcome as the program are firstly prioritising mobilie platforms; specifically Symbian and Maemo. (And later this year in Q3/Q4 we change our default development environment to Meego! :) )

Some detail on the logistics of how to go about reviewing this Technology Preview release:
This time round we are introducing ‘DevNet’ to the process.
DevNet facilitates better API review and communications.
Each of the new APIs will be individually introduced via Wiki on DevNet at http://developer.qt.nokia.com/.
There will also be a forum thread for each API, where you can share your review comments and track progress of the API as it matures toward Beta.
Good eh!? we certainly hope so :)
Also, let us know how you feel about that.

Ok, so whats in the box this time round!?
This Technology Preview contains 8 new APIs and also, in a few cases, some extensions to the existing APIs that were introduced in 1.0.
We are also introducing Qt Quick (QML) bindings for our APIs and several of those too are shared in this preview!

The list is as follows:

  • Service Framework API (Out-of process)
  • Document Gallery API
  • Maps/Navigation API
  • Organizer API
  • Landmarks API
  • Camera API
  • Versit/Organizer API
  • Telephony Events API
  • Feedback API
  • Contacts API
  • You can download the source package from:
    ftp://ftp.qt.nokia.com/qt/solutions/qt-mobility-opensource-src-1.1.0-tp.tar.gz
    ftp://ftp.qt.nokia.com/qt/solutions/qt-mobility-opensource-src-1.1.0-tp.zip

    Some APIs have been worked on a little more than others but overall, we believe they are in good shape for you to commence your review. Backend implementation wise, most of the APIs have the Maemo 5 backend which is currently our primary development environment.
    For each API there is an example application that demonstrates usage.
    Please note that Symbian SIS packages are not provided within this technology preview release as the backend is still under heavy development.

    We hope you enjoy this early preview of the ongoing work and as always,
    please continue to contribute, as your feedback is very valuable in helping us get it right!

    Thank you,

    Gerard and Min.
    On behalf of the Qt Mobility Program team

    32 Responses to “Qt Mobility 1.1.0 Technology Preview”

    » Posted by Albert
     on Tuesday, July 27, 2010 @ 11:35

    I know it’s a techincal preview but…
    … I go to http://doc.qt.nokia.com/qtmobility-1.1-tp/camera.html and see camera->lock(); but there is no mention of the lock method in http://doc.qt.nokia.com/qtmobility-1.1-tp/qcamera.html

    Also i have to say you are *wrapping* the sucky Symbian APIs (at least i can clearly see that for the camera API) instead of creating a nice Qt-like API, this is bad because the API is still confusing as hell and because I doubt you’ll be able to adapt this API for any other camera API, though i don’t think this will ever be a priority since Qt is now a Nokia property and i doubt it will fulfill it’s “Qt Everywhere” by going to more smartphone platforms.

    » Posted by Sturmflut
     on Tuesday, July 27, 2010 @ 11:42

    Doesn’t compile on Ubuntu 10.04 (32/64 Bit doesn’t matter) because of qtlandmarks_sqlite:

    g++ -Wl,–no-undefined -Wl,-rpath,/home/sturmflut/qt-mobility-opensource-src-1.1.0-tp/install/lib -Wl,-rpath,/home/sturmflut/qt-mobility-opensource-src-1.1.0-tp/install/lib -shared -o libqtlandmarks_sqlite.so ../../../build/Debug/qtlandmarks_sqlite/qlandmarkmanagerengine_sqlite.o ../../../build/Debug/qtlandmarks_sqlite/qlandmarkmanagerenginefactory_sqlite.o ../../../build/Debug/qtlandmarks_sqlite/moc_qlandmarkmanagerengine_sqlite_p.o ../../../build/Debug/qtlandmarks_sqlite/moc_qlandmarkmanagerenginefactory_sqlite_p.o ../../../build/Debug/qtlandmarks_sqlite/qrc_qlandmarkmanagerengine_sqlite.o -L/usr/lib -L/home/sturmflut/qt-mobility-opensource-src-1.1.0-tp/lib -L/home/sturmflut/qt-mobility-opensource-src-1.1.0-tp/install/lib -lQtLocation -lQtSql -lQtGui -lQtCore -lpthread
    ../../../build/Debug/qtlandmarks_sqlite/qlandmarkmanagerengine_sqlite.o: In function `importLandmarksLmx(QString const&, QIODevice*, QtMobility::QLandmarkManager::Error*, QString*, QString const&)’:
    /home/sturmflut/qt-mobility-opensource-src-1.1.0-tp/plugins/landmarks/sqlite/qlandmarkmanagerengine_sqlite.cpp:1990: undefined reference to `QtMobility::QLandmarkFileHandlerLmx::QLandmarkFileHandlerLmx()’
    /home/sturmflut/qt-mobility-opensource-src-1.1.0-tp/plugins/landmarks/sqlite/qlandmarkmanagerengine_sqlite.cpp:1991: undefined reference to `QtMobility::QLandmarkFileHandlerLmx::importData(QIODevice*)’
    (…)

    Seems like some kind of linker error.

    » Posted by Rikardo
     on Tuesday, July 27, 2010 @ 12:05

    When can we expect full Telephony API as it was in Qt Extended? Specifically I miss calling functions (outgoing calls) and events.

    This mobile API is great. I work for company using Qt libraries as main tool for our application development for more than 5 years now. And I believe this seriously beats Android or iPhone.

    » Posted by min
     on Tuesday, July 27, 2010 @ 13:19

    @Sturmflut
    Hi thanks for reporting this. We just confirmed this issue as well but it is too late to call in people in our time zone. I will give you an update on this tomorrow. I appreciate your understanding in advance.

    » Posted by min
     on Tuesday, July 27, 2010 @ 13:24

    @Rikardo
    Hi, full Telephony API is on top of our list but we are not able to roadmap it to a specific time frame yet. As we publicly announced our intention to support MeeGo as our primary development platform from Qt Mobility 1.2, much effort will be needed to completing MeeGo backends in Qt Mobility 1.2 time frame. It is not sure if we can have additional new APIs. In any case, we will share 1.2 roadmap as soon as it finalizes.

    » Posted by scorp1us
     on Tuesday, July 27, 2010 @ 20:34

    Could you please go into detail on what is NEW. I don’t have too much time to direct to Mobility, at the moment, so knowing if there’s anything I’m intereted in would go a long way. Oh, an the QML stuff? Very interersted! :-)

    » Posted by min
     on Wednesday, July 28, 2010 @ 02:49

    @scorp1us
    Hi, the new features per API are listed in the links above. I would appreciate if you visit the API pages of your interests. Some of them have QML examples as well. :) Thank you.

    » Reply from Gerard
     on Wednesday, July 28, 2010 @ 02:54
    Gerard

    @scorp1us

    Regarding New content:
    The list is as follows:

    •Service Framework API (The ‘Out-of process’ - part is new)
    •Document Gallery API (new)
    •Maps/Navigation API (new)
    •Organizer API (new)
    •Landmarks API (new)
    •Camera API (Was previously previewed but not finialised as it was a stretch target.. but will be completed this time :) )
    •Versit/Organizer API (iCal stuff is new)
    •Telephony Events API (new)
    •Feedback API (new)
    •Contacts API (some extensions)

    Additionally we have also included QML bindings for several APIs and more to follow :)

    » Posted by Alex
     on Wednesday, July 28, 2010 @ 04:20

    @Sturmflut
    I can confirm the compile bug in the landmarks plug-in. Unfortunately this slipped through our net. Steps are being taken to prevent this in the future. In this particular case the landmarks plug-in includes private headers from the location library which are only exported if Mobility is build with auto test support. As a quick workaround I suggest reconfiguring Mobility with the -tests option:

    ./configure -tests && make clean && make

    @Windows users
    configure.bat has a syntax error as pointed out on the feedback mailing list. This error causes problems for Multimedia related components on Windows only. As a consequence the Multimedia compile tests fail which reduces the functionality of the library. If you are not interested in Multimedia on Windows you can ignore the error message. The patch can already be found under:

    http://qt.gitorious.org/qt-mobility/qt-mobility/commit/6eac8bf58044280f144f75f80aefad022ffd40f0

    Last but not least I created a new git tag for this first Technology preview. The correct tag is ‘v1.1.0-tp1′. Please ignore the ‘v1.1.0-tp’ tag is it was incorrectly set.

    » Posted by Dmytro
     on Wednesday, July 28, 2010 @ 06:45

    @Albert
    Thanks for pointing, it should be searchAndLock() instead of lock(), I have updated the example.
    I’d appreciate if you would be more specific about parts of Camera API you don’t like.

    I can assure you the QtMobility Camera is not wrapping the symbian API, the symbian
    camera was used only as one of possible backends, but certainly not the only one.

    Most of the Camera API complexity comes from requirement to adapt different underlying API with different capabilities.

    » Posted by Srikanth Sombhatla
     on Wednesday, July 28, 2010 @ 11:44

    I really rejoice out-of-process support for Services Framework. I hope telephony grows as much as Qt Extensions in due time. Curious to know when would Services Framework support application interworking and Qt Highway? Anyways good job guys.

    » Posted by Aamer
     on Wednesday, July 28, 2010 @ 12:13

    Am trying to build QtMobility on Windows XP machine but getting following error -
    ..\..\examples\flickrdemo\connectivityhelper.h(66) : error C2872: ‘QNetworkSessi
    on’ : ambiguous symbol
    could be ‘c:\qt\4.7.0-tp\include\qtnetwork\../../src/network/bearer/qnet
    worksession.h(58) : QNetworkSession’
    or ‘..\..\examples\flickrdemo\connectivityhelper.h(55) : QtMobility::QNe
    tworkSession’

    I followed configure -tests as said above. Then I got some other errors like Mac format detected, but that was easy to remove
    Now am stuck with the above error.

    I was trying to compile QtMobility 1.1.0 with Qt 4.7.0-tp

    I dont know what I am missing :-(

    » Posted by scorp1us
     on Wednesday, July 28, 2010 @ 18:40

    Thanks Gerard. I thought most of that stuff was already existing, leading to my confusion. And definitely thanks for the out-of-process tip. That is something I’ve been meaning to look into.

    I didn’t mean to appear lazy, but I am time-constrained so if I do take a look, it has to be immediately relevant to what I am working on now.

    » Posted by brduffy
     on Thursday, July 29, 2010 @ 20:20

    The download for this release has been broken all day!

    » Posted by brduffy
     on Thursday, July 29, 2010 @ 20:22

    Just tried it with Firefox and it worked, not working in Chrome?!

    » Posted by Tomas
     on Thursday, July 29, 2010 @ 21:39

    Have you guys really thought hard about who is the target user of your APIs?

    Your example for the camera API, is trying to write a “real” camera application, and for telephony a dialer… and the complexity of the APIs reflects that. But a, or let’s even say the (for a particular device), dialer or camera application is a highly specialized complex application that might just barely be implementable using this API but most likely directly uses the full power of a platform API or something like.

    My point is that writing a full blown camera or dialer is rare and boring and that’s OK, and there’s established APIs for doing that. But writing modern sexy mobile applications that wants simple camera functionality (snap a photo), telephony (call a saved contact), messaging (email some address), and calendar (schedule a reminder) _all at once_ is commonplace nowadays. A typical application wants to take a photo of the user for an avatar, recommend the application to a friend through email, and automatically schedule an event that reminds you to pick up milk as you leave the office.

    A developer of a mobile app today doesn’t want to hobble together his own photography media pipeline and control the bloody focus, he needs “a picture of the user pronto, please” type of API. In your eagerness to cover the common subset of the MeeGo and Symbian platform APIs, have you figured out if it is these organizations or application developers who want and need and should use your APIs.

    » Posted by Dave
     on Friday, July 30, 2010 @ 05:44

    @Aamer

    That problem has been solved in the beta releases of Qt 4.7 - if you upgrade to the latest Qt 4.7 beta releases you should be fine.

    http://qt.nokia.com/developer/qt-qtcreator-prerelease#download

    Let me know if that doesn’t sort things out for you.

    » Posted by barlow
     on Friday, July 30, 2010 @ 17:45

    To be sure, it should be expected to have some problems when working with a technology preview release. At the same time, the build process should deliver a working environment sufficient for playing with the technology. Otherwise, potential users and contributers will become frustrated and move on to something else. At the very least, documentation should be clear about the capabilities of the build and the installation instructions should be complete. This release falls short.

    » Posted by Marco
     on Saturday, July 31, 2010 @ 08:13

    I am couries why Qt use signed int for QByteArray? For me its a very bad solution. Sorry for offtopic.

    » Posted by dark_dream
     on Monday, August 02, 2010 @ 21:41

    Hi, I don’t have/like Symbian, Maemo, what with Windows Mobile?!

    » Posted by Aamer
     on Tuesday, August 03, 2010 @ 09:24

    Hi Dave,
    Yes 4.7 beta solved the problem. Only encountered Mac format problem.
    One thing more… are examples built by default ?
    On my system examples weren’t built :-(

    » Posted by Aamer
     on Tuesday, August 03, 2010 @ 12:56

    I have one more question.
    How can we use this QtMobility with Nokia Qt SDK ?
    Currently its easy to check examples of mobility in Nokia Qt SDK. If we want to use the latest QtMobility 1.1.0 , do we need to build for Symbian ?
    Can someone guide ?

    » Posted by Dave
     on Tuesday, August 03, 2010 @ 22:28

    @Aamer
    If you want to build the examples you need to use “-examples” in the arguments to configure. There are also demos, so “-examples -demos” might be more like what you’re after.

    » Posted by min
     on Wednesday, August 04, 2010 @ 00:21

    @Tomas
    Thanks for your feedback. The primary user group of Qt Mobility is third party developers. We are proud of it and try to make it clear in any chance we get. We would like to develop APIs that are easy to use but still provide developers with room for innovation. Ideally, the breadth of an API does not have to mean it is difficult to use. If the current Camera API is too complex, please let us know to make it right. :) Also, we share our code in public very early on even before technology preview as well as a mailing list to get feedback at any time of our development cycle. http://lists.trolltech.com/mailman/listinfo/qt-mobility-feedback

    » Posted by min
     on Wednesday, August 04, 2010 @ 02:15

    @barlow
    Thanks for your feedback. Qt Mobility team is doing our best to produce quality APIs and bring those to our 3rd party developers at the earliest possible time. Its quite a challenge. As you can see from our documentation, the challenge for Qt Mobility is obvious in making cross-platform APIs on top of various and complex platform APIs. http://doc.qt.nokia.com/qtmobility-1.1-tp/index.html#platform-compatibility . IMHO, we did a great job releasing a stable 1.0.2 of a much higher quality and new technology preview on the same day. I am not saying we are OK with the error in this package and you are right that a TP package should enable users to not only view but also build and play with the APIs. As Alex mentioned we have have taken actions to prevent this in the future. Thank you.

    » Posted by charliecap
     on Tuesday, August 10, 2010 @ 09:31

    Hi all.
    I’m a newbie, trying to develop a small application that uses the camera capture (need to test on my Nokia 5800).
    I installed the latest Qt Nokia SDK (on Ubuntu 10.4), and tried the qcamera example, but that gives errors…

    Then downloaded qt-mobility-opensource-src-1.1.0-tp.tar.gz, but executing
    ./configure -prefix /home/carlo/NokiaQtSDK/QtSources/4.6.3
    i got the error:
    ….
    Create header /home/carlo/qt-mobility-opensource-src-1.1.0-tp/include/QtFeedback/QFeedbackFileInterface
    Running qmake…
    ***Unknown option -recursive
    Usage: qmake [mode] [options] [files]

    Where i can get the right qmake?
    -recursive seems to be the default (i.e. qmake -h lists the ‘inverse’ option, -norecursive)

    Another question: was my choice correct for the -prefix option (it’s where the SDK placed itself)

    And more: I must install qt-mobility-opensource-src-1.0.2.tar.gz BEFORE qt-mobility-opensource-src-1.1.0-tp.tar.gz or is not required?

    TIA Carlo

    » Posted by Zedstar
     on Wednesday, August 11, 2010 @ 11:23

    Hello.
    I have developed an application using QCamera of QtMobility 1.1.0
    I successfully compiled it for N900.
    But when i run the binary in N900 i get an error saying : symbol tabel error : undefined symbol : _ZN17QCameraViewfinderC1Ep7QWidget
    I have installed QtMobility headers from Extras devel on the N900.

    When i run the Example provided in the QtMobility….I get same error message….
    Please Help……
    My app heavily Depends on Camera……….

    » Posted by kkoehne
     on Wednesday, August 11, 2010 @ 14:32

    @charliecap: The qmake in your path is most likely from a system Qt (qt 3), NOT from the Qt shipped with the SDK. You can check with ‘qmake –version’.

    » Posted by blueiqbal
     on Friday, August 13, 2010 @ 10:14

    Hello,

    I plan to build some example application (camera) on N900. So I would like to know, How to do packaging of Qt Mobility 1.1.0 Technology preview for N900 to port Qt mobility binaries on N900?

    Thanks in advance.

    » Posted by Aamer
     on Thursday, August 19, 2010 @ 04:55

    How to use these Qt Mobility 1.1.0 libs with Nokia Qt SDK ?
    As far as I know, Nokia Qt SDK has older version of QtMobility… so how to use the latest mobility api with Nokia Qt SDK ???

    » Posted by Aji005
     on Wednesday, August 25, 2010 @ 13:18

    Hi there, cool stuff, I really like it! I’m trying to use the camera API on Win7. Is this supported, or is it just for mobile devices? I don’t see my camera detected…

    Thanks a lot!

    » Posted by Rick Martin
     on Sunday, August 29, 2010 @ 10:41

    I have been trying to get the mobility messaging APIs working on my N900 - I have tried a whole range of examples - including the demos and examples. The thing compiles and runs on device. I can see the ‘SMS’ account (the only account present). But there are no folders under the account. So needless to say there is no way to get at the messages themselves. Any ideas? Thanks.

    Leave a Reply

    Click here to make an anonymous comment, or click here to log in first



    © 2008 Nokia Corporation and/or its subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation in Finland and/or other countries worldwide.
    All other trademarks are property of their respective owners.