Řeknu to tak, jak to je. Hangouts je arcisračka, která vám oproti GTalku sežere celou obrazovku, přesto však zobrazí daleko méně kontaktů, než zmiňovaný GTalk s třetinovou velikostí. Za další pak někdo hodně chytrý vymyslel, že se zobrazují jen kontakty, se kterými jste komunikovali naposledy, a to i když jsou offline, vy jste si s nimi nenapsali třeba už přes rok. To, že deset jiných kontaktů je v této chvíli online, nevidíte. Proč by to také mělo jít jako třeba u Skypu či GTalku, kde primárně vidíte uživatele, kteří jsou online? To by nad tím musel přemýšlet někdo, kdo má IQ alespoň 80.
U SMS tak nejak kazdy svepravny clovek ocekava, ze bude dorucena (mozna) az se cilovy telefon objevi v siti. A nejakym rizenim osudu vetsinou funguje i zpetna notifikace o doruceni.
Pokud potrebuji s nekym komunikovat ted hned, tak mu zavolam a nebudu mu posilat sms. Tim ovsem nezmenim nic na tom, ze se mi muze z telefonu ozvat, ze volane cislo je nedostupne, pripadne, ze semnou dotycny nechce aktualne mluvit.
U IM je pak prekvapive k dizpozici prave moznost podivat se, zda dotycny prave se zarizenim pracuje, ci zda je ono zarizeni alespon dostupne v siti. A funguje to tak prekvapive odjakziva. Celkem bez ohledu na protokol a sit. Kupodivu, nektere site dokonce umoznuji takove vymozenosti, jako pozadat prave zmenou stavu o nevyrusovani. Tedy sdelit neco na tema "pokud jde o zivot, jsem tu, ale jinak me nechte byt".
Tyto novoty funguji v IM sitich uz minimalne 20 let.
Sémantika statusů je naprosto jasná:
Online (zelená) - uživatel je online a právě pracuje se zařízením.
Away (oranžová) - aplikace na zařízení je připojena k serveru, ale uživatel se zařízením nepracuje, pokud v tomto stavu pošlu zprávu tak dorazí na zařízení a uživatel bude notifikován, při nejbližší příležitosti si zprávu přečte
Offline - zařízení nemá aktivní datové připojení nebo je vypnuté, zpráva bude doručena až po zapnutí/obnovení.
Na Hangouts mě vytáčí zejména, že většinou nelze rozlišit stav away od offline, tedy jestli zamýšlený příjemce je na internetu a zprávu dostane a nebo ne a radši mám poslat SMS. Androidí Google Talk klient na Androidu tento problém neměl a fungovalo to dle očekávání.
Protože dnes už díky smartphonům prostě funguje IM jinak, taková je realita. Kecálek dnes běží prakticky každému na smartphone a tam je za prvé každý (většina) online de facto neustále, ale na druhou stranu je ta komunikace de facto asynchronní (lidé se s telefony pohybují, mohou být chvilkově bez signálu, mění se za běhu připojení z wifi na mobilní síť a naopak, atd.). Takže pojem "být online" se stal silně "fuzzy".
XMPP na tohle nebylo stavěno a funguje v takovém prostředí velmi špatně. Existují sice XEPy (rozšíření XMPP protokolu), které se tohle snaží řešit (např. XEP-0198: Stream Management, XEP-0280: Message Carbons, XEP-0184: Message Delivery Receipts, XEP-0313: Message Archive Management a pár dalších), ale jejich podpora jak na straně klientů, tak na straně serverů, je silně omezená. A oproti nativním "push" zprávám (GCM na Androidu, APNS na iOS) tu bude vždy celá řada nevýhod.
Tím neříkám že se mi ta situace líbí, ale prostě realita je jaká je...