What to expect from Microgram
I do not aim for a full featured Telegram client for Java ME. I do not have the time, I do not need it and the target devices do not have the necessary ressources.
What problem should be solved?
Following this advice I try to address my own problem: For a year or two I ditched my smartphone and went back to a Nokia 3330 and later a Nokia 515. I really liked not having a computer in my pocket to fill every spare second with it, but only be able to call and text. During that time, I used messengers only on PC (I was sitting in front of one almost the whole day anyways).
However, “texting” for me is 60% Telegram, 40% Signal nowadays. I hardly get any SMS aside from two-factor authentication.
In order to get back to an old feature phone, I want to be able to participate in communication through at least one of Telegram and/or Signal. Since signal promises very good security and privacy, I don't want to sabotage myself and hack together some half-assed, unsecure version of it. Telegram on the other hand does not make that kind of promise. While I try to keep it as safe as I can, it will not be a catastrophical breach if I fail in providing a waterproof channel to my feature phone.
What should Microgram become?
What I want to: To have all essential (for me) features of Telegram available on my phone to communicate with my friends.
This includes:
- text messages, both in 1:1 and group chats
- very nice to have: emojis, maybe even stickers/GIFs (at least as static images)
- channels, images and polls
This does not include:
- animations
- spoiler texts
- video
- file download
- any kind of file upload (except maybe images)
- reactions and maybe not even
- "secure" chats.
Microgram should be an app that works as a secondary way to use Telegram. No registration, maybe not even contact management. But you should be able to participate in basic communication and keep up to date on your chats and channels on the go.
Why a proxy server?
Microgram should use a proxy serve that functions as middle man between Telegram and the app. The reasons are:
- My time. With a server, I can rely on libraries that handle the communication with Telegram. With Telegram changing all the time, this gives me the possibility to keep it working without constantly putting more work into it.
- Performance. The server can scale down images, create static images from stickers and GIFs etc. Even the basic handshake with Telegram in an [all-Java ME-implementation](https://github.com/faissaloo/telegram-micro) takes a minute or so due to bad performance of the target devices.
- Portability. Design decisions on the proxy server will be done with only Microgram on Java ME devices in mind. However, it should be easy to develop alternative clients for other low-performance devices like KaiOS phones or other vintage phones.
Are we there yet?
There is a basic J2ME app that can communicate via HTTPS. There is also a proxy server that reacts to those requests. And there is this website :)
We are not too far away from a very minimal version that allows for pure text messaging, but we are not there yet. A lot of responsibilities in the real world make this project only a low priority task, unfortunately. This is why I do not dare to give an ETA when we'll have a first release.