communication

From IndieWeb
(Redirected from comms)
Jump to: navigation, search


communication in the context of the indieweb refers to using your personal website as a starting point and potentially way for people to contact you.

Contents

How

Make your homepage homescreen friendly

Add an icon to your personal site so that others can add your site to their home screens on their devices.

Add a contact card

Put an h-card on your home page with links to ways you want to be contacted, in your preference order.

Add a contact UI

Put that h-card on a separate /contact page on your website, e.g. at you.example.com/contact with:

  1. Easily recognizable / clickable icons for each link to a way to contact you.
  2. Optional: conditionally show/hide ways to contact you based on:
    • browser device/OS
    • your time of day / interruptibility

For detailed markup instructions, see:

For examples, see below.

Why

See:

IndieWeb Examples

IndieWeb community members doing this.

Tantek

Tantek Çelik is experimenting with a prototype at tantek.com/contact since 2014-11-18 (and previously at contact.html since 2014-06 at IndieWebCamp 2014)

  • conditional showing of Facetime button only for iOS and MacOS (as of 2014-10-11 at IndieWebCamp Cambridge)
  • animated "Add to Homescreen" instruction drop-down on first load (as of 2014-10-29 at W3C TPAC - verified on Template:hober's iPad). Lot's of fiddling, but here's the code using Matteo's "Add to Home Screen" library that worked:
    <script src="/addtohome.min.js"></script> <script> var addtohome = addToHomescreen({ maxDisplayCount: 1, detectHomescreen: "hash" }); </script>

Other Independents

Other independent examples:

Terence Eden

See:

Where he has a similar mockup of an mobile phone home screen / app buttons UI with clickable links (with various URL schemes) for various contact methods, as well as links to his profiles on various silos and communities.

(screenshot needed)

Previous Examples

Ben Werdmuller

Ben Werdmuller used icons to link to a small handful of ways to reach him on his werd.io homepage. (2014-...-...?)

Tim Owens

Tim Owens had set up a nice indie comms page on http://timowens.io/contact/ since 2014-10-11 (at IndieWebCamp Cambridge) including:

  • shows an animated "Add to Homescreen" instruction drop-down on first load.
  • 404/down as of 2016-12-02 or earlier (maybe 2015?)

Projects

Lets Talk

Let's Talk is a userscript that renders h-cards in a standard format. When you go to someone’s web site, Let’s Talk shows you at a glance how to contact them and which methods they prefer. See https://snarfed.org/2014-03-10_lets-talk-userscript for more details.

Brainstorming

Three button UI

Ideally an IndieWeb contact UI (e.g. someone's /contact page) should have three buttons:

[txt] [call] [video]

(screenshot/mockup needed!)

Perhaps enabled/disabled based on sign-in, time of day, sleep status etc.

The three buttons would behave as follows:

Txt button

[txt] button -> reveal a text message entering UI:

(Sign-in) (if they're not already signed in with indieauth)
[ message text area ]
(Send)

(screenshot/mockup needed!)

Clicking the (Send) button would:

At a minimum:

    1. submit the message to the recipient's IndieWeb server
    2. the recipient's IndieWeb server would send a push notification to the recipient's currently active client devices (e.g. mobile, laptop).

Better (advantage: sender's site keeps a copy of the message)

    1. webaction to send a direct message
    2. handled by the sender's already registered indie-config handler
    3. the sender's own site shows a pop-up confirmation UI to send that message to the recipient
    4. the sender's site saves the message at a private permalink
    5. and sends a IndieWeb private message from their site to the recipient's site
    6. the recipient's website saves a copy of the private message at a private permalink
    7. the recipient's IndieWeb server sends a push notification to the recipient's currently active client devices (e.g. mobile, laptop).

Even better (advantage: no need for additional pop-up confirmation UI)

    1. have already gotten Micropub authorization from the sender at sign-in time
    2. use Micropub to private publish the message as a private outgoing message on the sender's website
    3. the sender's site saves the message at a private permalink
    4. and sends a IndieWeb private message from their site to the recipient's site
    5. the recipient's website saves a copy of the private message at a private permalink
    6. the recipient's IndieWeb server sends a push notification to the recipient's currently active client devices (e.g. mobile, laptop).

So people can txt you without ever leaving the web, or depending on a 3rd party site/intermediary/service/addressing system.

Fallback:

  • without IndieAuth sign-in, fallback to a page of existing services
    • sms, FB Messenger, Gtalk, email, Twitter DM

Call and video buttons

[call] + [video] -> initiate a WebRTC call (e.g. Firefox Hello) with only-voice or video+voice accordingly

  • assuming your client browser supported that
    • if not, it can fall back to a page of existing services
      • FaceTime, Skype, etc.

Ideally the mechanism for an audio call, while in-progress, could allow the caller and/or callee to opt-in to allowing for video, and if both did so, the audio call would be upgraded to audio+video.

Verb redirect URLs

Might be convenient to setup a few redirect URLs (perhaps even as a building block of said 3 button UI)

  • /txt and/or /sms - redirects to an SMS: URL for you, or provides a simple SMS txting UI (similar to such UIs on mobile apps like iMessage, Google Hangouts etc.)
  • /call - redirects to a FaceTime (audio) URL, or tel: URL, or provides a WebRTC start call UI.
  • /facetime - redirects to a FaceTime (video) URL to make a video call

Mockups

iOS7 home page

Here are some mockups for how you could present a top level bar of communication, collaboration, and other options that feel familiar to an iOS7 iPhone/iPod user:

mobile-personal-home-icons-folders-ios7.jpg
2013-346-tantek-home-posts.jpg


Contact expanded

When a viewer taps the Contact icon folder it expands as follows, and then the viewer can tap the mode of messaging/communicating they want to use to contact me which immediately opens a new message (txt, FB Messenger, G+ Hangouts, AIM IM), or starts a new call (FaceTime, Skype), or Twitter new direct message window. Directly to communicating - bypassing all comm app home page / activity distractors.

The one change I'd make from these mockups are some of the labels. All of the labels should be verbs, not nouns, indicating the action the user wants to take and thus reinforcing their intention.

E.g. "Messages" should be "txt message", "Messenger" should be "FB message", "Hangouts" should be "GTalk", and the rest seem to read fine as verbs.

mobile-personal-home-contact-ios7.jpg
2013-346-tantek-home-posts.jpg


iOS6 mockups

Original prototypes done in iOS6, probably not worth implementing, but may contain interesting UI ideas nonetheless:

mobile-personal-home-icons-folders-mockup.jpg
2013-346-tantek-home-posts.jpg


Contact expanded

The one change I'd make from these mockups are some of the labels. All of the labels should be verbs, not nouns, indicating the action the user wants to take and thus reinforcing their intention.

E.g. "Messages" should be "txt message", "Messenger" should be "FB message", "Hangouts" should be "GTalk", and the rest seem to read fine as verbs.

mobile-personal-home-contact.jpg
2013-346-tantek-home-posts.jpg


Improving Install Experience

Currently sites have to use a convoluted script to attempt to prompt the user to add their comms page to the home screen AKA install it.

"Web App install banners" may be one way of improving this UX, but it requires that your comms page be / have:

Limitations:

  • The user must visit your site "twice over two separate days during the course of two weeks."[3]
    • This fails to address the use-case of meeting in person and exchanging contact (web) addresses and expecting it to be one-click "installable" upon loading the page *once*

Additional Use Cases

Authentication

When communicating from one indieweb user to another, how do you authenticate that the person you are communicating with is actually the person you think it is? This applies to messaging in general.

(This use-case is a stub and should be expanded)

Articles

Articles on some of the challenges of person-based communication:

Articles about researching and solving personal / indieweb based communication:

See Also

Personal tools
Namespaces
Variants
Actions
Recent & Upcoming
Resources
Toolbox