The arrival of Internet-based television services over the last five years has been a game-changing technology.
As a company, mixd.tv recognized that the current abundance of web TV is not without its challenges. Web video is widely dispersed all over the Internet on different video platforms and finding the right video content is complicated and extremely time-consuming. The mixd.tv desktop application aims to address these fragmentation challenges – offering a new way to access and share online video content via social media channels in a natural web 2.0 connected style.
Fully aware that its service will be judged on its 'last mile' of delivery and the quality of its user interface (UI), mixd.tv evaluated the Qt framework – including the Qt Quick UI Creation Kit – as an alternative to its existing GTK frontend. The goal of the mixd.tv project was to deliver a social media TV service using a user interface that featured organic animations and effects.
With mixd.tv, users can find and play videos from different online video and TV sites with support for Windows, Linux and Mac OS X. Videos can be collected in playlists and shared on a community website at http://mixd.tv where others can follow these playlists.
"Using QML and Qt Quick to build our User Interface, we now have a UI to display video content (including thumbnails and content description) as well as dialogs to create and select playlists. Our use of Qt Quick has been wide-ranging: we've built buttons and scrollbars, and are also using grid models to display videos, playlists and search plugins," said Kristian Müller, mixd.tv CEO.
The user interface itself communicates with a Python backend via Python-boost as a bridge framework, with the option open to add more video services via an open Python plugin API. Working within a tight knit team, mixd.tv found that Qt Quick opened up wider opportunities for its UI designers and developers to use Qt, some of whom were more familiar with scripting languages.
Three developers began work on the Qt Quick elements of the project – working with the Python backend and the Qt Quick based frontend simultaneously. The team was productive with Qt Quick after only a week, and within three weeks they had the first working prototype up and running.
Using Qt Quick, mixd.tv was able to radically speed up UI development.
“After integrating Qt into our build process, we are now able to create preliminary demos with turnaround times of around one day. We are constantly learning new things about Qt Quick, but are already productive with the technology, producing UI layouts and effects in little time. Performing more advanced tasks, such as adding an advanced component like an animated volume bar, usually takes us around a day,” said Müller.
Looking back at the sum total of its work with Qt, mixd.tv has radically increased its anticipated development speed for the UI – and in terms of tweaks and augmentations at this closed beta stage, the company says that it can change the layout of the UI as needed without touching the backend. Instead of a full restart, testing a new colour on a button requires just a mouse click when working with Qt Quick.
Relying heavily on Qt Quick as a central element and driving force in this project, mixd.tv is acutely aware of the importance of its UI. Although its basic service is free, the company clearly has a monetization model for its new technology proposition. Given the high demands inherent in a visual market like online video and TV, delivering a powerful, feature-rich UI is a must for mixd.tv. For these reasons, the company put its faith in the Qt user interface and application development framework including Qt Quick.