Let’s be honest, UCMA 1.0, while very useful, was a bit lame. The frustrating thing about it was it opened up many new possibilities, but didn’t give you the chance to take advantage of them. You could send messages to another party, but could not determine that user’s presence. You also were very limited with conferencing – basically you could only do conferencing by creating all of the protocols yourself, which wasn’t very handy. Finally, you were limited to text messages as we did not provide access to the media stack.
All of that has changed with UCMA 2.0. UCMA 2.0 may roughly be divided into three parts.
Signaling – This is very similar to UCMA 1.0.
Media - provides access to the media streams
Collaboration – provides presence and conferencing support
Additionally, the Speech APIs may be used in conjunction with UCMA 2.0, but constitute a separate API. Support for speech comes through hooking the speech API up to the media streams.
In this blog series, I will cover all of the main parts of the UCMA 2.0. If I have time, I will also cover the Speech API and its interaction with UCMA 2.0.
Due to time constraints, it is unlikely that I will be able to provide a new blog each day. However, I do have a plan for the blogs I want to write and the order in which they will appear. I have divided the blogs into seven ‘modules’ – each covering a different area of UCMA.
Part I Signaling – This is a shortened version of my old 16 part series on UCMA. In my opinion, before embarking on the more complex collaboration API classes, it is important to have a good grasp of signaling.
Part II Collaboration – Here I will cover the basic classes in the collaboration API, such as CollaborationPlatform.
Part III Presence - This module will cover the main presence classes in UCMA 2.0.
Part IV Conferencing – I will show how to create, join, and manage conferences.
Part V Media – Here I will cover the intricacies of the media API.
Part VI Speech – The speech API and how it interacts with UCMA 2.0
Part VII Surprise – I cannot comment on this one right now, but can only say that it is a surprise that you will not find out about elsewhere.
So without further ado, in the next post we’ll start discussing the signaling API.