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:
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”
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.
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.
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.
@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.
@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.
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! ![]()
@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.
@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 ![]()
@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.
@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.
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.
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 ![]()
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.
The download for this release has been broken all day!
Just tried it with Firefox and it worked, not working in Chrome?!
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.
@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.
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.
I am couries why Qt use signed int for QByteArray? For me its a very bad solution. Sorry for offtopic.
Hi, I don’t have/like Symbian, Maemo, what with Windows Mobile?!
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 ![]()
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 ?
@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.
@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
@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.
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
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……….
@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’.
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.
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 ???
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!
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