Information & social interaction
There is a revolution going on in the Internet, a revolution we all are living and enjoying. Social networks help us to communicate with each other, providing us with the ability to share our experiences anywhere, anytime. We are now aware that information is the key to enhance our comprehension of the world around us and, in many ways, to improve our productivity. By talking ones to the others and sharing our knowledge, we all can perform better, have better ideas and get things done easily and earlier.
To this extent, many of us have begun using social networks to meet the need of new, faster communication channels. We don’t go into Facebook to just upload a photo of our holidays, but to ask our work colleagues when the next meeting was scheduled, for example. Twitter has become a good way to quickly announce an upcoming seminar or workshop and a good tool to share that good web tutorial you found while stuck resolving some difficult issue.
Social networks are this great, but most of them lack something that makes them not to be the best choice when we use them in our working environment: privacy. All data you share and upload to these platforms does not belong to you or your company anymore and thus enterprise managers tend to discourage the use of social networks when private information is at stake.
So, why don’t we find a solution to those privacy problems, while still getting the benefits that good communication brings us? UPCnet uTalk is a social platform designed to achieve a compromise solution for these pros and cons we have reviewed. In just three words, UPCnet uTalk is corporate social networking, to enable social interaction within the scope of an organization, without losing the privacy that the information deserves.
Privacy & authentication
UPCnet, the company behind uTalk, partnered with inLab FIB to develop the Android and iOS mobile applications, which are designed to be one of the most significant parts of the UPCnet uTalk and UPCnet uLearn networks.
In order to preserve privacy, all data is stored in company-private servers that UPCnet maintains and continuously enhances with new features. The social engine behind these servers is the MAX (Motor d’Activitat i Subscripció, in Catalan), namely Subscription and Activity Engine. uTalk mobile apps are granted access to the content in the server by previously authenticating the user against another server, using the OAuth protocol. When the user is authenticated, an authorization token is sent back to the app, which will be forwarded to the MAX server with every single request.
One of the great benefits of the uTalk and MAX environment is that the only information needed for a user to be authenticated and authorized is his or her organization’s credentials: no telephone numbers, e-mail addresses or personal data must be given.
Social networks mashup
Real time messaging, personal and group chats or short, simple activities aggregated in activity streams are some of the main formats that social networks have come to adopt. uTalk offers some of these features to its users, like the aggregation timeline, where activities from all the user’s feed subscriptions are shown. It somehow reminds of Twitter, as activities are thought to be short and quick to read but, in this case, there is no limit on the length of the messages written.
Subscriptions play an important role in the UPCnet uTalk network. These can be seen as activity sources, where authorized users can publish content that people subscribed may read and share afterwards. Subscriptions are set upon the concept of an activity context, which can be almost anything that is suitable of generating social activity around it: a course, a user community or an institutional department, for example. The uTalk platform is also capable of forwarding tweets posted by users that contain a hashtag defined in such subscriptions by listening to some specific Twitter services.
All activities posted to the uTalk social network, as well as the ones that users receive from it, conform to the Activity Streams data format. This format specification is intended to ease the adoption and development of federated social networks, as most of the data published in any of these platform is generally of similar kind.
Another very useful social interaction is the one that WhatsApp and other services provide. Instant private messaging is also supported by UPCnet uTalk, to allow users a more personal and direct form of communication. This is perhaps the most technical challenging feature of the app, as it involves the use of WebSockets connections against the MAX server. Maintaining the WebSockets opened when using 3G networks without draining the device’s battery was somehow difficult, but could be finally sorted out. The STOMP (Streaming Text Oriented Messaging Protocol) protocol was used over the WebSocket connections to establish the application level of communication with the server: messages and subscriptions to chat rooms were addressed through STOMP.
UPCnet uTalk offers the possibility of receiving push notifications on the users’ devices to let them know someone has talked to them (using the instant messaging feature of the app). This way, users never miss anything someone has told them directly.
UPCnet uTalk is already available in both the iOS and Android platform app stores. To be able to use it, though, your company has to purchase the services of the social network, in order to set up a new MAX server instance where data is to be stored safely. The whole uTalk environment has been succesfully deployed in some professional associations and enterprises, as well as embedded in virtual learning tools in schools and colleges.
You can watch a video demonstrating the features of the app here and, of course, you can find the app in the Apple and Android stores:
Please note that, as stated, you can only access to the app if your organization has acquired the uTalk services UPCnet provides, but a limited demo will be shown during the MWC at the UPC stand.
As developers, we have to say that the project has been really interesting from many points of view. In the first place, we’ve had much to learn about Android, iOS and mobile computing as a whole, as a philosophy. Not only the frameworks are quite complex, but the way things are done within these platforms is quite different from what we are used to.
All the other feature libraries and protocols used, like WebSockets, STOMP or OAuth were interesting as well. Once we grasped how they worked, they simplified beautifully the application’s logic and empowered its features greatly.
The project’s management was decisive in successfully developing the app too. We worked following the Scrum approach to agile development and it was not to our surprise it worked well. Constant meetings with the customer, UPCnet, helped both of the parties to better understand the concept of the product, which evolved through time.
UPCnet uTalk has changed the way we look at mobile computing and software developing and has effectively helped to improve our skills, at many levels. We have enjoyed being part of the project and we hope final users find the apps as powerful and useful as we do.