Monday, November 23, 2015

Our Adventures into Creating a Secure MVC Framework - Part 3 - Experimentation

Now that we have defined our design requirements, we needed to determine the tools and approach that we would use to create our framework.

We had created previous versions of iPhora Touch using Dojo and wanted to start from scratch on what tools we would use to create our framework. Everyone that I talked to asked me why I was using Dojo since it is big and slow.  So we started looking at different options.  Do we take one of the existing more bare bones MVC framework like Backbone and take components from them to create our framework or do we start totally from scratch using JavaScript or jQuery.

There are so many frameworks out there it is amazing. You can find many examples of MVC frameworks in action at It was very difficult reading up on each framework, understanding them, and experimenting with them to see if they would work for us. Since we were already familiar with Dojo, we decide to start from there.  We found a couple of articles and frameworks that others had already done. However, as usual documentation was lacking.  What we did find was a very basic framework created by Christian Hoegl called Dojorama, and this served as our starting point. However it was built using version Dojo 1.9 the AMD version of Dojo.

Though we have been using Dojo for many years, we were using the non AMD version of Dojo and to us the new approach was like reading a foreign language. The structure of Dojo AMD and how it is used is totally different than previous versions of Dojo.  You had to type so much more code in order to do the same thing.  It seems ridiculous to us at that time. We struggled to make sense of what Christian was discussing. It seem to be too much work.  So we drop Dojo as a possible approach.

We tried Backbone, but we had to rewrite many of our widgets that we already created in Dojo.  In addition, we had to write more code to integrate with Backbone. Therefore, we dropped Backbone and went back to Dojo. So we spent many weeks learning and understanding the AMD approach used in newer versions of Dojo. Like always, most articles only presented simple examples.  We were struggling to understand the newer approach since our mindset on how to approach a problem was totally different.

As a precursor to further our discussion, we need to talk about Dojo widgets. A Dojo widget is a collection of HTML template and JavaScript. One hot topic of discussion in the Web development in recent years has been the concept of web components.  However, in Dojo this concept is no more than just a Dojo widget. Therefore, the concept of view/controller, it is just a Dojo widget.

A Dojo widget does not need to be a combobox or a field, it is can be as simple or comprehensive as you want it to be.  The class inheritance nature of Dojo widget makes it possible to extend the Dojo widget concept from being just a simple widget to a container widget or even something bigger and much more complex that inherits behavior from parent widgets.  The critical part that Dojo provides is the ability to create classes, superclasses, and class inheritance without having to create your own structure. This is one of the biggest advantages that most developers using Dojo have never utilized. Unless one has created complex Dojo widgets, one probably would not be familiar with these features. The OOP nature of Dojo with classes forces you to follow structured design patterns which makes it much easier for others to follow and manage your development process.

When a Dojo widget starts up it goes through a series of lifecycle methods including:
  • constructor
  • postscript
  • create
  • postMixInProperties
  • buildRendering
  • postCreate
  • startup

This lifecycle methods define how a widget is created, initiated, and displayed. A Dojo widget can inherit the behavior and functionality from superclasses or from other widgets.  In addition to these 7 lifecycle method for creating a widget you also have one method to destroy the widget.
  • destroy
For almost all cases the only one you normally would be using are:
  • constructor
  • postCreate
Most of the time, if you are using a multiple page application, you would never need to call the destroy method since the widget will be destroyed as a you navigate between pages. For a single page application however, the destroy method is critical. What we learned as we will discuss later, the standard Dojo lifecycles was not sufficient for us and we had to create many of our own in order to make everything work the way we needed to.

With this body of knowledge and experience we went back to the Dojorama framework to see if you can utilize any of the concepts presented by Christian to create our framework. Christian treated a web page simply as a Dojo widget.  As one navigates between pages you were displaying a different widget. The Dojo widgets (pages) were containers with simple HTML element inside. He used Javascript within each container to controller the behavior of the elements within each view.  This immediately hit us that the use of Dojo widgets in creating our MVC framework was the right direction.

Since we wanted iPhora Touch to be a multi-pane single page application, the structure need to be far more complex while being more robust.  The HTML components within a Dojo widget page needed to be complex Dojo widgets and they themselves can be containers contain widgets.  So we came up a layered Dojo widget based architecture that had the following structure.

Each layer was a Dojo widget starting from the core application layer all the way up to a widget like a combobox.

Next time:  Creating the Architecture - Dojo Widget Galore

Thursday, November 12, 2015

Our Adventures into Creating a Secure MVC Framework - Part 2 - Design Requirements

When we created iPhora Touch version 2, it was a multiple page application that utilized Dojo 1.53 and Bootstrap 2.32.  The interface worked well on desktops but broke down when used on tablets. It was totally unusable in a phone environment.  Since it was a multiple page solution each page needed to reload Dojo as you jump from page to page. Since we wanted a secured environment, pages could not be cached. However, this slowed down the loading and response of each page.  Since we were using Dojo 1.53 at the time we did not benefit from any form of AMD.

iPhora Touch V2 Community Home Page

We wanted to redesign the interface to work well with mobile devices and desktops, have better performance, but at the same time to be a secured environment.

Though our iPhora Touch solution is a social community-based solution, we designed it to be a closed environment by default and it is assumed that you are not allowed access to anything, which is contrary to how most social collaboration platform are designed.  Social collaboration no matter how any analyst or others spin it, is all about data. Who has access to this data needs to be securely controlled. Being openly social and with no control leads to data breaches. Security is not just about SSL, firewalls, and encryption.

So for any community you may have access to one piece of information at any given state, but in another one you may have no access or limited access.  This holds true not only within a community but all the way down to individual web containers and components part of a community.

So the challenge was to create an infrastructure and interface that met these requirements. Over the course of many months, we looked at many interfaces and did not find anything that we thought was appropriate. I asked my oldest son who is an industrial designer on design, but that was of no avail.  So it was a struggle to find something that would work.

My youngest son is a big user of Pandora and was listening to music when I noticed their application on his iPad.  I thought to myself this is a nice and simple interface, but very powerful. So I borrowed his iPad and played with Pandora for hours trying to understand its functionality. Unfortunately, there was a number of things that I thought was not usable for us, but it was a good starting point, a design inspiration. The multiple pane approach is what we needed, but how in the heck do we implement something like that. Many of the cool things it did we did not need or I was not sure we could even do on a web browser-based interface.

So using my favorite mockup tool, Balsamiq, I moved forward in laying out what the next version of iPhora Touch would might look like.  So we came up with a multiple pane environment that is shown below.  Depending on the state of the application some panes would be hidden and some not.  Many application used a similar approach including applications like Facebook on the phone.

This was the easiest part.  The challenge was to create a multi-pane single page application framework and make it work.

So we came up with our design requirements and they were as follows:
  • The JavaScript library that would be used to drive iPhora Touch need to utilize AMD to reduce the loading process
  • The JavaScript library components needed to only load once during a session and when needed.
  • Each pane needed to have its own independent security environment but at the same time could be dependent on the state of a different pane and controlled by the application developer
  • The content of each pane had to handle multi-state of existence:
    • Fully Cached, where both the view and scope is cached
    • View Cached, where only the view is cached and scope is destroyed after use
    • No Cached, where both the view and scope are destroyed after use.
    • Defined Cached, where the existence of view and scope is programmatically controlled by the application developer or the server
  • No data can be stored locally on the client, but create the illusion that data is local
  • The MVC framework had to handle not only the defined pane structure shown above, but needed to function in any multiple pane layout that one can come up with. For example, it should easily function in a three pane environment shown below.
  • All web container and components had to inhere to iPhora multiple level state environment. What this means is that for any web component there is a number of possible state of existence and the state in which it exist varies depending on the level of user access at any given time within its parent.
  • The MVC framework had to use dynamic routing. Since the state of any content within a pane is dynamic and ever changing, routing needed to be dynamic so static hash tag routing was totally out.
  • Data binding for components needed to be controlled by the application designer rather than being automatically performed by the system.
  • Web containers and components within a pane had to inherit the security of its parent container
  • All web containers and components needed to be generated dynamically and can not pre-exist since it is dependent on what a user is doing as it interacts with the application.
  • The MVC framework had to function with the iPhora RESTful APIs controlled by the Gatekeeper on the server.
  • The framework had to be lightweight and as small as possible
  • It needed to function in all favors of web browsers, both desktop and mobile devices (modern versions)
  • It needed a responsive UI.

Alternative Multi-pane layouts

So these were the design requirements and which there are many.

Coming next time, Part 3 - The Experiments

Friday, November 6, 2015

Our Adventures into Creating a Secure MVC Framework - Part 1 - Introduction

As I was writing this series, it cause me to rethink some approaches and redesign part of our MVC framework. Therefore, it took me a bit longer to start this series than I thought. But here goes.

The concept of Model-View-Controller MVC can be implemented in two ways, using a server-side component framework that generates the Web application interface/view or as a JavaScript framework that gets data from the server and generates the Web application interface/view .

In this series, we will be discussing how we created and implemented a JavaScript MVC framework. If you a Java developer and would like to implement a server-side MVC framework, Vaadin is a good server-side MVC framework to look into.  For developers in the XPages community, Ulrich Krause and Paul Withers has been blogging about Vaadin.

Each approach has its advantages and which approach you use is based on your development skills, tools, and architecture of your web application. If you are a XPages developer and plan to continue implementing web applications strictly on the server-side, I suggest you seriously look into Vaadin and move away from the whole XPages approach.  Vaadin provide you a more standardized and reusable approach.

What is an MVC Framework?
The goal with most MVC framework is to separate the application into 3 primary components that are use to generate the interface used to interact with the data, the model (data), the view (presentation), and the controller (manipulator).

If you are using a server-based approach, everything is done on the server. For a JavaScript-based MVC, the client retrieves the data and templates from the server. The controller facilitates the binding process and interface manipulation to generate what you see on the device. One addition component is the router which facilitates the communication between the client and the server.  For our architecture, the router is a separate component layer.  In some frameworks it is part of the model.

They are many different derivatives of the MVC concept. Some are very basic and some more encompassing. The model can reside both in memory and in local storage. In some approaches, the model structure is a directly reflection of the data on the server and the data is automatically synced. The controller always accesses the model locally whether in memory or local storage. As a result, any changes to the local data propagates back to the server.

MVC frameworks can implement either a one-way or bi-directional binding of the model with the view. Bi-directional binding significantly reduces the need to manage the data. One of the best examples of MVCs utilizing bi-directional binding is Angular. At this time, it is the most popular JavaScript-based MVC framework. Marky Roden has done a number of blogs and presentations at MWLUG and IBM Connect relating to Angular. Angular makes it easy for you with the help of some CSS create some very nice applications. Dojo also provides the ability for this two-way binding process, but it requires must more coding than Angular.

Two-way binding is great, but what happens when you start applying strict security rules on read/write/delete access that dynamically changes during a session. Well, the beautiful bi-directional binding falls apart and everything you do becomes a hack.

Secure MVC framework
As I mentioned in my prologue, our goal was to create a secure MVC framework. So what constitutes a secure MVC framework versus a regular MVC framework? A secure MVC framework has to perform like a regular MVC framework, but must take into account that data and information security trumps over the user interface. At no time can data reside locally on the client. It should only be in memory and if it is no longer needed it should automatically be destroyed. It needs to work in an environment where user access to any particular data at any instance is dynamic, access level is dynamic and may be revoked at any time during a session. It needs to respond accordingly to handle multi access level from the application level all the way up to the widgets level.

In addition, our framework needed to be server technology agnostic and work in a multiple pane environment where user access rights maybe different for each pane. So that was our goal.

Coming Part 2, Design Requirements

Thursday, October 22, 2015

Fall 2015 GRANITE LUG Meeting, December 2, 2015

Fall 2015 GRANITE LUG Meeting

December 2, 2015
IBM Center
Downtown Chicago
Room 6601

Come join us for the fall 2015 GRANITE Lotus User Group meeting.  We have a packed day of presentations for administrators, developers and managers.
Breakfast and lunch will be generously provided by Ytria, Inc.

To register for this event go to:

For community members that can not attend in person, Ytria has set up a web broadcast for this event.

8:30 AM - 09:00 AM
Breakfast and Networking

ben9:00 AM - 10:00 AM
Mastering Your Logs, Everything You Should Know about Logging in IBM Domino
Presenter: Benedek Menesi, Head of Product, Ytria Inc.
Domino Properly logging and monitoring what happens in your Domino environment is critically important for both security and performance. In order to get the most out of your log data when things go wrong, it’s vital to understand its structure, how and what is (or isn’t) logged, and how to search logs effectively. In this in-depth session we will talk about the inner workings of various Domino logging mechanisms by dissecting the structure of log event documents such as Miscellaneous, Replication, Usage Session, User Activity etc. You’ll learn how to deal with verbose logging, retention best practices, monitoring bottlenecks, as well as behind-the-scenes data such as status codes and how to best use them. After this presentation you will walk away with a solid understanding of your log architecture, the means to set up notifications for when things go wrong and faster ways to find what you’re looking for.

10:00 AM - 10:15 AM

Mike10:15 AM - 11:15 AM
Building on Properties
Presenter: Mike McGarel, Collaborative Solutions Developer, Czarnowski Display Services, Inc.
The custom property can be a simple yet powerful tool for both your UI and data needs. Properties can contain a variety of objects, from strings to Java beans. This presentation will demo practical examples of custom properties in two design elements, the custom control and the XPage.

11:15 AM - 11:30 AM

ben11:30 AM - 12:30 PM
Hands on with Ytria's administration & development tools: understanding your logs, documents, replication, designs, etc. 
Presenter: Benedek Menesi, Head of Product, Ytria Inc.
As a company that has been developing software tools to help IBM Domino Administrators and Developers for over 15 years, we continue to talk to hundreds of customers and assist them with tackling interesting, tedious, and annoying problems every week. During this BYOP session (Bring Your Own Problem), you're welcome to share your own dilemmas as we dive straight into a troublesome live environment to find, understand, and resolve the toughest problems Notes professionals face on a daily basis.  We'll make use of the Ytria tools to get a quicker (and better) understanding of Log.nsf, identify and fix inconsistent replicas, discover and patch security holes, analyze application usage, documents and more. 

12:30 PM - 01:00 PM
Come join us for our stuff pizza lunch and networking with other community members.

01:00 PM - 02:00 PM
Creating a Secure MVC Framework
Presenter: Richard Moy, Managing Director, Phora Group
There are many popular open source MVC frameworks available for developers including Angular, Backbone, Ember, and React. These frameworks make it easy for developers to quickly create dynamic web applications.  However, what do you when these solutions do not meet your needs? You create your own framework. Join Richard for this enlightening presentation on their trials and tribulations in creating their own secure MVC framework.  Richard will describe their experiences, the issues and pitfalls that they encountered and what to avoid.

Tuesday, September 29, 2015

Our Adventures into Creating a Secure MVC Framework - Prologue

Now that MWLUG 2015 is history and MWLUG 2016 is in the planning stage, I can now start writing a series that I have wanted to do for awhile about creating a MVC framework.

This will a multi-part series on my adventure into creating my own MVC framework.  I will be talking about MVC in the generic sense and it will include MV* of all types.

Creating your own MVC framework? Am I out of my mind? Why in the world would you do that you may ask. There are so many popular and great MVC frameworks available including Angular, Backbone, Ember, React, and etc.


When we rolled out iPhora Touch v2 just before MWLUG 2014, the feedback for the interface was lukewarm at best, it was slow since the page had to be refreshed each time and it did not work well on tablets and other devices.  Though we were using Bootstrap the interface it just would not respond the way that we wanted.

So after MWLUG 2014, I set out to figure out a way to improve the design so that it would be faster, more responsive, and easier to maintain.  The previous UI framework was built using Dojo 1.53 which needed a significant amount of Javascript to be loaded before the page would initialize.  So moving forward we wanted a AMD JavaScript framework to reduce the loading time.

We wanted to provide a simple and usable user interface for our iPhora solutions that would work for both desktop and tablets.  In our iPhora technology, the UI is totally decoupled from the server and there is a total separation between the data and the form.  We have never been a big fan of having the server generate the HTML interface. That approach requires you to couple the data with the UI. By decoupling the data and UI, what technology is used to generate the data is irrelevant. Currently, it is Domino, but it could easily be a combination of other propriety or open source technologies.  All information is sent and received through a series of JSON RESTful APIs that is managed by the iPhora Gatekeeper. What information you have access to is based on user authentication, roles, ACLs, and permissions. Note for Domino developers, don't use DAS.

Our approach of using Restful APIs makes the use MVC framework ideal. We have long been intrigued by the different MVC frameworks including the popular ones like Angular and Backbone. So our goal was to replace our entire front end with one of these open source MVC frameworks. Even Dojo has a MVC framework, kind of.

However, the selected MVC framework had to meet a number of criterion including easy adaption to how our iPhora data security model worked. It had to handle our multi-level UI Bootstrap-based widget design that is part of the iPhora security model. It had to be lightweight, while being very structured allowing the use of design patterns to help maintainability. In addition, the goal was to have a multi-pane single page application (SPA) interface to help to reduce the constant loading of core libraries over and over again while allowing for constant changes to what appeared on the screen. Since iPhora is designed to handle sensitive information, we needed to control when and how information was to be cached or destroyed both in memory and visually.

From our research and experimentation, we decide the popular MVC frameworks were not going to meet our needs.  Stuff like bi-directional coupling did not work for us since it is assumed that at every RESTful API call your security level and access might have changed.  Not only that, the security level for each of the multi-panes within the single page application interface may be different.

So our adventure of creating our own MVC framework began.  We rolled up our sleeves, got many 6-packs of beer and started laying out want we needed.

Next time, Design Requirements.

Thursday, September 17, 2015

Get Ready for Another Great ESS aka ICS aka Lotus User Group Conference, ICONUK 2015

If you have not registered for ICONUK 2015, there is still time.  It is coming up next week, September 21-22nd at the IBM Client Centre at IBM South Bank.

Tim Clark has done an amazing job in pulling this conference together.  ICONUK 2015 has over 40 incredible sessions.

If you missed MWLUG 2015, here is your opportunity to attend some of the best sessions for a small donation of 50 pounds to The Rainbow Trust Children’s Charity.

To register go to:

Sunday, August 23, 2015

MWLUG 2015 Summary and Beyond

As we wind down MWLUG 2015, I want to express a few thoughts.

My goal each year has been to create a unique and fun event that provides the best of the best in educating and collecting our community regarding our incredible technologies that we have built our careers around. Each year we try something different making the experience a memorable one. This year we had it in the Ritz-Carlton with the Thursday evening event at the Shakespeare Tavern Theater. Unfortunately, I went to the washroom when the best entertainment was on stage. Damn anybody have pictures.

Time to time again you will never see many of the MWLUG sessions at IBM Connect/Lotusphere/IBM Connect ED. The more out of the box from what IBM is telling you the better.  I don't care if you are new to speaking.  If you can communicate and have a topic that would be interesting to the community, then you will be selected. We all have to start from somewhere. Truly great speakers practice and learn from their experience.

Louis Richardson who spoke during the Thursday Keynote contacted me right after his session to see if he can see the video of himself so that he can improve on it.

For myself, I am not a good speaker because I do not practice enough and ad lip too much. But over the years I have improved. Starting from my first presentation in front of management where my knees where shaking so much that I almost fell down to speaking in front of all of you.

This has been the most successful MWLUG conference we have ever had.  This truly is the result of great support by the community. I want to give a special thanks to Lisa and Darren Duke for making this happen.  It takes a lot of work and risk to create such a conference. Each year I have to personally guarantee the hotel. So the support of others in the community is extremely important. Ray Bilyk and I worked on the secret surprise for close to a year and it turned out great.  Ray had to try a couple of times to get it right the way he wanted.

When Gregg Eldred and I conceived MWLUG in 2008, our goal was to create a local Midwest conference to help connect Midwest members of the ICS community together, learn, network, and have fun. Over the years I have connected to other community members that I would not have ever met many who have become good friends.

Over the years, participation in MWLUG has been growing outside of the Midwest region. So when we were looking at MWLUG 2015, we evaluated each city based on the voting and the possible participation and local support. The success of the conference relies on significant support by the local community members along with all the sponsors, speakers, and volunteers.

Many have commented on how come Atlanta was chosen this year for MWLUG.  It is technically not part of the Midwest region of the United States. Of all the cities we looked at not only did Atlanta receive the most votes, but the local support was truly solid.

The success of MWLUG 2015 I would say without a doubt was the result of receiving help from Lisa and Darren Duke. Without them, I would have not consider organizing MWLUG 2015.

So as I evaluated whether we should have MWLUG for 2016, local support was my number one priority.  My participation for MWLUG in 2016 needed to be reduced since I need to spend more time on other things. I provided feelers out there based on five cities and Austin was just a thought and was not even a significant consideration. However, as I talked to individuals from Texas, they were not only enthusiastic but they were willing to step up to the plate to give me the support. The same enthusiasm that Lisa and Darren Duke provided for MWLUG 2015.

So as we wind down this years event. We decided that MWLUG 2016 will be in Austin, TX. So if we continue MWLUG into 2017 and you want your city to be the host city, then start telling us why we should have MWLUG in your city and what you are willing to do to help.

I already have in my mind a few surprises that we have never done before. So stay tune.

Highlights of MWLUG 2015

  • Meeting everyone in the community, that is what it is all about
  • Fitting 54 sessions in less than 3 days
  • William Malichsky in a bow tie
  • Surprise on Devin Olson's face when we pulled out the secret gifts of MWLUG 2015, MWLUG Beer
  • The mystery flasher at the Shakespeare Tavern Theater
  • The mystery flasher at the CGS
  • Presentation by Professor Katherine Rhodes Fields and learning why uppercase and lowercase are called that way
  • Tony Holder and Ulrich Krause stepping up to help us to get non-urine beer
  • IBM getting us the additional funds that we needed to add additional attendees after we had no more funds
  • Ritz-Carlton have amazing bathrooms in the Ballroom
  • Meehan's where majority of us hung out in the evenings
  • Louis Richardson's presentation
  • And finally the most important thing being with my family. Without them it would be hard to get this off the ground.

See everyone in MWLUG 2016 in Austin Texas

Sunday, August 16, 2015

Business Partner Development Session at MWLUG 2015

If you are IBM business partner coming to MWLUG 2015, we are please to announce the BP session for Wednesday, August 19, 2015.  The session will start at 12:30 PM in the Congress room.  Our friend and community member William Malchisky will help start off this session.

Below is the abstract for this presentation.

The Business Partner Development session is provided in two cohesive parts allowing for significant feedback and learning. First, join Bill Malchisky and Prabu Ayyagari as they engage the audience in solution-based dialogue around hot topics within Voice of the Partner and provide your feedback directly to IBM. Be certain you will be provided the last information on that project.

Second, Larry McCants and Ernie Sutter from IBM's Social Business and Digital Experience Channels have plenty of product updates and demonstrations of IBM's Social Business product portfolio including IBM Social Messaging & Collaboration solutions, IBM Connections, and IBM Connections Cloud--IBM Verse inclusive. There will also be an update on the IBM Business Partner program plus an open discussion and Q & A session on how existing IBM Business Partners can make more money selling IBM Social Collaboration and Digital Experience solutions and services.

If you are a business partner, this is a key session during your time in Atlanta.

Note: To ensure that your voice is heard, we reserved the Georgia Room for one-on-one meetings with Prabu on Wednesday afternoon and all day Thursday. Please make sure you book some time with him.

Thursday, August 6, 2015

Two Weeks to the Start of MWLUG 2015, See What You Are in For

It is two weeks away from the official start of MWLUG 2015, after the early bird sessions on Wednesday and a bit of fun, drinks, and food during the Wednesday Evening Exhibitor Showcase Reception, the seventh annual MWLUG 2015 conference will officially open on early Thursday morning. This year it starts a bit earlier. We have lined up an incredible list of speakers for you.  So join us in Atlanta for MWLUG 2015.  We still have a few slot left as I post this blog.  So don't wait, because there will not be any attendee slots left.

"Everything Starts From A Dot": The Elements and Principles of Design as the Visual Link to Innovation
Katherine Rhodes Fields, Professor of Fine Arts and Head of Printmaking - HCC Central

Historically, design, as a practice, is the connection point between the object and the user.  This lecture will focus on the foundations of design and how it has and continues to impact our world. The famous quote of Russian born artist and Bauhaus professor Wassily Kandinsky succinctly evokes the notion that all things begin from one point ( a basic element of design) and extend from there to manifest some of the greatest ideas of all time.

Establishing a New Culture of Design
Phil Gilbert, General Manager of IBM Design - IBM

In 2012, IBM reactivated its Design Program to spread human-centered design practices across the breadth of our portfolio. Hiring hundreds of formally trained Designers was only the start; now we are establishing IBM Design Thinking practices across the company—for our own product design and for our clients. First established in 1956, the reactivated IBM Design program is impacting every division and clients around the world.

IBM ESS Strategy, and Radar “A New Way to Work”
Kramer Reeves, Director, Offering Management Portfolio IBM Enterprise Social Solutions

With the announcement of IBM Verse, IBM has a wide selection of social software both on premise, in the cloud or in a hybrid configuration. In addition to IBM Verse, IBM delivers a complete portfolio of capabilities needed to help you become a social business, including IBM Notes Domino for messaging, calendaring and application development, IBM Connections for enterprise social networking, along with IBM Connections Chat, Meetings and more. This OGS will take you through the portfolio and highlight what IBM has in store to help you accelerate your social business journey. There will be plenty of interaction and a peek at our future plans, including how we see cognitive analytics fitting into our entire social platform.

The Greater Good of Social Collaboration
Louis Richardson, IBM Storyteller & Enthusiast - IBM

The Story Teller, Louis Richardson from IBM will be presenting the MWLUG 2015 Thursday Keynote Session during Thursday lunch.
Louis will be presenting "The Greater Good of Social Collaboration." This unique session brings to light the power of social collaboration.  So come to this Thursday session and have a great lunch, listen, and learn.

Tuesday, July 28, 2015

Announcing the MWLUG 2015 Thursday Social Event

We are please to announce that the MWLUG 2015 Thursday Evening Social Event is:

The comedy, "The Complete Works of William Shakespeare" in 2 hours at the The New American Shakespeare Tavern.  Dinner will be provided along with this comedy.  

The bus will leave immediately from the hotel after the last Thursday session.  The bus will make a number of trips to bring everyone to and back from the Ritz-Carlton.  Please note though it is not far from the hotel, but it has been advised that you take the bus to the theater and not walk.

So if you are coming to MWLUG 2015, come join us and learn and have a bit of fun.  Registration is still open go to:

Thursday, July 23, 2015

MWLUG 2015 Session Schedule Now Online

It took me most of the night until 2:00 AM, but the MWLUG 2015 Session Schedule is now online.

With 53 sessions MWLUG 2015 will be biggest MWLUG ever.  So get registered and we will see you in Atlanta.

With 53 sessions and a registration fee of $50 USD, that is less than $1 a session.  How we can do this?  Great volunteers and great sponsors from our community plus incredible speakers who devote their own time and resources to educate and help our community.

Tuesday, July 14, 2015

MWLUG 2015 - Wednesday Social Event

If you are coming to MWLUG 2015 and would like to join us for the Wednesday Social Event, we will be going to the Coca-Cola Museum which is 4 blocks away from the Ritz-Carlton hotel.  We will be meeting at the hotel lobby at 9:15 and walking over.  The cost of the event is $16 for 13 yrs old to adults and $12 for 3 yrs to 12 yrs.  The museum openings at 10:00 AM.  We will be officially returning at 12:00 PM.

For more information:

Tuesday, July 7, 2015

Announcing the MWLUG 2015 Community Outreach Recipient

Louis Richardson will be presenting on Thursday, August 20, 2015 the MWLUG Keynote presentation "The Greater Good of Social Collaboration." This unique session brings to light the power of social collaboration in helping yourself and others. As members of the IT community, we are also an important part of our local community. Through the MWLUG 2015 Community Outreach Program, we are raising money for organizations that help the local community. Each year we identify an organization in which our contribution would have the greatest impact on the local community of the host city.

Over the years we have raised funds for a number of local food banks and the Salvation Army.  I am please to announce the MWLUG 2015 Community Outreach Recipient is the Atlanta Community Food Bank.

Thanks to the generosity of the Ritz-Carlton, we will be raffling off a weekend stay at the Ritz-Carlton Downtown Atlanta as the grand prize. Please take the opportunity to help the local community. Each raffle ticket is $10 and you can buy them at the registration desk starting Thursday morning. We will announce the winners during the lunch on Friday.

Atlanta Community Food Bank

The Atlanta Community Food Bank is one of the largest hunger relief organizations in the Southeast. We support a network of 600 partner nonprofits - community and faith-based organizations - across 29 counties in greater Atlanta and north Georgia. Together, we connect over 750,000 people each year with more than 60 million pounds of food – or more than 50 million meals. But our work isn’t just about food – it’s about community change. We engage, educate and empower the community to fight hunger. The transformational change we catalyze in the community leads to transformational change in the lives of our clients. In addition to food distribution, we also provide several programs throughout the community: Community Gardens supports neighborhood gardens around the city; Kids In Need provides free school supplies to low-income schools and students; Benefits Outreach assists people with public benefit eligibility; Hunger 101 educates the community about hunger and poverty; and our volunteer program provides the community opportunities to participate in local service events and onsite food sorting in our Product Rescue Center.

Wednesday, July 1, 2015

Louis Richardson, aka Story Teller Presents the MWLUG 2015 Thursday Keynote Session

MWLUG 2015 is becoming the best conference that we have ever organized.  We are happy to announce that the Story Teller, Louis Richardson from IBM will be presenting the MWLUG 2015 Thursday Keynote Session. The keynote session will happen during the Thursday lunch, August 20th, 2015. So don't skip lunch on Thursday or you will feel sorry that you did.

Louis will be presenting "The Greater Good of Social Collaboration." This unique session brings to light the power of social collaboration.  So come to this Thursday session and have a great lunch, listen, and learn.

Louis Richardson

Louis serves as an IBM Storyteller & Enthusiast around the topics of Social Smarter Work. In this role, he has the privilege to meet with leaders around the world who are interested developing a social business culture within their organizations. These conversations provide Louis with a broad exposure to the practical and business relevant impact that social software is having on today’s businesses. And while the topic of social smarter work can be complex, Louis uses his conversational and story-telling style to relate to non-technical audiences. He is often called on to share his stories and insights at conferences, workshops and through his social network.

Tuesday, June 30, 2015

Announcing the MWLUG 2015 Guest OGS Speaker

Each year at the annual MWLUG conference we focus on a theme. This year the theme is "Transforming Collaboration Through Innovation." Design creates innovation by forcing changes on how we perceive and think. Design controls how effective we communicate to users. IBM have been focused on bringing design innovations to products like IBM Verse.

We are so fortunate this year to have Phil Gilbert from IBM Design speak about the importance of design for software followed by Kramer Reeves discussing innovations that IBM have been focused on with IBM Verse. For the seventh annual MWLUG conference Phil and Kramer will be lead by one of the most dynamic speakers that our MWLUG committee has ever known about image and design.

We are happy to announce that the MWLUG 2015 OGS Guest Speaker is artist and educator Katherine Rhodes Fields.

Katherine Rhodes Fields

Katherine is an internationally recognized graphic arts educator and contemporary artist whose print work was recently displayed as a solo exhibition at the famous Grafički Kolektiv Gallery in Belgrade Serbia. In August of 2014, she was the invited graphic artist from the United States for the Fine Arts International Assembly, in Visegrad, Republic Srpska, Bosnia and Herzegovinia. In the late summer of 2015 she will return to Serbia to participate as a representative artist from the United States for the Tourism Organization of Kraljevo’s 40th Art Colony at Studenica. Her work can be found in printed publications as well as many private and public art collections, including the Mississippi Museum of Art. Katherine has also created broadsheets for the famed authors Ace Atkins, Jeffrey Eugenides and the 2013 Pulitzer Prize in Fiction winner Adam Johnson.

Katherine currently resides in Houston, Texas as Professor of Fine Arts and Head of Printmaking at HCC Central and teaches printmaking at The University of Houston Clear Lake including the UHCL International Arts Consortium where she has conducted printing workshops and critiquing sessions at the Universidad de Veracruzana, Facultad de Artes Plasticas, Xalapa, Veracruz, Mexico, the University of Arts, Faculty of Fine Arts, Belgrade, Serbia and at the University of Arts, Faculty of Applied Arts, Belgrade, Serbia. In September of 2015, Katherine will begin her tenure as President of Print Matters, a non-profit artist organization in Houston, Texas and as Executive Director of Print Houston, a city wide and summer-long celebration of original prints in related exhibitions, lectures, workshops, and special events at museums, galleries, non-profit organizations, and alternative spaces throughout the Houston area.


Thursday, June 25, 2015

Announcing the IBM OGS Speakers for MWLUG 2015

We are please to announce that we have two great IBM Opening General Session speakers for MWLUG 2015.  The two IBM OGS speakers are Phil Gilbert from IBM Design and Kramer Reeves from IBM Collaboration Solutions.  Along with our guest speaker, Phil and Kramer will be opening the seventh annual Midwest Lotus User Group Conference  in Atlanta, Georgia at the Ritz-Carlton, Atlanta - Downtown, August 19-21, 2015.

We are two months away from this incredible conference so get registered and learn why our theme for MWLUG 2015 "Transforming Collaboration Through Innovation" holds so true and is everywhere.

We will be announcing the MWLUG 2015 Guest OGS Speaker next week.


Phil Gilbert General Manager of IBM Design
As General Manager of IBM Design, Phil Gilbert sets the strategy for and leads the transformation of product design at IBM. IBM Design is focused on three things: recruiting & retaining top designers, scaling the consistent practice of great design across IBM, and simplifying access to IBM’s broad portfolio of capabilities. Previously, Phil led the Business Process Management segment for IBM, where he drove the simplification of its portfolio and the ease-of-use of its products. Phil joined IBM in 2010 via the acquisition of Lombardi Software where he was President. Phil is a recognized leader in the technology industry and holds multiple patents. In addition to leading three successful start-ups, he is a respected thought leader who regularly shares his expertise on topics of portfolio and software design, design governance, strategy and culture with clients and organizations around the world.

Kramer Reeves, Director of Product Management for Collaboration Solutions
Kramer Reeves has over 15 years experience in the enterprise software industry, 11 of which at IBM. He is currently Director of Product Management for Collaboration Solutions inside IBM Software Group. In this role, Kramer leads a world-wide team and overall business responsibilities for key product lines including IBM's messaging and collaboration solutions; unified communications software; and the workforce productivity portfolio. Prior to this role, Kramer was Director of Global Marketing for IBM's Business Process Solutions portfolio, leading IBM’s Business Process Management (BPM) and Operational Decision Management (ODM), Business Rules and Event Processing software portfolios and IBM's Service Oriented Architecture (SOA) marketing agenda. Kramer has a BS in Engineering from Virginia Military Institute and an MBA from the University of North Carolina at Chapel Hill.

Friday, June 19, 2015

MWLUG 2015 Sessions Now Online

We are pleased to announce that sessions for MWLUG 2015 are now online on our web site. For MWLUG 2015 we will have close to 50 business and technical sessions making this the largest and most comprehensive conference that we have ever had. We have over two dozen IBM Champion speakers sharing with you their knowledge and skills. In addition, we have a number of first time speakers and customers sharing their experience with you. First sessions will start on Wednesday afternoon, August 19th.

That is $1 per session.  How can you beat that and it includes food and entertainment.  So register.

MWLUG 2015 marks our 7th conference and will be held at the Ritz-Carlton, Downtown - Atlanta Georgia, August 19-21, 2015. MWLUG 2015 is the premier IBM user group conference dedicated to collaboration technologies.
MWLUG 2015 provides you the IBM professional the opportunity to learn, network, and contribute to our great community while enjoying a bit of fun.
The Ritz-Carlton, Atlanta hotel is downtown's premier 5-star hotel and rated as one of the best hotel in Atlanta. We have made special arrangements with the Ritz-Carlton for a special discount of $149.00/night for attendees of MWLUG 2015.
To register for MWLUG 2015, go to:
This year's theme is "Transforming Collaboration Through Innovation". So if you are looking for unique ways of incorporating or using others' technologies with the IBM portfolio, different ways of utilizing the IBM portfolio in your business, or taking IBM technology to the next level, come to MWLUG 2015 and see how others in the ICS community are transforming collaboration.
MWLUG 2015 session tracks include:
  • Application Development
  • Best Practices in Social Collaboration
  • Customer Business Cases
  • Innovation
  • System Administration

MWLUG 2015 is made possible by the generous MWLUG 2015 sponsors whom not only pay for the majority of the cost for MWLUG 2015, but also donate their time in organizing and providing technical sessions on critical topics that are important to our ICS community.

Tuesday, June 9, 2015

Help Protect Child Information Privacy by helping Phora Group become a Chase Mission Main Street Grant Recipient!

As advocates of child privacy, we ask everyone in the ICS community to help us.  We are applying for 2015 Chase Mission Main Street grant and we need your vote.  As many of your know, our iPhora Touch technology is based on XWork /Domino and we would like to bring this technology to K-8 schools and ensure that students and teacher information is not be recorded and create iPhora Touch for Education.
Please read below the description on what we are doing.  Unfortunately, you need a Facebook account in order to vote, but every vote counts.  Let's help protect our kids privacy.
There are many cloud-based social collaboration products that offer free services to schools for teachers and students to use in their classrooms. The age-old adage "nothing is free" really does apply in this situation. Many of these "free" services come at the cost of privacy. Information that is shared and exchanged between students and teachers is collected and aggregated for corporations’ marketing use.. As advocates of child privacy, we want to provide schools with an alternative solution, one that keeps our students’ and teachers’ information private. We plan to utilize our iPhora Touch technology to create a K-8 collaboration system so that schools have a private and secure social platform in which teachers, students and their families can exchange and share information without being tracked and analyzed for marketing information. We plan to work with local elementary schools in our area and, with help from foundations, create and provide this platform to schools at no charge. We would like to use half the Chase Mission Main Street Grant towards developing this version of iPhora Touch: iPhora Touch for Education. So please help us make this become reality and vote for Phora Group.

go to:

Friday, May 22, 2015

Due to Technical Difficulties MWLUG 2015 Abstract Submission Deadline Extended

Unfortunately, we have had issues with the abstract submission process for MWLUG 2015 and some abstract submissions never get through the process.  Therefore we are extending the submission deadline until May 29, 2015 at 5:00 PM.

If you submitted an abstract and did not get a confirmation email telling you that you have successfully submitted the abstract please resubmit your abstract.  If that does not work, please send your abstract to  We have been trying to isolate the problem.  If you abstract submission failed, please let us know what browser were you using, operating system, and device.


To submit your abstract go to:

Monday, May 4, 2015

Registration for MWLUG 2015 is Now Open

I am please to announce that registration for MWLUG 2015 is now open.  MWLUG 2015, the 7th annual Midwest Lotus User Group Conference will be held in Atlanta, Georgia at the Ritz-Carlton - Downtown, August 19-21, 2015. 

We had a great line up and plans for MWLUG attendees including tour of the Coca-Cola museum. So get registered for this great event.

We look forward to seeing everyone there.

To register go to:

Friday, April 10, 2015

MWLUG 2015 Session Abstract Submission is Now Open and New MWLUG 2015 Web site

I am please to announce that session abstract submission is now opened for MWLUG 2015.  Abstract submission will close on May 22, 2015 so get your abstracts in.  To submit your abstract go to:

This year's theme is "Transforming Collaboration Through Innovation".  So if you have done unique ways of incorporating or using others technologies with the IBM portfolio, different ways of utilizing the IBM portfolio in your business, or taking IBM technology and make it do things that it was not designed to do, we want to hear from you as an innovator. So don't be shy and submit your abstract.

MWLUG 2015 session tracks include:
  • Application Development
  • Best Practices in Social Collaboration
  • Customer Business Cases
  • Innovation
  • System Administration

As always, if you have never spoken at a conference, here is your opportunity to contribute to our community.  We reserve a number of slots for new speakers. 

We decide to become innovative and redesign the MWLUG web site this year,  So there is a new look and which will hopefully work with mobile devices soon.  As Mike McGarel said:

Sadly the MWLUG site isn't working on mobile yet. We "innovated" ourselves over the bleeding edge.

The new MWLUG site is based on the Bootstrap-based XControls from Teamstudio.  So send us your comments about the site so that we can improve on it.  Mike McGarel has been working to the bones to create this new site. Special thanks to him.

So remember, abstract submission ends on May 22, 2015 with registration for MWLUG 2015 starting on May 1, 2015.

Tuesday, March 31, 2015

And it is Still Alive and Kicking

About a year ago, it was reported to me that all the kiosks that we help develop for the Take Flight exhibit at the Museum of Science and Industry (MSI) in 1995 were removed and replaced with newer kiosks. I was very sadden to hear this.  We developed three different types of kiosks, two outside the 727 and one inside the plane and installed into the back of each seat in the plane.

My colleague, Robert Burton developed a compiler using C and assembly that was originally used for developing our Lotus cc:Mail training courses for version 1.0 all the way up to version 2.  The compiler and development kit allowed us to create very dynamic graphics for the DOS platform.  At least it was very dynamic in 1995.  Each of the 20 so kiosks ran on a Gateway 486 with 64M of memory.  Wow!!  Startup and shutdown of these kiosks was done by turning the power on and off.  I wonder what would happen to Windows if that happened.

Since we are members of MSI, I decide to make a visit to MSI yesterday to see what they replaced our stuff with. The newer kiosks were bigger and had more graphics, but I still liked better the graphics found in our application. They are more vibrant and fun.

However, we were pleasantly surprised to discover that there was still one kiosk that was not replaced. So our work that we did 20 years ago lives on!!! Being turned on and off every single day, entertaining visitors (millions of them) and will be continuing to do so for many, many years or until the Gateway 486 craps out.  Just like Lotus Notes, our app was built to last and yes Gateway built good computers those days.

Of course we bumped into fellow ICS community member, Andrew Barickman and his family at the MSI.



Monday, March 2, 2015

Sponsorship for MWLUG 2015 is Now Open

Sponsorship for MWLUG 2015 is now open.  We are very excited about this year's conference at the Ritz-Carlton-Downtown Atlanta, GA.  If you are a previous sponsor of MWLUG or have already contacted me about sponsoring this year, you will be receiving a sponsorship kit this week. If you are interested in sponsoring, please send me a note as soon as possible.  We have a limited number of slots for sponsorship.

Fortunately, the ballroom is large enough this year that we are going back to our normal sponsor showcase format that we could not do last year. It is big enough to allow us to add another activity for this year.

The MWLUG 2015 Committee is hard at work.  The web site development team including Mike McGarel and Sam Bridegroom is getting the new site ready to be launched in a few weeks.

Lisa Duke our boots-on-the-ground has said that this is one of the most beautiful hotels in Atlanta.

Abstract submission for MWLUG 2015 starts on April 1, 2015 so get your abstract ready.

So get ready for another exciting adventure in Atlanta.


Thursday, January 8, 2015

MWLUG 2015 Announcement

The MWLUG team is please to announce MWLUG 2015, August 19-21, 2015 in Atlanta, Georgia. Go to the link to learn more.

CollabSphere 2022 Presentation: COL103 Advanced Automation and Cloud Service Integration for your Notes/Nomad Applications

Our presentation for CollabSphere 2022. Learn how to quickly add workflow automation into Notes/Nomad applications using No-code tools that ...