Monday, July 2, 2012

Introducing Realtimd

So I'm going to be creating (someday) a service called Realtimd.
Realtimd is about enabling people viewing a textual communication, like an article or blog post, to have a contextual conversation centered around the text - in a dead-easy way. Realtimd is completely optional and augments a page's functionality. Faliures and downtimes in the Realtimd service will not affect pages using Realtimd in any way.
The Realtimd source is available on GitHub. It's possible to run your own instance of Realtimd, but this isn't recommended.
Let's talk about a real-world scenario that Realtimd could be useful in. In the process of describing this scenario, I'll give details on what exactly Realtimd does.
Let's say Person A has a blog. Since there are blog posts made up (largely) of text on Person A's blog, Realtimd can be useful to Person A.
Person A goes to the Realtimd enable page - which will eventually be at realtimd.alexj.jumpingcrab.com - and Realtimd will generate an HTML snippet.
At the first release of Realtimd, the generated HTML snippet will always be the same - basically just a <script> tag pointing to a js file on the Realtimd server. However, as Realtimd evolves, it will allow you to customize the HTML snippet. For example, it will allow you to host the code yourself instead of linking to the js file on the server, and it may also allow you to enable a dashboard for your site on the Realtimd website, showing who is using Realtimd on your website and what pages they're looking at, etc. It may also allow you to have the Realtimd widget (which I'll explain in a second) served without any CSS styling, allowing you to specify your own rules and styles for the widget.
Anyway, Person A will get his/her HTML snippet from the Realtimd enable page, then put that snippet into the page with his/her content - in this case, his/her blog post pages. Realtimd is now enabled for Person A's content.
Person B views a blog post on Person A's blog, Blog Post 1. The Realtimd js file loads, and enables Realtimd on the Blog Post 1 page for Person B, telling the Realtimd service that Person B is viewing the page in the process. Then, Person C does the same thing. Both Person B and Person C are now viewing Blog Post 1, Realtimd is enabled for both of them, and they are both registered with the Realtimd service as viewing the page.
At this point, since there is more than one viewer, a little widget will appear on the page of Blog Post 1 on both Person B's screen and Person C's screen.  This widget will offer to open a chat with other users viewing the page. In this case, Persons B and C are the only users viewing the page.
Person B is interested by this, and accepts the offer. Person B is now registered with Realtimd as wanting to talk about the page.
(From this point on, user experience is not final and is subject to change.)
At this point, the Realtimd widget on Person C's screen will change to say that 1 other person is interested in talking about the page. Person C can ignore this, or can choose to chat. If Person C decides to chat, a chat window will be opened on Persons B and C's screens. They will be put in the same chat room, and can now talk about the page and its content.
As a bonus, Realtimd will at this point offer to provide additional information on behalf of each person. By default, users will appear anonymously, but users can provide additional information (basically their name) to other users. Realtimd will also offer to expose what text is selected on a particular user's screen - for example, Person B could enable this, then when talking about a particular block of text, select that text, and that selection would appear on Person C's screen.

No comments:

Post a Comment

Comment goes here.