Thursday, December 26, 2013

QuickDictionary

The Qt5.2.0 is adding support for android and i couldn't be more excited. After fiddling around with the basic Qt based stuff, i realized that the QtQuick is the way to go for making interfaces for the mobile devices. The tutorial video about getting started with QtQuick is a good start for getting acquainted with the QtQuick.

The tutorial covers how to make scalable interfaces only the basic stuff though but it should be good enough to get you started.

Here is the URL:
http://qt-project.org/videos/watch/using-qt-quick-for-rapid-ui-prototyping-and-development

With this as a starting point iv'e been able to create a dictionary app with just QtQuick framework. Well why a dictionary app?

1) I found a really cool minimalistic UI design
2) Had a couple of cool looking color schemes that i could pick
3) I didn't have to create an infinite scrolling list :D
4) Minimal requirements.

With these i've started designing the application. Most of the tutorials claim that the mobile version will just work if the desktop version is working. This is mostly true but as you might expect.. it's not totally true. There are a couple of quirks i had to deal with while developing the dictionary app.

Here are the screenShots of the app on phone



1) Input Line edit has some weird behavior. We should set inputMethodHints: Qt.ImhNoPredictiveText to be able to use it properly.
2) Do not use eval for converting Json string to object. Use JSON.parse instead.
3) Making ui for different Display Sizes is tricky but easy with QtQuick.

Here is the video of the app in action on Nexus5



This needs some more tweaks to be awesome .. ill' be uploading the src soon on github.

Sunday, December 08, 2013

Qt on Android

It's been a while since ive' looked at Qt. I used it extensively during my masters project and pretty much every project that i worked on in the college. I even made a 2D top down game using OpenGL and Qt along with a couple of my friends as a course project. I even taught a class how to get started with Qt using PyQt.

The most recent experience i've had with Qt was looking at PyQt being used for creating a DB access software at University of Groningen. It was written based on Qt3.0 and upgrading to Qt4.0 was causing all sorts of problem that is when i thought Qt probably lost it's way with all the Selling / Ownership transfer / Shift of focus on Platforms etc.

Now saying that i love the power of Qt for creating GUI's is an understatement. The documentation and the examples provided made it so easy to pick up the Toolkit. I was worried they might have misstepped too much and lost control of how awesome it used to be.

Recently i came across some article which mentioned that Qt was gonna be supporting Android. This was a god send for me. All the experience with making GUI using Qt and now i can finally make GUI on android using it.

Anyway i spent a couple of hours trying to figure how to get started and i came across this wonderful article about getting started with Qt for Android http://www.kdab.com/qt-on-android-episode-2/

And so I was able to create my de-facto gui test app the hello world app :)
Here are the requirements:

  • User enters text
  • Clicks Button
  • MEssageBox pops up with the text he/she entered
If you follow the instructions in the link above and know how to program in Qt you should be up in no time. Here are the screen shots .


So as you can see there is a big button and a big text entry thing and when you click on it a message box shows up. It was a fun exercise and i'm eager to make some interesting apps with this power :)

Saturday, December 07, 2013

ComicNext

With the advent of the ios/android/wp8 there has been a steady rise in the digital comics market. A very immersive experience with audio / animations and some times even gameplay.

This takes the already fun experience of reading comic books to a whole new level. Imagine the your favorite comics coming to life at least partially, with audio and animation effects. This idea has fascinated me and i decided to spend some time trying to figure out how best to do it.

Here are some of the goals that i wanted to achieve for this:

1) Ease of creating content
2) Ensure that only the data changes for putting out a new comic.
3) Be Cross Platform

Enter ComicNext 
A new framework that will make creating digitial interactive comics for mobile phones / tablets very easy. We were able to create a quick prototype of how a comic book would look, you can try it out yourself HERE

This is obviously in beginning stages and will take time to be widely available but,
If you are trying to make a digital comic or want to learn more about our framework drop a line in the comments.