How Starman got a remote control in mobile 15 May 2014

Due to intense competition and rapidly changing telecommunications market, Starman (top 3 Estonian cable and internet provider) was looking for a development partner who could quickly adapt and change development directions with them when the situation required.

For the company, time to market was not only a textbook term, but everyday phrase - luckily for us as well.

We proposed the company to start off with a pilot to test working with us risk-free, like in other projects. We agreed to develop a prototype for the Android phones, that would enable pairing mobile phone with STARbox (branded set-top box ...), record TV programs, set reminders and browse TV guide.

The choice of technology was the first challenge - native for each mobile platform or not? Both had its pluses and minuses. We chose native approach. Large amounts of data in the TV Guides being one of the key reasons, which should in no way hinder user interaction and cause screen to stall sometimes. For instance in grid view we show at one time large amount of info that should be simultaneously scrollable both vertically and horizontally.

The pilot lasted two weeks, Starman liked the result and decided smoothly roll further into full-scale project.

Technical side or path to remote control in mobile

Mobile app was initially rather read-only for browsing TV guide, but soon end users got some cooler features like setting reminders, recording TV programs and remote control.

We were able to quickly catch on new ideas of Starman colleagues and stuck our nose to other topics besides the mobile app. The next thing we were invited to STARbox development. Set-top boxes are devices with rather limited processing power, memory and consequently, development possibilities. Usually they run on stripped down Linux versions and their own software is a closed system with small number of developers. Starman had more development wishes than the existing partner was able to provide and above all, they wanted these developments to be done fast.

We learned how to use the set-top box API and started developing user interface. Set-top boxes were and are a proprietary world with quite old technology. Usually C-applications are run on them that whose development speed and convenience are not comparable to contemporary tools.

While developing mobile app and STARbox we came to an idea together with the Starman team - above-mentioned remote control in smartphone. That means operating STARbox functionality (changing channels, adjusting sound volume etc.) from a smartphone. The biggest challenge to realize that idea was real-time communication between STARbox and mobile app.

We elaborated using various technologies, but eventually decided to use websockets. In our decision we evaluated existing infrastructure, existing libraries for various platforms and ease of use. All these criteria were fulfilled for using websockets. The next steps were easy - we needed to connect STARbox with mobile server and send messages from one device to another (and in opposite direction). The app says what STARbox had to do and the box replies, in what status it is and what program is currently running etc.

Cooperation takes place between people

Expectations to the customer are big in agile projects. It is expected to give quick answers to developers’ questions that may arise at any point of time. The customer needs to set priorities, to be constantly aware of completed new functionality and to give feedback, is the development going into right direction.

Of course in this blog we could not write that any of our customers is not coping with these requirements. In any case judging by the cooperation so far we can say that the results would not be even half as good without the Starman team. Starting with their flexible and fast decision-making management and continuing with sharp project managers and engineers. We got off well and in many new ideas were born in cooperation, like the the remote control in smartphone app.

UI / design according to device

The role of our designer / UI expert increased gradually in this project. The customer had an understanding of the mobile design before the project started. Then came the remote control idea. Initial understanding was to copy the existing STARbox remote design to mobile. But for a good UI that was too many buttons on mobile screen.

We ran through the real use cases that the remote does at any point of time while communicating with STARbox and realized we can skip part of the buttons, depending on the situation. Designer adapted the visual and hid the buttons not used for better user experience. Less is more is one of the guiding principles in our company.

Business view

The competition in the digital TV industry is high, Starman had to follow the movements of main competitors while realizing its own development plans. That caused sudden changes in plans and fast time to market was one the key imperatives. We can proudly say that thanks to agile methods used we were offering this and for us, there are no other alternatives.

Agile means among others that software has to be working at any time. How do we accomplish this? We develop new functionality by user stories, all the way down. For instance, “the user can change TV channel from mobile app”, “the user can record the TV program” etc. In addition the critical functionality is covered with automatic UI tests which enables constantly monitor that the software does not break down when new functionality is added. All this enables quick changes in priorities and to add just those features, that the market demands at current point in time.

One more interesting angle - in time and material type of pricing schemes that we used customers might be afraid of losing control over the budget. Starman project is a good example how this was the other way around and rather enabled more control. We agreed how much is reasonable to invest in particular application or functionality and mutually guarded each other wallets.

What next?

Joint projects continue, stay tuned


Offtopic

During the project we had to check all the channels available in Starman network. Including the XXX-rated, since we had to set restrictions for younger viewers. While working on this feature an elaborate discussion arose in our office whether male porn stars still wear mustache or not ...