Qt 5 is bringing JS at the same level of support as C++—
Quim Gil, Nokia
Great news for mobile developers, as with this you can combine declarative user interfaces with the universal runtime
Qt 5 is bringing JS at the same level of support as C++—
Quim Gil, Nokia
Great news for mobile developers, as with this you can combine declarative user interfaces with the universal runtime
Great post by John Lilly discussing why PC will be the truck:
I’ve been living with just my tablet and phone recently — it feels clearer & clearer that many people will just skip the computer phase altogether.
I think many people believe that means that we’ll have a world of consumers, since tablets and phones so far aren’t great creation tools. But I think that is changing, and quickly. Apps like Paper, from Fifty-three, and Diet Coda, from Panic, not to mention Instagram, are letting people create things on the fly that aren’t just throwaway, but are legitimate creations.
I picked up a phrase some time ago that I think applies: “The next big thing is always beneath contempt.” Implication being that it is, of course, until it isn’t. Until it’s too big to ignore. This has happened over and over again in our society. In the middle ages, people assumed that no serious discussion could happen in anything but Latin — the so-called “vulgar” languages had no merit. And writers assumed that nothing interesting or lasting would come from this new medium of television. And, I think, people assume right now that nothing important will be created from a 10” touch screen without a keyboard (let alone a tiny 3.5” screen).
This is a classic example of disruptive innovation as described in Clayton Christensen's book Innovator's Dilemma: a new technology comes from the low-end, becomes progressively better, and the old dominant technology can only try to escape to the high-end market. When a company focuses on enterprise, you know this is what is happening.
I've seen this in action several times, especially in the Open Source CMS market, where many of the old guard have been replaced by simpler and cheaper newcomers.
The lesson to draw is that when you hear people dismissing an entrant as just a toy, you should really start paying attention. Otherwise it will be too late. And this applies equally to products as to programming tools or technologies. A free software project may never die, but it can still become a lot less exciting as a result of such disruption.
I've written about why this is happening with tablets already earlier.
Update: Critical Path is a great podcast on disruption in the mobile market. Especially the one hour interview with Clayton Christensen is worth listening to.
We mentioned the start of the 2012 Device Program last issue (well, more specifically, the Community Awards portion of the program), but we'd like to remind you both of its existence and its purpose again this week.
Nokia has alloted 100 devices (60 N9s and 40 N950s) for distribution by the community to community contributors. The devices will be distributed based on 4 categories of contribution (25 devices per category): for maemo.org Coding Competition winners, in a manner to be decided once the format for this year's competition has been hashed out; for maemo.org Community Awards, which aim to recognize contributions from community members with continuing histories of significant contribution; for community applications being published to the Nokia Store, to encourage the publishing of more community applications to the Nokia Stor; and for Qt 5 application ports, to encourage the porting of Qt 5 applications to Fremantle.
Discussion about the specifics for several of the categories is still ongoing, but submissions are open for the Community Awards (which seeks to recognize past and continuning community contributors) and should be open until June 12th. I'm once again encouraging you to poke your too-humble community contributor neigbors to file a submission if you believe they deserve a Community Award.
Read more (wiki.maemo.org)Andrew Flegg, our glorious leader, will be away for this issue and the next taking a well-deserved vacation. The rest of the editorial staff wishes him a safe and relaxing trip, and greatly hopes quality doesn't suffer without him. As that appears to be just me this week Since he's usually does the sourcing of news, any help on that front would be greatly appreciated for the next issue (just tweet your news tips @mwkn). See the link for additional details.
Read more (wiki.maemo.org)Eyrie is an application for the Nokia N900, N950 and N9 phones that can find out information about music that’s playing nearby. The latest version adds support for the N900 in addition to the N9 and N950. On the N9/N950 there’s now a graphical waveform displayed whilst recording and on both platforms music is assessed more continuously allowing some songs to be recognised faster and providing more chance for songs that were previously problematic to be recognised.
Video of Eyrie 0.2 running on both an N900 and N950
Available in the Ovi Store
Also available through the Apps For MeeGo Testing Repository
Available through extras-testing.
License: GPL version 3.0 or later
Gitorious repository: https://gitorious.org/eyrie/eyrie
Ohloh project page: https://www.ohloh.net/p/eyrie
The tradition of a community-run coding competition for Maemo and Meego devices continues this year. "Beginning Monday 11th June, and running for 3 months, new applications for Maemo and MeeGo Harmattan devices (and significant updates to existing ones) will be eligible to enter in this years competition. Whether you are an experienced developer or a beginner on your very first application, we have a category that suits you and your application! "
" Nokia has generously donated 14 N950s and 11 N9s that we will assign to the winners and runner ups across the various categories. There will also be a community bounty made up of individual donations which will also be shared out amongst the best placed entries." Entry is free, so all interested developers of all skill levels are encouraged to participate.
Read more (talk.maemo.org)Just a reminder: Submissions for the Community Awards part of the 2012 Device Program close June 12th. So if you're interesting in submitting an application, do so before the end of tomorrow.
Read more (wiki.maemo.org)
Council logs for meeting on June 8th, 2012
Meeting held on FreeNode, channel #maemo-meeting (logs)
Attending: qgil, Woody14619, Estel, SD69, Pali
Ivan & NielDK were unable to attend.
Summary of topics:
Topic 1 (Questions to QGil):
Topic 2 (Review of AIs and status):
Topic3 (IRC Moderation):
Post meeting topics (probably should have been in-meeting):
Action Items:
Estel will do the Council intro blog (continued)
Ivan will continue with package list creation for promotion to Extras (continued)
Woody will do meeting minutes and post to blog after approval
All: Prepare for second wave of eliminations on CA and final CA decissions following week.
All: Discussion off-line about Topic #3 (IRC moderation) and vote there-on.
As I posted the last time I blogged (which I really should do more often), I had some problems with Calligra Active on Android and the number of shared libraries it requires (various versions of android have different, but low, fixed maximums for the number of .so files that can be loaded in a single process). Since then I did several things to resolve that. One option would have been to go the "libkok" route, like we did when we developed/ported calligra/koffice to Maemo and the Nokia N900 and N9. There we basically rewrote the kdelibs cmake files to just build those files that we really need, and build it all into one big library. The big problem was that approach was that it was completely unmaintainable, which meant that we were basically stuck with whatever snapshot kdelibs version we chose to base that on. So instead of doing that I got out the CMake manual, and came up with some relatively simple cmake code that basically combines several existing targets into one new target. The downside to this is that it still has to build all the individual targets as well, so build times basically doubled, but other than that it gives me a nice "libkall.so" that contains all of kdelibs that Calligra Active depends on, combining 11 .so files into one. See here if you're interested in the CMake code I came up with. I did something similar for the libraries Calligra itself provides reducing the number of .so files even more.
(I had some problems to combine the various kdelibs libraries together because of the way automoc works. Basically when you have several source files with the same filename but different directores they will overwrite eachothers .moc file if they are built in the same target. To get around that I renamed some files).
StatusNet for MeeGo makes it possible for Nokia N9, N950 and similar phones to connect to StatusNet compatible microblogging services such as Identi.ca. It supports viewing statuses in the phone’s event feed alongside Twitter and Facebook updates, viewing conversations, posting new status updates, replying to other people, following new users, favouriting messages and repeating messages.
Apps for MeeGo Testing Repository
Direct download: statusnet-meego_0.3-1_armel.deb
License: GPL version 3.0 or later
Gitorious repository: https://gitorious.org/statusnet-meego-plugin
Ohloh project page: https://www.ohloh.net/p/statusnet-meego
That’s right, a couple of weeks ago new versions of SeriesFinale were released.
There was a long absence between these and the previous releases. The truth is that it has become more and more difficult for me to find the motivation (and time) to do work on an application for platforms I am not currently using. Still, I have had some emails from people showing their appreciation and Juan has also helped a lot (he is the reason there is also a new N900 release).
If you’re following the development of SeriesFinale, I have recently moved the repository over to GitHub (like I did for most of my projects). GitHub is so much faster than Gitorious and has nice features such as an issue tracker. Before you say it, although GitHub is not Open Source software, we’re talking about a hosted solution for Git repositories from a very cool company and I had no intentions of hosting Gitorious on my own anyway.
So what’s new in SeriesFinale? I need to differentiate between the platforms’ versions first.
Harmattan (N9) is on the 0.6.9 version and many bugs were solved like:
* Marking all episodes from the episodes’ list menu (nd#1)
* Episodes’ overview height (nd#9)
* Updating the shows season list
* Add a close button to show info dialog
* Add mark none action to the episodes’ list menu
There are still some issues when scrolling the lists which I’ve looked into and could not find any solution, I am convinced it actually has to do with the Python bindings of QML…
Fremantle (N900) is on version 0.6.10 and has less visible changes but the threads, languages and sorting functions were improved.
Adding the the new Harmattan version to the Nokia Store was also a challenge (it kept being rejected due to tiny details) but it eventually went through.
Be sure to test and vote for SF on Fremantle, or, in case you have an N9, get the new version from the Nokia Store:
Meltemi, the not-so-secret, low-end, Linux-based, Qt-running platform for the "next billion" is just one of several casualties of Nokia's final confirmation of them as - more or less - a Microsoft OEM. Ars Technica's Ryan Paul wrote: "Embattled phone manufacturer Nokia has conducted another round of layoffs, reducing the company’s headcount by 10,000 employees. The company is tightening its focus and making deep cuts in areas that aren’t directly tied to its current Windows Phone strategy. In conjunction with the layoffs, Nokia has also reportedly terminated its Meltemi project. [...]"
Councilors meets every Friday, 18 UTC, at IRC channel #maemo-meeting. Every interested Community Member is free (and welcome) to actively participate. Furthermore, after every meeting, minutes are published on Council's blog and News section of maemo.org.
We're happy to talk with You!
This is the first post in a new BlackBerry
category in my blog. Having attended the "BlackBerry 10 Dev Jam" in London last week, BB10 looks very interesting - and a spiritual successor to MeeGo 1.2 Harmattan, i.e. the Nokia N9.
It's particularly interesting as BlackBerry have created their own Qt/QML-based environment, called Cascades.
However, I've got an existing app, Bedside which is almost pure QML. Could I get it running? More detailed instructions will come later, but here's how I got to where I am:
<env var="QT_QPA_FONTDIR" value="/usr/lib/qt4/lib/fonts" />
to bar-descriptor.xml
.qmlapplicationviewer.{cpp,h}
from the existing project into APP/src/
.APP/assets/
(note you can't use asset://...
URLs within the QML files, as you can with Cascades).main.cpp
with a simplified version from your other project, for example:
#include <QtGui/QApplication>
#include <QtDeclarative>
#include "qmlapplicationviewer.h"
int main(int argc, char **argv) {
QApplication app(argc, argv);
QmlApplicationViewer viewer;
viewer.setMainQmlFile("app/native/assets/main.qml");
viewer.showFullScreen();
return app.exec();
}
In particular, note the path to the main-QML-file.
And here's the initial version of Bedside (with no screensaver interaction yet) running on the BlackBerry 10 Dev Alpha:
UPDATE: With a bit more work, I've got a single source tree working: now I can deploy to Symbian, Maemo, Harmattan or BlackBerry 10 (using Qt SDK for the first three, and BB10 Native SDK for the latter).
Instructions are in this forum post.
This is the first post in a new BlackBerry
category in my blog. Having attended the "BlackBerry 10 Dev Jam" in London last week, BB10 looks very interesting - and a spiritual successor to MeeGo 1.2 Harmattan, i.e. the Nokia N9.
It's particularly interesting as BlackBerry have created their own Qt/QML-based environment, called Cascades.
However, I've got an existing app, Bedside which is almost pure QML. Could I get it running? More detailed instructions will come later, but here's how I got to where I am:
<env var="QT_QPA_FONTDIR" value="/usr/lib/qt4/lib/fonts" />
to bar-descriptor.xml
.qmlapplicationviewer.{cpp,h}
from the existing project into APP/src/
.APP/assets/
(note you can't use asset://...
URLs within the QML files, as you can with Cascades).main.cpp
with a simplified version from your other project, for example:
#include <QtGui/QApplication>
#include <QtDeclarative>
#include "qmlapplicationviewer.h"
int main(int argc, char **argv) {
QApplication app(argc, argv);
QmlApplicationViewer viewer;
viewer.setMainQmlFile("app/native/assets/main.qml");
viewer.showFullScreen();
return app.exec();
}
In particular, note the path to the main-QML-file.
And here's the initial version of Bedside (with no screensaver interaction yet) running on the BlackBerry 10 Dev Alpha:
UPDATE: With a bit more work, I've got a single source tree working: now I can deploy to Symbian, Maemo, Harmattan or BlackBerry 10 (using Qt SDK for the first three, and BB10 Native SDK for the latter).
Instructions are in this forum post.
Openismus asked me to perform some benchmarks on Evolution Data Server. We wanted to track the progress of recent performance improvements and identify possible improvements. Therefore, I tested these versions of EDS:
Congratulations to all winners!
There is a final result, please check the Wiki list.
In order to receive the prize, it's mandatory that all awarded create an account at Nokia Developers. Once created, you need to add your postal information to your profile (otherwise Nokia won't know where to send the device).
Then we need to know your Nokia Developer ID (the login name at Nokia Developers that you have created). All the winners will receive a notification email, please respond to council@maemo.org including the following data:
- Full name
- ID at Nokia Developers
- email address.
Please send this data before next Monday, June 25th, as we need to provide the full list to Nokia to start sending the devices.
Thanks to everyone for participating and for your contributions to Maemo.org. We will need you more than ever in the following months, please keep your level of involvement with the community.
Piotr Jawidzyk has publicised details of the new Maemo Community Council's meeting schedule. They are held "every Friday, 18:00 UTC, at IRC channel #maemo-meeting. Every interested Community Member is free (and welcome) to actively participate. Furthermore, after every meeting, minutes are published on Council's blog and News section of maemo.org."
Read more (maemo.org)Council logs for meeting on June 22nd, 2012
Meeting held on FreeNode, channel #maemo-meeting (logs)
Attending: Woody14619, SD69, Ivgalvez, NielDK, Stskeeps
Summary of topics (ordered by discussion):
Topic 1 (Package promotion issue update)
Topic 2 (CA Wrap-up)
Topic 3 (OBS status)
Topic 4: (AI and misc)
Action Items:
Woody: Follow up w/ X-Fade & maintainer about qt-components-10 issue.
Woody: Follow up w/ X-Fade about garage auto-allow.
Post meeting:
If today's Google I/O keynote where they parachuted to the conference center from a Zeppelin while streaming the whole experience on a Hangout via Project Glass wasn't enough future for you, here is another thing.
As part of the SmarcoS project, we've been working on making the Kinect work as an input device for Qt applications. Basically you move your hand in the air, and are able to grab and drop things on the screen.
We call this the Air Cursor. Here is a quick video of manipulating a simple HTML5 application with it:
Now, this may not be the way you want to control the computer you're working with the whole day. Instead, we see this sort of interface as very useful for large displays in meeting rooms and public spaces.
Instead of a touchscreen that easily gets messy and requires people to stand in front of it, with the air cursor you can use a regular TV or projector, and use your hands to manipulate the information on it. The gestures we use are natural enough that everybody we've had trying the tool has figured them out in matter of seconds.
Our Qt Air Cursor is free software under the LGPL license, and is built on top of the OpenNI library, with OpenCV used for recognizing the grab gestures.
I believe this is a great start for using natural interaction to control information software or multimedia applications. Simple gestures like grab-and-drop and swipes work, but there is still a lot of UX territory left to explore.
If you have ideas where this sort of new input techniques could be used, feel free to get in touch. Or simply to integrate the Qt Air Cursor library into your applications.
The Qt Air Cursor was demoed for the first time in this year's Qt Contributor Summit in Berlin. Our simple "Grab to the Future" example game gathered quite a large audience, with the high score ending up at a respectable 18. You know you're doing something right when the event catering staff also wants to try your input device demo.