When the Ubuntu Touch project was still active I proposed a “unified communication” interface powered by a generic API for communication and data exchange, practically a plug-in infrastructure for communication service providers. I also proposed an address book that groups contact details but keeps (social) accounts separate from the phone accounts data for easier management and searching.
The idea is similar to symbiotic applications: Our phones are multi-purpose communication devices used to exchange information and getting things done. On a typical phone we have a ton of apps to manage all our communication and coordination needs nowadays. Whether we do voice calls, video calls, text messages, etc. we do the same type of things across apps, and we potentially use the same contacts across some apps. This is ridiculous (and makes us navigate our phones half of the day instead of getting things done with the phone not being in our way).
It should be possible to have:
- A generic API allowing external platforms to send and receive data (e.g. send voice or video stream, send and receive files, send and receive various types of messages)
- Unified communication to the device users (a single front-end that allows unified access to information exchanged, e.g. text messages, IM chats protocols, voice and video call protocols, related files, images, contacts)
- A user interface allowing to filter, group and sort all the information, empowering the user over the vast amount of data.
More details are described on Launchpad (see links above), but just to give you an idea:
- You’d be able to build the regular telephony and messaging app just by (default) plugins (for voice, video, text, etc.)
- You’d configure or plug-in any VoIP (SIP, XMPP) provider right into your phone app
- We would integrate proprietary protocols via plugins that attach to data streams (messengers like Telegram, Hangouts, Ring, Skype, Slack, Viber, WhatsApp, etc.) and they’d show up in the default app
- We may (as programmers or users) have the possibility to filter providers and style the app – thus creating virtually an “app” as we know it today (if we want or need it).
No complaining about a missing “WhatsApp” or “Skype” (or whatever) app anymore! You just write a plugin that handles low-level data management, or make it easy for those companies to implement that. For the UI, plugins that modify behavior could also be available one day.
Finally a single place where I get all my stuff done that has to do with communication! *phew!*