Official WTV app also available 🙃

Why did I create a WTV Android TV app when there’s an official app? Good question, I’m glad you asked.

In 2023 I had a good look around and was unable to find any WTV app for Android TV. I started a proof of concept, but because I wanted to do it “properly” with WTV login for accessing on-demand content, I quickly ran into trouble and gave up (and due to time constraints).

A few months ago, I picked the project up again but lowered the bar by only supporting live stream which is the most important use case for me anyway.

However, I made the mistake of not properly scouting the current ecosystem. I did so in 2023, but this time I only checked WTV’s website and the app store. Nothing to be found for Android TV, so I thought everything stayed the same (I figured they wound’t have the budget or something). But later, when I searched the play store for my app on an Android TV itself for testing, I discovered there does exist an official app now! When I check the Play store metadata, it does indeed mention a publication date of Sep 27, 2023. Although, badly advertised, if I may say so 🙊 In March 2025:

  1. The app was not mentioned on the website.
  2. The mobile app can not be installed on TV.
  3. The mobile app listing does not mention the TV app listing.

Nowadays, you can search the play store for a different type of device than the one you are currently operating. That way you can find the TV app more easily, but I forgot to check that and I also guess a lot of people don’t know about this. At the very least, nobody expects that an app that cannot be installed on Android TV, still has a TV sibling app (under a different app id). There is no technical reason (at least not today), so I still think they should at least “merge” the listings. It would boost visibility of the TV app in a huge way while making it much easier to install from a different device (browser or mobile/tablet).

In the meantime, I noticed they updated the website to include a “Smart TV” button. On the live stream, they also started to advertise the TV app. So it seems progress is being made. 😊

Given how I already had a working app and found my app a little more snappy, I decided to go ahead anyway. I also like to use it on my tablet. Before, I had good hope that my app would survive as there was no alternative. Given there is already an official app now, I can only hope the RMM (the company behind WTV) will allow my app to exist. If something would be non-compliant, I’m happy to make any required changes though.

If anything, it was a fun experiment trying to use flutter on Android TV!

Focus WTV Live v0.0.13

I finally succeeded in releasing the Focus WTV Live app for Android TV. The biggest hurdle was getting through the Play store approval process. Rejections without any clue about what was going wrong. It doesn’t help that Google has disabled the Pre-launch report, running your new build on various hardware, surfacing problems you would otherwise never find out. I suspect Google has disabled pre-launch report in favor of AI payloads. 😉

So when you do encounter such a problem, without the pre-launch report combined with useless rejection feedback, you’re really in the dark. Well, I did figure it out after all, but it took lots of effort and adding crashlytics reporting which otherwise would not have been needed. It turned out to be a video player issue on low-end (read: crappy) hardware. Oh well, all’s well that ends well..

Enjoy West-Flemish regional TV:

Cord cutting – The final thread

10 years ago, I cancelled my cable TV subscription and switched to internet streaming-only using the first Android TV device, Google’s Nexus Player. It was a great cost saver. I never watched live TV to begin with, as I always wanted to skip forward during ads. My new home was Netflix and having no ads was a breath of fresh air.

In the beginning, I would miss some Belgian content here and there, but by now, every major Belgian TV channel has a free app streaming live TV and on-demand content (with paid options to reduce ads or watch additional content).

My parents barely watch TV except for the news, so I suggested to make some savings and cancel their overpriced Telenet cable TV subscription. It turns out there’s only 1 problem: they like to watch the regional news channel WTV from time to time.

Streaming WTV to an Android TV device, what are the available options?

  • Android TV app:
    the Focus/WTV app is not available for Android TV.
  • Cast from phone:
    casting a stream from the Android app on your phone is not supported.
  • Cast from website:
    casting from the website is supported, but the stream hangs after a few seconds and refuses to resume.

Ideally, my parents can just use an app on the TV, it makes things less complicated.

So, what is the solution? Create a new app! 😉

A few years ago, I gave it a first try, but somehow did not succeed. Maybe I was trying to support login and on-demand content. Yesterday, I lowered the bar and thought just streaming live content would already be sufficient (it’s what my parents do now).

To my surprise, I quite quickly had a working proof of concept. I was still using the project I created a few years ago using an old flutter version. So I upgraded the flutter version and it no longer worked on my Nvidia Shield TV, but it still worked on the emulator. It does not render video anymore, only audio. I also tried out the latest flutter 3.29.2, and even though I do get image again, it’s all red.
Long story short: don’t use impeller yet for hardware-acceleration sensitive stuff like video streaming.

I would show a screenshot, but there’s nothing to see but the live stream. 🙂

Stay tuned!

CoinGeek News v0.2.13

On October 1st, a new version got released, mainly to compliant and avoid being removed from the play store! So, nothing exciting to report 😕

I’m in release mode 😎

0.2.13 - 2024-09-28 
===================
* **[chore]** maintenance update to stay compliant with play store

I still owe you the changelog for the previous release though:

0.2.12 - 2024-02-10
===================
* **[improvement]** press top banner to scroll to top

OnScreenClock v0.7.4f

Short version

Maintenance update to stay compliant with Google Play store.

Although functionally, nothing changed, a lot has changed under the hood, so let me know if you experience any problems.

Rant

You may have noticed a lot of updates flying by last week. Over the past few months a ton of policy violations accumulated. I postponed updating the app since I am redeveloping the app from scratch and wanted to avoid going through the whole mess of getting the app compliant and approved, basically investing time in an app that will be deprecated soon.

However, I realized that rebuilding the app would take longer than expected (after all, it is an accumulation of work over 10 years) and that it would put too much pressure on me to deliver the app soon. If I didn’t take any action, the current app would have been removed from the app store last weekend, so I decided it is better to make the app compliant and provide continuity. It took me a whole week, each day putting in hours after work, to get the app approved.

As any developer will confirm, an app store approval can be a huge struggle. Even when you fix everything, your app still gets rejected. I noticed a bug in the review process in which they give feedback for an older version of the app. They claimed I repeatedly asked for permission even if the user granted permission. I fixed the bug, but they kept rejecting for the same reason. I filed an appeal asking for clarification, they responded the exact same thing (so appeal was basically useless). Some policy fixes need several days to be picked up and acknowledged by Play store. It only seemed to move forward after these policy fixes “trickled through”. I had so many fixes to do, from changing to app bundles, changing signing, upgrading to allowed versions of billing/analytics, upgrading android target, etc that it seems the review system choked on it..

The annoying thing was: I accidentically omitted a commit for some release but that’s when the review process got into the rejection loop. A few 1000 users were experiencing a crash and the fix was ready to release, but google would fail to accept it, even though it got accepted the day before! 🙄 These days, this has a snow ball effect: because they notice my app crashes more than its peers in the same category (Utilities), Google decides it should bury your app deeper in search results, lol.

Here’s the screenshot, for your entertainment:

So, the funny thing is they caused this problem themselves and even now when the bug is fixed, it will take some time until the average crash rate is low enough and Google reinstates my reputation.

Also, for anyone struggling with rejection with the notice “Your icon does not fill the entire icon space.”: you have to specify a 512×512 icon resource, just for TV, which does not have a transparent background. But be sure that the foreground stays within the allowed bounds! Life saver 😉

Anyway, that’s it for today. I know the current app is in a bit of broken state: the overlay is blocking input on certain screens, the service is being killed after some random time (google deployed a policy change end of 2023, before that no problem).

So rebuilding the app should fix all these things 🤞 AND make it easier to add new features. 🎉

Expected: end of year.

or IOW: ETA = EOY

CoinGeek News v0.2.11

After a nice long beta period of 4 months (I forgot about it 🫢), 0.2.11 has been promoted to production. Highlight is the eternal loading state bug fix. On the technical side, I migrated crashlytics from Sentry to Firebase. You can disable reporting in the settings.

Changes since 0.2.7:

0.2.11 - 2023-03-26
===================
* fix eternal loading state + various bugfixes
* disable mark all as read button during loading
* replaced SentryLog by Firebase crashlytics
* center implicit refresh indicator + bigger text
* bump min sdk to 21 (firebase dep -> multidex)

Just in case you wonder about the changes since 0.2.5:

0.2.7 - 2023-01-25
==================
* fix utf8 html decode for titles
* fix padding on progress indicator

0.2.6 - 2023-01-22
==================
+ added setting: open in external browser

OnScreenClock v0.7.3

A small update adding an option to show the am/pm suffix when enabling the 12-hour clock.

Here is the changelog since last blog post:

v0.7.3 2023-03-31
=================
+ added am/pm suffix option

v0.7.2 2022-10-30
=================
* migrate to billing v4 api

v0.7.1 2022-10-07
=================
* fix untrusted touch blocking on android 12 and up

CoinGeek News 0.2.5

CoinGeek News is a very simple app to read the CoinGeek news in a more structured way (i.e. chronologically). The goal is to add some features like favorites, filtering on metadata, etc. The app has been in open beta since June 2021, and I had the intention to release to production only when some more value had been added. However, since I’ve already been using myself for more than 2 years now, I guess it could be useful for some other people too..

The past few weeks, I’ve been cleaning up the app and making it Play store compliant (both technical and privacy wise) so today, I can finally publish to production. 🥳

Current features under development are favorites and post tags.

Changelog
0.2.5 - 2023-01-21
==================
* url launcher fix

0.2.4 - 2023-01-20
==================
* clear cache: ask confirmation
* try to fix elusive crash on startup

0.2.3 - 2023-01-19
==================
* mark all as read: ask confirmation
* improve settings section visuals
+ settings show database stats

0.2.2 - 2023-01-18
==================
* gdpr compliant
* flutter3 upgrade
App screenshot
App screenshot

new app: Coingeek News

The Coingeek news site is my favorite source for blockchain news. I discovered it a few years ago but didn’t really visit regularly back then. I read the occasional shared post on twitter or one that popped into my google now feed. If I didn’t have time right away to read an article that peaked my interest, I visited the site some time later to catch up. However, most of the time, it turns out I had a really hard time finding back that article. On the site there is nowhere a timeline with the latest articles in a chronological order. Also, not all articles get posted on social media, or even if they’re posted, I might not notice them (I don’t feel like reading crypto twitter every day 🙄). So although I like the coingeek website, for me it’s not very practical. But hey, no big deal, I hear you say? you can’t read everything..?

I agree, until last year 🙂 During Coingeek Conference days, there are so many exciting announcements, you don’t want to miss any article! So for the last conference in October 2020 I quickly mashed together a prototype app so I could follow the news. It’s a very basic app right now and it doesn’t do much, but since I use it almost every day, I thought someone else might find it already useful too..

app screenshot

I do have some ideas to enhance it: favoriting, search (online/offline), post preview, filter using tags, …

The next coingeek conference is happening next week June 8 to 10 in Zurich, but also completely accessible online! So, without further ado, I’m releasing an open beta of the app as I speak. It is a cross-platform app written in flutter, but only available for android (for now?).

Join the beta from Android.
Join the beta from the web.

Enjoy the conference!