Skip to main content

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

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.
Thanks Bruce,

I did download this white paper a few years ago.

Popular posts from this blog

Creating Twitter Bootstrap Widgets - Part II - Let's Assemble

Creating Twitter Bootstrap Widgets - Part I - Anatomy of a Widget Creating Twitter Bootstrap Widgets - Part II - Let's Assemble Creating Twitter Bootstrap Widgets - Part IIIA - Using Dojo To Bring It Together This is two part of my five part series "Creating Twitter Bootstrap Widgets".   As I mentioned in part one of this series, Twitter Bootstrap widgets are built from a collection standard HTML elements, styled, and programmed to function as a single unit. The goal of this series is to teach you how to create a Bootstrap widget that utilizes the Bootstrap CSS and Dojo. The use of Dojo with Bootstrap is very limited with the exception of Kevin Armstrong who did an incredible job with his Dojo Bootstrap, http://dojobootstrap.com. Our example is a combo box that we are building to replace the standard Bootstrap combo box. In part one, we built a widget that looks like a combo box but did not have a drop down menu associated with it to allow the user to make a select

The iPhora Journey - Part 8 - Flow-based Programming

After my last post in this series -- way back in September 2022, several things happened that prevented any further installments. First came CollabSphere 2022 and then CollabSphere 2023, and organizing international conferences can easily consume all of one's spare time. Throughout this same time period, our product development efforts continued at full speed and are just now coming to fruition, which means it is finally time to continue our blog series. So let's get started... As developers, most of us create applications through the conscious act of programming, either procedural, as many of us old-timers grew up with, or object-oriented, which we grudgingly had to admit was better. This is true whether we are using Java, LotusScript, C++ or Rust on Domino. (By the way, does anyone remember Pascal? When I was in school, I remember being told it was the language of the future, but for some reason it didn't seem to survive past the MTV era).  But in the last decade, there a

The iPhora Journey - Part 4 - JSON is King - The How

  The iPhora Journey - Part 1 - Reimagining Domino The iPhora Journey - Part 2 - Domino, the Little Engine that Could The iPhora Journey - Part 3 - Creating an Integrated UI Framework The iPhora Journey - Part 4 - JSON is King - The Why The iPhora Journey - Part 4 - JSON is King - The How As we mentioned yesterday, in reimagining Domino, we wanted Domino to be a modern web application server, one that utilized a JSON-based NoSQL database and be more secure compared to other JSON-based NoSQL platforms. A Domino document existing within a Domino database is the foundational data record used in iPhora, just as it is with traditional Domino applications. But instead of just storing data into individual fields, we wanted to store and process the JSON in a Domino document.  However, text fields (AKA summary fields) in Domino documents are limited to only 64 KBytes, and that is a serious limitation. 64 KBytes of JSON data does not even touch what the real world typically transfers back and fo