Last spring I started to write QuickFlickr application i.e. a Flickr client for N900. Back then I wrote this article of it. For me this is just a learning process to study QML and trying to figure out how I can write a real application using C++ for a lower layer and QML for the UI. The biggest challenge so far has been to design C++ side so that it provides usable interface to QML side. Before going too deep into details here’s the video about QuickFlickr running first on OS X and after that on N900.
Posts Tagged ‘n900’
Some time ago I wrote how you can build and run QML applications on N900, but since that I haven’t done anything related to QML, until now. I’m not the only one at the moment who is trying to study how QML works and how you can deploy it in your application. I have always learned by doing, so therefore I decided to write a small application with QML.
I like to photograph and I have missed a good Flickr client for N900, so it was a natural choice to write a small Flickr client. I call it QuickFlickr, naturally:) So here’s the sneak preview of QuickFlickr. On the video I run it on Mac, because it takes too much time to build exactly the same version of Qt and Declarative module that I’m running on my laptop.
The application is far from ready and it lacks of proper graphics and bunch of functionality like uploading local images to the Flickr, but I will work on this app in order to learn more QML. I also managed to improve the performance quite much after I shot this screencast. I’ll add another video where you can see the performance improvement.
You might have noticed that I don’t have any sponsors for my blog and I’d like to keep it that way. No adds and other commercial stuff can be found from my blog. IMHO is that adds are damn annoying. The exception can be that if I notice that some companies have done something interesting, I can promote it. Like I did with Uiemo video which is provided by Tieto. So this was just for your information that this blog is my personal blog and it’s not sponsored by any companies.
I like to test Qt related technologies on N900. It usually gives a good picture of the performance, but now I have a problem. There is only couple months left and then I need to send my borrowed N900 back to Nokia. Yes, I was also one of the lucky ones who had a chance to borrow the device for 6 months. I don’t want to pay almost 600 euros by myself and therefore I’m asking if someone wants to sponsor this blog and my work here by donating a N900.
Other thing that I would really need is a new laptop. I’d prefer to have MacBook Pro, but basically any laptop with enough processing power (dual core, 4G memory, NVidia Graphics card) would go. These two things would really help me to continue to with this blog.
So if you will donate N900 or a laptop, what will you get? I will write an article of the donations and mention you or your company name there. That’s it:) If you want to do a donation, please contact me first via email: marko.a.mattila(at)gmail.com. Thanks for reading my blog.
Qt Labs is the place where you can follow the direction of the Qt development. Of course it’s worth to follow the Qt Roadmap also. If you are interested in about what’s happening in Qt world, it is definitely worth to follow the Labs (in my opinion).
One of the most interesting projects at the moment is Qt/3D. As you might have noticed Qt doesn’t support 3D in painting when using QPainter, but now there is ongoing project called Qt/3D which brings this to Qt world. Instead of QPainter you can use QGLPainter for 3D drawing. There has been been possibility to use OpenGL before, but what Qt/3D brings is a Qt way to do that. Which is nice.
There are good blog posts about Qt/3D in Qt Labs blog section. So it doesn’t make sense for me to write more about this subject. You can check out the blog posts:
I decided to take a look at if it is possible to run Qt/3D applications on N900 and yes, it is possible. Below is a video where I run several Qt/3D demos on N900. The following demos are ran on the video:
- cubeaccel – A simple cube demo that reacts on device accelenometer values
- pageflip – A demo which models how to switch a newspaper page
- teapot – The classic 3D “Utah Teapot”
- planets – A demo which demonstrates the animation done with QSphericalAnimation
Now that Qt is hot and QGraphicsView is even hotter, I’m quite surprised that Trolls haven’t provided a good common component for kinetic panning. There are some existing demo codes like this FlickCharm in dojo examples, but the problem in FlickCharm is that it doesn’t work with QGraphicsWidgets. Please correct me, if I’m wrong. QML introduces a class called QmlGraphicsFlickable which is used for providing a kinetic scrolling for QML objects. Well this works for QML, but not directly for QGraphicsWidgets.
I wrote the first version of the PannableView for QTablet project about 1.5 year ago. My collegue Kypeli (Johan Paul) helped me by writing some of the algorithms for scrolling. There is a one video which I uploaded to youtube about a year ago. On that video I demonstrated the first version of the PannableView used by a home screen and by an application launcher of the QTablet. That demo ran quite well on N8X0. I thought that maybe I could improve it little bit and release it as a public component. Still, it’s not a perfect. It’s not even close to iPhone’s kinetic scrolling, but it’s better than nothing.
The video clip below demonstrates different ways how to use PannableView for example to make QGraphicsWebView pannable, how to create a simple slideshow and how it clips the area outside the PannableView’s borders. At first, all the demo apps are running on iMac and after that I’ll show how they run on N900. I accidentally ran all the demo apps on device with -graphicssystem opengl flags and it flipped all the images upside down. Nice bug in Qt.