banji-project / ring-issues

Old issues before it was moved to kde.org
0 stars 0 forks source link

Code: remove some old features #16

Closed Elv13 closed 6 years ago

Elv13 commented 7 years ago

Just to keep a list of what was removed and what will be (these commits are not pushed in the branch for testing yet as the replacement UI has some serious unsolved problems.

commit d7b1b6f4445cc36d2b5d5ae09de51341f0bb527a (HEAD -> next)
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 23:42:24 2017 -0400

    cleanup: Remove "add new [call]" from the default menu

commit 8d625087e46a276071ebee38978d790d7532f464
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 23:39:33 2017 -0400

    cleanup: Remove most old interface display options

    Remove the following little used display option:

     * displayCallIcon
     * displayCallPeer
     * displayCallNumber
     * displayCallSecure
     * displayCallOrganisation
     * displayCallDepartment
     * displayCallEmail
     * limitMinimumRowHeight
     * minimumRowHeight
     * displayDataRange (dead code)
     * displayPersonCallHistory (dead code)
     * displayEmail (in contacts)
     * displayOrganisation (in contancts)

    Remove the following notification settings, they are not redundan
    of KDE build-in dialog.

     * notifOnCalls
     * notifOnMessages

commit f7aed1bd3cbebe739e433fc5b9d976be672e72b8
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 23:08:36 2017 -0400

    cleanup: Hide many options for Ring accounts.

    The SIP compliance tests and mandatory options are very painful
    and verbose. That's a fact of life and compliance is important.
    That being said, Ring accounts don't have to endure such madness.
    Many options can be safely hidden and only available in the
    config file as they are required for < 0.05% of users. This
    mostly revolve around bypassing strict Firewalls. The following
    options are now hidden:

     * Audio port range: Required when hardcoding firewall rules for VoIP media
       instead of using STUN/TURN/UPnP/NatPNP/ICE. For Ring accounts, this
       would "work", but it is very confusing and not used often enough to be
       relevant.

     * DTMF type: This is mandatory to be compliant with the RFC, however RING
       accounts rarely use DTMF for bots like classical phone menus and even
       if they did, it would probably only support the default method.

     * Published address: Mandatory to spoof some firewall or servers to
       think Ring-KDE is a valid enterprise client. If Ring protocol users
       face such misconfigured Firewall, then other things will break too.

commit e4ae37bfe80ca4a57b018913fe73f109d041c82c
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 22:50:14 2017 -0400

    cleanup: Remove the hook subsystem

    Honestly, I am not even sure what's the use case for this. Someone
    once paid for it and had a weird custom SIP server. I guess if
    someone really, really want to do this, the Python API is the
    place to do it.

    It allowed (if it worked, I am not even capable of testing it) to
    run commands and open apps on some MIME payload in the second part
    of SIP packets.

commit 2d64321b6ede471d2580f31dfcbe5c26be9ac3cd
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 22:43:53 2017 -0400

    cleanup: Delete the macro subsystem

    This isn't very useful for the vast majority of users and it's
    almost never tested.

    The main reason to have this was botting through calls menu and
    adding shortcuts to specific phone number. The second use case
    is more relevant, but the macro implementation was unsuited to
    make it easier to configure.

commit 680757d7734bac9dcf5f9fc7b5773411b68147a6
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 22:36:01 2017 -0400

    cleanup: Delete useless auto completion settings.

    I doubt anyone ever used them beside the one who wanted them.
    The variables can still be set in the config file.

commit 32a488905938c1fa237df7dd6fc004f5fc40cacc
Author: Emmanuel Lepage Vallee <elv1313@gmail.com>
Date:   Wed Jun 7 22:26:27 2017 -0400

    cleanup: Remove the mailbox buttons

    It isn't useful for anybody. Most, if not all SIP servers
    provide either POP or IMAP for the voicemail. Calling the
    mailbox can still be done manually, no need for a button
    or useless configuration options.

The old call window is getting replaced by a tab in the main pane. A popup doesn't look right and isn't what every other clients do. You always have focus and stacking issues when chatting. From an usability POV, it just doesn't work and is frustrating to use.

Another couple of feature I am phasing out are hold and transfer. Without a view where you can see all the active call, they are very hard to use. They are not that useful for normal users. That leaves the multi-party audio/video chat peer management (called "conferences" in the UI) as the only remaining relevant use case I don't plan to port to the new UX (yet). It is a generally useful feature for regular users and other apps support it. Yet it's probably not worth spending tons of time doing a new GUI for it (uneless, of course, you ask for it). So that remove the old UX for 99% of the still relevant use cases and I think, feel free to comment, is enough for the short term. It could be added as yet another overlay in the Video widget, but I don't think it is very high on your priority list.

As for the settings cleanup, I removed many of them. The other ones are mandatory to comply to the RFC. Compliance is important to use the thousands of services available for Ring. Firefox has those settings, so do Google Chrome, Thunderbird, Evolution, KMail and just about every app that uses TLS. They are already hidden quite deep in the settings, just as they are in Chrome and Firefox.

Some other, like TURN/STUN/UPnP/NatPNP and the associated credentials are necessary for a non negligible subset of the regular users (> 5%, maybe more, worst in "emerging economies") to fix some NAT traversal issues (including older home routers). This is a regular downside of P2P apps. Most BitTorrent clients also have these settings, even WebRTC based chat clients.