This page shows the source for this entry, with WebCore formatting language tags and attributes highlighted.

Title

Threema for desktop seems to be kind of dead

Description

The <abbr title="too long; didn't read">tl;dr</abbr> is that the current desktop client has been in maintenance mode for almost four years. It requires that an iOS phone be available, connected, unlocked, that Threema be in the foreground, and that the screen be on in order for the desktop client to function at all.<fn> The successor---Threema Desktop 2.0---has been in development for about 4 years, has been actually available in beta for about a year, and is still so buggy and limited in functionality as to be barely usable. The bar set by Apple Messages and Signal seems be far too high for Threema. Even the iOS client still doesn't have inline previews for links---how hard is that? Is it somehow insecure to download a picture and show it? <h>Desktop client is high-priority for me</h> The iOS client is otherwise fine, but I would really, really, really like to use a keyboard for text and drag-&-drop for links and pictures. Especially since I'm sitting at a computer most of the day anyway. With Signal and Apple Messages, I can respond comfortably, whereas with Threema, I have to pick up my phone because the desktop client is either too tiresome or isn't available because I can only link one of my desktops/laptops. <h>Recent history of the desktop client</h> The web-based desktop client is an absolute phone-killer on iOS now. The app has to be open and the phone has to be unlocked and the screen has to be on. This <a href="https://github.com/threema-ch/threema-web?tab=readme-ov-file">client was placed in maintenance mode on June 15, 2020</a>, about 3.5 years ago. The readme states, <bq>⚠️ Note: Threema Web is in maintenance mode while we are working on Threema for Desktop 2.0, which should resolve some of the long-standing issues we were having with Threema Web. We will still do regular maintenance and fix critical bugs, but for now there will be no major new features or non-critical bugfixes. See #996 for more details.</bq> The link to <a href="https://github.com/threema-ch/threema-web/pull/996">#996</a> takes you to a sad list of comments June 2020 through October 2021, with basically no progress. In late January of 2022, I learned from Threema during a job interview<fn> that Desktop 2.0 was on the way. 🎉 🙌🏼 📆 📆 📆... I <a href="https://github.com/threema-ch/threema-web/pull/996#issuecomment-1172075089">commented on July 1st, 2022</a>, asking about the status. I included the following screenshot I'd found on Twitter. <img src="{att_link}threema_desktop_2.0_screenshot.jpg" href="{att_link}threema_desktop_2.0_screenshot.jpg" align="none" caption="threema desktop 2.0 screenshot" scale="75%"> They wrote back nearly immediately to say they were <iq>working on it like crazy.</iq> I responded with, <bq>Thanks for the quick reply! "Working on it like crazy" is enough of a sign of life for me, TBH. I just noticed that it had been six months since I'd heard anything (screenshot/tweet above) and that the initial announcement of the new architecture had been made 2.5 years ago. As for my experience with the current desktop, I regularly see the open desktop app, with a conversation selected. I can even write a message, but when I submit, it shows the "Reload Session" button and throws away the comment. I've gotten used to just clicking a different conversation first to see whether I'm still "logged in". That way I don't lose any message text. It's just not ideal. Signal is much more comfortable as a desktop client (although their nearly daily updates are also not super-reassuring). I have an old iPhone 6S (although I doubt that plays into it). Maybe I'm the weirdo for using a desktop/web version, but it's so much more comfortable to use a real keyboard and to be able to copy/paste from a real browser. I know a lot of people are exclusively on their phone, though. Hey, I'm happy to hear you're working on it. I also understand if you're going with the old Id Software roadmap: "when it's done." Thanks again for the quick response.</bq> The response kinda/sorta corrected my note that it's been 2.5 years by writing <iq>1 1/2 years since the announcement. But obviously there was internal work before, so your number is actually close. 🙂</iq>, confirmed that the <iq>[t]he iPhone experience of Threema Web is indeed rough,</iq> and that <iq>the whole Threema team would like to have released Desktop 2.0 already</iq>. There was also a relatively honest block of reasons for the delay. <bq>Besides technical challenges on the Desktop 2.0 code base itself, let me name a few other reasons why it takes so long: Multi-Device protocols are very complex if one wants to prevent desyncs and conflicts. Another challenge is to update the existing code of the apps so that they harmonize with each other. This is vastly more difficult than writing another Threema client as they exist today. And I think it's fair to admit that, even though we were prepared, the magnitude of it still took us by surprise.</bq> All understandable. That was almost 11/2 years ago. The <a href="https://threema.ch/en/blog/posts/md-architectural-overview" author="" source="">Threema Multi-Device: An Architectural Overview</a> white paper was written in November 2020 and doesn't seem to have changed since then. <h>Working with the preview</h> At the beginning of this year---6 months later---a preview version became available, which you could test if you upgraded to a beta version of the Threema client on iOS. It was limited, but worked OK for a while, then stopped working after a few months because things got a little out-of-sync. I stopped using it, then decided to reinstall everything again and got it working. A day or two later, I had strange issues with messages not appearing on iOS or the Desktop, and some friends said they weren't seeing my messages. On top of that, the iOS client started constantly spamming dialog boxes to tell me that there was another device linked and the client would no longer update. Yes, I know. I linked it on purpose. You not only watched me do it, but you <i>helped</i> me do it. As soon as I unlinked the Desktop device, everything went back to normal. I still have friends on Threema only, so I recently reinstalled the desktop client again. There is still <a href="https://threema.ch/en/faq/md_limit">a list of limitations a mile long</a>. <bq quote-style="none"><ul>The beta version of Threema 2.0 for desktop only works with <b>one iOS device and one computer</b> (Windows/Mac/Linux). It’s available for <b>iOS only</b> (Threema for Android is not yet supported). [...] <b>videos are sent as file messages.</b> Recording voice messages and sending or receiving polls and locations will be supported in a future release. New message <b>notifications may appear on your iOS device even if you have already read the messages in the desktop app.</b> The <b>“Typing Indicator” and “Do Not Disturb” settings are not yet supported</b> by the desktop app. <b>Perfect Forward Secrecy (PFS) is not supported</b> when using the beta version of Threema 2.0 for desktop. </ul></bq> There's also no support for audio or video calls, obviously. At least one friend noted that PFS had been disabled and whether he should be worried? I had to admit that it was because I'm using a beta client from Threema and that they turned it off because they don't seem to be competent enough to get it working in multi-device mode within a reasonable time span. It's incredible. After at least 3 years of publicly known development work (and 4 years of admitted work by the developers), it barely works. It's stable enough, but it's still very much an alpha, in that it can't possibly be considered feature-complete. This is what the client looks like today, in December of 2023. <img src="{att_link}threema_desktop_2.0_beta_in_december_2023.jpg" href="{att_link}threema_desktop_2.0_beta_in_december_2023.jpg" align="none" caption="Threema Desktop 2.0 Beta in December 2023" scale="75%"> Note that it looks <i>nothing</i> like the screenshot of the purported functional prototype from December 2021 (shown above). I'm kind of embarrassed for them. <h>Conclusion</h> Signal has a desktop client. They've had it for years. I regret ever having gotten anyone on Threema because the desktop solution is so MIA right now. Signal does everything I need and it's <i>at least</i> as secure---if not <i>more</i> secure---than Threema. Now that I see how shakily they're developing their desktop software, I'm losing confidence that they're any better at the security side. It just feels like Threema isn't really good at developing software. Maybe they have good developers, but they don't know how to ship software<fn>---or they absolutely don't care about <i>this</i> particular piece of software. Maybe they're focused on their corporate customers, who actually pay them for their product. That's fair. But the least they could do is admit that the multi-device desktop client for the rest of us just isn't happening. <hr> <ft>Threema didn't make this change voluntarily, but had it sprung on them by Apple, as documented in <a href="https://threema.ch/en/faq/web_ios_foreground" author="" source="">Why does the iOS app need to be in the foreground for the desktop app / the web client to work?</a> that writes, <bq>Due to <b>restrictions on Apple’s part</b>, it is, unfortunately, no longer possible for the desktop app / the web client to wake up the app and re-establish the connection in case it is lost. [...] With Threema 4.6 for iOS and earlier app versions, it was possible to use the desktop app / the web client even when your device was locked or the app was not running in the foreground. <b>This mode of operation is no longer supported by Apple.</b></bq> They seem to have been taken by surprise by Apple's change---although I'm sure Apple gave developers more than enough time to react. Threema linked to the <a href="https://threema.ch/en/blog/posts/threema-for-desktop#outlook">multi-device outlook</a>---quite hopefully, in retrospect---a document that was last updated in December of 2022.</ft> <ft>It was my first interview in almost 20 years, after having working for my own company for 16 years. I was interviewing for a position working on their older PHP backend. The other programming jobs they had advertised were no longer available, so we agreed to try that. I was just trying to get a foot in the door at a company I thought would be interesting to work for and whose product and vision I respected. They didn't want me. We disagreed about what was a possible SQL injection in my assessment project. You can see the <a href="https://github.com/mvonballmo/Assessment">project I wrote in four hours for them.</a> They wanted someone better. That's cool. I hope they found that better developer, but man, am I absolutely unconvinced by their complete inability to ship a working desktop client in three years. I feel like I dodged a bullet---it seems like organizational chaos over there. I'm much happier at <a href="https://www.uster.com/">Uster Technologies AG</a>.</ft> <ft>In the aforementioned interview, I was told that there isn't a strong focus on project-management tools. I'd asked about Azure DevOps versus Jira---what did they use? What was their process? They said that each project could decide on its own to what degree it needed that kind of stuff. In hindsight---and considering the shitshow that is the release process for the desktop client---a clear red flag.</ft>