

Building an Internal Social Network Your Company Loves - mankins
http://www.fastcolabs.com/3004038/open-company/how-build-internal-social-network-your-company-loves

======
mindcrime
Excellent article, a lot more "meat" than I expected, given the title and the
usual level of discourse around this topic.

That said, I'd advocate considering starting an internal social network
project using an Open Source foundation. And, if you'll indulge me a moment of
self-promotion, I'll point out Fogbeam Labs' suite of projects[1] as a good
place to start - especially for a firm who wants to help shape the direction
of the product(s) they will be using, but don't necessarily want to be
responsible for maintaining an ESN product for perpetuity.

The thing we believe sets our approach apart from a lot of the other ESN
products out there (Yammer, Jive, etc.) is our approach to integrating
business processes and workflow with the "social" aspect of the ESN. It's
still very early, not everything is implemented, but some _really_ awesome
stuff is in the pipeline.

And to be fair, there are some other OSS ESN projects out there as well.
There's always Elgg, and Alfresco have been adding some "social" aspects to
their Document Management product.

[1]: <http://www.fogbeam.org/>

~~~
mankins
The openness sounds interesting. What kind of stuff is in the pipeline?

~~~
mindcrime
There's a ton of stuff coming, but some of what I'm most excited about
include:

1\. Using machine-learning (via Mahout) to find correlations between people,
events, and content. We have some fairly naive content <-> content correlation
stuff now, but Mahout lets you do a lot more and better stuff, and it's more
scalable thanks to being built on Hadoop.

2\. More and better support for the "Business Events Subscription" and
"Workflow Integration" stuff. We already have support for tapping into an ESB
and consuming XML messages and subscribing using XQuery expressions. But we
currently only support one vocabulary (OAGIS), so we want to do several things
with this:

a. Support some other "stock" vocabularies

b. Support arbitrary (customer specific) schemas / vocabularies

c. Support non-XML messages

d. Build a graphical subscription builder of some sort. Right now you have to
know XQuery and manually write an XQuery expression to do a Business Event
Subscription, and you obviously can't expect average end users to know XQuery.

3\. We also plan integration with some workflow engines (Activiti and/or jBPM
will probably come first) so you can see your User Tasks in your stream (if
you _want_ to, that is)

4\. There's a big UI refresh coming very soon as well.

5\. We have some stuff in the works regarding using Semantic Web technologies
to start to really make this more part of a "knowledge management" approach
than it currently is. We want to support making semantic assertions about
people, events, things, content, etc., and allowing queries as rich as what
you can do with SPARQL. But, the challenge is to take that kind of power, and
simplify it so that you aren't asking everybody to learn SPARQL, which - less
face it - isn't going to happen. Just like with XQuery, you want the power it
brings, but without overwhelming the average users. That's one of the big
challenges we have in front of us, actually... finding the best way to provide
power without scaring the users off! :-)

6\. Integrating Apache OpenMeetings to support collaborative video-chat,
whiteboarding, etc. is on the table as well. We've started playing with this,
but it'll be a while before it's ready, if we commit to doing it.

7\. There's also a tentative plan to add support for OpenSocial widgets.
Interestingly enough, OpenSocial - to the extent that it has any traction at
all - seems to be more popular in the enterprise. Could be something to do
with how Facebook (obviously) never adopted it, and then Google never
implemented it on their own social network (the one that matters, not Orkut).

There's a lot of other stuff on the roadmap as well, although some of it is in
the "unplanned, we'll get to it one day" category at the moment. Since this is
an enterprise play, we're looking at things like integrating with HRM systems,
so that your "profile" on the ESN is automatically populated with the "stuff"
that is in HRM (obviously this is only for companies that employ a dedicated
Human Resources Management system).

Something else we'll probably do, is build some adapters for generating
ActivityStrea.ms messages _from_ other systems that don't currently support
emitting those. We can already consume ActivityStrea.ms, but that isn't as
useful if other apps don't push those messages out. Some of this might be done
on a "one off" basis if we get a customer who asks for it, but we might just
pre-build such an adapter for something popular that we expect to encounter a
lot of.

Anyway, I could ramble about this for a while, and this has gotten longer than
I meant for it to already. I think some of the stuff we have coming is going
to be very cool and very useful, but we're pretty resource constrained at the
moment, so progress is never as fast as we wish.

That said, it's all Open Source and we welcome outside contributors. We've
built on the backs of a lot of existing great work (Groovy, Grails, Lucene,
Tika, Rome, Mahout, Camel, Shindig, PostgreSQL, etc.) and are committed to
being a true Open Source project... not one of those "Open Source In License
Only" deals where a company develops something behind a wall and occasionally
throws a code dump over the wall.

