💬 Discussion | How many platforms does signalapp REALLY support? #967

Closed
opened 2019-06-02 14:13:42 +00:00 by five-c-d · 16 comments
five-c-d commented 2019-06-02 14:13:42 +00:00 (Migrated from github.com)

From a pull-request comment by @Mikaela, the question came up as to whether Signalapp supports five platforms, or really just two platforms.

The answer is complicated. Per signal.org/download , Signal Foundation officially supports

  • Linux desktops/laptops/etc that are .DEB compatible (Debian/Ubuntu/etc) on 64-bit x86-based CPUs,
  • MacOS 10.10+ desktops/laptops/etc on 64-bit x86-based CPUs
  • Windows 7+ desktops/laptops/etc that are .EXE compatible on 64-bit x86-based CPUs
  • It also officially supports Android v4.4+ smartphones (but not tablets except "unofficially" ...I've seen it work but you need a secondary telco-num... because if you try to re-use the same telco-num as your smartphone you will usurp your own master-device!)
  • And similarly, Signal Foundation supports iOS v9+ smartphones (or maybe v10+ now there was some movement towards deprecating v9 support), and does not "officially" support iPads because of the UX gotchas and support headaches.

The way that the laptop-n-desktop flavours are supported, though, is a bit strange!

signal4desktop is a slave-device... but, it operates fully standalone in MOST usage

By contrast, most other software projects that implement IM for PCs, let you install them, register them, and use them without any smartphone. As usual, there is a privacy&security-rationale explaining why signalapp works the way it does: because your signal-num is directly mapped to an underlying telco-num, and registering that signal-num requires you to receive an inbound robo-SMS (or robo-call if you register via a landline-num or whatever), that is where your master-device cryptographic key-material is stored. Many/most smartphones nowadays have hardware-backed keystores and on-by-default full-disk-crypto and hard-to-bypass biometric unlocks and various other security measures.

The vast majority of laptops and desktops do NOT have those things out of the box, and since signalapp is aimed at everyday endusers, and trying to keep them secure DESPITE their use of win7home sans any drive-crypto with 1234 as their Administrator password ... signal4desktop is treated strictly as a slave-device. You cannot register it, you must link it to a smartphone master-device (or an unofficial workaround is to use AsamK/signal-cli or perhaps an android emulator or whatever). However, signal4desktop does not require that your signal4smartphone be there physically present, nor even that it be powered-up, during USAGE. The smartphone master-device is required when you first install signal4desktop, and for certain features that signal4desktop does not implement yet such as cryptocalling and groupchat-management functionality.

But for 90% of what folks want to use signal4desktop to do, including texting + file transfer + voiceNotes + videoClips + etc ... you can be working on your laptop in signal4desktop, and have your phone in airplane-mode (or even powered off with the battery physically removed sixteen blocks away) and everything works just fine. You cannot uninstall signal4smartphone and never use it again, things will start to break when signal-server detects you are no longer getting APNS/FCM notification-popups, or something like that(?) and this results in problems.

For practical reasons, you will want to have your smartphone powered-up and internet-connected every few days at least, so that it can "catch up" with all the message-sync'ing of stuff you have been chatting about over in signal4desktop on your laptop -- because signal4desktop is a standalone slave-device, that means the smartphone needs to decrypt and process message-traffic itself. And vice versa: if you install signal4desktop on your laptop, and then never open it for six weeks, it will be unusable when you DO finally open it for several minutes, because of the way the double-ratchet perfect-forward-secrecy crypto works it will have to download and decrypt all the message-traffic that it missed! Lots of CPU time, and usually quite a bit of dinging&buzzing :-) There are some queue-limits, if you get more than a few hundred messages to any of your linked devices, without checking them, signal-server will discard your copies, and you will have to get the info from your contacts (the sent-message will still be on their device(s) which they linked).

At the end of the day, signal4desktop works fine on Linux -- you get LineageOS or GrapheneOS or stock android handset, install signal4android, register with your choice of telco-num (for maximum privacy I recommend a secondary-num which is not linked to your identity). Then you put your choice of Debian-compatible Linux distro on your laptop, install signal4desktop, link it to the smartphone-based master-device, wait a couple hours for all the contact-sync and stuff to fully complete, and get busy. ("Unofficially" you can also get Snapcraft for multiple distros, Flatpak for RPM-oriented distros, AUR precompiled-binary and source-based packaging for Arch&friends, and so on... if you are a desktop Linux enduser you will probably have no real problem getting signal4desktop up and running despite 'official' support only being offered for Debian-based flavours.)

If you don't do much cryptocalling -- or are satisfied with voiceNotes rather than quasi-realtime cryptocalls, and you aren't in a lot of constantly-churning groupchats where you need to be clicking NewGroup and LeaveGroup all the time, signal4desktop will be sufficient for you 99% of the time. Personally I tend to spend about 90% of the time in signal4desktop, and I actually like the master-slave thing because when I am on a cryptocall with signal4android on speakerphone, I can simultaneously be touch-typing in a chat with that same person (or in a large groupchat perhaps) from a fullsize physical keyboard and large display. If necessary, I can still get all the groupchat messages right in my pocket, of course, via dataplan or wifi-at-the-library or whatever when I am mobile and don't want to haul out the laptop.

TLDR: the way signal4desktop works, is that it has been designed to act as a slave-device to signal4smartphone: they are intended to work in TANDEM as a pair, each of them handling what they are good at, letting the enduser select the proper tool for the job, and switching tools or using tools simultaneously as the situation merits.

if Signal Desktop would work after death of my smartphone,
it would still seem like a temporary measure until I got a new one

Correct, using JUST signal4desktop, is a *temporary* situation

Once installed and linked, each of your devices (max 6 if memory serves) can work independently of the others, you don't have to have one powered-up to use the other... and if you lose your master-device, all is not lost, just get a replacement and restore your encrypted-backup-blob when you re-register your telco-num, and you won't even need to re-verify safety-nums. If you don't have a backup-blob, or lost your piece of paper with the 30-digit decrypt-passphrase, you can start fresh as long as you still control the underlying telco-num, but (as is proper) your contacts will all see the key-change alert "Your safety-number with +1-111-111-1111 [Mikaela] has changed."

But yes, the way signal4desktop works, is as a slave-device. You need to have signal4smartphone as the master-device. That doesn't mean you have to use an actual physical handset type of smartphone, there are unofficial workarounds such as installing android in a VM or using unofficial sig-cli.

Does that mean Signal is "only for mobile" like the privacyToolsIO listings currently say? No, it works fine on desktops, just, you also need to install the app. Is signalapp "truly cross-platform" in some abstract sense? No, you always need to install signal4smartphone, and officially it needs to be on a smartphone, tablets are unofficial, VMs are unofficial, downstream CLI-oriented projects are unofficial, etc.

So from my perspective, Signal is "pragmatically cross-platform" pretty much: the everyday enduser will be able to install it on their home PC (assuming they fully trust their roommates!), and also on their work-laptop (assuming they fully trust their coworkers!), after installing it onto their smartphone, and everything with JustWork

  • groupchat messages will sync to all three devices,
  • NotesToSelf will appear on all three devices,
  • cryptocalls will ring the smartphone without interrupting laptop-use,
  • voiceNotes will playback anywhere,
  • groupchat-management is done from the smartphone,
  • every device is independent of the others during day-to-day usage.

It functions well, and makes sense, but is a bit jarring of an architecture, if you are coming from skype-land or something, where the desktop is primary and smartphones are an afterthought-kludge.

On the other hand, refugees fleeing the burning ship known as facebookWhatsapp tend to be right at home in signal4desktop, because like whatsapp the smartphone is the master-device, but unlike whatsapp (which is reverse-tethered such that whatsapp4web running on a laptop basically remote-controls their whatsapp4smartphone apk) signal4desktop is standalone during use, you can send and receive messages on your laptop WITHOUT eating battlife and dataplan-cap of your cellphone.

Signalapp officially supports five platforms, but two of them are master-device platforms, with the other three of them being multi-device-sync-set platforms.

various helpdoc-type forum threads

<!-- Remember to stay civil! --> From a [pull-request comment](https://github.com/privacytoolsIO/privacytools.io/pull/951/files/0c34771aeec88dbf3e8885d647f4c607ba8aa6d5#discussion_r289088004) by @Mikaela, the question came up as to whether [Signalapp](github.com/signalapp) supports five platforms, or *really* just two platforms. The answer is complicated. Per signal.org/download , Signal Foundation officially supports * Linux desktops/laptops/etc that are .DEB compatible (Debian/Ubuntu/etc) on 64-bit x86-based CPUs, * MacOS [10.10+](https://support.signal.org/hc/en-us/articles/360007211952-Troubleshooting-Installs-or-Updates) desktops/laptops/etc on 64-bit x86-based CPUs * Windows 7+ desktops/laptops/etc that are .EXE compatible on 64-bit x86-based CPUs * It also officially supports Android v4.4+ smartphones (but not tablets except "unofficially" ...I've seen it work but you need a secondary telco-num... because if you try to re-use the same telco-num as your smartphone you will usurp your own master-device!) * And similarly, Signal Foundation supports iOS v9+ smartphones (or maybe v10+ now there was some movement towards deprecating v9 support), and does not "officially" support iPads because of the UX gotchas and support headaches. The **way** that the laptop-n-desktop flavours are supported, though, is a bit strange! <details><summary>signal4desktop is a slave-device... but, it operates fully standalone in MOST usage</summary><p> * Old way == https://signal.org/blog/signal-desktop from December 2015 thru November 2018, was based on now-defunct ChromeApp platform-in-the-browser, required enduser to install a chromium-based web browser first, also required enduser have signal4smartphone first * New way == https://signal.org/blog/standalone-signal-desktop from October 2017 thru present, based on [Electron-framework](github.com/electron) which has an embedded softfork of chromium and nodeJS inside, requires enduser have signal4smartphone first * Someday? == https://signal.org/blog/master-device-signal-desktop does NOT exist yet, but theoretically might exist in the future someday, where you can install it, and then register it with signal-server straight from your laptop, without needing signal4smartphone first? By contrast, most other software projects that implement IM for PCs, let you install them, register them, and use them without any smartphone. As usual, there is a privacy&security-rationale explaining why signalapp works the way it does: because your signal-num is directly mapped to an underlying telco-num, and registering that signal-num *requires* you to receive an inbound robo-SMS (or robo-call if you register via a landline-num or whatever), that is where your master-device cryptographic key-material is stored. Many/most smartphones nowadays have hardware-backed keystores and on-by-default full-disk-crypto and hard-to-bypass biometric unlocks and various other security measures. The vast majority of laptops and desktops do NOT have those things out of the box, and since signalapp is aimed at everyday endusers, and trying to keep them secure DESPITE their use of win7home sans any drive-crypto with 1234 as their Administrator password ... signal4desktop is treated strictly as a slave-device. You cannot register it, you must link it to a smartphone master-device (or an unofficial workaround is to use AsamK/signal-cli or perhaps an android emulator or whatever). However, signal4desktop does not require that your signal4smartphone *be there* physically present, nor even that it be powered-up, during USAGE. The smartphone master-device is required when you first install signal4desktop, and for certain features that signal4desktop does not implement yet such as cryptocalling and groupchat-management functionality. But for 90% of what folks want to use signal4desktop to do, including texting + file transfer + voiceNotes + videoClips + etc ... you can be working on your laptop in signal4desktop, and have your phone in airplane-mode (or even powered off with the battery physically removed sixteen blocks away) and everything works just fine. You [cannot **uninstall** signal4smartphone](https://community.signalusers.org/t/signal-protocol-and-app-ready-for-digital-minimalism/6760) and never use it again, things will start to break when signal-server detects you are no longer getting APNS/FCM notification-popups, or something like that(?) and this results in problems. For practical reasons, you ***will*** want to have your smartphone powered-up and internet-connected every few days at least, so that it can "catch up" with all the message-sync'ing of stuff you have been chatting about over in signal4desktop on your laptop -- because signal4desktop **is** a standalone slave-device, that means the smartphone needs to decrypt and process message-traffic itself. And vice versa: if you install signal4desktop on your laptop, and then never open it for six weeks, it will be unusable when you DO finally open it for several minutes, because of the way the double-ratchet perfect-forward-secrecy crypto works it will have to download and decrypt all the message-traffic that it missed! Lots of CPU time, and usually quite a bit of dinging&buzzing :-) There are some queue-limits, if you get more than a few hundred messages to any of your linked devices, without checking them, signal-server will discard your copies, and you will have to get the info from your contacts (the sent-message will still be on their device(s) which they linked). At the end of the day, signal4desktop works fine on Linux -- you get LineageOS or GrapheneOS or stock android handset, install signal4android, register with your choice of telco-num (for maximum privacy I recommend a secondary-num which is not linked to your identity). Then you put your choice of Debian-compatible Linux distro on your laptop, install signal4desktop, link it to the smartphone-based master-device, wait a couple hours for all the contact-sync and stuff to fully complete, and get busy. ("Unofficially" you can also get Snapcraft for multiple distros, Flatpak for RPM-oriented distros, AUR precompiled-binary and source-based packaging for Arch&friends, and so on... if you are a desktop Linux enduser you will probably have no real problem getting signal4desktop up and running despite 'official' support only being offered for Debian-based flavours.) If you don't do much cryptocalling -- or are satisfied with voiceNotes rather than quasi-realtime cryptocalls, and you aren't in a lot of constantly-churning groupchats where you need to be clicking NewGroup and LeaveGroup all the time, signal4desktop will be sufficient for you 99% of the time. Personally I tend to spend about 90% of the time in signal4desktop, and I actually like the master-slave thing because when I am **on** a cryptocall with signal4android on speakerphone, I can simultaneously be touch-typing in a chat with that same person (or in a large groupchat perhaps) from a fullsize physical keyboard and large display. If necessary, I can still get all the groupchat messages right in my pocket, of course, via dataplan or wifi-at-the-library or whatever when I am mobile and don't want to haul out the laptop. </p></details> TLDR: the way signal4desktop works, is that it has been designed to act as a slave-device to signal4smartphone: they are intended to work in TANDEM as a pair, each of them handling what they are good at, letting the enduser select the proper tool for the job, and switching tools or using tools simultaneously as the situation merits. > if Signal Desktop would work after death of my smartphone, > it would still seem like a temporary measure until I got a new one <details><summary>Correct, using JUST signal4desktop, is a *temporary* situation</summary><p> Once installed and linked, each of your devices (max 6 if memory serves) can work independently of the others, you don't have to have one powered-up to use the other... and if you lose your master-device, all is not lost, just get a replacement and restore your encrypted-backup-blob when you re-register your telco-num, and you won't even need to re-verify safety-nums. If you don't have a backup-blob, or lost your piece of paper with the 30-digit decrypt-passphrase, you can start fresh as long as you still control the underlying telco-num, but (as is proper) your contacts will all see the key-change alert "Your safety-number with +1-111-111-1111 [Mikaela] has changed." But yes, the way signal4desktop works, is as a slave-device. You need to have signal4smartphone as the master-device. That doesn't mean you have to use an actual physical handset type of smartphone, there are [unofficial workarounds](https://github.com/privacytoolsIO/privacytools.io/pull/951/files/0c34771aeec88dbf3e8885d647f4c607ba8aa6d5#discussion_r289573654) such as installing android in a VM or using unofficial [sig-cli](github.com/AsamK/signal-cli). </p></details> Does that mean Signal is "only for mobile" like the privacyToolsIO listings currently say? No, it works fine on desktops, just, you **also** need to install the app. Is signalapp "truly cross-platform" in some abstract sense? No, you always need to install signal4smartphone, and officially it needs to be **on** a smartphone, tablets are unofficial, VMs are unofficial, downstream CLI-oriented projects are unofficial, etc. So from my perspective, Signal is "pragmatically cross-platform" pretty much: the everyday enduser will be able to install it on their home PC (assuming they fully trust their roommates!), and also on their work-laptop (assuming they fully trust their coworkers!), after installing it onto their smartphone, and everything with JustWork * groupchat messages will sync to all three devices, * NotesToSelf will appear on all three devices, * cryptocalls will ring the smartphone without interrupting laptop-use, * voiceNotes will playback anywhere, * groupchat-management is done from the smartphone, * every device is independent of the others during day-to-day usage. It functions well, and makes sense, but *is* a bit jarring of an architecture, if you are coming from skype-land or something, where the desktop is primary and smartphones are an afterthought-kludge. On the other hand, refugees fleeing the burning ship known as facebookWhatsapp tend to be right at home in signal4desktop, because like whatsapp the smartphone is the master-device, but unlike whatsapp (which is reverse-tethered such that whatsapp4web running on a laptop basically remote-controls their whatsapp4smartphone apk) signal4desktop is standalone during use, you can send and receive messages on your laptop WITHOUT eating battlife and dataplan-cap of your cellphone. Signalapp officially supports five platforms, but two of them are master-device platforms, with the other three of them being multi-device-sync-set platforms. <details><summary>various helpdoc-type forum threads</summary><p> * https://community.signalusers.org/t/setup-after-installation/6636 officially the point of signal4desktop is to **extend** your signal4smartphone app, by sync'ing messages to a slave-device laptop/whatever * https://community.signalusers.org/t/desktop-standalone-with-non-smart-mobile-phone/1922/17 an overview of the two kinds of signalapp endusers (phone-only endusers and multi-device endusers) * https://community.signalusers.org/t/run-signal-desktop-in-portable-mode/7571 running signal4desktop from a usbkey or similar, is possible but not super-easy * https://community.signalusers.org/t/registering-the-desktop-app-without-a-smart-phone/2708 there are some ways to "just" use a desktop-or-laptop * https://community.signalusers.org/t/how-to-register-without-a-smartphone/2030 including the hand-compile-it way :-) * https://community.signalusers.org/t/signal-on-windows-desktop-how-to-sign-in-without-access-to-android-device/2146 installing a fresh new signal4desktop, is not a way to recover messages on a lost handset. * https://community.signalusers.org/t/replacing-phone-how-do-connected-desktop-apps-react/3585 but if you have signal4desktop operational, loss of a handset (or upgrade to newPhone) should JustWork * https://community.signalusers.org/t/if-i-re-link-my-desktop-app-to-a-new-android-device-will-i-lose-my-message-history/6952 more discussion of what-happens-when-I-lose-a-device * https://community.signalusers.org/t/do-i-need-to-use-the-android-app-when-i-use-the-windows-desktop-version/3860 some folks report problems when their smartphone is lost, but unconfirmed? * https://community.signalusers.org/t/signal-protocol-and-app-ready-for-digital-minimalism/6760 uninstalling signalapp from the smartphone *definitely* does not work well in all cases though (some people claim it works for them in other threads however) * https://community.signalusers.org/t/remove-the-need-for-a-mobile-phone/1543 longstanding feature-request * https://community.signalusers.org/t/registering-with-an-email-address/919 very longstanding feature-request * https://community.signalusers.org/t/a-proposal-for-alternative-primary-identifiers/3023 proposal that will actually potentially be implemented, if such a thing ever happens </p></details>
Mikaela commented 2019-06-03 09:06:41 +00:00 (Migrated from github.com)

The question becomes more complicated by thinking about different use cases.

If I wanted to replace Facebook WhatsApp with Signal, I would be interested in knowing that it can work without a persistent connection to my phone.

However as I am not doing that (having replaced it with Wire), the feature doesn't matter to me that much and if I was recommending a IM app for someone without a smartphone (those people do exist, there are a few in my circles), they could install Signal desktop, but they couldn't use it assuming they aren't that technical or inclined to install Signal Android in a VM.

I think the solution is having a small print saying that Signal Android/iOS is required for account creation/management + X platforms can be linked to that account. (This needs a better formatting though).

The question becomes more complicated by thinking about different use cases. If I wanted to replace Facebook WhatsApp with Signal, I would be interested in knowing that it can work without a persistent connection to my phone. However as I am not doing that (having replaced it with Wire), the feature doesn't matter to me that much and if I was recommending a IM app for someone without a smartphone (those people do exist, there are a few in my circles), they could install Signal desktop, but they couldn't use it assuming they aren't that technical or inclined to install Signal Android in a VM. I think the solution is having a small print saying that Signal Android/iOS is required for account creation/management + X platforms can be linked to that account. (This needs a better formatting though).
danarel commented 2019-06-03 15:58:15 +00:00 (Migrated from github.com)
* Linux desktops/laptops/etc that are .DEB compatible (Debian/Ubuntu/etc) on 64-bit x86-based CPUs,

It's worth noting that while they say this, it also does work on other systems that support Flatpak. I use Fedora and Signal launches just fine.

> * Linux desktops/laptops/etc that are .DEB compatible (Debian/Ubuntu/etc) on 64-bit x86-based CPUs, It's worth noting that while they say this, it also does work on other systems that support Flatpak. I use Fedora and Signal launches just fine.
five-c-d commented 2019-06-03 16:26:58 +00:00 (Migrated from github.com)

solution is having a small print

Yeah, I've tried to think what it is called that signal is doing :-) But I'm not sure that there is a word for it. It is cross-platform, and officially supports five platforms, but it is not cross-platform-in-the-abstract ... it is cross-platform "in practice" though, for typical use-cases.

The closest thing I can come up with, is client-server software... by analogy, it is not very exact here... but consider what the requirements are for RiotIM which is a client. It runs from any of the following platforms: Firefox/Safari/Chrome, FDroid/playStore, iTunes, electron4osx, electron4win7x86-32, deb8+, ubuntu1604+ ...However, all the metadata is exposed thataway. If you want to have a groupchat that is not exposed to server-side compromises like the one in April, you have to self-host your own Synapse homeserver, and (from another domain) self-host your own RiotIM install. Needless to say, you cannot self-host Synapse from Firefox!

But... well, to me that means, RiotIM doesn't "really" support being run from firefox, at least one person in the groupchat needs to be running something more beefy. Bob can just flip open firefox, but only if Alice has installed and configured Synapse and self-hosted RiotIM for Bob to use! Which has different system-requirements: deb9+ (not deb8), win7x86-64 with docker (not 32-bit sans docker), docker-or-hand-compile for OSX (not pre-built), and you need a real OS not a browser and not a smartphone :-)

If you want to run riot in a privacy-conscious fashion, you need to have at least one person that is running a server, and probably it is going to be a linux-based server PC, though you can use the VM trick or the hand-compile trick to get it to work on OSX and Windows. Does that mean that Riot doesn't support mobile? No... it does... just, for privacy-conscious Riot groupchats that don't leak metadata, SOMEBODY has to be running a linux PC-or-VM, at least one somebody per conversation.

Signalapp is like that, in a way. Signal4desktop is no use unless SOMEBODY is running signal4smartphone that it can link unto. It doesn't have to be the person using signal4desktop, they can "borrow" the samsung SecureFolder app on a trusted friend's android device and not interfere with their friend's signal4android install. But there has to be somebody in the group, who is helping the folks that do not have their own master-device, have some kind of master-device.

someone without a smartphone

For people that literally have no phone-num -- including landlines and voip and so on -- and refuse to acquire one, like @libBletchley in #779, signalapp is dead in the water. But for 99.99% of humanity, they are in one of two situations:

  1. they are a normal person, and they have android or ios in their pocket, and they have a phone-num (or maybe several phone-nums: home, work, cell, etc). They are okay with installing apps on their phone, if the apps are trustworthy/recommended to them, and they are okay with people they communicate with knowing their phone-num (because that is already the case -- that is how they communicate now via sms/whatsapp/etc)

  2. they are a VERY privacy-conscious person, and they are not necessarily comfy with an OS by google (unless at least partly de-googlified), plus they are not necessarily comfy with giving out a phone-num (unless at least partly anonymized). Signalapp has various workaround that will satisfy such folks, to various degrees, depending on what specifically they are wanting to avoid, and what specifically they are willing to do.

  • if they don't want to use playStore, https://signal.org/android/apk
  • if they don't want to use their cell-num, any valid telco-num will do that can receive an inbound robo-call (burner phone, or secondary landline num, or voip purchased with cryptocurrency, or the gVoice trick, or the Twilio for a buck a month trick, or the reg-lock-pin cybersquatting trick, or a few other tricks)
  • if they don't want to carry android around with them, they can use the "unofficial" tablet trick, or the android-in-a-VM trick, or the asamK/signal-cli Darth Vader Now I Am The Master trick, or the standalone-hand-compiled-signal4desktop trick, or the borrow one of the secondary-system-profiles of LineageOS from a friend's handset trick, or the burner-on-a-shelf trick, or half a dozen other DIY workarounds

Most of which are (unofficially) documented at community.signalUsers.org -- there are a LOTS of ways to get some kind of smartphone-OS-plus-separately-a-valid-telco-num, without actually owning a smartphone yourself personally. Most people that are in the very-privacy-conscious category can usually come up with a combo of 1) some telco-num acquisition method they are comfy with, and 2) some android-app-install method they are comfy with.

Often there is a hassle-factor, sometimes a big one. Installing your own gApps-free privacy-oriented ROM and acquiring a simcard from the Netherlands or CzechR or the USA or whatever, then sideloading the signal.org APK, is obviously more of a pain than just pumping in your cellnum to register and installing on your iphone :-) But by comparison to the hassle-factor of installing your own Synapse homeserver and your own self-hosted RiotIM and getting them all configured correctly/securely, to me signalapp is still way ahead.

also does work on other systems that support Flatpak. I use Fedora

Yeah, this is "unofficial" but derived from the officially-supported .DEB -- plenty of people run AUR packages for Arch-and-spinoffs (doubly-unofficial), and some people use Snapcraft.io (unofficial), and whatnot. Signal4desktop does run on pretty much any Linux distro that is capable of handling electron, you can even hand-compile for 32-bit x86 if necessary.

> solution is having a small print Yeah, I've tried to think what it is called that signal is doing :-) But I'm not sure that there is a word for it. It *is* cross-platform, and officially supports five platforms, but it is not cross-platform-in-the-abstract ... it is cross-platform "in practice" though, for typical use-cases. The closest thing I can come up with, is client-server software... by analogy, it is not very exact here... but consider what the requirements are for RiotIM which is a client. It runs from any of the following platforms: Firefox/Safari/Chrome, FDroid/playStore, iTunes, electron4osx, electron4win7x86-32, deb8+, ubuntu1604+ ...However, all the metadata is exposed thataway. If you want to have a groupchat that is not exposed to server-side compromises like the one in April, you have to self-host your own Synapse homeserver, and (from another domain) self-host your own RiotIM install. Needless to say, you cannot self-host Synapse from Firefox! But... well, to me that means, RiotIM doesn't "really" support being run from firefox, at least one person in the groupchat needs to be running something more beefy. *Bob* can just flip open firefox, but only if *Alice* has installed and configured Synapse and self-hosted RiotIM for Bob to use! Which has different system-requirements: deb9+ (not deb8), win7x86-64 with docker (not 32-bit sans docker), docker-or-hand-compile for OSX (not pre-built), and you need a **real** OS not a browser and not a smartphone :-) If you want to run riot in a privacy-conscious fashion, you need to have at least one person that is running a server, and probably it is going to be a linux-based server PC, though you can use the VM trick or the hand-compile trick to get it to work on OSX and Windows. Does that mean that Riot doesn't support mobile? No... it does... just, for privacy-conscious Riot groupchats that **don't** leak metadata, SOMEBODY **has** to be running a linux PC-or-VM, at least one somebody per conversation. Signalapp is like that, in a way. Signal4desktop is no use unless SOMEBODY is running signal4smartphone that it can link unto. It doesn't have to be the person *using* signal4desktop, they can "borrow" the samsung SecureFolder app on a trusted friend's android device and not interfere with their friend's signal4android install. But there has to be somebody in the group, who is helping the folks that do not have their own master-device, have *some* kind of master-device. > someone without a smartphone For people that literally have no phone-num -- including landlines and voip and so on -- and refuse to acquire one, like @libBletchley in #779, signalapp is dead in the water. But for 99.99% of humanity, they are in one of two situations: 1. they are a normal person, and they have android or ios in their pocket, and they have a phone-num (or maybe several phone-nums: home, work, cell, etc). They are okay with installing apps on their phone, if the apps are trustworthy/recommended to them, and they are okay with people they communicate with knowing their phone-num (because that is **already** the case -- that is how they communicate now via sms/whatsapp/etc) 2. they are a VERY privacy-conscious person, and they are not necessarily comfy with an OS by google (unless at least partly de-googlified), plus they are not necessarily comfy with giving out a phone-num (unless at least partly anonymized). Signalapp has various workaround that will satisfy such folks, to various degrees, depending on what specifically they are wanting to avoid, and what specifically they are willing to do. * if they don't want to use playStore, https://signal.org/android/apk * if they don't want to use their cell-num, any valid telco-num will do that can receive an inbound robo-call (burner phone, or secondary landline num, or voip purchased with cryptocurrency, or the gVoice trick, or the Twilio for a buck a month trick, or the reg-lock-pin cybersquatting trick, or a few other tricks) * if they don't want to carry android around with them, they can use the "unofficial" tablet trick, or the android-in-a-VM trick, or the asamK/signal-cli Darth Vader Now I Am The Master trick, or the standalone-hand-compiled-signal4desktop trick, or the borrow one of the secondary-system-profiles of LineageOS from a friend's handset trick, or the burner-on-a-shelf trick, or half a dozen other DIY workarounds Most of which are (unofficially) documented at community.signalUsers.org -- there are a LOTS of ways to get **some** kind of smartphone-OS-plus-separately-a-valid-telco-num, without actually owning a smartphone yourself personally. Most people that are in the very-privacy-conscious category can usually come up with a combo of 1) *some* telco-num acquisition method they are comfy with, and 2) *some* android-app-install method they are comfy with. Often there is a hassle-factor, sometimes a big one. Installing your own gApps-free privacy-oriented ROM and acquiring a simcard from the Netherlands or CzechR or the USA or whatever, then sideloading the signal.org APK, is obviously more of a pain than just pumping in your cellnum to register and installing on your iphone :-) But by comparison to the hassle-factor of installing your own Synapse homeserver and your own self-hosted RiotIM and getting them all configured correctly/securely, to me signalapp is still way ahead. > also does work on other systems that support Flatpak. I use Fedora Yeah, this is "unofficial" but derived from the officially-supported .DEB -- plenty of people run AUR packages for Arch-and-spinoffs (doubly-unofficial), and some people use Snapcraft.io (unofficial), and whatnot. Signal4desktop *does* run on pretty much any Linux distro that is capable of handling electron, you can even hand-compile for 32-bit x86 if necessary.
Mikaela commented 2019-06-03 21:49:26 +00:00 (Migrated from github.com)
* Linux desktops/laptops/etc that are .DEB compatible (Debian/Ubuntu/etc) on 64-bit x86-based CPUs,

It's worth noting that while they say this, it also does work on other systems that support Flatpak. I use Fedora and Signal launches just fine.

I am also using the Flatpak (on Debian Testing), but it's unofficial and there is open feature request on it at https://github.com/signalapp/Signal-Desktop/issues/1639. For Snap users there is https://github.com/signalapp/Signal-Desktop/issues/1798.

(edit: I didn't notice five-c-d said the same above (without the issue refs though), I still don't handle so long comments especially at 01 at night, good night)

> > ``` > > * Linux desktops/laptops/etc that are .DEB compatible (Debian/Ubuntu/etc) on 64-bit x86-based CPUs, > > ``` > > It's worth noting that while they say this, it also does work on other systems that support Flatpak. I use Fedora and Signal launches just fine. I am also using the Flatpak (on Debian Testing), but it's unofficial and there is open feature request on it at https://github.com/signalapp/Signal-Desktop/issues/1639. For Snap users there is https://github.com/signalapp/Signal-Desktop/issues/1798. (edit: I didn't notice five-c-d said the same above (without the issue refs though), I still don't handle so long comments especially at 01 at night, good night)
Mikaela commented 2019-06-05 08:51:37 +00:00 (Migrated from github.com)

bildo

I hadn't noticed that we are actually saying that "Mobile: Signal" supports Windows, macOS and Linux in addition to Android and iOS.

![bildo](https://user-images.githubusercontent.com/831184/58943339-0a927200-876f-11e9-9089-8fcc9115f055.png) I hadn't noticed that we are actually saying that "Mobile: Signal" supports Windows, macOS and Linux in addition to Android and iOS.
five-c-d commented 2019-06-06 14:06:01 +00:00 (Migrated from github.com)

I still don't handle so long comments

Yes :-) sorry about that.

saying that "Mobile: Signal" supports Windows, macOS and Linux

Yeah, I figured that was intentional: say in the title it is for "mobile" but then say in the platforms it supports "droid+ios && lin+win+osx" which is pretty confusing at first... but then later, when the readership actually looks into the details of installing, they find out, oh you have to install mobile first before you can install desktop because it is a slave-device-only kind of thing.

My suggestion is that we indicate the distinction with parentheses:

support win osx lin droid ios web src
full 🗗 🍎 🐧 🤖 🍏 🦊 ☮️
some (~🗗) (~🍎) (~🐧) (~🤖) (~🍏) (~🦊) (~☮️)
zero  🗗⃠   🍎⃠   🐧⃠   🤖⃠   🍏⃠   🦊⃠   ☮️⃠ 

So in the IM listings it would look like this:

_ IM win osx lin droid ios web src
top3 Signal (⚠️) (~🗗) (~🍎) (~🐧) 🤖 🍏  🦊⃠  ☮️
top3 Riot (⚠️) 🗗 🍎 🐧 🤖 🍏 🦊 ☮️
top3 Ricochet
(⚠️) (⚠️)
(~🗗) (~🍎) (~🐧)  🤖⃠   🍏⃠   🦊⃠  ☮️
WM RetroShare ?? ?? ?? ?? ?? ?? ??
WM OMEMO (⚠️) 🗗 (~🍎) 🐧 🤖 🍏 🦊 ☮️
WM  Kontalk (⚠️)
crashlytics
?? ?? ?? ?? ?? ??
WM Wire (⚠️) 🗗 🍎 (~🐧) 🤖 🍏 🦊 ☮️
WM Status (⚠️) ?? ?? ?? ?? ?? ?? ??
#951 Threema (⚠️) (~🦊) (~🦊) (~🦊) 🤖 🍏 🦊 (~☮️)
#948 WickrMe (⚠️) 🗗 🍎 🐧 🤖 🍏 🦊 (~☮️)

Although I tried to use the HTML abbr-tag to annotate each of the little icons, I'm not sure it is working in github's mangling of the gfm ... but here is what the signalapp row in the table above "should" be displaying when the mouse is hovered over the little icons:

visible onhover
(⚠️) must provide any valid telco-num at which you can receive an inbound robo-call or robo-sms to sign up, must acquire a secondary simcard or voip not linked to your identity for maximum pseudonymity
(~🗗) fully supported Win7+ 64bit but must install signal4smartphone first
(~🍎) fully supported 10.10+ 64bit but must install signal4smartphone first
(~🐧) fully supported on .DEB 64bit 16.04+ (as well as unofficially on Flatpak/Snapcraft/AUR/RPM/etc) but must install signal4smartphone first
🤖 android 4.4+ via playstore (w/ 300k reviews) or direct APK download
🍏 ios 9+ via itunes (w/ 200k reviews)
 🦊⃠  signal4chromeApp v0.48.1 was deprecated in late 2017 and support officially ended in November 2018, though source is still available
☮️ AGPLv3 server and GPLv3 clients

Thataway, with the icons we can have a nice dense recommendation-card, but people that want more details about what the parentheses mean (or what the ⚠️ icon means) can hover or longpress to get more details. They can also go ahead and click or tap, to get a detailed writeAs blogpost, if one has been written up.

p.s. I don't like listing windows-platform first and libre-codebase last. If you have the code, you can (with the correct skillset) port the project to ANY platform needed, and in the long run that is what happens with successful libre-licensed projects. So that should be listed first. Windows10 is explicitly anti-recommended in the OS listings, Linux is explicitly recommended in the listing. However, because the everyday readership is more likely to own a smartphone-OS than they are likely to own a laptop-OS nowadays, we should probably list mobile OSes prominently. My preferred layout would be something like this:

   
☮️ 🤖 🍏 ⚠️
🦊 🐧 🍎 🗗

That two-row arrangement puts windows by the warnings, and firefox+linux by the source-code, with apple somewhere in the grey area between the two poles :-)

> I still don't handle so long comments Yes :-) sorry about that. > saying that "Mobile: Signal" supports Windows, macOS and Linux Yeah, I figured that was intentional: say in the title it is for "mobile" but then say in the platforms it supports "droid+ios && lin+win+osx" which is pretty confusing at first... but then later, when the readership actually looks into the details of installing, they find out, oh you have to install mobile first before you can install desktop because it is a slave-device-only kind of thing. My suggestion is that we indicate the distinction with parentheses: support|win|osx|lin|droid|ios|web|src --:|:-:|:-:|:-:|:-:|:-:|:-:|:-: **full**|🗗|🍎|🐧|🤖|:green_apple:|:fox_face:|:peace_symbol: **some**|(~🗗)|(~🍎)|(~🐧)|(~🤖)|(~:green_apple:)|(~:fox_face:)|(~:peace_symbol:) **zero**| <s>&nbsp;🗗⃠&nbsp;</s> | <s>&nbsp;🍎⃠&nbsp;</s> | <s>&nbsp;🐧⃠&nbsp;</s> | <s>&nbsp;🤖⃠&nbsp;</s> | <s>&nbsp;:green_apple:⃠&nbsp;</s> | <s>&nbsp;:fox_face:⃠&nbsp;</s> | <s>&nbsp;:peace_symbol:⃠&nbsp;</s> So in the IM listings it would look like this: _|IM|win|osx|lin|droid|ios|web|src --:|--:|:-:|:-:|:-:|:-:|:-:|:-:|:-: top3|**Signal** <ins>(<abbr title="must provide any valid telco-num at which you can receive an inbound robo-call or robo-sms to sign up, must acquire a secondary simcard or voip not linked to your identity for maximum pseudonymity">:warning:</abbr>)</ins>|<abbr title="fully supported Win7+ 64bit but must install signal4smartphone first">(~🗗)</abbr>|<abbr title="fully supported 10.10+ 64bit but must install signal4smartphone first">(~🍎)</abbr>|<abbr title="fully supported on .DEB 64bit (plus unofficially on Flatpak/Snapcraft/AUR/RPM/etc) but must install signal4smartphone first">(~🐧)</abbr>|<abbr title="android 4.4+ via playstore (w/ 300k reviews) or direct APK download">🤖</abbr>|<abbr title="ios 9+ via itunes (w/ 200k reviews)">:green_apple:</abbr>|<abbr title="signal4chromeApp v0.48.1 was deprecated in late 2017 and support officially ended in November 2018, though source is still available"><s>&nbsp;:fox_face:⃠&nbsp;</s></abbr>|<abbr title="AGPLv3 server and GPLv3 clients">:peace_symbol:</abbr> top3|**Riot** <ins>(<abbr title="end2end crypto is off-by-default, and still in late beta, must run your own synapse homeserver to keep metadata from being uploaded to a central location">:warning:</abbr>)</ins>|🗗|🍎|🐧|🤖|:green_apple:|:fox_face:|:peace_symbol: top3|**Ricochet** <br /><ins>(<abbr title="experimental">:warning:</abbr>)</ins> <ins>(<abbr title="insecure unless you install your own tor-binary">:warning:</abbr>)</ins>| (~🗗)|(~🍎)|(~🐧) | <s>&nbsp;🤖⃠&nbsp;</s> | <s>&nbsp;:green_apple:⃠&nbsp;</s> | <s>&nbsp;:fox_face:⃠&nbsp;</s> | :peace_symbol: WM|*RetroShare*|??|??|??|??|??|??|?? WM|*OMEMO* <ins>(<abbr title="end2end crypto is off-by-default, must run your own ejabberd-or-prosody server to keep metadata from being uploaded to a central location">:warning:</abbr>)</ins>|<abbr title="Gajim">🗗</abbr>|(~🍎)|<abbr title="Gajim (or Dino)">🐧</abbr>|<abbr title="ConversationsIM (or ConversationsLegacy)">🤖</abbr>|<abbr title="Monal (or ChatSecure)">:green_apple:</abbr>|<abbr title="Converse.js">:fox_face:</abbr>|:peace_symbol: WM|<s>&nbsp;Kontalk&nbsp;</s><ins>(<abbr title="google crashlytics tracker">:warning:</abbr>)</ins><br />crashlytics||??|??|??|??|??|??|?? WM|*Wire* <ins>(<abbr title="all metadata uploaded to a central location">:warning:</abbr>)</ins>|🗗|🍎|<abbr title="not officially supported">(~🐧)</abbr>|🤖|:green_apple:|:fox_face:|:peace_symbol: WM|*Status* <ins>(<abbr title="experimental">:warning:</abbr>)</ins>|??|??|??|??|??|??|?? #951 |Threema <ins>(<abbr title="partially closed-source nature hinders analysis of privacy-respecting properties, requires one-time payment and you must use Monero-or-zCash-tumbled BTC direct to threema to avoid Google/Apple/eBay getting your name and payment-details and get a degree of pseudonymity">:warning:</abbr>)</ins>|(~:fox_face:)|(~:fox_face:)|(~:fox_face:)|🤖|:green_apple:|:fox_face:|(~:peace_symbol:) #948 |WickrMe <ins>(<abbr title="partially closed-source nature hinders analysis of privacy-respecting properties, requires payment for certain features, advertises security-properties such as 'guaranteed' self-destructing messages and screenshot-'alerts' that no mere software can truly provide">:warning:</abbr>)</ins>|🗗|🍎|🐧|🤖|:green_apple:|:fox_face:|(~:peace_symbol:) Although I tried to use the HTML abbr-tag to annotate each of the little icons, I'm not sure it is working in github's mangling of the gfm ... but here is what the signalapp row in the table above "should" be displaying when the mouse is hovered over the little icons: visible | onhover :-:|:-- <ins>(<abbr title="must provide any valid telco-num at which you can receive an inbound robo-call or robo-sms to sign up, must acquire a secondary simcard or voip not linked to your identity for maximum pseudonymity">:warning:</abbr>)</ins> | must provide any valid telco-num at which you can receive an inbound robo-call or robo-sms to sign up, must acquire a secondary simcard or voip not linked to your identity for maximum pseudonymity <abbr title="fully supported Win7+ 64bit but must install signal4smartphone first">(~🗗)</abbr>|fully supported Win7+ 64bit but must install signal4smartphone first <abbr title="fully supported 10.10+ 64bit but must install signal4smartphone first">(~🍎)</abbr>|fully supported 10.10+ 64bit but must install signal4smartphone first <abbr title="fully supported on .DEB 64bit 16.04+ (as well as unofficially on Flatpak/Snapcraft/AUR/RPM/etc) but must install signal4smartphone first">(~🐧)</abbr>|fully supported on .DEB 64bit 16.04+ (as well as unofficially on Flatpak/Snapcraft/AUR/RPM/etc) but must install signal4smartphone first <abbr title="android 4.4+ via playstore (w/ 300k reviews) or direct APK download">🤖</abbr>|android 4.4+ via playstore (w/ 300k reviews) or direct APK download <abbr title="ios 9+ via itunes (w/ 200k reviews)">:green_apple:</abbr>|ios 9+ via itunes (w/ 200k reviews) <abbr title="signal4chromeApp v0.48.1 was deprecated in late 2017 and support officially ended in November 2018, though source is still available"><s>&nbsp;:fox_face:⃠&nbsp;</s></abbr>|signal4chromeApp v0.48.1 was deprecated in late 2017 and support officially ended in November 2018, though source is still available <abbr title="AGPLv3 server and GPLv3 clients">:peace_symbol:</abbr> |AGPLv3 server and GPLv3 clients Thataway, with the icons we can have a nice dense recommendation-card, but people that want more details about what the parentheses mean (or what the :warning: icon means) can hover or longpress to get more details. They can also go ahead and click or tap, to get a detailed writeAs blogpost, if one has been written up. p.s. I don't like listing windows-platform first and libre-codebase last. If you have the code, you can (with the correct skillset) port the project to ANY platform needed, and in the long run that is what happens with successful libre-licensed projects. So that should be listed first. Windows10 is *explicitly* anti-recommended in the OS listings, Linux is *explicitly* recommended in the listing. However, because the everyday readership is more likely to own a smartphone-OS than they are likely to own a laptop-OS nowadays, we should probably list mobile OSes prominently. My preferred layout would be something like this: &nbsp;|||&nbsp; :-:|:-:|:-:|:-: :peace_symbol:|🤖|:green_apple:|:warning: :fox_face:|🐧|🍎|🗗 That two-row arrangement puts windows by the warnings, and firefox+linux by the source-code, with apple somewhere in the grey area between the two poles :-)
blacklight447 commented 2019-06-07 07:38:48 +00:00 (Migrated from github.com)

@Mikaela would the BUG tag be really appropriate here?

@Mikaela would the BUG tag be really appropriate here?
Mikaela commented 2019-06-07 07:54:17 +00:00 (Migrated from github.com)

I cannot see your Windows emoji on phone and I think mobile users need to also be thought of if there isn't some webfont.

I see it as a bug that someone can install Signal on desktop and expect it to work standalone without a smartphone, but please feel free to relabel.

I cannot see your Windows emoji on phone and I think mobile users need to also be thought of if there isn't some webfont. I see it as a bug that someone can install Signal on desktop and expect it to work standalone without a smartphone, but please feel free to relabel.
blacklight447 commented 2019-06-07 08:33:41 +00:00 (Migrated from github.com)

I cannot see your Windows emoji on phone and I think mobile users need to also be thought of if there isn't some webfont.

I see it as a bug that someone can install Signal on desktop and expect it to work standalone without a smartphone, but please feel free to relabel.

Oh then it is okay, I just couldn't initially find why you labelled it as such.

> I cannot see your Windows emoji on phone and I think mobile users need to also be thought of if there isn't some webfont. > > I see it as a bug that someone can install Signal on desktop and expect it to work standalone without a smartphone, but please feel free to relabel. Oh then it is okay, I just couldn't initially find why you labelled it as such.
five-c-d commented 2019-06-07 14:48:03 +00:00 (Migrated from github.com)

why you labelled it as [buggy]

Right, the main questions of this github-issue, are

  • should it say "mobile" in the title of the signalapp top3 card for the IM listing
  • should it say "lin/osx/win" as platforms supported by signalapp for the IM listing
  • should it say "mobile" in the title of the signalapp top3 card for the VoIP listing
  • should it say "lin/osx/win" as platforms supported by signalapp for the VoIP listing

Currently the listings reflect answers of "Yes, Yes, Yes, Yes". My recommendation is that they should be changed to "No, YesWithParens, Yes, YesWithParensAndTilde".

  • no need to say 'mobile' on the IM listing, non-reverse-tethered IM via desktop OSes is supported
  • however, they are slave-devices to the smartphone-master, so say
    •   (🐧)   (🍎)   (🗗)
      and then in a tooltip explain the limitation
  • definitely say 'mobile' on the VoIP listing, no cryptocalling from signal4desktop
  • however, it is possible to send and receive voiceNotes from signal4desktop, and these sync properly over to the smartphone-master for a kind of "async voicemail" type of UX, so say
    • (~🐧) (~🍎) (~🗗)
      and then in a tooltip explain the severe limitation

Wireapp would get parens around their "beta/experimental" linux-desktop-client. Threema would maybe get double-parens and double-tilde because they don't have a desktop client... but they do have a webapp which is often good enough? There are lots of way to annotate the platform-icons with nearby punctuation, to better express what degree of support each platform has from the tool in question.

I cannot see your Windows emoji on phone

Yes, no doubt. :-) I was just using unicode-emoji because I was too lazy to create imagefiles, which are tougher to cut-n-paste. My suggestions are, in order of "importance"

  1. it is confusing to have a physical-placement-layout that is not identical for every tool: use "the empty gif" as a spacer for tools that e.g. do not have a webapp version like signalapp, so that visual at-a-glance comparison is easy with the other listed tools.
  2. we can use parens or tilde which indicate "somewhat supported" ...for example, signalapp somewhat-supports linux desktops (but only .DEB officially and only if you first install signal4smartphone), and wireapp somewhat-supports linux desktops (it is downloaded from their official website but marked as "experimental" or "beta" or something last time I checked). Threema "kind of" supports linux desktops... because they have threema4webapp, and for many usage-scenarios that is good enough.
  3. we can use ⚠️ to list the various gotchas and pitfalls: signalapp requires a phone-num, threema requires payment-details, wireapp stores too much server-side metadata, riotIM stores too much server-side metadata unless you run your own synapse homeserver, ricochet is dormant (and rather than a yellow warning I would vote for a red stop-sign icon to alert endusers that ricochet is NOT secure unless they hand-upgrade the tor binary)
  4. we should list source-code first in the platform-list, and windows last
  5. ideally, instead of using the overly-generic 🖥️ and instead should use the more-privacy-oriented 🦊 (which is the engine of both firefox and torBrowser the top2 recommendations in the web-browser-category). BraveBrowser gets the short end of the stick, but if they eventually became the top recommendation, we can reconsider
  6. ideally, instead of using the overly-specific GithubLogo when a project is libre-licensed, change to something more general... could be the FSF-logo, or could be the "peace symbol" which I used for ease-of-typing in my comment above, something to indicate liberty... guess it could be 🗽 but that seems wrongly-specific since that's not about source code really.
  7. methinks it would be good to rearrange the platform-icons into a two-row layout, with windows-and-warnings to the far right aka "last place" in the linear reading-order, and with libre-and-linux to the far left aka "first place" in the linear reading-order, and apple OSes in the middle of those poles.

But the use of unicode codepoints was just me being lazy, not because, I think the icons themselves should be switched. I don't dislike the current icons (except the github-one seems overly specific and the desktop-lcd-one seems not specific enough to my mind). I would like to have alt-tags on every icon, so that when I select a recommendation card and then copy-n-paste into a text editor no information is lost ... this also helps readership that have screen-readers for vision problems get the info they need.

> why you labelled it as [buggy] Right, the main questions of this github-issue, are * should it say "mobile" in the title of the signalapp top3 card for the IM listing * should it say "lin/osx/win" as platforms supported by signalapp for the IM listing * should it say "mobile" in the title of the signalapp top3 card for the VoIP listing * should it say "lin/osx/win" as platforms supported by signalapp for the VoIP listing Currently the listings reflect answers of "Yes, Yes, Yes, Yes". My recommendation is that they should be changed to "No, YesWithParens, Yes, YesWithParensAndTilde". * no need to say 'mobile' on the IM listing, non-reverse-tethered IM via desktop OSes is supported * however, they are slave-devices to the smartphone-master, so say * &nbsp; (:penguin:) &nbsp; (:apple:) &nbsp; (🗗) and then in a tooltip explain the limitation * definitely say 'mobile' on the VoIP listing, no cryptocalling from signal4desktop * however, it is possible to send and receive voiceNotes from signal4desktop, and these sync properly over to the smartphone-master for a kind of "async voicemail" type of UX, so say * (&#126;:penguin:) (&#126;:apple:) (&#126;🗗) and then in a tooltip explain the *severe* limitation Wireapp would get parens around their "beta/experimental" linux-desktop-client. Threema would maybe get double-parens and double-tilde because they don't have a **desktop** client... but they do have a webapp which is often good enough? There are lots of way to annotate the platform-icons with nearby punctuation, to better express what degree of support each platform has from the tool in question. > I cannot see your Windows emoji on phone Yes, no doubt. :-) I was just using unicode-emoji because I was too lazy to create imagefiles, which are tougher to cut-n-paste. My suggestions are, in order of "importance" 0. it is confusing to have a physical-placement-layout that is not identical for every tool: use "the empty gif" as a spacer for tools that e.g. do not have a webapp version like signalapp, so that visual at-a-glance comparison is easy with the other listed tools. 1. we can use parens or tilde which indicate "somewhat supported" ...for example, signalapp somewhat-supports linux desktops (but only .DEB officially and only if you **first** install signal4smartphone), and wireapp somewhat-supports linux desktops (it is downloaded from their official website but marked as "experimental" or "beta" or something last time I checked). Threema "kind of" supports linux desktops... because they have threema4webapp, and for many usage-scenarios that is good enough. 2. we can use :warning: to list the various gotchas and pitfalls: signalapp requires a phone-num, threema requires payment-details, wireapp stores too much server-side metadata, riotIM stores too much server-side metadata unless you run your own synapse homeserver, ricochet is dormant (and rather than a yellow warning I would vote for a red stop-sign icon to alert endusers that ricochet is NOT secure unless they hand-upgrade the tor binary) 3. we should list source-code first in the platform-list, and windows last 4. ideally, instead of using the overly-generic :desktop_computer: and instead should use the more-privacy-oriented :fox_face: (which is the engine of both firefox and torBrowser the top2 recommendations in the web-browser-category). BraveBrowser gets the short end of the stick, but if they eventually became the top recommendation, we can reconsider 5. ideally, instead of using the overly-specific GithubLogo when a project is libre-licensed, change to something more general... could be the FSF-logo, or could be the "peace symbol" which I used for ease-of-typing in my comment above, something to indicate liberty... guess it could be :statue_of_liberty: but that seems wrongly-specific since that's not about source code really. 6. methinks it would be good to rearrange the platform-icons into a two-row layout, with windows-and-warnings to the far right aka "last place" in the linear reading-order, and with libre-and-linux to the far left aka "first place" in the linear reading-order, and apple OSes in the middle of those poles. But the use of unicode codepoints was just me being lazy, not because, I think the icons themselves should be switched. I don't dislike the current icons (except the github-one seems overly specific and the desktop-lcd-one seems not specific enough to my mind). I would like to have alt-tags on every icon, so that when I select a recommendation card and then copy-n-paste into a text editor no information is lost ... this also helps readership that have screen-readers for vision problems get the info they need.

We use Font Awesome FYI

We use [Font Awesome](https://fontawesome.com/) FYI
Mikaela commented 2019-06-09 17:57:49 +00:00 (Migrated from github.com)

How would you mark Android/iOS (tablet) linked to the main phone (if it gets supported)? Or would there be a need if it was the same app and thus just had an option for this?

How would you mark [Android/iOS (tablet) linked to the main phone (if it gets supported)](https://community.signalusers.org/t/allow-android-ios-devices-e-g-tablets-to-be-linked-to-the-primary-device-i-e-used-as-secondary-device-like-the-desktop-app/2884?u=mikaela)? Or would there be a need if it was the same app and thus just had an option for this?
five-c-d commented 2019-06-09 20:33:53 +00:00 (Migrated from github.com)

How would you mark

Depends on whether privacyToolsIO considers "100% tablet-support" to be a dealkiller feature, or just a nice-to-have. To me it is a nice-to-have, and not something worth putting de-emphasis parens nor approximately-only tildes to indicate. Instead I would just mention it in the tooltip-text, or in a footnote perhaps.

  • Signal: 🤖 "android 4.4+ via playstore w/ 300k reviews, or direct APK download. Tablets not officially supported, but with a secondary/additional num to avoid usurping your signal4smartphone installation, can work well (though you need to use a mini-groupchat with 'yourself' if you wish to sync messages across devices)."
  • Signal: 🍏 "ios 9+ via itunes w/ 200k reviews. Tablets not officially supported etc etc"
  • Threema: 🤖 "android 4.1+ via playstore w/ 50k reviews. Tablets officially supported, but require secondary/additional threema-ID associated with distinct telco-or-email to avoid usurping your threema4smartphone installation (and you need to use a mini-groupchat with 'yourself' if you wish to sync messages across devices)."
  • Threema: 🍏 "ios 9+ via itunes w/ 1k reviews. Tablets officially supported, but etc etc. Does not support Apple CarPlay."

Going with the footnote route, there would be a little asterisk or caret thing, towards the top righthand corner of the platform-icon. But if the plan is to implement hover-or-longpress to get platform-specific details like minimum version and whatnot, to me it makes sense just to explain tablet-support right in the tooltip. Might become too wordy though, for smartphone screens when the readership is on the go?

Or would there be a need

Not a significantly-large-slice-of-the-userbase to need explicit dedicated annotation of the platform-icons, I would argue.

rationale and links

I think that tablet-support is a niche thing, albeit not quite as niche as WinFon support. There are some people that have a tablet, yes, but 99% of the time they ALSO have a smartphone... and more than 90% of people with both kinds of device, use the smartphone-device way more than they use their tablet-device. Making a cryptocall from a tablet-device, while possible is not something that most people are likely to want to do :-) Like IM webcam chats from the late 1990s on enormous CRT displays and tower PCs with ethernet cables to a university backbone-connection, it is a bit masochistic-feeling, when it works at all!

Threema officially supports android smartphone, android tablet, android watch (severe limitations), android automotive, apple smartphone, apple tablet, apple watch (severe limitations), but not apple carplay. They also have slave-device threema-web, which I believe is reverse-tethered in the whatsapp manner since they have a warning "may drain your battery [of your smartphone].

But when you look into the details, there is not REALLY tablet support... just like with signal4tablet, threema requires a distinct identifier for every master-device, and if the enduser screws up they usurp their underlying telco-num-or-email identifier within threema, screwing up their smartphone-install. Also like signal4desktop which only offers async voiceNotes support but not quasi-realtime cryptocalls, threema4web has no cryptocall support, and neither do the "second-class-citizen" platforms like winFon. Signal4android has a slight advantage over threema, for privacy-conscious endusers that have removed playServices: incoming cryptocalls still work with https://signal.org/android/apk on an FCM-less device, whereas threema-calls require playSvcs be installed.

Overall though, both are pretty similar. Threema has "official support" for tablets with secondary identifiers, and for WinFon-of-the-smartphone-variety, whereas on signalapp tablets are "officially unsupported" but usually work fine as long as you use a secondary telco-num to register, and WinFon10 support is only available via unofficial soft-fork. My understanding is that whatsapp is in a similar vein, but has stronger platform-breadth (e.g. until recently supported old-school Symbian handsets!)

There are a lot of messengers that "fully support" tablets, in the sense of being able to fire up a client on the tablet which will link/sync to the exact same messages that are on the enduser's smartphone... but most of them seem to be non-end2end encrypted, or have significant penalty (telegram has tablet-support I believe... but no end2end crypto for groupchats and only device-to-device crypto when you do enable the off-by-default MTProto crypto). RiotIM is more of a web-app than an APK, so it pretty much supports a tablet because a tablet has a browser... but the key-management is a pain, because keys are per-device, right?

Apple lets you have iMessage+Facetime on your iPad which sync via the iCloud to your iPhone ... but of course, as with all apple stuff, you can only contact other iDevices so as soon as a person with an android tablet and/or android smartphone joins the groupchat, Apple's sync-with-my-tablet support instantly dissipates because they don't permit non-apple-hardware to encrypt anything. Wireapp might have proper tablet-support, where you can install a master-device tablet, and then sync to a laptop, never needing a smartphone nor a phone-num, no limitations in terms of loss of features nor difficulty with key-management?

p.s. I never knew this: "the open source project links against the open source Wire audio-video-signaling (AVS) library. The binary Play Store client links against an AVS version that contains proprietary improvements for the call quality" This would cause me to instantly put parens around the "source code" icon for wireapp ... just like Oracle JRE on windows, and Google Chrome, they embed proprietary components as the secret sauce.

OpenJDK for linux and chromium are just "reference implementations" which are subtly crippled... am disappointed to learn that wireapp does the same sort of thing. Signalapp has some proprietary dependency on GoogleFCM, and battery-life suffers when not using that on a handset with playServices exorcised -- sometimes severely -- because there is a background-socket open to signal-server alone in order to detect incoming cryptocalls and texts and whatnot. So it is hard for any app that wants to be used by the masses, to REALLY be 100% libre-licensed to the max.

But it sounds like (heh! pun) wireapp devs are specifically writing a proprietary audio-codec for their own playstore APK only, and only people that hand-compile get the reference-implementation crappy-quality codec. This is not a limitation imposed by the platform, this is a conscious monetization-strategy methinks, in the long run.

> How would you mark Depends on whether privacyToolsIO considers "100% tablet-support" to be a dealkiller feature, or just a nice-to-have. To me it is a nice-to-have, and not something worth putting de-emphasis parens nor approximately-only tildes to indicate. Instead I would just mention it in the tooltip-text, or in a footnote perhaps. * Signal: :robot: "android 4.4+ via playstore w/ 300k reviews, or direct APK download. Tablets not officially supported, but with a secondary/additional num to avoid usurping your signal4smartphone installation, can work well (though you need to use a mini-groupchat with 'yourself' if you wish to sync messages across devices)." * Signal: :green_apple: "ios 9+ via itunes w/ 200k reviews. Tablets not officially supported etc etc" * Threema: :robot: "android 4.1+ via playstore w/ 50k reviews. Tablets officially supported, but require secondary/additional threema-ID associated with distinct telco-or-email to avoid usurping your threema4smartphone installation (and you need to use a mini-groupchat with 'yourself' if you wish to sync messages across devices)." * Threema: :green_apple: "ios 9+ via itunes w/ 1k reviews. Tablets officially supported, but etc etc. Does not support Apple CarPlay." Going with the footnote route, there would be a little asterisk or caret thing, towards the top righthand corner of the platform-icon. But if the plan is to implement hover-or-longpress to get platform-specific details like minimum version and whatnot, to me it makes sense just to explain tablet-support right in the tooltip. Might become too wordy though, for smartphone screens when the readership is on the go? > Or would there be a need Not a significantly-large-slice-of-the-userbase to need explicit dedicated annotation of the platform-icons, I would argue. <details><summary>rationale and links</summary><p> I think that [tablet-support is a niche thing](http://gs.statcounter.com/platform-market-share/desktop-mobile-tablet), albeit not quite as niche as WinFon support. There are some people that have a tablet, yes, but 99% of the time they ALSO have a smartphone... and more than 90% of people with both kinds of device, *use* the smartphone-device way more than they use their tablet-device. Making a cryptocall from a tablet-device, while **possible** is not something that most people are likely to want to do :-) Like IM webcam chats from the late 1990s on enormous CRT displays and tower PCs with ethernet cables to a university backbone-connection, it is a bit masochistic-feeling, when it works at all! Threema [officially](https://threema.ch/it/faq/platforms) supports android smartphone, android tablet, android watch (severe limitations), android automotive, apple smartphone, apple tablet, apple watch (severe limitations), but not apple carplay. They also have slave-device threema-web, which I believe is reverse-tethered in the whatsapp manner since they have a warning "may drain your battery [of your smartphone]. But when you look into the details, there is not REALLY tablet support... just like with signal4tablet, threema requires a distinct identifier for every master-device, and if the enduser screws up [they usurp](https://threema.ch/it/faq/multidevice) their underlying telco-num-or-email identifier within threema, screwing up their smartphone-install. Also like signal4desktop which only offers async voiceNotes support but not quasi-realtime cryptocalls, threema4web has [no cryptocall support](https://threema.ch/en/faq/calls_requirements), and neither do the "second-class-citizen" platforms like winFon. Signal4android has a slight advantage over threema, for privacy-conscious endusers that have removed playServices: incoming cryptocalls still work with https://signal.org/android/apk on an FCM-less device, whereas threema-calls [require](https://threema.ch/en/faq/#calls_requirements) playSvcs be installed. Overall though, both are pretty similar. Threema has "official support" for tablets with secondary identifiers, and for WinFon-of-the-smartphone-variety, whereas on signalapp tablets are "officially unsupported" but usually work fine as long as you use a secondary telco-num to register, and WinFon10 support is only available via unofficial soft-fork. My understanding is that whatsapp is in a similar vein, but has stronger platform-breadth (e.g. until recently supported old-school Symbian handsets!) There are a lot of messengers that "fully support" tablets, in the sense of being able to fire up a client on the tablet which will link/sync to the exact same messages that are on the enduser's smartphone... but most of them seem to be non-end2end encrypted, or have significant penalty (telegram has tablet-support I believe... but no end2end crypto for groupchats and only device-to-device crypto when you *do* enable the off-by-default MTProto crypto). RiotIM is more of a web-app than an APK, so it pretty much supports a tablet because a tablet has a browser... but the key-management is a pain, because keys are per-device, right? Apple lets you have iMessage+Facetime on your iPad which sync via the iCloud to your iPhone ... but of course, as with all apple stuff, you can only contact *other iDevices* so as soon as a person with an android tablet and/or android smartphone joins the groupchat, Apple's sync-with-my-tablet support instantly dissipates because they don't permit non-apple-hardware to encrypt anything. Wireapp might have proper tablet-support, where you can install a master-device tablet, and then sync to a laptop, never needing a smartphone nor a phone-num, no limitations in terms of loss of features nor difficulty with key-management? </p></details> p.s. I never knew this: "the open source project links against the open source Wire audio-video-signaling (AVS) library. The binary Play Store client links against an AVS version that contains proprietary improvements for the call quality" This would cause me to instantly put parens around the "source code" icon for wireapp ... just like Oracle JRE on windows, and Google Chrome, they embed proprietary components as the secret sauce. OpenJDK for linux and chromium are just "reference implementations" which are subtly crippled... am disappointed to learn that wireapp does the same sort of thing. Signalapp has some proprietary dependency on GoogleFCM, and battery-life suffers when not using that on a handset with playServices exorcised -- sometimes severely -- because there is a background-socket open to signal-server alone in order to detect incoming cryptocalls and texts and whatnot. So it is hard for any app that wants to be used by the masses, to REALLY be 100% libre-licensed to the max. But it sounds like (heh! pun) wireapp devs are specifically writing a proprietary audio-codec for their own playstore APK only, and only people that hand-compile get the reference-implementation crappy-quality codec. This is not a limitation imposed by the platform, this is a conscious monetization-strategy methinks, in the long run.
blacklight447 commented 2019-08-09 12:28:18 +00:00 (Migrated from github.com)

Shall we wrap up this conversations and make a decision, having a bunch of stagnent silent issues won't solve privacy.

Shall we wrap up this conversations and make a decision, having a bunch of stagnent silent issues won't solve privacy.
Mikaela commented 2019-08-09 17:17:07 +00:00 (Migrated from github.com)

What is your proposed wrapup? My preference would be having the requirement for Android/iOS be clear and that there are remotes for the other platforms.

What is your proposed wrapup? My preference would be having the requirement for Android/iOS be clear and that there are remotes for the other platforms.

Seeing as Android or iOS is required I would imagine only listing the mobile client icons would be more helpful for those looking for options at a glance.

Seeing as Android or iOS is *required* I would imagine only listing the mobile client icons would be more helpful for those looking for options at a glance.
This repo is archived. You cannot comment on issues.
No Milestone
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: privacyguides/privacytools.io#967
No description provided.