Consider yourself lucky, for me screen sharing doesn't seem to work at all.
I, frankly haven't found Hangouts much better. We've all but given up on them and use a combo of a free-ish conference app like Uber Conference and Join.Me, Slack, and FaceTime for audio. Except for the one guy with Android, that I then wind up actually having to call from my phone. Ugh, who wants to use a phone these days?
What? That is simply not true, the Kernel never breaks userspace. And "version combinations" are solved by linking statically.
I feel like you're talking about GTK and Qt, both of which (don't break userspace either) are libraries you can statically link and nothing will break.
sure you can have bunch of ifdef in the code, and an autoconf, and make sure you support a wide set of options, but that is basically the whole point, it makes for a painful experience and costlier, slower development (for closed source application that comes prepackaged)
or just go get some old static compiled stuff run on your modern distro and see yourself. like, mindrover the europa project port.
> static linked on a kde library that had widget, new one doesn't have that nor a fallback, application crashes.
As I said before, please read up on what static linking means.
> like, mindrover the europa project port.
$ file Mindrover\ The\ Europa\ Project\ DEMO\ r1-lgp-x86.run
Mindrover The Europa Project DEMO r1-lgp-x86.run: ELF 32-bit LSB executable,
Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2,
for GNU/Linux 2.6.15, BuildID[sha1]=fe926b7ea13be61d05cdd605e313f50042040153, stripped
...version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2... $ ldd Mindrover\ The\ Europa\ Project\ DEMO\ r1-lgp-x86.run
linux-gate.so.1 => (0xf7722000)
libglib-2.0.so.0 => not found
libz.so.1 => not found
libfuse.so.2 => not found
librt.so.1 => /lib32/librt.so.1 (0xf7700000)
libdl.so.2 => /lib32/libdl.so.2 (0xf76fb000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf76dd000)
libc.so.6 => /lib32/libc.so.6 (0xf7525000)
/lib/ld-linux.so.2 (0x5660a000)
Clearly not a statically linked binary."Breaking userspace" probably is a misnomer, if only because userspace has a precise technical definition. This is more like changing an interpreted language without maintaining backwards compatibility (python3, anybody?) or changing a json API.
> with the ABI changing every year for no reason and yet having to support users having all kind of version combinations.
To which I originally replied. And my point here still stands. I'm not arguing about the backwards or forward compatibility of every single library that might or might not use an IPC mechanism to talk to another component which could break if they're different versions.
Is Skype a special snowflake to the extent that it's an impossible task? Skype-on-Linux's problem are caused by interface changes with the server API, not the ABI. Recompiling isn't rocket science.
not rocket science either, but that stuff does carry an increased cost