Wednesday, July 4, 2018

How not to: design and manage mobile applications. Eurosport Player example

I've been using Eurosport Player for years and can state that this is one of the most buggy and bad designed mobile application I ever seen.

Ok, I must admit it does not crash anymore, what it did in past frequently. It's updated regularly, though not necessarily to a better condition (for example, you can get additional context ads playing before every video in the updated version, whereas there were no such ads in the previous one - and they call this "critical update" ;-); apart from that they prefer to show bulcky selfish ads overriding important live actions, lasting for tens of minutes in a row, as though their directors went away). It does somehow work and present more or less content. But it is definitely not of the quality I expect for money.

First, the app demonstrates inconvenient and inconsistent UI design. Of course, they change UI from time to time in a cardinal way, in attempt to make it better, but actually making it worse. These changes themselves are very painful because you cannot find things on their usual places, and new control principles are not intuitive. I wonder: if they think every new design conforms to human usability, how every new design is drastically different to previous one? Do they suppose the human nature is changing with this frequency or do they rotate developers completely every month? Maybe they do not know themselves what they want (except for money they want constantly)?

The latest version at the time of writing is 6.1.6. Its general look and feel was introduced several months ago. From very beginning I got it, I'm encountering the following problems.

You can't read TV schedule in a familiar form. All is supposed to be interactive and reached through context search. But results are hard to interpret. Even if all filters are switched off, and it's supposed to show all sports, all channels - you can still get a screen without E1 or E2, which is nonsense, because E1 and E2 are showing something at every moment. It's important that you cannot switch on E1 or E2 in this situation. It's illustrated by the following screenshot:

Where is E2? Sometimes you can get nothing at all - neither E1 nor E2 current programs - and can only see stubs of Upcoming programs planned for later time.

This is a sporadic bug, which happens from time to time and vanishes itself after a while. Still this is very annoying because you can't switch to required channel at specific moment.

There is no a common timeline (exactly as a timeline, which was present in some previous versions, and allowed users to monitor many activities at once), no specific channel schedule (E1, E2), no special events broadcasting schedule in additional streams. Again, I mean a schedule with separated channels (such as videos from show courts on tennis tournaments) and time spans (when it starts, when it stops), and not a mosaic mess of splash images. And again, this feature was present in former times.

There is no way to read full text of titles of programs, because most of titles are truncated with ellipsis. This bug lives in Eurosport Player forever.

They don't know what is the full-screen mode. They do actually provide a button to switch it on, but their implementation leaves navigation bar on screen, so videos take only part of the space they could take.

There is no portrait screen orientation. I admit that video content is better displayed in landscape orientation, but Eurosport Player is not the only app on your device, and running it in parallel with something other requires you to rotate the device. Besides many UI forms in the player are free from videos, yet they are locked in landscape as well.

Ok, let us stop with UI problems and look at other things.

There is no way to check or manage your subscription from the app. You can only change email, password, name, and favourites. Or you can read app version, privacy policy, terms of use, and FAQ. Or you can finally do log out.

Here is the screenshot:

By the way, there is no option to start a new subscription right away - instead it will start only after 1 week of trial period (during which your card is not charged). This is inconvenient, because exchange rates can change, and you should actually monitor balance of the card until the week runs out. If it could be executed instantly, current balance and exchange rate would be known exactly, and the process finished in a blink - without more fuss. Even if this trial seems cool for someone, why not to provide an option to skip it, especially if this is not the very first time when subscription made? Probably Eurosport implies that a decent subscriber should have a sizeable credit on his/her card. But even so, I personally prefer, adhering to recommendations of Internet professionals, to use dedicated short-living virtual cards with specially allocated limited amounts, which allows for protecting yourself from modern security threads in e-commerce. If you find it's funny, please, find many stories from clients of big companies and banks, whose credit card data was stolen and exposed in past years. ;-)

In addition to the subscription topic: it's very inconvenient that in-app subscription is only allowed to be monthly:

Where is annual subscription, which is available from the site?

And finally, let’s address the problems related to the content.

Here is what you can see instead of a program:

This happens regularly while I'm in the same country, in the same provider network, so their FAQ does hit and miss in this case. Mostly it can be solved by the app restart.

Another one, similar but different:

This error happens even for 24-hours E1 and E2 channels! Again, the only way to get rid from the message is to kill the app and start it anew - only then you'll get the broadcasting videos.

Sometimes you can get nothing - a blank screen:

You can do nothing with this - just wait when Eurosport stuff awakes and fixes the problem, which is apparently on their servers.

Also I've got the following error several times on my Chromecast while subscription was active:

At those moments I was able to view programs on my tablet, yet TV was not an option. Since Chromecast+TV is preferred method of viewing sports for most users, when it stops working they don't actually get what they paid for. Sometimes the error can be dismissed by switching between different streams, but this does not help every time.  

Last but not the least. Probably this is most important, because it's not resolvable by client-side tricks. Special live streams from big events (such as show courts on tennis grand slams) stop and freeze constantly, while E1 and E2 run ok. Please note, this is not a problem with Internet, or user device, or something, since E1 and E2 works smoothly at the same moment. This looks like a problem with resources provisioning on Eurosport servers. They don't provide enough CPU, or memory, or bandwidth amounts, or compression class to ensure proper service quality on the additional streams. The additional streams are the main reason why I use Eurosport Player. With this problem the player is absurdly overpriced for one single channel E2 (in my case, I have E1 in my cable). And I tell you even more: the service becomes more and more expensive. For example, in 2017 I paid 15 in euro equivalent, and in 2018 it's already 30! 100% increase! For this 12 month euro exchange rate increased only by 9%.

I renewed my Eurosport Player subscription for the last time. If they don't improve (or give 91% discount ;-/), I'll leave.

If you know an alternative service for international sports broadcasting please let me know. If it's not exist, our last resort is free streams published by some altruists in the Internet. They are hard to find, they have their own drawbacks, but they do not pretend cool guys and do not beg for money for nothing.

PS. Eurosport support is not reachable. In response to my email to advertised, I receive a short reply that the address is no longer in use. Sending emails to, which is used as return address for payments confirmation, returns SMTP error:

550 Callout verification failed: 550 "" is not a known user

You may also try to fill out a feedback form on their site as I did, but you'll hardly get a response.

Thursday, January 18, 2018 is down

Unfortunately, the site is not available anymore. It was hosted on OpenShift's free plan for years, but since OpenShift 3 was introduced, the service became very unstable and problematic. And even worse, yesterday I received a message from OpenShift with a postfactum statement that my "access has been removed due to a prolonged period of inactivity". All the data - the pod, the storage, the settings - have gone. This is just not true that there was a period of inactivy since the site was in use every day. So it's absolutely clear to me that RedHat just do not want to support and faithfully provide the new free plan (OpenShift Starter). It makes no sense to restore the site again and again, as far as they can kill it without a prior notice and with no reason.

I do not make money from, so from very beginning it was and will be intentionally bound to free hosting. On the other hand, I don't want to use a free hosting populated with bulky ads. Until I find a replacement for spoiled OpenShift, the site is down.

Sorry for the inconvenience. This is not my fault. In the world where money rules - it's hard to maintain non-commercial, unpaid, altruistic projects.

Tuesday, November 14, 2017

OpenShift is getting worse

As you may know RedHat provides its own public cloud infrastructure - OpenShift - for years. It was a great service, available with paid and free plans. Many companies and developers used it both for production and testing.

Unfortunately, the situation has changed since OpenShift 2 has been replaced with OpenShift 3.

First, they decided to decrease number of instances (pods, in new Openshift 3 terminology) available in the free plan from 3 to 1. I admit, this is fair. The previous limit was incredibly generous, and allowed you to run a scalable (in its minimal form, yet fully functional) cluster with a load balancer for free. That was great, but could not last forever.

Second, they restricted the uptime of the single pod to a small value, which is not sufficient for uninterrupted operation.

Third, although this is a personal one, they made the web console less convenient and intutitive. Ok, I understand they wanted to make it more flexible, but somewhat streamlined workflow similar to version 2 would be a plus as an option.

Last, but not the least. As the system became more complicated, it's now less stable and reliable. Pods can easily stuck in any state (while starting or terminating), and as a result, your site becomes inaccessible for quite a long time, because the problems can not be resolved from the console and the support does not respond quickly. And even worse: they can deliberately switch off entire clusters for "maintenance" for several days in a row.

Monday, March 13, 2017

Hey, Google, I'm not a robot! Yet

Google was my favourite search engine for many years. Unfortunately, I have a ridiculous problem with Google from time to time. Instead of the searching interface I see now Google's captcha, asking a confirmation that I'm not a robot.

I do understand that Google receives a lot of requests from the world and from my IP specifically. My ISP is large enough to cover a half of my city, but there are cookies after all.

Most annoying thing is that the captcha seems buggy: it shows me pictures of storefronts, mountains, rivers, traffic signs, and numbers again and again, despite the fact that I mark relevant fragments every time. I really can distinguish things ;-). Nevertheless, Google's AI still thinks my clicks are somehow robotized. Or maybe Google tries to classify internet images to be indexed by forcing visitors to help? ;-) Or - no - my IP is in Russia - doesn't this mean that I'm a hacker by define? But a hacker is not a robot, anyway. I don't get it.

Well, I'm moving to other search engines. What a pity. What a shame.

P.S. After a further investigation I can say that your search request does matter. If I try something simple as a test, for example, "book" - it works, but if I enter more specific query - it fails with endless captchas. Of course, my queries are real world queries (nothing criminal, of course) and they are often banned.

Tuesday, November 29, 2016

Genesjs: a neat implementation of genealogy tree in pure HTML5/CSS3/JavaScript

As a new spare-time project I have just released small web-application. This is actually a single page intended for offline use. It provides a viewer functionality for interactive genealogy trees, and uses JavaScript or JSON file as a source of the actual data about your family. The number of supported types of graphs is minimal, but sufficient for the start. The diversity of personal fields and relations is not large as well. Yet on the other hand, the simplicity is a plus.

The idea behind the project was to provide a tool for building genealogy trees without a need to install a heavy application with long dependencies or register somewhere. Genesjs is a solely in-browser and standalone solution and solves all the problems.

If you think there is a typo in the name, then it's not. An application concerning your genesis and written in js should surely have name Genesjs ;-).

Here is some screeshots.

You can download version 1.0 here.

Bugs, suggestions? Feel free to contact me.

Thursday, September 22, 2016

Droidcon Moscow 2016

Today, on September 22-nd 2016, the 3-rd Droidcon conference was help in Moscow. This is a great opportunity for russian developers to get acquainted with latest Android trends and technologies, especially taking into account that Google I/O has its residence at other side of the Earth. ;-)

Of course Android 7.0 was presented as a new target for development, as well as many other topics, including usability, testing and even piracy on mobile market. Two sections were dedicated to VR and IoT. Although these terms are well established, and some products such as Google Cadrboard are very popular, they are seemingly still waiting for greater adoption and maturity. At least, I'm not impressed neither by next generation VR headset Daydream, nor by smartness and value of connected "things". The former looks too large for me and lacks natural human-computer interface (it still utilizes old plain extended manual control, obviously called "controller"), the latters are no more than toys at the moment (imho). I must admit that I did not see or test Daydream in real life, so my impressions are based solely on discrepancies between what I wanted and what I can get according to available information. Anyway, it's good to know about the work in progress, and I'm eagerly anticipating next releases.

Unfortunately this time there was no a hardware exhibition as a part of the event, so the only things that could be touched by hands and twiddled with came with speakers and were few.

Sunday, July 17, 2016

Smart glasses evolution is too slow

Back in 2014 I attended Android developer's conference in Moscow, and then published an overview here in the blog. One of the interesting things presented there was Epson smart glasses Moverio BT-200. Today, in 2016, Epson has announced the next generation of the smart glasses - Moverio BT-300 and started collecting pre-orders for it (unfortunately, only in US!).

I do not have the device yet, I only have read the specs. But here is my thoughts.

Most valuable improvement for me is HD display. The former one was too rude for eyes. The controller box is reduced in size, but it's still there, and I don't know why (read my first post for an explanation of my point of view). They added a camera, which is good, but the camera is only one, which is bad. It would be natural for such device to have 2 cameras for (1) streaming stereo vision from one device to another, (2) 3D recording, (3) 3D macro view and (4) 3D telescope view modes. I know they have stereo camera in their industrial smart headset. But I think this is a must have feature for home users as well.

To recap, they do evolve step by step, but I'd like to get smart glasses with more features, more light-weight and convenient. And I know it's doable on Android right now.