I'm a software developer from Ukraine. If you like what I do, you can support my work with a donation.
I am a full-time hired Android developer working in an Ukrainian outsourcing company. BUT I also develop my own pet projects in my spare time. Here are some of the such projects I have developed: SHTTPS: small and convenient HTTP server for Android and Desktop TV Bro: web browser for Android TV Pixel Motion: handheld pixel-art paint tool Joystick Forest: web games catalog for TV
* Support the author * Stay informed about current developments
I had plans to work on ANMA this week, but the Google Play Console showed me a warning that Pixel Motion uses old payment SDKs and the target level is outdated, and that if I don't update everything soon, I'll be in trouble. 🙂 So I switched to Pixel Motion and, in addition to the updates that were made instantly thanks to the cloud code, I first started finishing off the long-desired layer features. Once I'd finished those, I decided to check if anyone had already created an API for AI-generated pixel art. And finally, I found one, from a certain PixelLab. At first, I was really excited and thought I could resell their service through my app (at a premium), but after reading their policies, I realized they weren't interested in that. In the end, I simply wrote to them asking if they were okay with this kind of use—I integrate their API transparently; users purchase the service from them and just paste their API key into my app. They gave the go-ahead, saying, "This will be OK." It could still be beneficial for me—in terms of attracting an audience, which PM has practically dwindled to a couple hundred users in recent years. And so, I managed to implement this integration in the remaining half a week. Here's the result. The update is currently being moderated in the Play Console.
This week I've been working on SHTTPS. I implemented remote screen control. More precisely, separate phone screen sharing via the web and remote control. Separately because I plan to make the latter available only in the paid version. Both features required new "insecure" access permissions, so I've been waiting three days for the paid version to be approved in the Google Play beta track.
This week, I worked on Joystick Forest. Key features: I added about a dozen games to the catalog and implemented parental control settings: you can filter out mature games and set a PIN to change this setting. It's enabled by default, but without a PIN, 16+ games won't show up (the catalog already has a few—mostly visual novels from itch.io with scenes of violence and direct references to sex).
This week, I've been mostly working on Joystick Forest (update not published yet):
By the way, the latter turned out to be really bad on Android TV. I don't want to describe everything I encountered here, because it would be long, emotional, and not very credible: maybe I just misunderstood something; I'm not an expert in this area. But I've come to the conclusion that monetizing an indie Android TV app through advertising is, in most cases, a terrible idea unless you're a giant like Google. The reasons include: overwhelming digital bureaucracy, the widespread perception of the Android TV platform by ad networks as some kind of marginal platform, support being left over (like, Android TV is some kind of marginal Android—we'll support it, but unofficially, and if something doesn't work, we won't do anything about it), or, conversely, the attitude can be something like, "Oh, you support Android TV and want to implement video advertising, which means you're some giant corporation that owns TV channels, factories, newspapers, and steamships, and we'll send you through all the circles of bureaucratic hell, because you still have a staff of lawyers..."
In short, I ultimately had to abandon AdMob altogether. I've applied to several other networks, including Google's own "ad manager platform," and for now, Unity Ads has somehow gotten going, but it still needs approval from the admins, and there's always a chance of being banned by both Unity and Android TV admins, because their ads are also mobile-friendly and partially suitable for that platform, but "unofficially."
I've released an update to SHTTPS. Besides WebDAV, it also adds support for Android 17—I had to ask the new runtime for permission to access local networks. WebDAV was honestly disappointing—it turns out there are practically no good clients. And it's not my implementation—I tested it on several competing servers and found similar issues. Apple Finder handles WebDAV the worst—it practically spams PROPFINDs, and when trying to upload an image, it sends LOCKs, PROPFINDs, and empty PUTs in a completely chaotic order. Because of this, uploading an image through Finder is practically impossible with any WebDAV server. Gnome Files also spams relentlessly, but at least it doesn't confuse the order of LOCKs and generally works. Windows 11 Explorer has a different problem—a 50MB limit on downloaded files. That is, not even uploading to the server, but simply opening a file from the server if it's larger than 50MB—an error! This limit can be raised somewhere in the registry, just like unblocking BasicAuth without https 🫠. None of the WebDAV clients I tested seem to use Chunked Transfer, which my server supports and which works perfectly in a web browser, for example when scrolling through videos. Basically, it's a bunch of minor issues. WinSCP and Cyberduck work fine, but their UI feels like it's from the 90s, not even the 2000s. The only client that seems to be completely problem-free is X-Plore, but it's only for Android. I also made a small update with a couple of fixes for Joystick Forest - just to "push" the previous update, which seemed to be stuck - for the first time in my memory, the app was stuck in the Google Play Console in the "being tested" state for more than a week 🤯 And indeed, the new update was accepted very quickly, so the app is finally published!
A small experimental program with two alternative ways to control the Android TV interface: moving the virtual cursor with the TV remote control and controlling it with head (yours 🥴).
Get ANMA from Google Play store
Доступно за підпискою
Доступно за підпискою
* Widget for home screen
* Intent sending handlers
* CGI / Callable executables experimental support (unfortunately, for now it turned out to be useless on Android without root)
* Basic CORS support
* Logs: added network usage chart, fixed inverted logs order issue
* Custom text charset setting added
* Fixed broken autoshutdown timeout for longer timeouts
* Ability to transfer a PLUS license purchased from Google Play to a marketless version
* Dropped support of Android 5.x-6.x, reduced apk size
Доступно за підпискою
Доступно за підпискою
Доступно за підпискою
Hello, dear TV Bro users.
Thank you for your feedbacks and problem reports. To answer your question, yes, updates are planned. However, I have another project as a priority right now (SHTTPS). There's a good chance I'll return to TV Bro within the next month, but I doubt I'll be able to devote much time to it right away. When that happens, I'll be focusing on the numerous tickets in the GitHub issue tracker when choosing tasks. I also have my own redesign ideas. There's an unfinished and partially failed (due to unstable API) feature for text selection and changing cursor behavior. And of course, I'll need to review the crash logs.
I also use TV Bro quite often himself on my home Android TV. But its current functionality is generally sufficient for me. Regarding the project, there are a few important things that don't make me too worried about it.
First, its dependencies – the core of any browser is a web rendering engine. Although TV Bro can use WebView or Gecko, neither of these projects is targeted at the Android TV platform. This often causes things to break, and many users assume the browser is the culprit. But I have no control over this, and it's annoying.
The second issue is the performance of Android TV devices. When I was developing the first versions of TV Bro in 2015, the platform was just emerging, and there were hopes that manufacturers would release devices with performance comparable to game consoles or at least comparable to modern phones. I still use a 2015 Nvidia Shield, and this 11-year-old device seems to be able to outperform almost any modern Android TV device. But most manufacturers have started releasing utter garbage, only suitable for streaming media content, which doesn't require a powerful CPU, a lot of RAM, or a GPU. But the modern web requires all of that!
These two things mean to me that TV Bro will never be perfect – neither in performance nor in stability. It's simply a Workaround-style utility to somehow run the web on a device not designed for the web. It's good that TV Bro and similar programs exist (I know about forks and cool competitors), and I'll continue to try to update it at least occasionally and fix the most obvious issues, but I don't plan to focus too much on it. I'll probably add a link to the donation page (this one) to the "About" section in the next update – maybe that will motivate me to update the app more often.
Ваше повідомлення опублікується у стрімі автора.
Цифровий контент та інтерактивні віджети надаються миттєво в момент оплати. Тому транзакції є остаточними та не підлягають поверненню.