-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathREADME.html
1129 lines (1038 loc) · 39 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Scrollback is beautifully designed text chat for open communities, easily embedded into any website.</title>
<!-- 2013-05-19 Sun 23:36 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="Org-mode" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center; }
.todo { font-family: monospace; color: red; }
.done { color: green; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
table { border-collapse:collapse; }
td, th { vertical-align:top; }
th.right { text-align: center; }
th.left { text-align: center; }
th.center { text-align: center; }
td.right { text-align: right; }
td.left { text-align: left; }
td.center { text-align: center; }
dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="org-style.css" />
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="content">
<h1 class="title">Scrollback is beautifully designed text chat for open communities, easily embedded into any website.</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1. In Brief</a></li>
<li><a href="#sec-2">2. How you can use it</a></li>
<li><a href="#sec-3">3. Quick Start Guide</a></li>
<li><a href="#sec-4">4. Who made it?</a></li>
<li><a href="#sec-5">5. How It's Different</a></li>
<li><a href="#sec-6">6. How It Works</a></li>
<li><a href="#sec-7">7. How to Use Scrollback</a></li>
<li><a href="#sec-8">8. User Experience</a></li>
<li><a href="#sec-9">9. Short Descriptions</a></li>
<li><a href="#sec-10">10. Features</a></li>
<li><a href="#sec-11">11. User Guide</a></li>
<li><a href="#sec-12">12. Administrator Guide</a></li>
<li><a href="#sec-13">13. Developer Guide</a></li>
<li><a href="#sec-14">14. Pricing, or How We Make Money</a></li>
<li><a href="#sec-15">15. Support</a></li>
<li><a href="#sec-16">16. FAQ</a></li>
</ul>
</div>
</div>
<div align="center">
<p>
If your community uses text chat
but has outgrown IRC, Skype, or Campfire
then embed a Scrollback chat in your website
and let the conversation flow!
</p>
</div>
<div id="outline-container-sec-1" class="outline-2">
<h2 id="sec-1"><span class="section-number-2">1</span> In Brief</h2>
<div class="outline-text-2" id="text-1">
<p>
Scrollback makes it easy for friends, colleagues, and customers to create community and sustain a sense of belonging on the web and on mobile, using the power of open text chat.
</p>
<p>
Our UX wizards have reinvented the text chat experience for the 21st century.
</p>
<p>
The granddaddy of open text chat, IRC, was invented in 1988. It hasn't changed much since.
</p>
<p>
Scrollback combines all the lessons learned from IRC with the ease-of-use of an embeddable web app and the power of a cloud service.
</p>
<p>
We added social and anti-abuse features to make it super engaging for users and super convenient for community managers.
</p>
<p>
And of course it works across platforms and across online media – we connect to mobile, to email, to Twitter, to Facebook.
</p>
</div>
</div>
<div id="outline-container-sec-2" class="outline-2">
<h2 id="sec-2"><span class="section-number-2">2</span> How you can use it</h2>
<div class="outline-text-2" id="text-2">
<p>
Using Scrollback, you can embed a live <i>chatstream</i> into any webpage.
</p>
<p>
A chatstream can host a long-lived, interactive <i>community</i> that's stickier and more engaging than any forum system.
</p>
<p>
Or it can spawn ad-hoc, disposable threads for short-term collaboration and quick decision-making.
</p>
</div>
</div>
<div id="outline-container-sec-3" class="outline-2">
<h2 id="sec-3"><span class="section-number-2">3</span> <a id="Quick-Start-Guide" name="Quick-Start-Guide">Quick Start Guide</a></h2>
<div class="outline-text-2" id="text-3">
<p>
A Scrollback web chat is embedded in this web page. It's already live. You're in the Welcome chat by default.
</p>
<p>
Create a new chat by giving it a name. (If it already exists, you'll join it.)
</p>
<p>
Sign in with Facebook or Github. (Soon, Google or LinkedIn too.)
</p>
<p>
Invite your friends using the <b>/summon</b> command.
</p>
<pre class="example">
> /summon Charlie Smith
#Welcome: inviting Charlie Smith from Facebook to join this chat.
</pre>
<p>
Click the pop-out button to give the chat its own browser window.
</p>
<p>
Now you can bookmark the page, share the URL, and return to that conversation anytime.
</p>
</div>
</div>
<div id="outline-container-sec-4" class="outline-2">
<h2 id="sec-4"><span class="section-number-2">4</span> Who made it?</h2>
<div class="outline-text-2" id="text-4">
<p>
We're a team of developers who got tired of IRC.
</p>
<p>
New chat systems have been appearing for the past 20 years, but none of them achieves the combination of openness and stickiness that IRC does so well.
</p>
<p>
Paul Graham <a href="http://ycombinator.com/rfs3.html">once said of Twitter</a>: "It’s really more of a discovery than an invention; that square was always there in the periodic table of protocols, but no one had quite hit it squarely."
</p>
<p>
IRC is a different square in that table. Scrollback is in the same column, a few rows down.
</p>
<p>
We wrote Scrollback primarily to support communities of developers like us.
</p>
<p>
Being web developers, we naturally put Scrollback into the web projects we built. So we engineered it for the mainstream user, too.
</p>
</div>
</div>
<div id="outline-container-sec-5" class="outline-2">
<h2 id="sec-5"><span class="section-number-2">5</span> <a id="How-It-s-Different" name="How-It-s-Different">How It's Different</a></h2>
<div class="outline-text-2" id="text-5">
<p>
Open text chat platforms are <b>stickier and more engaging</b> than any forum system. Being community-based, they are more <b>sustainable</b> than commercial chat support.
</p>
</div>
<div id="outline-container-sec-5-1" class="outline-3">
<h3 id="sec-5-1"><span class="section-number-3">5.1</span> How is it different from other chat systems?</h3>
<div class="outline-text-3" id="text-5-1">
<p>
<i>For a longer, more academic treatment of chat systems, see <a href="#Genera-of-Text-Chat">Genera of Text Chat</a>.</i>
</p>
<p>
Open text chat is <i>different</i> to IM or friends-only messaging systems, which are usually one-to-one or <b>private</b> to small groups.
</p>
<p>
Communities around opensource technologies, Kickstarter projects, or consumer brands are larger and <b>open by default</b>. They need different tools.
</p>
<p>
What about IRC? IRC is the great grand-daddy of social text chat. But it predates the Web. It predates mobile.
</p>
<p>
Most people use text chat for <b>private</b>, one-on-one discussion (like SMS text messages) or for small groups of friends (Facebook Chat, WhatsApp, Campfire).
</p>
<p>
By contrast, Scrollback's communities are <b>public</b> by default. They must be, because we serve open communities. Open communities include communities of practice (CoP) and communities of interest (CoI) as well as others.
</p>
<p>
What's a community of practice? Developers who use Node.JS. Entrepreneurs actively working on a startup.
</p>
<p>
What's a community of interest? Sports fans. Harley Davidson riders. People who like cat photos.
</p>
<p>
We serve other kinds of communities, too – groups of friends and family, co-workers within an organization, even pairs of lovers.
</p>
<p>
With open chat, the first massive challenge is abuse. Spammers and griefers
</p>
<p>
The second challenge is establishing a vibrant sense of community. We've all seen tumbleweed chatrooms: the lights are on, but nobody's home.
</p>
<p>
Experience it for yourself – jump in to the <a href="#Quick-Start-Guide">Quick Start Guide</a>.
</p>
</div>
</div>
<div id="outline-container-sec-5-2" class="outline-3">
<h3 id="sec-5-2"><span class="section-number-3">5.2</span> How is it different from IRC?</h3>
<div class="outline-text-3" id="text-5-2">
<p>
Scrollback supports scrollback. IRC doesn't. If you're not on the channel when somebody says something, it's gone forever.
</p>
<p>
Scrollback is easily embeddable into web pages. Just paste a snippet of HTML and you get an interactive Scrollback window into the chatstream of your choice.
</p>
<p>
Scrollback has a bunch of other useful features.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-6" class="outline-2">
<h2 id="sec-6"><span class="section-number-2">6</span> How It Works</h2>
<div class="outline-text-2" id="text-6">
<p>
Communities manifest in public or private chatstreams, which support powerful threaded conversations.
</p>
<p>
Scrollback hosts thousands of technical communities. We've pre-registered a Scrollback community for every project on Github.
</p>
<p>
We also host thousands of nontechnical communities. Brands, sports, close-knit groups of friends and family.
</p>
<p>
Some communities are public. Some are private. Some are in between – what we call friends-of-friends.
</p>
</div>
<div id="outline-container-sec-6-1" class="outline-3">
<h3 id="sec-6-1"><span class="section-number-3">6.1</span> Problems we Solve</h3>
<div class="outline-text-3" id="text-6-1">
</div><div id="outline-container-sec-6-1-1" class="outline-4">
<h4 id="sec-6-1-1"><span class="section-number-4">6.1.1</span> The tumbleweed problem</h4>
<div class="outline-text-4" id="text-6-1-1">
<p>
Communities require a certain minimum level of traffic to be viable. Below that minimum of responsiveness and activity, a community feels like a ghost town. "Hello? Is anybody around?" That's the tumbleweed problem.
</p>
<p>
We solve this problem in a number of ways.
</p>
</div>
<ol class="org-ol"><li>Permeable Thread Boundaries<br /><div class="outline-text-5" id="text-6-1-1-1">
<p>
Scrollback knows exactly how many users on a thread are actively monitoring it and how many are idle or AFK.
</p>
<p>
If a user joins a dormant thread, their questions will, if possible, automatically bubble to any parent, sibling, or child threads which contain more active users.
</p>
</div>
</li>
<li>Scrollback Auto-search<br /><div class="outline-text-5" id="text-6-1-1-2">
<p>
We borrow a technique from Google Instant and from Quora. When a user asks a question, we automatically search through the history of the current thread and related threads. In that way, the chatstream itself responds to the user.
</p>
</div>
</li>
<li>Configurable Autoresponses<br /><div class="outline-text-5" id="text-6-1-1-3">
<p>
Members of a chatstream can configure autoresponses to fine-tune Scrollback's behaviour.
</p>
<pre class="example">
> /define problem.*windows = have you tried rebooting?
< autoresponse defined for chatstream #TechHelp.
<newbie> Hi, I'm having a problem with my Windows laptop.
<#TechHelp> have you tried rebooting?
</pre>
</div>
</li></ol>
</div>
<div id="outline-container-sec-6-1-2" class="outline-4">
<h4 id="sec-6-1-2"><span class="section-number-4">6.1.2</span> Backward Compatibility</h4>
<div class="outline-text-4" id="text-6-1-2">
<p>
If an existing, active IRC community exists, we gateway to it, instead of trying to compete with it.
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-sec-7" class="outline-2">
<h2 id="sec-7"><span class="section-number-2">7</span> How to Use Scrollback</h2>
<div class="outline-text-2" id="text-7">
<p>
Scrollback contains millions of <b>Chatstreams</b>.
</p>
<p>
Some Chatstreams exist for mere minutes. For example, if a group of people are dialed in to a conference call, creating a chatstream for that meeting is the fastest, easiest way to get everyone sharing a chat.
</p>
<p>
Some Chatstreams persist for years. Imagine a community of software developers. They come and go. They fork conversations into special interest groups. But the overall identity of the community remains.
</p>
<p>
Members join and unjoin a particular Chatstream.
</p>
<p>
(future feature) You can fork a chatstream. When we talk about forked chatstreams, we sometimes refer to them as <b>threads</b>.
</p>
</div>
</div>
<div id="outline-container-sec-8" class="outline-2">
<h2 id="sec-8"><span class="section-number-2">8</span> User Experience</h2>
<div class="outline-text-2" id="text-8">
<p>
After you participate in a Chatstream, we'll automatically save that Conversation to your History, so you can go back and review any Conversations that you participated in.
</p>
</div>
</div>
<div id="outline-container-sec-9" class="outline-2">
<h2 id="sec-9"><span class="section-number-2">9</span> Short Descriptions</h2>
<div class="outline-text-2" id="text-9">
</div><div id="outline-container-sec-9-1" class="outline-3">
<h3 id="sec-9-1"><span class="section-number-3">9.1</span> We are the most frictionless way to create a strong online community. A Scrollback chatroom is a URL away.</h3>
</div>
</div>
<div id="outline-container-sec-10" class="outline-2">
<h2 id="sec-10"><span class="section-number-2">10</span> Features</h2>
<div class="outline-text-2" id="text-10">
<p>
Scrollback is designed with the modern web in mind. Features include:
</p>
<ul class="org-ul">
<li>Social media integration make it easy to retweet a useful or funny conversation.
</li>
<li>Social network integration makes it easy to summon friends into a chat.
</li>
<li>Web integration simplifies away many of the awkward pain points of IRC.
</li>
</ul>
</div>
<div id="outline-container-sec-10-1" class="outline-3">
<h3 id="sec-10-1"><span class="section-number-3">10.1</span> Embeddable into any Website</h3>
<div class="outline-text-3" id="text-10-1">
<p>
Paste our embed string into any web page to get a Scrollback portal as a widget in your web page. Users can pop out that portal to enter the full Scrollback UI.
</p>
</div>
</div>
<div id="outline-container-sec-10-2" class="outline-3">
<h3 id="sec-10-2"><span class="section-number-3">10.2</span> Look and Feel integration</h3>
<div class="outline-text-3" id="text-10-2">
<p>
We use Javascript to makes the Scrollback widget look like a seamless part of your website, using your colours, fonts, and styles.
</p>
</div>
</div>
<div id="outline-container-sec-10-3" class="outline-3">
<h3 id="sec-10-3"><span class="section-number-3">10.3</span> Fully Webby</h3>
<div class="outline-text-3" id="text-10-3">
</div><div id="outline-container-sec-10-3-1" class="outline-4">
<h4 id="sec-10-3-1"><span class="section-number-4">10.3.1</span> If you drag a URL into the chat, it gets posted to the chat</h4>
</div>
</div>
<div id="outline-container-sec-10-4" class="outline-3">
<h3 id="sec-10-4"><span class="section-number-3">10.4</span> URL Preview</h3>
<div class="outline-text-3" id="text-10-4">
<p>
When somebody posts a URL, a preview of the page shows up in the right margin.
</p>
</div>
</div>
<div id="outline-container-sec-10-5" class="outline-3">
<h3 id="sec-10-5"><span class="section-number-3">10.5</span> Infinite Scrollback</h3>
<div class="outline-text-3" id="text-10-5">
<p>
Every chatstream's scrollback is stored forever and searchable.
</p>
</div>
</div>
<div id="outline-container-sec-10-6" class="outline-3">
<h3 id="sec-10-6"><span class="section-number-3">10.6</span> Pin text</h3>
<div class="outline-text-3" id="text-10-6">
<p>
Each chatstream can define certain keywords which, if they are defined in the course of conversation, will cause those utterances to be pinned to the top of the chatstream.
</p>
<pre class="example">
> /add pintext NewbieGuide
< "NewbieGuide" will be pinned to your chatstream.
< You have 3 pins remaining.
> NewbieGuide is available at http://example.com/blah/blah
< before: NewbieGuide needs to be written
< after: NewbieGuide is available at http://example.com/blah/blah
</pre>
</div>
</div>
<div id="outline-container-sec-10-7" class="outline-3">
<h3 id="sec-10-7"><span class="section-number-3">10.7</span> Smart URLs</h3>
<div class="outline-text-3" id="text-10-7">
<p>
Every conversation has a URL. Inviting someone to join a thread is as easy as sharing the URL. You can bookmark useful conversations and come back to them weeks or years later.
</p>
<pre class="example">
http://askabt.com/scrollback/868#bacon1
</pre>
</div>
</div>
<div id="outline-container-sec-10-8" class="outline-3">
<h3 id="sec-10-8"><span class="section-number-3">10.8</span> Built-In Nopaste</h3>
<div class="outline-text-3" id="text-10-8">
<p>
If you paste a source code segment larger than 5 lines, we auto-collapse it, so it doesn't disrupt the rest of the chatstream. Other chatstream members can automatically expand and collapse your text.
</p>
<p>
Thus is Pastebin built in.
</p>
<p>
Your text will automatically pin to the left margin so you can discuss it without it disappearing and scrolling off to the top of the screen.
</p>
<pre class="example">
> Hey guys, can you help me with my code?
<Guru> Sure, what is ur problem now?
> It doesn't work.
<Guru> Sigh, you'd better show us.
> OK here goes.
> #include <stdio.h>
> int main(void)
> {
> printf("Hello world\n');
> return 0;
> }
</pre>
</div>
</div>
<div id="outline-container-sec-10-9" class="outline-3">
<h3 id="sec-10-9"><span class="section-number-3">10.9</span> Built-In Document Sharing</h3>
</div>
<div id="outline-container-sec-10-10" class="outline-3">
<h3 id="sec-10-10"><span class="section-number-3">10.10</span> Intuitive, flexible joins and leaves</h3>
<div class="outline-text-3" id="text-10-10">
<p>
Suppose you're in a chatstream with Bob and Charlie. You decide that David should be involved in this conversation. You can add David. David will have access to the scrollback in the chatstream. He can read the scrollback to catch up to the context of your conversation.
</p>
<p>
By default, David will see the last 24 hours of scrollback. If you want him to see more scrollback, any chatstream moderator, or the person who added David, can easily tweak this: just right-click on David's name and tweak his access accordingly, to have "full scrollback". David can also request more scrollback.
</p>
<p>
You can configure your chatstreams to allow 24 hours or infinite scrollback by default.
</p>
</div>
</div>
<div id="outline-container-sec-10-11" class="outline-3">
<h3 id="sec-10-11"><span class="section-number-3">10.11</span> Automatic Geolocation Segmentation</h3>
<div class="outline-text-3" id="text-10-11">
<p>
Large communities usually organize into geographic chapters. If a community becomes too large, the community manager can flip a switch and divide it by geography. Members segment into the appropriate zone, which is sized automatically by the Scrollback backend – East Coast vs West Coast, by state, by city.
</p>
</div>
</div>
<div id="outline-container-sec-10-12" class="outline-3">
<h3 id="sec-10-12"><span class="section-number-3">10.12</span> Multithreading support</h3>
<div class="outline-text-3" id="text-10-12">
<p>
With the same group of people, at the same time, multiple conversations can overlap. We organize threads of conversation visually so you can stay clear in your mind.
</p>
</div>
</div>
<div id="outline-container-sec-10-13" class="outline-3">
<h3 id="sec-10-13"><span class="section-number-3">10.13</span> Smart Scrollbar</h3>
<div class="outline-text-3" id="text-10-13">
<p>
Most scrollbars are linear with text. Our smart scrollbar is linear with time – it shows conversations and presence.
</p>
</div>
</div>
<div id="outline-container-sec-10-14" class="outline-3">
<h3 id="sec-10-14"><span class="section-number-3">10.14</span> Filters</h3>
<div class="outline-text-3" id="text-10-14">
<ul class="org-ul">
<li>Ignore all guest members.
</li>
<li>Prioritize messages from your Facebook friends.
</li>
</ul>
</div>
</div>
<div id="outline-container-sec-10-15" class="outline-3">
<h3 id="sec-10-15"><span class="section-number-3">10.15</span> Expanding Ripples</h3>
<div class="outline-text-3" id="text-10-15">
<p>
If you need help, and nobody's around, your questions automatically spread to nearby chatstreams.
</p>
<p>
The "Cry for Help" is a text bubble that floats across a user's screen at most once a minute. Users can turn it off. It contains questions from nearby communities.
</p>
<p>
What is a nearby community? It is a community which belongs to the same categories as the initial community.
</p>
</div>
</div>
<div id="outline-container-sec-10-16" class="outline-3">
<h3 id="sec-10-16"><span class="section-number-3">10.16</span> Social Network and Social Media Integration</h3>
<div class="outline-text-3" id="text-10-16">
<p>
Our powerful social features reach beyond text chat to give you integration with Twitter, Facebook, and LinkedIn.
</p>
</div>
<div id="outline-container-sec-10-16-1" class="outline-4">
<h4 id="sec-10-16-1"><span class="section-number-4">10.16.1</span> Easy Tweety</h4>
<div class="outline-text-4" id="text-10-16-1">
<p>
Did somebody just say something profound? Tweet it.
</p>
</div>
</div>
<div id="outline-container-sec-10-16-2" class="outline-4">
<h4 id="sec-10-16-2"><span class="section-number-4">10.16.2</span> Instant Dossier</h4>
<div class="outline-text-4" id="text-10-16-2">
<p>
Did somebody just join the channel? Their Facebook and LinkedIn profiles are only a click away. Hover over their avatar/nickname to see more about them.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-10-17" class="outline-3">
<h3 id="sec-10-17"><span class="section-number-3">10.17</span> Other Third Party Integrations</h3>
<div class="outline-text-3" id="text-10-17">
</div><div id="outline-container-sec-10-17-1" class="outline-4">
<h4 id="sec-10-17-1"><span class="section-number-4">10.17.1</span> Evernote Integration</h4>
<div class="outline-text-4" id="text-10-17-1">
<p>
saves the entire scrollback into an evernote notebook for you. that evernote notebook is updated with daily logs of the chat.
</p>
</div>
</div>
<div id="outline-container-sec-10-17-2" class="outline-4">
<h4 id="sec-10-17-2"><span class="section-number-4">10.17.2</span> IFTTT Integration</h4>
<div class="outline-text-4" id="text-10-17-2">
<p>
Define triggers in your chatstreams that connect to IFTTT for further scriptable actions.
</p>
<p>
The functionality that has traditionally required a separate IRC Bot can now be configured directly into your chatstreams.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-10-18" class="outline-3">
<h3 id="sec-10-18"><span class="section-number-3">10.18</span> Multimedia Integration</h3>
<div class="outline-text-3" id="text-10-18">
<p>
Scrollback does not support video or voice chat directly. Instead, it supports easy call-outs to Skype, ooVoo, and 3rd party multimedia chat providers.
</p>
</div>
</div>
<div id="outline-container-sec-10-19" class="outline-3">
<h3 id="sec-10-19"><span class="section-number-3">10.19</span> Continuous Partial Attention</h3>
<div class="outline-text-3" id="text-10-19">
<p>
The last thing you need is another messaging medium – if it's just another source of noise and bother.
</p>
<p>
We know that your attention is the scarcest resource you have. We respect and conserve it in a number of ways.
</p>
</div>
<div id="outline-container-sec-10-19-1" class="outline-4">
<h4 id="sec-10-19-1"><span class="section-number-4">10.19.1</span> Etiquette</h4>
<div class="outline-text-4" id="text-10-19-1">
<p>
The etiquette of Scrollback honors your right to go AFK: to go offline, away from the keyboard, in the real world.
</p>
</div>
</div>
<div id="outline-container-sec-10-19-2" class="outline-4">
<h4 id="sec-10-19-2"><span class="section-number-4">10.19.2</span> Summary</h4>
<div class="outline-text-4" id="text-10-19-2">
<p>
Scrollback automatically accretes a summary of what happened while you were away. It emails you that summary once a day so you can catch up.
</p>
</div>
</div>
<div id="outline-container-sec-10-19-3" class="outline-4">
<h4 id="sec-10-19-3"><span class="section-number-4">10.19.3</span> Triage Pane</h4>
<div class="outline-text-4" id="text-10-19-3">
<p>
The web interface gathers into a single view all communications directed at you. It lets you dismiss the ones that have gone stale, leaving only those that deserve a response.
</p>
</div>
</div>
<div id="outline-container-sec-10-19-4" class="outline-4">
<h4 id="sec-10-19-4"><span class="section-number-4">10.19.4</span> Priority Invocations</h4>
<div class="outline-text-4" id="text-10-19-4">
<p>
If you're expecting an urgent communication, you can tell Scrollback to notify you by mobile or email, to summon you back to the chat.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-10-20" class="outline-3">
<h3 id="sec-10-20"><span class="section-number-3">10.20</span> Customization</h3>
<div class="outline-text-3" id="text-10-20">
<p>
We're designed to be embedded. It's easy for you to re-skin Scrollback to match your existing look and feel.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-11" class="outline-2">
<h2 id="sec-11"><span class="section-number-2">11</span> User Guide</h2>
<div class="outline-text-2" id="text-11">
<p>
This part of the guide helps users get the most out of Scrollback.
</p>
</div>
<div id="outline-container-sec-11-1" class="outline-3">
<h3 id="sec-11-1"><span class="section-number-3">11.1</span> Interfaces</h3>
<div class="outline-text-3" id="text-11-1">
<p>
You probably encountered Scrollback for the first time as an embeddable pop-up chat window in a website somewhere. That chat widget is a window into the universe of Scrollback chats. To explore that universe, click the pop-out button.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-12" class="outline-2">
<h2 id="sec-12"><span class="section-number-2">12</span> Administrator Guide</h2>
<div class="outline-text-2" id="text-12">
</div><div id="outline-container-sec-12-1" class="outline-3">
<h3 id="sec-12-1"><span class="section-number-3">12.1</span> Chatstream Deletion</h3>
<div class="outline-text-3" id="text-12-1">
<p>
By default, every chatstream is stored forever. Chatstream owners can delete all or part of a chatstream.
</p>
</div>
</div>
</div>
<div id="outline-container-sec-13" class="outline-2">
<h2 id="sec-13"><span class="section-number-2">13</span> Developer Guide</h2>
<div class="outline-text-2" id="text-13">
<p>
This part of the guide is for developers who want to:
</p>
<ul class="org-ul">
<li>embed a Scrollback chatstream in their own websites
</li>
<li>make API calls against the Scrollback API
</li>
</ul>
</div>
<div id="outline-container-sec-13-1" class="outline-3">
<h3 id="sec-13-1"><span class="section-number-3">13.1</span> Theory</h3>
<div class="outline-text-3" id="text-13-1">
</div><div id="outline-container-sec-13-1-1" class="outline-4">
<h4 id="sec-13-1-1"><span class="section-number-4">13.1.1</span> Primitives</h4>
<div class="outline-text-4" id="text-13-1-1">
<p>
What is a conversation?
</p>
<p>
It is a combination of three primitives:
</p>
<ol class="org-ol">
<li>People
</li>
<li>Topic (subject matter)
</li>
<li>Time period
</li>
</ol>
<p>
Any two of those three is sufficient to identify a conversation.
</p>
</div>
</div>
<div id="outline-container-sec-13-1-2" class="outline-4">
<h4 id="sec-13-1-2"><span class="section-number-4">13.1.2</span> <a id="Genera-of-Text-Chat" name="Genera-of-Text-Chat">Genera of Text Chat</a></h4>
<div class="outline-text-4" id="text-13-1-2">
<p>
Our classification of text chat media prefers the term "genre" to "generation" because the affordances and modalities of chat media tend to recur across platforms and over time. Systems such as Habitat (1986) and Second Life (2003) share a thread; so do CU-SeeMe (1992) and ooVoo (2007).
</p>
</div>
<ol class="org-ol"><li>1st Gen: one-to-one text talk<br /><div class="outline-text-5" id="text-13-1-2-1">
<p>
Text-only, generally one-to-one, private chats.
</p>
<ul class="org-ul">
<li>SMS
</li>
<li>Unix talk
</li>
<li>ICQ
</li>
<li>AIM
</li>
<li>basic Jabber and Google Talk
</li>
<li>basic Facebook Messenger
</li>
</ul>
</div>
</li>
<li>2nd Gen: multi-user social text chat<br /><div class="outline-text-5" id="text-13-1-2-2">
<p>
Text-only, multi-user chats introduce a public/private dimension, with ACLs that include <i>invite only</i> and <i>secret</i> modes.
</p>
<ul class="org-ul">
<li>AOL Chatrooms
</li>
<li>IRC
</li>
<li>MUDs and MOOs
</li>
<li>Facebook Chats
</li>
</ul>
</div>
</li>
<li>3rd Gen: multimedia integration<br /><div class="outline-text-5" id="text-13-1-2-3">
<p>
Going beyond text to voice and video chat. The public/private dimension remains, but typically retreats to small groups of friends. Appearance of visual avatars.
</p>
<ul class="org-ul">
<li>Skype
</li>
<li>iChat
</li>
<li>ooVoo
</li>
<li>Habitat
</li>
<li>Second Life
</li>
<li>MMORPGS
</li>
<li>Chatroulette is notable as an extreme case for its flagship, exhibitionistic fully-public connections with strangers.
</li>
</ul>
</div>
</li>
<li>4th Gen: mobile platforms<br /><div class="outline-text-5" id="text-13-1-2-4">
<p>
Some 3rd gen chat platforms successfully extended to mobile platforms. New mobile-first platforms arose as OTT services.
</p>
<ul class="org-ul">
<li>Skype
</li>
<li>iChat
</li>
<li>WhatsApp
</li>
<li>Viber
</li>
</ul>
</div>
</li>
<li>5th Gen: multi-user social chat with multimedia integration and mobile support<br /><div class="outline-text-5" id="text-13-1-2-5">
<p>
5th Gen systems work with a broad palette of features. No longer limited by technology, 5th Gen systems differ in their choice of design tradeoffs. They differentiate along dimensions of etiquette and the aesthetics of the user experience.
</p>
</div>
</li></ol>
</div>
<div id="outline-container-sec-13-1-3" class="outline-4">
<h4 id="sec-13-1-3"><span class="section-number-4">13.1.3</span> Affordances of Text Chat</h4>
<div class="outline-text-4" id="text-13-1-3">
<p>
The differences between text chat systems can be articulated using the following (incomplete) list:
</p>
<ul class="org-ul">
<li>threading
</li>
<li>highlighting
</li>
<li>scrollback
</li>
<li>logging
</li>
<li>bots
</li>
<li>etiquette conventions
</li>
<li>out of office autoreply
</li>
<li>gateways between multiple protocols
</li>
<li>presence notification
</li>
<li>sync vs async
</li>
<li>the idea of lag
</li>
<li>the idea of netsplits
</li>
<li>the idea of channels
</li>
<li>the idea of editability
</li>
<li>lurking (active vs peripheral participation)
</li>
<li>group chat vs 1-to-1
</li>
<li>different status levels (regular, chanop, oper)
</li>
<li>reputation system ranking
</li>
<li>degree of technical skill required to use the medium – is the primary interface Terminal or Browser?
</li>
<li>maximum message length
</li>
<li>which then gave rise to URL shorteners
</li>
<li>support for plain text vs HTML
</li>
<li>are images embeddable?
</li>
<li>support for file transfers
</li>
</ul>
</div>
</div>
<div id="outline-container-sec-13-1-4" class="outline-4">
<h4 id="sec-13-1-4"><span class="section-number-4">13.1.4</span> Major Columns in the Periodic Table of Protocols</h4>
<div class="outline-text-4" id="text-13-1-4">
<ul class="org-ul">
<li>one-to-many push = announcement mailing lists
</li>
<li>one-to-many pull = blogs
</li>
<li>many-to-many push = discussion mailing lists
</li>
<li>one-to-one realtime chat