jQuery Mobile Transitions: Static vs Dynamic Content. Part I

On a recent project I was working on, the client had a web-site structure in mind where the user would navigate using a page swipe (on touch-based devices) and the pages would transition using a slide transition effect. It was pretty clear that jQuery Mobile already offered a lot of the functionality that we were trying to accomplish…both swipe handling (which isn’t discussed here) and sliding page transitions.

jQuery mobile greenAs usually happens when finding a “perfect” technology to fit into a project, the implementation details didn’t quite fall into line “perfectly”. The primary issue was that, while the page transitions should slide from page to page, depending on the context, not everything on each page should transition. For example, transitioning between some pages might require the background to slide with the transition while others might require that the background stay static. The solutions for these different sliding approaches weren’t always completely intuitive.

I’m going to describe each the different combinations of transitions that we needed to accommodate and then provide details on how to achieve each one. Part I will cover the initial base source, how to massage the code to accommodate jQuery Mobile, and how to do a slide transition between pages.

(more…)

Qt 5 and C++11: Lambdas Are Your Friend

lambdaSince Qt 5 was released I had been putting off upgrading to Qt 5 on a project I have been working on. Even minor ports like this one, from Qt 4.7 to Qt 5 (that’s right…skipped 4.8) for some reason are never as easy as implied. “Just change the include and link paths,” they said. “It’ll just build,” they said. Psht, yeah right. Not falling for it again.

Well, I finally made the jump and, after many years of working in Qt, I feel like C++ and Qt are working together now instead of Qt just being something that helps you develop better C++. I believe the signal/slot mechanism has found its soul mate in C++11 lambda functions.

(more…)

YouTrack 5: First Impressions

SCRUMYouTrack 5, from developer JetBrains, is yet another issue tracker/project management tool offering Agile/SCRUM support. Is there anything special about it?

Anyone that’s been working in software development for a while knows that there is a whole bucketful of issue/task tracking tools. When starting a project, if a particular choice isn’t already pre-decided by someone above in the management chain, simply making the choice on which planning and issue tracking software to use can be a monumental task.

Some of the big ones you’ve probably heard of are Rational ClearQuest (IBM), Team Foundation Server (Microsoft), Bugzilla (Mozilla), and Mantis (Various, Open Source). The list goes on and on and nearly every developer has something they hate about each tracker that they’ve used.

I’ve long been a fan of the Ruby on Rails development environment, RubyMine by JetBrains, but have not heard much about their issue tracker, YouTrack, until recently. I thought I would give it a quick look to see what I can find to hate about it.

(more…)

Windows does this; Why doesn’t OS X?

OS X Applications for Windows Users

4348297444_bcd3386db9_o

Controversial title? Maybe. However, as yet another former, lifelong Windows user making the switch to Mac, it’s a question I’ve legitimately asked. As great as I think OS X is, I’ve caught myself a few times wishing that it had some particular feature, or an OS X-ish version of that feature, that I often used in Windows.

Of course, many Apple fanatics assure me that it’s not the OS; it’s something wrong with me (which is a theory I’m willing to entertain). The basic fact is that Microsoft did do some things right with Windows that could benefit OS X and it’s silly to pretend that isn’t the case.

As a very simple case, when I’m using a Windows application, if I hold down Alt (the traditional key to begin a menu item shortcut), all of the letters that launch a particular menu will be underlined on the main menu. It’s a very intuitive method for accessing application menus. There really isn’t anything in OS X like this out of the box. There are ways to use 3rd party applications get close enough though…and that’s the purpose of this article.

(more…)

What the Heck is QML?

As a C++ developer, I’ve spent a great deal of time working with the cross-platform C++ framework, Qt. It’s been a great help in building apps that need to be able to run on Windows, Linux, and OS X. Over the last couple of years there have been more and more mentions of something called QML when talking about Qt. How does this affect me? Do I need to learn yet another language?

Qt_master_logo_CMYK_300dpi

A new toolkit, called Qt Quick, was included with the release of Qt 4.7. This toolkit is geared towards a declarative method of building interfaces and interaction, primarily targeting mobile devices. That makes sense; Nokia owns the Qt framework and mobile devices are kind of their thing.

QML is the language that this toolkit is based around. It’s a declarative language that specifies the components of the UI, while the actual user interaction logic is handled with JavaScript, for high-level user interface logic, and a Qt C++ back-end for adding to QML functionality.

(more…)