This document summarizes a presentation given at the Social Connections 11 conference in Chicago on June 1-2, 2017. The presentation focused on IBM's vision for turning the IBM Collaboration ecosystem "pink" by making it more customizable, extensible, and developer-friendly through new APIs and a situational apps strategy. Key points included plans to introduce modern REST APIs, a proxy for customizing experiences, tools for building simple no-code situational apps, and Project LiveGrid for creating embeddable and programmable grid applications. The goal is to empower app developers, business users, and partners to build solutions that extend IBM Connections in a way that is seamless, secure, and scalable.
3. Social Connections 11 Chicago, June 1-2 2017
This is Us
Maureen Leland
STSM Connections AppDev, Middleware,
LiveGrid
Heath McCarthy
Senior Offering Manager, AppDev and
Partner Ecosystem
4. Social Connections 11 Chicago, June 1-2 2017
Session Highlights
• The Pink App Dev Vision
• Integrating into Connections
• Pink APIs
• Situational Apps Strategy
• Empowering App Developers
5. 5 6/5/2017
The Collaboration Paradox
• The explosion in niche apps, driven by
“consumerization of IT” has given users choice.
• But productivity has gone down because “we”
are not using the same tools.
• And we ended up working in fragmented silos
so we are reinventing and confused
6. Social Connections 11 Chicago, June 1-2 2017
Connections as a “Collaboration Hub”
IBM Connections Cloud
(Integration Framework)
Content Apps Tools People Cognitive
7. Social Connections 11 Chicago, June 1-2 2017
Pink App Dev Vision
1. Customizable and Extensible platform
UX Look & Feel
Data Content
Actions / Behaviors
2. Pink provides modern APIs
This means a complete set of REST APIs for each IBM Connections service
3. Ad-hoc situational apps
Users create and share simple apps
No/low code
Custom/industry apps by developers
Next Gen IBM
Connections has App
Dev at its core !
9. Social Connections 11 Chicago, June 1-2 2017
APIs/ServicesExtensibility
Communities
Content Experiences
LiveRemarks
People Experiences
LiveGrids
NavBar
Orient Me & ITM
Action Center
News & Notifications
Grids
Content/Files Service
People Service
Cognitive
Search
Share Service
News & Notifications
Integrated Experiences
Partner
Solutions
Situational
Apps
Watson
Workspace
Customer
Apps
IBM
Solutions
Green/Blue
Integrate into Pink
Experiences
Consume Pink just like a
Native Capability
Content
Applications
People
Applications
10. Social Connections 11 Chicago, June 1-2 2017
Connections Experience Patterns
Pattern 1
Native Connections
Pattern 2
Embedded Experience
Pattern 3
Unified experience
Events pushed into Connections Activity Stream,
Orient, or Action Center
LiveGrid
Community App
ActivityStreams Embedded Experience
Muse (Connections Proxy)
Navbar
Important to Me
Orient
11. Social Connections 11 Chicago, June 1-2 2017
Unified Experience Example
Trilog ProjExec Live
• Authentication
• Use of Services/APIs
• Navbar Extension
• Connections Style
Philippe Riand
http://infolib.lotus.com/resources/oneui/3.0/docPublic/index.htm
12. Social Connections 11 Chicago, June 1-2 2017
The Connections App
A way to add value to
Connections
An Integrated Experience
(IBM, AppFusions, etc)
A social/collaboration
solution (ISVs like. Trilog)
Collection of Extensions
13. Social Connections 11 Chicago, June 1-2 2017
IBM Collaboration Cloud Extensions
Verse
• Business Card
• Inbox/Read
• Message
Compose
• Mail on send
• More…
Connections
• Community
• Navbar
• Muse
• More…
Watson
Workspace
• Space
• Message
• Moments
14. Social Connections 11 Chicago, June 1-2 2017
Basic Architecture of an Integrated App
Catalog
IBM Connections
Cloud
(Multi-tenant)
Extension
Extension
Extension
Extension
Muse
Extension
Extension
APP
Registry
Solution
Run-Time
Service
Service
Service
My Org
APPs
15. Social Connections 11 Chicago, June 1-2 2017
New Connections App Registry
• Registry is the definition for a
specific ORG of what is
deployed to the ORG
• Defined JSON Schema
16. Social Connections 11 Chicago, June 1-2 2017
The App Reg Model
• Services are top level components like
Communities, Verse, Muse etc
• Services declare Extension Points that
expose customizable features
• Apps are simply containers for one or
more extensions
• An Extension is an implementation of an
Extension Point
17. Social Connections 11 Chicago, June 1-2 2017
Sample ITM Customization
• Important To Me (ITM) Bar – A New Pink Component
• Out-of-the-box ITM Bar is populated with entries (people and
communities)
• Content is auto-populated for each user based on user’s own choices
and ITM suggestions
• Extensibility empowers organizations and users by
• Enabling control over ITM Bar content and entry behavior
• Overriding the auto-population with what is known to be important
to ourselves!
• ITM Bar Anatomy
Suggested PeopleFavourites
Add RemoveCommunity
Home
(Go to Activity
Stream)
18. Social Connections 11 Chicago, June 1-2 2017
Watson Developer Cloud
IBM Connections Cloud
(Multi-tenant)
IBM Connections
(Blue)
3rd Party App Preferred Cloud
Container
Bluemix Containers
Xpages
NodeJS
Liberty
WAS (Connections Blue)
On-Prem Servers/Private Clouds
Docker
Mongo
Customer Firewall
Node
Integrating with Connections
A Runtime View
Pink Private Cloud
Pink
19. Social Connections 11 Chicago, June 1-2 2017
Who Creates Apps
By IBM
• ICS developers create integration code
(eg. Sharepoint, Cisco, Box)
• Poor track record; would need to
improve and scale our ability to maintain
and enhance integration
3rd Party Solution Providers
(ISVs)
• This works for ISV solution providers who
need to get their solution working in the
ICS experience if they want to drive
revenue
• Does not work when 3rd party has better
revenue options or is a competitor
Integration Framework Provider
• 4th party solution that builds the MVC
that integrates ICS with a 3rd service
provider (eg. Salesforce)
• Customer would need to be willing pay
even when they already own both the ICS
and the 3rd party solution
• Is not a channel for 3rd party
• Could be IBM funded to sell ISV Solution
Bundles
App Developer Community
• Customers
• Partners (eg. VARs)
• ISSC
Business Users
• Situational Apps
• No/low code
• Template Driven
20. Social Connections 11 Chicago, June 1-2 2017
Activity streams and embedded experiences
Common and custom application integrations
Just works!
Seamless UX,
SSO, logical
workflows
2017
Interactive apps, seamless authentication
For cloud OR
on-premises
v5.5 CR1+
Integration Framework
21. Social Connections 11 Chicago, June 1-2 2017
Pink App Dev Vision
Customization without
Compromising the 4 S’s
• Scalability
• Security
• Stability
• Servicability
Standardization
vs
Customization
Image Source: article on saascribe.com by Michael Cullen
22. Social Connections 11 Chicago, June 1-2 2017
Proxy Formally known as Muse
Injection Proxy for…
• Experience
• Client-side logic
• Style
• And more!
23. Social Connections 11 Chicago, June 1-2 2017
Proxy Formally known as Muse
See Andre’s Session
24. Social Connections 11 Chicago, June 1-2 2017
Modern APIs
Atom is good for chemists, not developers!
25. Social Connections 11 Chicago, June 1-2 2017
Pink Means Usable APIs
• Existing Connections APIs are plentiful, but not easy to use
• Pink means it’s time to rethink, redesign, rework
• Modern APIs with consumable JSON payloads
• Reimagined for ease of use
• GraphQL option to allow you to get just what you need
• All surfaced through a common middleware layer to ensure
consistency across the Connections services
• Documentation (Swagger anyone?)
28. Social Connections 11 Chicago, June 1-2 2017
How do we transition without breaking customers and
partners?
Green
feature
29. Social Connections 11 Chicago, June 1-2 2017
Green
feature
How do we transition without breaking customers and
partners?
30. Social Connections 11 Chicago, June 1-2 2017
Green
feature
Pink
feature
How do we transition without breaking customers and
partners?
31. Social Connections 11 Chicago, June 1-2 2017
How do we transition without breaking customers and
partners?
32. Social Connections 11 Chicago, June 1-2 2017
Are you going to break
my applications?
NO!!!
33. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler New-to-IC6 APIs IC6-to-New APIs GraphQL
Mapping
Throttling Caching
Authentication Response modification
……
How do we transition without breaking customers and
partners?
34. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
35. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
36. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
37. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
38. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
39. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
40. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Green
feature
Throttling Caching
Authentication Response modification
……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
41. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Pink
feature
Authentication Response modification
Throttling Caching ……
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
42. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Pink
feature
Authentication Response modification
Throttling Caching ……
New feature
Micro
service 1
Micro
service 3
Micro
service 2
Micro
service 4
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
43. Social Connections 11 Chicago, June 1-2 2017
Proxy
Middleware layer
API gateway
API assembler GraphQL
Mapping
Pink
feature
Authentication Response modification
Throttling Caching ……
Green
feature
New-to-IC6 APIs IC6-to-New APIs
How do we transition without breaking customers and
partners?
45. Social Connections 11 Chicago, June 1-2 2017
Demo Time!!
Pink APIs for apps that can fly!
46. Social Connections 11 Chicago, June 1-2 2017
APIs for Existing Connections Services
• Will continue to work, as is, no fear!
• Translation layer ensures compatibility even if we replace the service
• But now you will have an alternative
• JSON payloads/responses
• Consumable payloads
• Redefining APIs around what people actually need to do
• Leverages Loopback to translate the APIs
• Swagger interface for documentation and experimentation
48. Social Connections 11 Chicago, June 1-2 2017
What Are Situational Applications?
• Often have a short lifespan, created for a group of users often by one or
more of the users themselves
• Solves a particular business need
• Easy to modify as the needs of the group evolve
• Inherently collaborative – for and by the group
• The term was coined by Clay Shirky in 2004*, but this division in IBM has
been building them for more than a decade before that!
* https://en.wikipedia.org/wiki/Situational_application
49. Social Connections 11 Chicago, June 1-2 2017
Why Situational Applications?
• Situational application tools empower “Everyman” to build an application to
support their needs
• The Connections platform has lots of components, but has been missing the ability
for users to spontaneously create these applications
• Situational applications give people the ability to customize the platform in a
framework that is part of the platform
• Situational applications will make Connections more flexible, and our users
happier, so…
• Let’s do it!
50. Social Connections 11 Chicago, June 1-2 2017
Pink Means Apps: Project LiveGrid
• Situational apps with a twist of
API
• Embeddable in Connections,
run standalone, or pull the
data
into your own application
51. Social Connections 11 Chicago, June 1-2 2017
Project LiveGrid the Chameleon
• As simple as a list builder for end
users
• Or as powerful as a
programmatically
accessible application with
persistence
for developers
52. Social Connections 11 Chicago, June 1-2 2017
Simple Does Not Mean Simplistic
• Comes with a built in data
store (Mongo)
• Simple programmability
for your end users
(@UserImage, @Total, …)
• JavaScript for your
developers
53. Social Connections 11 Chicago, June 1-2 2017
Stencils and Styles as Building Blocks
• Start from scratch, a
sample grid,
a spreadsheet, or from
a REST API
• Weather data, Connections, Domino , …
• Visualize and style your
application
with stencils and
stylesheets
54. Social Connections 11 Chicago, June 1-2 2017
Demo Time!!
A grid with an API in the blink of an eye…
55. Social Connections 11 Chicago, June 1-2 2017
And (of course)… It’s Extensible
• List of “starter grids”
• Stencils
• Styles
• Controls
• Programmability (add @functions, etc)
• Let us know how you want to contribute!
56. Social Connections 11 Chicago, June 1-2 2017
Project LiveGrid Demo Summary
• To end users, it is a simple list
building tool
• To developers, it builds
applications, with APIs to power
extensions
• To business partners, it’s an
opportunity
57. Social Connections 11 Chicago, June 1-2 2017
IBM Collaboration Cloud
Developer Resources
58. Social Connections 11 Chicago, June 1-2 2017
2017 Goals of App Strategy
Implement New
Connections
Catalog
Launch V1 with
updated 3rd
Party Solutions
Stream-lined
app developer
process
App Validation
process
App Life Cycle
Management
Customization
Proxy
New Extension
Points
Middleware/APIs
API Explorer, etc
59. Social Connections 11 Chicago, June 1-2 2017
Top Priorities (Outcomes)
Org Admin can better manage
apps in the Connections Cloud
App Developers can build and
integrate rapidly
Customers Can Try & Buy Add-
ons and Solutions
Users can Share Apps
(Driving Viral Adoption)
60. Social Connections 11 Chicago, June 1-2 2017
An organization admin can easily find and enable
3rd party applications to make their
organization more productive.
81. Social Connections 11 Chicago, June 1-2 2017
Agile – Achieving Other Priorities
• Share Apps
• Submit apps
• On-prem apps
• Private Cloud Catalog
• ICS App Catalog
82. Social Connections 11 Chicago, June 1-2 2017
IBM Connections Cloud App Dev
A developer can, in 1 hour:
Discover Pink app dev
capabilities
Learn how to integrate into and
consume capabilities from Pink
Build a value-add solution via
integration with Pink
Deploy that solution to an Org
and Submit that solution into the
ICS Catalog
83. Social Connections 11 Chicago, June 1-2 2017
App Dev Engagement
Access Pink Code
Reservation System for ServerPool Images
Regression Testing
Pink Playbacks
To Participate email: heath_mccarthy@us.ibm.com
Organizations and users can modify IBM Connections in 3 critical ways
The boxes in the center represent solutions that when leverage Connections and Verse extensions (shown on the left) AND consume or call Pink Services/APIs (shown on the right).
Partner solutions and customer solutions would appear as native experiences just like the core Pink capabilities (see previous slide). Again, the integration AND the use of Pink services improve the original application. Integrating in alone is not a unique value to Pink – otherwise its just another Portal.
Pink (Connections/Verse) is where work flows (work gets done) and users get more value from integrated capabilities because they can take advantage of unique Pink services.
Additionally, Pink is a platform for building and providing users situational applications and experiences built on top of LiveGrid, the content service and the people service. While IBM will provide innovative and business desirable experiences, these 3 core Pink services will allow for customers and the market to meet unique needs. These 3 services are second driver of “stickiness”.
IBM may allow, in the case of strategic partnerships, certain 3rd solutions to replace a core Connections/Verse service (ie. Swaps). For example, today we allow Cicso Webex as a replacement for Connections Meetings.
IBM may also want to integrate its own solutions such as Watson Workspace or Kenexa.
Workspace is shown here to suggest that it may be a special member of the collaboration experience.
Connections (Pink) in the Multi-tenant Cloud can integrate with applications running in various Cloud-based run-times. Pink running in a private cloud can presumably, like Blue, access on-premise run-times
Learn about new dev capabilities; Play in a Sandbox, Build the app; deploy to your org, generate Oauth, and Submit
IBM Validates based on clear criteria
Manage long-term updates