Welcome on my personal blog.
If you are looking for information about Social, Digital marketing, Mobile & Cognitive technologies from IBM, you have come to the right place. Hope you will be able to find interesting info...
The posts are my own and don't necessarily represent IBM's positions.
IBM Distributed Marketing provides marketing organizations with the ability to distribute the execution of centrally managed marketing campaigns throughout the enterprise.
Based on new IBM Distributed marketing Rest APIs, I have designed a standalone Web application illustrating what can be a Distributed Marketing application for Store manager.
That application lets an end-user (without marketing or IT skills) to create a local campaign addressing a part of their customers.
Login page
Menu with options
List of On-Demand Campaign templates
Campaign creator
Segmentation
In addition to that, I have added Weather information coming from IBM Weather APIs and also a list of products relevant for customers based on the weather forecast.
Weather Forecast
Product recommendations
Last but not least, I have added cognitive capabilities to be able to interact with Distributed Marketing with Natural language instead of an UI.
Watch this video to have more details about custome...
In a previous article (IBM Interact & Mobile Push Notification), I have illustrated how you can leverage IBM Mobile Push Notification service APIs to contextually send push notification on mobile from a web front-office application.
I have now extended my front-office application to allow a customer advisor to send newsletter (promotion, new offering,...) leveraging IBM Silverpop APIs.
IBM Silverpop is a digital marketing technology provider that offers email marketing and marketing automation solutions.
IBM Silverpop APIs:
IBM Silverpop’s API library provides an efficient mechanism to accomplish many automation and integration tasks. You can use more than 120 API commands for:
Two weeks ago, I illustrated how to develop a PHP (server-side) application, leveraging Polycom DMA APIs, to easily control a Polycom on-going conference (here). That app doesn't require admin credentials, so an end-user can use it via its own credentials, but he needs to have a PHP server.
So, to simplify the use of that service, I adapted that aplication to be usable as a Google Chrome App. So, now anhy end-user can install that "local" app on its Google Chrome browser, and uses it.
Click on that icon to install it on your Google Chrome.
That application provide the following features:
List of meeting participants (audio, video, content)
Start/stop recording
Lock/unlock conference
Mute/unmute a selected person (or a list of people)
Mute all participants except chairperson
Unmute all participants
Add/remove participants.
Save/retrieve your meetings details (DMA FQDN, username, login...)
Some screenshots of that application:
Just retrieved my previous settings
Validate my meeting number of my ongoing conference
List participants
Just clicked on "Begin Recording"
Just locked my conference
Selection of several people who attend the meeting
To drive a better user adoption and to improve customer satisfaction, it could be interesting in retrieving feedback from users. Based on Polycom APIs, you can track meeting activities like when a meeting starts, stops, who is the owner and participants.
I have design a small app, tracking meetings and sending an email recap at the end of the meeting to the owner, with a link to a survey.
During the last two years, I have demonstrated Polycom APIs infrastructure value through several examples like VMR-user Management, CloudAXIS scheduling, IBM Sametime integration, but I only played with REST APIs. But, I had a request - display a message during the conference, I can't solve via DMA or Resource Manager API, I had to use Polycom Collaboration Server (RMX) ---- XML-based API.
I have designed a Web application (using PHP) allowing an end-user to fully control his on-going conference. The user will be able to list all meeting participants, start/stop the meeting recording, lock/unlock conference and different mute options, you can also invite/disconnect a participant.
Web Page of the app.
A short recording about the different capabilities of the app:
All features are accessible via only end-user credentials, but if you want to different text message during the conference, you need DMA & RMX admin credentials.
[UPDATE]
That application has now a new user interface leveraging Bootstrap.
I love the Steve Jobs' approach, he believed that 'the only way to truly capture the full value of technology is to adapt the technology to fit the way we live our lives instead of requiring that we adapt our lives to fit the way the technology works.'
This week, I have develop a new mock-up based on a mobile application and NFC technology. The purpose is to simplify the initialization of a call on Polycom Group Series to a video meeting room (VMR). Out of the box, Polycom Endpoints can retrieve and display calendar information coming from a Microsoft Exchange server. But, you have to have booked the endpoint.
Imagine you have an Open Access room policy or video-kiosk.You have to join a call in 2 min, you have find a free system, but you are not always familiar with the system.
Via your mobile, you can tap the NFC tag to start the call. The android app will retrieve from your calendar meeting details like video meeting id and send the launch command to the Group Series.
Technologies Used:
For that mock-up, I have used all of these technologies:
1/ A NFC Tag - It stores Group Series information.
2/ An Android Tablet or Smartphone
3/ Android Calendar Provider API (here) - I parse the calendar entry to retrieve the VMR number via a specific pattern.
4/ Android NFC API (here) to read the content of the NFC tag in the room.
4/ Polycom Group 500 (here)
IBM just published a new release of IBM Sametime 9.0 SDK I won't list all new APIs or features.
I will just focused my article to the updates of IBM Sametime Telephony Toolkit.
Link to download Sametime Standard V9.0 SDK IFR 1 Multiplatform: here
(The date on the site for the ePackage doesn't properly reflect that, but IBM just uploaded it.)
That is a comparison between the list of public objects we have in S9 & S9 IFR1 SDK:
IBM Sametime 9 has introduced IBM Softphone which allows you to place and receive voice and video calls from your computer. To place call, IBM Sametime Phonebook, is very useful if you don't want to remember all telephone number, SIP URI or h323 dial string. The only way to provision the phonebook was a plugin I described two years ago, leveraging your IBM Notes contacts. Same thing to export or backup, there was no way of exporting or backing up your Sametime Phonebook or call history data from the Sametime client user interface (UI).
Via these new objects,you can now easily manipulate the content of IBM Sametime Phonebook by creating, deleting entries. I have designed a Sametime plugin to export Polycom endpoints details from a flat file (csv) or from a Polycom Resource Manager.
Hope it will help you to leverage the power of IBM Softphone, especially with Polycom infrastructure.
In the last two articles, I demonstrated you how to leverage Polycom DMA & CloudAXIS APIs within Google Chrome App & Extension.
Now, I will show you how to create your first Chrome Application
to list all users and create a new user on your Polycom DMA.
The main advantage of a Chrome Application
is you can develop via Web technology without a web server, and do easy demo
very quickly. You will work from the skeleton of a Chrome Application. You can
download the application from here and you want to unzip it.
Installation of the application
Open your Chrome browser
Extensions that you download from the Chrome Web Store are packaged up as .crx files, which is great for distribution, but not so great for development. Recognizing this, Chrome gives you a quick way of loading up your working directory for testing. Let's do that now.
Visit chrome://extensions in your browser (or open up the Chrome menu by clicking the icon to the far right of the Omnibox. and select Extensions under the Toolsmenu to get to the same place).
Ensure that the Developer mode checkbox in the top right-hand corner is checked.
Click Load unpacked extension… to pop up a file-selection dialog.
Navigate to the directory in which your extension files live, and select it.
Your DMA users: <span
id="room_id"></span> <br /><br>
</div>
</for>
Go back to the Web page with
the blank application and right-click on the page and choose “Reload App” or if
you have closed the app, reopen it. The application has been updated with three
inputs fields and on button.
But, if you click on the button “Retrieve Info”, nothing will happen, because we don’t have written the business logic, yet.
We will write the business logic using
Javascript.
Open the file app.js which will
contain all the business logic.
The file is not empty, because I have
already set up several variables we will use the rest of the code, and a
function to encode in Base64
the authentication string.
Add the following code in the
section “Code to retrieve users”
var form =
document.querySelector('form'); //define
the object Form we have created in the HTML page.
form.addEventListener('submit',
function(ev) {
//Definition
of variables to retrieve the info you put in the form
var items =
xhr.responseXML.querySelectorAll("username"); //Selection of Username elements in the XML
File
var name = "";
for (var n = 0; n < items.length;
n++) {
if(name=="")
{
name =
items[n].textContent; //
Retrieve the value of the Username element
}
else
{
name
= name + ", " + items[n].textContent;
}
user_id.innerHTML=name; //Display of the list of users
}
} else
{
console.error("Something went
wrong!");
}
}
console.log("Nom : " + name);
};
});
Go back to the Web page with the blank application and right-click on the page and choose “Reload App” or if you have closed the app, reopen it.
Enter your Polycom DMA hostname and Admin credentials.
Congratulations, you have written your
first Web-like application leveraging Polycom DMA APIs.
Part 2: Create a new user on Polycom DMA
Now, we will enhance the application, the user will be able to create a new user on Polycom DMA. Like, we just did, you have to modify the Index.html file (UI) and app.js (Business logic). I will let you do it by yourself.
Modify Index.html and app.js with the following codes
HTML Code:
<div style="color:
white; font-size: 15px;">
New user Creation:<br
/><br>
<form name='myForm2'
id='myForm2'>
First Name: <input
type="text" name="first_name"
id="first_name"><br>
Last Name: <input
type="text" name="last_name"
id="last_name"><br>
Go back to the Web page with the blank application and right-click on the page and choose “Reload App” or if you have closed the app, reopen it.
Enter your Polycom DMA hostname, Admin credentials and user details, then click on “Create User”
PS: POST instead of GET
In that code, we send data to the Polycom DMA describing the user (username, password…).
Most of the type, POST Call contains a XML content describing the object we want to create like a conference room, conference or a reservation on RPRM.
Congratulations, you have improved by adding a new function to create a new user.
I became a fan of Google Chrome development capabilities. Last week, I have developed two Google Chrome Apps, leveraging Polycom DMA APIs Now, I have tested Google Chrome Extension, using Polycom RealPresence CloudAXIS APIs.
The purpose of that extension is to be able, from the Google Chrome UX, to create an ad-hoc and scheduled meeting. I have published that extension in the Google Chrome WebStore.
If you have new feature idea, don't hesitate to comment that app.
That is why I think APIs are very important... In previous articles, I already showed several examples of development leveraging Polycom DMA REST APIs for VMR Passcode management using Java or HTML/ Web Development.
Today, I have tested a new approach: a Chrome App.
The main advantage I have leverage my previous piece of code (Web dev), but without the need to have a Web Server. It is very easy and fast to design...
Chrome Extension
That video will show you the user experience of that Chrome extension.
I have also published that application on Chrome Web Store : here
Don't hesitate to share your comments on that app...
How to put a face on your sales force... With the Polycom RealPresence CloudAXIS Suite, sales teams are now more
empowered to connect with customers and bring in the resources they
need to support them.
RealPresence CloudAXIS extends Polycom’s HD video collaboration to
anyone, regardless of application, system, or device. Connecting
customers face to face with sales people or subject matter experts—no
matter what system they are using—is now a cinch.
But:
How could you have something integrated into your business processes? APIs
Where are stored your customer contacts? Probably in a CRM system...
I built a prototype to illustrate a potential integration between Polycom CloudAXIS Suite and Salesforce. This portotype has been developed to demonstrate how video can be integrated into
applications to simplify workflows and make video part of a complete
experience (CEBP, UC etc).
Contextual integration drives more usage...
In a first part, it shows you how to directly export your SFDC contacts into RealPresence CloudAXIS Suite.
In a second part, it shows you a way to invite all your customers with whom you have opportunities in progress. For example to organize a marketing campaign...
To design that prototype, I just leverage Polycom RealPresence CloudAXIS APIs and Salesforce.com APIs. Salesforce provides programmatic access to your organization’s information using simple, powerful, and secure application programming interfaces.
*Disclaimer: That prototype is not an application currently sold by Polycom/Salesforce or planned to be productized by Polycom/Salesforce.
I have covered Polycom Infrastructure APIs several times in my blog. Polycom set of APIs is a very prowerful driver for UC and Video Adoption. It could allow you to quickly develop applications (Web, desktop, mobile…) to interact with Polycom RealPresence platform. This application could be IT-centric or end-user-centric.
“Polycom Advanced Services” has developed an application to easily manage Polycom Conferences. This application is accessible via a simple web browser (from your PC, Tablet or Mobile devide). After the authentication sequence, you can access to several key features to control active or inactive conference like:
Create new personal VMR,
Manage meeting participants,
Mute/unmute, lock/unlock conference,
Update VMR passcodes for Chairperson and Attendees,
…
If you are interested by this application, we can provide you a trial version of this app to see the value of it in your environment. Please contact me or your local Polycom SE for the trial details and the cost.
Screenshots:
Login Screen
List of personal active VMR
Creation of VMR
Edition of VMR passcodes
Management of a running meeting room
Add participant screen
This
application is also available via a tablet or a smartphone.
Today, I would like to share with you my last prototype.
You
probably know I love the concept of "Contextual Service", it provides
access to a service depending on a context. This concept drives user
adoption by providing a seamless integration and the easiest access to a
service.
Last
week, I have a discussion with one of my colleague, who is specialized
on Polycom Voice Portfolio, about Polycom Business Media Phone VVX and
its Web browser.
So, I have imagined a new service: Having access
to Conference management capabilities directly from the phone, like
retrievinf his VMR info, changing chairperson and attendee passcodes...
Demo:
Architecture:
To design that prototype, you just need to have a standard application server to host the Web page.
In my case, I have used a J2EE Websphere Application Server. The app does all REST API requests against Polycom DMA to retrieve all VMR details and update passcodes.
As you can see, that is pretty straightforward and very powerful...
Disclaimer: That is not a Polycom official solution. It is a prototype illustrating two integrations with IBM Notes Client.Polycom Global Services or Polycom / IBM Business Partners can do this kind of development.
Last year,
Polycom has introduced a set of REST APIs for its infrastructure. It was a
major step forward in its vision to help drive the adoption, delivery, and
management of UC and video collaboration for enterprises, governments, and
organizations focused on healthcare, education, and manufacturing, with a rich
new suite of open APIs that facilitate the development of custom applications
and extend the value of the Polycom® RealPresence® Platform.
The Polycom
RealPresence CloudAXIS Suite Services Portal API enables developers to integrate the Services
Portal functionality into their own applications; this includes Services Portal
server initialization, user account management for creating and managing
accounts, user authentication, conference creation and management, core
services control, and contact list management.
The
Services Portal API is based on the Representational State Transfer (REST)
architecture and is accessed via standard Hypertext Transfer Protocol (HTTP)
request methods.
I have
developed two prototypes to provide a contextual integration of Polycom
RealPresence CloudAXIS Suite within IBM Notes. The purpose of the first one is to schedule a
CloudAXIS meeting directly from an IBM Calendar entry. That integration has
been done via a RCP plugin. When you click on the button, the plugin retrieve
all information you have put on the calendar entry like Subject, list of
participants, date & time, and send an API command to Polycom
RealPresence CloudAXIS Suite
with these information. When the meeting is created, the meeting details (a.k.a
url) is put in the location field.
Then, I
have designed another plugin. Polycom CloudAXIS allows you to store participant
contact information in the portal Address Book for future invitations. When you
click on the button “Export IBM Notes Contacts”, it retrieves all your personal
contacts in names.nsf file and copies it into Polycom
RealPresence CloudAXIS Suite Address Book.