Download - SeaBeyond 2011 ProcessOne - af83: UCengine
Project presentationJanuary 2011
http://ucengine.orghttp://twitter.com/ucenginehttp://af83.com
[ R e a l T i m e a p p l i c a T i o n F R a m e w o R k ]
2
factsabout real timecollaboration
3
Fact #1: collaborative usages are diversified.
4
Even so, applications are focused on the tools…
5
…and all user interfaces are alike.
6
We want a customizedcollaboration experience!
7
Fact #2: effective collaboration generates ac-tion.
Before Interaction After
• Organize• Communicate
• Interact• ProdUCE content
• Archive• Search• Find• Replay
8
But archiving features are non-existent.
9
We want smart search and analytics capabilities!
10
Fact #3: Collaboration technologies are various and evolving
11
Packaged solutions cannot ship best-of-breed tools for each features
12
We want a technology agnostic platform…
13
and we want an open-source ecosystem. !
14
Huge variety of possibilities
Meetings Conferences Live events
Project management Idea generation E-learning Customer support Medical diagnostic
Product demonstration User research Games Analytics Interactive web TV or radios
15
What can you do with U.C.Engine
16
Build a huge variety of real time applications
Meetings Conferences Live events
Project management Idea generation E-learning Customer support Medical diagnostic
Product demonstration User research Games Analytics Interactive web TV or radio
17
Such as, a live concert application…
18
A conference application…(Design by faberNovel)
19
And of course, a web meeting application.
20
> UC Engine: Who knows what you can think of ?
And even more…
21
Our wish list:
A customizable real time collaboration experience
Smart archiving, search and analytics capabilities
A technology agnostic and interoperable platform
An open source ecosystem
22
Main Features
23
A persistent publish/subscribe server
The core conducts in real time the massive flow of interactions and contents.The core is a publish/subscribe server with persistence written in Erlang.It exposes a ReSTful HTTP API with JSON as its primary exchange format and can store the broadcasted events in a database.
24
A time coder for smart archiving
25
Publish Subscribe Server
Client
Client
Client
26
Persistent Publish Subscribe Server
Client
Client
Client
27
Example of bricks: Video server
Micro blogging or SMS File converter (for file sharing)
Text translators Semantic analyzers
VOIP
what ever you need…
U.C.Engine REST API allows you to pick and seamlessly integrate
third-party bricks.
An interoperable backend
28
Keep things simple
Client
Client
Client
29
Technology agnostic
JS Client
Ruby client
JS Client
30
Need some server side logic? ...
JS Client
DeamonRuby Client
JS Client
31
... Bricks are made for that!
JS Client
Ruby Brick
JS Client
32
The (not so original) chat example
You
Brick
Dude (the)
33
Bricks are services
You Dude (the)
Brick
34
Protocols, Protocols, Protocols...
You Dude (the)
Brick
chat.message.new
chat.message.new
chat.translate.new
chat.translate.new
35
An adaptable UX framework
Custom lightweight clients can be built with the UX framework. Client libraries provided:
• Javascript
• Ruby on Rails
36
A multi-screen UX
Depending on the usage context, several frontends can live together:
• web browsers
• mobiles
• tablets
• video projectors
• web TV
• whiteboards
37
A collaborative widget library
Widgets are end-user features available as jQuery UI widgets. They allow easy integration of new custom features to the frontend application.
U.C.Engine provides several widgets such as conversations, file sharing, whiteboard, video, replay and search.More to come in 2011…
38
A collaborative widget library
39
U.C.Engine technology benefits
Scalability Erlang core
Customization UI framework
JS library
JQuery widgets
Interoperability Rest API
Bricks
Persistence Timeline
Database
Dev friendly Rest API, language agnostic
UI framework, jQuery
Open source
40
opensourcewe are an
believer
41
U.C.Engine is a young open source project
Open source licenses:
• Engine is AGPL
• UX framework is MIT or GPL
42
Our home:http://www.ucengine.org/ • Fork the code:https://github.com/AF83/ucengine
• Find documentation: http://docs.ucengine.org/
• Discuss and propose: http://groups.google.com/group/ucengine
43
Contributions are welcome!• Engine patches• UX framework patches• Additional libraries• Additional bricks• Documentation patches
44
This is just the beginning…