While all Soprani.ca projects, including all Cheogram gateways, are built to only standards-compliant XMPP and are tested with popular clients, there are still reasons we may consider creating Cheogram-specific apps (probably for Android first as the most popular platform among our users right now).
UX is the major reason to consider our own app. Some clients have poor or no support for some XMPP features that would be a real boon to Cheogram users, but also an app that is Cheogram-aware can do other things that users have requested (such as setting itself as the default SMS or calling app).
While we would be happy to see most features from this app end up in other clients (and especially if we fork Conversations, to end up upstream), this would allow the improved UX to get to users much more quickly.
Some feature ideas for such an app include:
- Onboarding with a Cheogram backend (JMP, Vonage, or custom) on first install if there is no cheogram backend selected for the JID used already
- Someday: onboarding with the buy-a-domain-for-xmpp-(and other) service. Maybe. This service won't be part of cheogram per se but it beats hardcoding dismail?
- XEP-0033 group thread UI
- Able to be set as default SMS app -- this means it needs to handle SMS coming in from SIM card and show them as "faked" conversations from @cheogram.com JIDs.
- Able to be set as the default calling app for tel: URIs, address book, etc
- Import numbers from Android address book to roster, either on demand or automatically
- Add "message via Cheogram" option and/or JabberID to every Android contact based on phone number (only useful in case the app is *not* default for all SMS, probably)
- Better UX for choosing what account a message is sent from (especially to choose between SIM and XMPP, but also multiple XMPP with overlapping contacts)
- Dial pad + RTP DTMF during inbound and outbound calls
- jabber:iq:gateway support during contact add
- Add all cheogram gateways to roster automatically
- Register to handle SIP URIs (via Cheogram SIP) and mailto URIs (via Cheogram SMTP) and IRC links (via irc.cheogram.com)
- Display subject lines of messages when present
- Return thread id according to XEP-0201 (helps with Cheogram SMTP especially)
- Ability to make a call or send a message without adding a contact to roster
- Full support for XEP-0050 (needed for onboarding anyway)
- Display OOB URLs as "attachments", only removing the URL from main body if present (and also show desc unless it is the same as main body)
- Allow editing vCard profile
- Allow viewing vCard profile for contacts
- Call log (possibly message log also?) to allow seeing who calls (messages?) were received from even if that conversation is already closed