Enterprise - Microblogging - IM - Email




                             Enterprise IM, Group Chat, Microblogging & Email
                 With Integrated Content Filtering, Malware Protection, URL & Image Filtering and Archiving with eDiscovery


                                                   David Banes - CEO/Founder

                                                             Presentation for




Wednesday, 2 February 2011

Me, product and R&D management in IT security and messaging, (Dr Sols (McAfee AV engine), Symantec(NAV
special projects and virus analysis), MessageLabs(SaaS infrastructure, DBCS projects) moving into social platforms
in 2005 (Jive Forums, then Clearspace/Jive SBS, hosted/SaaS and on premise.

Going to talk about our microblogging client/server and the decisions we took.
Enterprise - Microblogging - IM - Email




                                   Cleartext Overview

                   ‱         EIM, Group Chat & Microblogging

                   ‱         SaaS / on premise hybrid, desktop and mobile

                   ‱         Web portal for resellers and clients

                   ‱         Security and compliance designed in

                   ‱         Standards based XMPP platform (RFC 3920, 3921)

                   ‱         Extensible e.g. microblogging component




Wednesday, 2 February 2011

Background - Cleartext Email SaaS, hosting, managed security, business messaging not end user free/freemium
etc.
CipherIM (1999, moved to Jabber 2001-3)
Our platform is ejabberd, custom erlang modules, python microblogging server component, AIR desktop app.
Enterprise - Microblogging - IM - Email




                             ‘Social’ Technologies
                                       Public                Private              Enterprise

                   Web Social         Facebook                Mzinga                  Jive SBS

                Microblogging          Twitter               Yammer                 Cleartext




Wednesday, 2 February 2011

Our view of this technology space
Public - Open to everyone, who cares who sees who and what is shared?
Private - Closed network - Company conïŹdential data etc (Yammer talk about security but they mean SSL)
Enterprise - has security and compliance built in
Enterprise - Microblogging - IM - Email




                                         Microblogging
                   ‱         Main Features

                         ‱     Timelines, public & direct messages

                         ‱     ProïŹles, followers and following lists

                         ‱     Re-Tweets and mentions

                         ‱     Hashtags, search (track)

                         ‱     Enterprise Microblogging

                              ‱   Malware & URL Filtering

                              ‱   Content Control

                              ‱   Archiving & eDiscovery

Wednesday, 2 February 2011

Key features and how they align with XMPP, so the technology aligns well.
Lists and groups also feature which XMPP can handle
URL ïŹltering became important a year or so back
Enterprise - Microblogging - IM - Email




                              Federated Microblogging
                   ‱         The difference between public and enterprise

                   ‱         Problems to solve

                         ‱     Message routing

                         ‱     Access control

                              ‱   Message data, address books, search results

                         ‱     How would a web interface work across domains/servers?

                         ‱     Is search/track across domains realistic?

                   ‱         Do we need to solve them for business customers?


Wednesday, 2 February 2011

Twitter vs, Cleartext, Yammer, OneSocialWeb etc (public services, we want everyone to see, enterprise we don’t,
especially those outside the business)
Routing is easy - XMPP
Data access is the real issue (msg data, address books re: follows etc, search)
Groups and chat rooms offer some solutions
No not for public web based microblogging, but yes for XMPP enterprise. (although Yammer use HTTP and XMPP
they still silo domains, but allow cross domain groups )
Enterprise - Microblogging - IM - Email




                              Enterprise Microblogging

                   ‱         Minimum Features for business use

                         ‱     Similar to Twitter, tweet, follow, search, DM, RT etc

                         ‱     ‘Real time’ search results

                         ‱     Cloud or on premise install*

                         ‱     Security & compliance modules

                         ‱     Desktop app to fully integrate with IM.

                         ‱     Mobile, we use 3rd party eg OneTeam



Wednesday, 2 February 2011
Key features and how they align with twitter, base line features, i.e. no lists and backward facing timelines not important if got
local history and SaaS archive
First three are generic, next after talking to customers
We have web app in R&D, it works but not our focus
Arguably there’s no pressing need for federation yet, customers see microblogging as an internal productivity tool
Enterprise - Microblogging - IM - Email




                  Enterprise Microblogging Server

                   ‱         Technology Features

                         ‱     Inspired by XMPP: The DeïŹnitive Guide

                         ‱     Modelled on ProcessOne Twitter Gateway

                         ‱     Python XMPP component (XEP-0114)

                         ‱     ejabberd MySQL user database with modiïŹed schema

                         ‱     NOT federated!

                         ‱     Announcement! Open Source (Feb ’11)



Wednesday, 2 February 2011
Cleartext Microblogging platform
Message driven (not IQ’s), just like the processone twitter gateway.
Python is easier to work with than erlang
Re-use ejabberd schema with small mods to users table, plus a couple more tables for followers etc
Opting out of federation ‘solves’ the before mentioned data security problems.
We have the component 90% ready for open source, just install docs to tidy up.
Enterprise - Microblogging - IM - Email




                                 Text Based Commands
           Help Command
           Cleartext microblog, version 0.1.11.
           Commands:
             "me" - shows who you are, your username and jid (Jabber ID)
             "ers" - shows your followers
             "ing" - shows who you follow
             "f username" - follow this user
             "u username" - unfollow this user
             "d username message text" - send direct message to the user
             "@username message text" - mention a user, a public message to a user
             "s" - show saved searches
             "s word" - save live search term
             "us word" - delete live search term
             "help" - show this help


            Need more help? Go to the online help: http://www.cleartext.com/esm




Wednesday, 2 February 2011
How does the Cleartext solution work?
Just like Process One’s Twitter gateway, the server understands a set of commands
Enterprise - Microblogging - IM - Email




                                                Custom Stanzas
           Help Command
           <message id="153" from="dbanes@cleartext.com/9643007101295859746231576" to="cleartext.cleartext.com" type="chat">

             <body>help</body>
             <active xmlns="http://jabber.org/protocol/chatstates"/>
             <x from="dbanes@cleartext.com/9643007101295859746231576" stamp="2011-01-24T10:46:10Z" xmlns="urn:xmpp:delay"/>
             <x xmlns="http://cleartext.net/mblog">
              <buddy type="sender">
                <displayName>dbanes@cleartext.com</displayName>
                <userName>dbanes</userName>
                <jid>dbanes@cleartext.com</jid>
                <avatar type="hash">56a03afdd9ab286d43c8f1715fac013d4c53f15a</avatar>
                <serviceJid>cleartext.cleartext.com</serviceJid>
              </buddy>
             </x>
           </message>




Wednesday, 2 February 2011
We have a set of custom stanzas that the client and server understands
Enterprise - Microblogging - IM - Email




                                                 Server Response

           Cleartext microblog, version 0.1.11.
           Commands:
             "me" - shows who you are, your username and jid (Jabber ID)
             "ers" - shows your followers
             "ing" - shows who you follow
             "f username" - follow this user
             "u username" - unfollow this user
             "d username message text" - send direct message to the user
             "@username message text" - mention a user, a public message to a user
             "s" - show saved searches
             "s word" - save live search term
             "us word" - delete live search term
             "help" - show this help


            Need more help? Go to the online help: http://www.cleartext.com/esm




Wednesday, 2 February 2011
Enterprise - Microblogging - IM - Email




                                                Custom Stanzas
           Follow Command
           <message id="41" from="dbanes@cleartext.com/4732502611296587389793170" to="twitter.cleartext.com" type="chat">
             <body>f noornet</body>
             <active xmlns="http://jabber.org/protocol/chatstates"/>
             <x from="dbanes@cleartext.com/4732502611296587389793170" stamp="2011-02-01T19:23:38Z" xmlns="urn:xmpp:delay"/>
           </message>



           Server Response
           <message from='twitter.cleartext.com' to='dbanes@cleartext.com/4732502611296587389793170' type='chat'>
             <body>User noornet has been added to your following list</body>
           </message>




Wednesday, 2 February 2011
Enterprise - Microblogging - IM - Email




                                                Custom Stanzas
           To Tweet...
           <message id="156" from="dbanes@cleartext.com/9643007101295859746231576" to="cleartext.cleartext.com" type="chat">

             <body>it's time for end of month expenses please</body>
             <active xmlns="http://jabber.org/protocol/chatstates"/>
             <x from="dbanes@cleartext.com/9643007101295859746231576" stamp="2011-01-24T10:49:05Z" xmlns="urn:xmpp:delay"/>
             <x xmlns="http://cleartext.net/mblog">
              <buddy type="sender">
                <displayName>dbanes@cleartext.com</displayName>
                <userName>dbanes</userName>
                <jid>dbanes@cleartext.com</jid>
                <avatar type="hash">56a03afdd9ab286d43c8f1715fac013d4c53f15a</avatar>
                <serviceJid>cleartext.cleartext.com</serviceJid>
              </buddy>
             </x>
           </message>




Wednesday, 2 February 2011
Enterprise - Microblogging - IM - Email




                                                Custom Stanzas

           Incoming Tweet...
           <message from='cleartext.cleartext.com' to='dbanes@cleartext.com' type='chat'>

           	

     <body>@admin: my expenses will be late</body>
           	

     <x xmlns='http://cleartext.net/mblog'>
           	

     	

       <buddy type='sender'>
           	

     	

       	

   <displayName>Ozzie</displayName>
           	

     	

       	

   <userName>admin</userName>
           	

     	

       	

   <jid>admin@cleartext.com</jid>
           	

     	

       	

   <avatar type='hash'>ed90623da0e6963516abce705dd24bf0e84a03bd</avatar>
           	

     	

       	

   <serviceJid>cleartext.cleartext.com</serviceJid>
           	

     	

       	

   <text xmlns='http://cleartext.net/mblog'>my expenses will be late</text>
           	

     	

       </buddy>
           	

     </x>
           </message>




Wednesday, 2 February 2011
Enterprise - Microblogging - IM - Email




                             Incoming Tweets




Wednesday, 2 February 2011
Enterprise - Microblogging - IM - Email




                                        XMPP Goodness
                   ‱         Customers can add their own bots e.g. CRM’s can tweet

                   ‱         DM’s become regular IM sessions (push)

                   ‱         We can use a users proïŹle (vCard)

                   ‱         All messages to/from all end points are;

                         ‱     Archived

                         ‱     URL scanned

                         ‱     Image Scanned

                         ‱     etc...




Wednesday, 2 February 2011

Simple extensibility that any developer can work with and get results quickly.
Enterprise - Microblogging - IM - Email




                                              CRM’s can Tweet

          $conn = new XMPPHP_XMPP('xmpp.service.net', 5222, 'our_crm', 'our_password', 'xmpphp', 'service.net',);	

       	

          	

    try {
          	

        $conn->connect();
          	

        $conn->processUntil('session_start');
          	

        $conn->presence();
          	

        $conn->message('cleartext.service.net', $this->session->userdata('userfullname').' edited customer: '.$_POST['customer_name']);
          	

        $conn->disconnect();
          	

    } catch(XMPPHP_Exception $e) {
          	

        die($e->getMessage());
          	

    }




Wednesday, 2 February 2011
Many libraries that allow customer IT staff to put data feeds together, for example our CRM is built with PHP so it’s as simple as
this.
Enterprise - Microblogging - IM - Email




                                               Summary

                   ‱         PubSub extra work, lack of client support

                   ‱         XEP-0277 not ready for prime time?

                   ‱         We don’t think federation is important to business yet

                   ‱         A federated microblogging platform is more about data
                             security than protocols and routing

                   ‱         The ACL problem is non-trivial and an admins nightmare

                   ‱         Join/fork us at Github - a solution that works now.




Wednesday, 2 February 2011

Does PubSub address data security questions?
Microblogging over XMPP - xmpp.org/extensions/xep-0277.html
Lowest common denominator being XMPP messages
We needed an EIM client anyway
Github will have code, docs which include install help and custom stanza details
Enterprise - Microblogging - IM - Email




                             DEMO

Wednesday, 2 February 2011
Enterprise - Microblogging - IM - Email




                             Questions
                             http://www.cleartext.com/
                              dbanes@cleartext.com
                                 Twitter @dbanes




Wednesday, 2 February 2011

SeaBeyond 2011 ProcessOne - David Banes: Cleartext microblogging

  • 1.
    Enterprise - Microblogging- IM - Email Enterprise IM, Group Chat, Microblogging & Email With Integrated Content Filtering, Malware Protection, URL & Image Filtering and Archiving with eDiscovery David Banes - CEO/Founder Presentation for Wednesday, 2 February 2011 Me, product and R&D management in IT security and messaging, (Dr Sols (McAfee AV engine), Symantec(NAV special projects and virus analysis), MessageLabs(SaaS infrastructure, DBCS projects) moving into social platforms in 2005 (Jive Forums, then Clearspace/Jive SBS, hosted/SaaS and on premise. Going to talk about our microblogging client/server and the decisions we took.
  • 2.
    Enterprise - Microblogging- IM - Email Cleartext Overview ‱ EIM, Group Chat & Microblogging ‱ SaaS / on premise hybrid, desktop and mobile ‱ Web portal for resellers and clients ‱ Security and compliance designed in ‱ Standards based XMPP platform (RFC 3920, 3921) ‱ Extensible e.g. microblogging component Wednesday, 2 February 2011 Background - Cleartext Email SaaS, hosting, managed security, business messaging not end user free/freemium etc. CipherIM (1999, moved to Jabber 2001-3) Our platform is ejabberd, custom erlang modules, python microblogging server component, AIR desktop app.
  • 3.
    Enterprise - Microblogging- IM - Email ‘Social’ Technologies Public Private Enterprise Web Social Facebook Mzinga Jive SBS Microblogging Twitter Yammer Cleartext Wednesday, 2 February 2011 Our view of this technology space Public - Open to everyone, who cares who sees who and what is shared? Private - Closed network - Company conïŹdential data etc (Yammer talk about security but they mean SSL) Enterprise - has security and compliance built in
  • 4.
    Enterprise - Microblogging- IM - Email Microblogging ‱ Main Features ‱ Timelines, public & direct messages ‱ ProïŹles, followers and following lists ‱ Re-Tweets and mentions ‱ Hashtags, search (track) ‱ Enterprise Microblogging ‱ Malware & URL Filtering ‱ Content Control ‱ Archiving & eDiscovery Wednesday, 2 February 2011 Key features and how they align with XMPP, so the technology aligns well. Lists and groups also feature which XMPP can handle URL ïŹltering became important a year or so back
  • 5.
    Enterprise - Microblogging- IM - Email Federated Microblogging ‱ The difference between public and enterprise ‱ Problems to solve ‱ Message routing ‱ Access control ‱ Message data, address books, search results ‱ How would a web interface work across domains/servers? ‱ Is search/track across domains realistic? ‱ Do we need to solve them for business customers? Wednesday, 2 February 2011 Twitter vs, Cleartext, Yammer, OneSocialWeb etc (public services, we want everyone to see, enterprise we don’t, especially those outside the business) Routing is easy - XMPP Data access is the real issue (msg data, address books re: follows etc, search) Groups and chat rooms offer some solutions No not for public web based microblogging, but yes for XMPP enterprise. (although Yammer use HTTP and XMPP they still silo domains, but allow cross domain groups )
  • 6.
    Enterprise - Microblogging- IM - Email Enterprise Microblogging ‱ Minimum Features for business use ‱ Similar to Twitter, tweet, follow, search, DM, RT etc ‱ ‘Real time’ search results ‱ Cloud or on premise install* ‱ Security & compliance modules ‱ Desktop app to fully integrate with IM. ‱ Mobile, we use 3rd party eg OneTeam Wednesday, 2 February 2011 Key features and how they align with twitter, base line features, i.e. no lists and backward facing timelines not important if got local history and SaaS archive First three are generic, next after talking to customers We have web app in R&D, it works but not our focus Arguably there’s no pressing need for federation yet, customers see microblogging as an internal productivity tool
  • 7.
    Enterprise - Microblogging- IM - Email Enterprise Microblogging Server ‱ Technology Features ‱ Inspired by XMPP: The DeïŹnitive Guide ‱ Modelled on ProcessOne Twitter Gateway ‱ Python XMPP component (XEP-0114) ‱ ejabberd MySQL user database with modiïŹed schema ‱ NOT federated! ‱ Announcement! Open Source (Feb ’11) Wednesday, 2 February 2011 Cleartext Microblogging platform Message driven (not IQ’s), just like the processone twitter gateway. Python is easier to work with than erlang Re-use ejabberd schema with small mods to users table, plus a couple more tables for followers etc Opting out of federation ‘solves’ the before mentioned data security problems. We have the component 90% ready for open source, just install docs to tidy up.
  • 8.
    Enterprise - Microblogging- IM - Email Text Based Commands Help Command Cleartext microblog, version 0.1.11. Commands: "me" - shows who you are, your username and jid (Jabber ID) "ers" - shows your followers "ing" - shows who you follow "f username" - follow this user "u username" - unfollow this user "d username message text" - send direct message to the user "@username message text" - mention a user, a public message to a user "s" - show saved searches "s word" - save live search term "us word" - delete live search term "help" - show this help Need more help? Go to the online help: http://www.cleartext.com/esm Wednesday, 2 February 2011 How does the Cleartext solution work? Just like Process One’s Twitter gateway, the server understands a set of commands
  • 9.
    Enterprise - Microblogging- IM - Email Custom Stanzas Help Command <message id="153" from="dbanes@cleartext.com/9643007101295859746231576" to="cleartext.cleartext.com" type="chat"> <body>help</body> <active xmlns="http://jabber.org/protocol/chatstates"/> <x from="dbanes@cleartext.com/9643007101295859746231576" stamp="2011-01-24T10:46:10Z" xmlns="urn:xmpp:delay"/> <x xmlns="http://cleartext.net/mblog"> <buddy type="sender"> <displayName>dbanes@cleartext.com</displayName> <userName>dbanes</userName> <jid>dbanes@cleartext.com</jid> <avatar type="hash">56a03afdd9ab286d43c8f1715fac013d4c53f15a</avatar> <serviceJid>cleartext.cleartext.com</serviceJid> </buddy> </x> </message> Wednesday, 2 February 2011 We have a set of custom stanzas that the client and server understands
  • 10.
    Enterprise - Microblogging- IM - Email Server Response Cleartext microblog, version 0.1.11. Commands: "me" - shows who you are, your username and jid (Jabber ID) "ers" - shows your followers "ing" - shows who you follow "f username" - follow this user "u username" - unfollow this user "d username message text" - send direct message to the user "@username message text" - mention a user, a public message to a user "s" - show saved searches "s word" - save live search term "us word" - delete live search term "help" - show this help Need more help? Go to the online help: http://www.cleartext.com/esm Wednesday, 2 February 2011
  • 11.
    Enterprise - Microblogging- IM - Email Custom Stanzas Follow Command <message id="41" from="dbanes@cleartext.com/4732502611296587389793170" to="twitter.cleartext.com" type="chat"> <body>f noornet</body> <active xmlns="http://jabber.org/protocol/chatstates"/> <x from="dbanes@cleartext.com/4732502611296587389793170" stamp="2011-02-01T19:23:38Z" xmlns="urn:xmpp:delay"/> </message> Server Response <message from='twitter.cleartext.com' to='dbanes@cleartext.com/4732502611296587389793170' type='chat'> <body>User noornet has been added to your following list</body> </message> Wednesday, 2 February 2011
  • 12.
    Enterprise - Microblogging- IM - Email Custom Stanzas To Tweet... <message id="156" from="dbanes@cleartext.com/9643007101295859746231576" to="cleartext.cleartext.com" type="chat"> <body>it's time for end of month expenses please</body> <active xmlns="http://jabber.org/protocol/chatstates"/> <x from="dbanes@cleartext.com/9643007101295859746231576" stamp="2011-01-24T10:49:05Z" xmlns="urn:xmpp:delay"/> <x xmlns="http://cleartext.net/mblog"> <buddy type="sender"> <displayName>dbanes@cleartext.com</displayName> <userName>dbanes</userName> <jid>dbanes@cleartext.com</jid> <avatar type="hash">56a03afdd9ab286d43c8f1715fac013d4c53f15a</avatar> <serviceJid>cleartext.cleartext.com</serviceJid> </buddy> </x> </message> Wednesday, 2 February 2011
  • 13.
    Enterprise - Microblogging- IM - Email Custom Stanzas Incoming Tweet... <message from='cleartext.cleartext.com' to='dbanes@cleartext.com' type='chat'> <body>@admin: my expenses will be late</body> <x xmlns='http://cleartext.net/mblog'> <buddy type='sender'> <displayName>Ozzie</displayName> <userName>admin</userName> <jid>admin@cleartext.com</jid> <avatar type='hash'>ed90623da0e6963516abce705dd24bf0e84a03bd</avatar> <serviceJid>cleartext.cleartext.com</serviceJid> <text xmlns='http://cleartext.net/mblog'>my expenses will be late</text> </buddy> </x> </message> Wednesday, 2 February 2011
  • 14.
    Enterprise - Microblogging- IM - Email Incoming Tweets Wednesday, 2 February 2011
  • 15.
    Enterprise - Microblogging- IM - Email XMPP Goodness ‱ Customers can add their own bots e.g. CRM’s can tweet ‱ DM’s become regular IM sessions (push) ‱ We can use a users proïŹle (vCard) ‱ All messages to/from all end points are; ‱ Archived ‱ URL scanned ‱ Image Scanned ‱ etc... Wednesday, 2 February 2011 Simple extensibility that any developer can work with and get results quickly.
  • 16.
    Enterprise - Microblogging- IM - Email CRM’s can Tweet $conn = new XMPPHP_XMPP('xmpp.service.net', 5222, 'our_crm', 'our_password', 'xmpphp', 'service.net',); try { $conn->connect(); $conn->processUntil('session_start'); $conn->presence(); $conn->message('cleartext.service.net', $this->session->userdata('userfullname').' edited customer: '.$_POST['customer_name']); $conn->disconnect(); } catch(XMPPHP_Exception $e) { die($e->getMessage()); } Wednesday, 2 February 2011 Many libraries that allow customer IT staff to put data feeds together, for example our CRM is built with PHP so it’s as simple as this.
  • 17.
    Enterprise - Microblogging- IM - Email Summary ‱ PubSub extra work, lack of client support ‱ XEP-0277 not ready for prime time? ‱ We don’t think federation is important to business yet ‱ A federated microblogging platform is more about data security than protocols and routing ‱ The ACL problem is non-trivial and an admins nightmare ‱ Join/fork us at Github - a solution that works now. Wednesday, 2 February 2011 Does PubSub address data security questions? Microblogging over XMPP - xmpp.org/extensions/xep-0277.html Lowest common denominator being XMPP messages We needed an EIM client anyway Github will have code, docs which include install help and custom stanza details
  • 18.
    Enterprise - Microblogging- IM - Email DEMO Wednesday, 2 February 2011
  • 19.
    Enterprise - Microblogging- IM - Email Questions http://www.cleartext.com/ dbanes@cleartext.com Twitter @dbanes Wednesday, 2 February 2011