Monday, May 5, 2014

Transforming Domino into a Social Collaboration Platform, Part 1 - Where Do We Begin?


It has been almost 20 years, since we have been involved the IBM collaboration space.  We have built everything from training simulators, inventory management system, workflow and business process management tools, web site to CRM systems for customers using a variety of tools.  We even built interactive kiosks for educating kids in a museum.

Many years ago when Phora Group was still named Taishan Works, we starting developing an application framework on top of Domino to provide a uniform application environment called Integrated Business Framework. We wanted a framework that our customers could run their business and share information and content with their customers and partners in a team environment like projects and communities. The collaborative environment needed to be an integral part of their business process.  We developed the solution as a Notes client application with a series of plugin modules.  Though it worked, we found the interface hard to develop and maintain. The structure of how Domino used views and forms required too many tweaks and jerry rigging and became a mess especially when IBM killed off a feature we were using.  At that point, we decided that the our future did not reside with the Notes client applications, but Web applications.  Now XPages just started to appear, but was unstable and bad.

We had a number of expectations for the collaborative solution. We wanted our platform to work not only on a desktop environment but also on mobile devices.  So the interface had to be responsive. It need to work on all major browsers including IE, Chrome, Safari and Firefox. The interface needed to be simple and easy to use.

We looked at creating our apps as plugins for Quickplace/Quickr and make the hold thing a Web solution.  But we were shocked after reviewing the internal structure or lack of .  So we abandoned that concept.  And good that we did since IBM ended Quickr. Meanwhile, IBM introduced their series of Websphere-based solution which eventually evolute to IBM Connections.  IBM Connections is a very nice product.

Though IBM Connections is a great product, all of our clients are in the SMB space.  IBM Connections is geared for big enterprises none of which were our customers nor were we interested in competing in the enterprise space.  We looked around for an alternative collaborative solutions outside of IBM, but none really met our expectations.

Our requirements included:
  • A multi-tenant solution that we can have hosted as a SaaS solution and at the same time it can be installed as an on-premises solution. 
  • It needed to be easy to install and manage whether it was hosted or on premises.
  • It needed to be fully secured and allow full control on who, how and when a user can have access to any data
  • It had to work within an internal directory of users or external directory of users.
  • It need to be a scalable solution 
  • It needed to be simple and not bloated with features that users did not want.
  • It needed to be a truly secure platform that customers could store their sensitive data 
  • Have built-in business process and workflow management
So we looked at alternative Web platforms to develop our social collaborative solution for the SMB space.  Thought we have been developing primary in the IBM Domino space for the past 20 years, we wanted to look at other web application platforms.  Developing Domino Web applications has difficult and not natural.  Also, the IBM Domino licensing model was prohibitive expensive.  We looked at PHP, Rails, and other open source solution.  With the advent of NoSQL, MongoDB and CouchDB was a major consideration as the database back-end since collaboration data is liquid and somewhat unstructured.

We struggled to find a solution that met our requirements.  All of these application environments where able to do the job.  However, one nagging issue was data security.  Coming from the Domino world, the data security looked disheartening.  We had to build everything ourselves and we did not want to take the risk.  So there we were, stuck.  Can't use these open source platform and Domino too expensive and difficult as an Web application environment. So just as we were planning to abandon the whole concept, the new XWork licensing model was being discussed. 

Though we still thought XPages was unstable, we made a leap of faith and decide to stick with the Domino platform as our web application platform of choice.  It had the security and with XPages the web engine that we needed.  As least that's what we thought.

Next time: Transforming Domino into a Social Collaboration Platform, Part 2 - The Experimentation

3 comments:

belgort said...

Richard,

Check this out:

http://elguji.com/blog/d6plinks/BELT-88DQS9

Let me know if you need a copy.

belgort said...

Richard,

Check this out:

http://elguji.com/blog/d6plinks/BELT-88DQS9

Let me know if you need a copy.

Domino Interface said...

Thanks Bruce,

I did download this white paper a few years ago.