We are creating a next generation platform for the building of rich applications - running as a service. This is a place for us to record some random thoughts about this.

March 23, 2012 at 11:40am
0 notes

TRY IT NOW!

Its been a while since my last post as I and team have been really busy with customer projects.

Since we last talked we have delivered 2 new commercial applications in the HeathCare vertical.  Both of these projects have been in progress for a while, but now they are doing and being used live at customers.

- Hospital Bed Management System.  Manages the movement and placement of patients in hospitals.  Uses our rule engine to match patient to hospital bed.  For more information, look at http://centrallogic.com 

- Revenue Cycle Management Rule Engine.  Uses rule engine to process rules against provider claims.  For more information, look at http://rcxrules.com

In the mean time, we decided to allow the people to play with our designer technologies without even registering.  We created a number of samples that allow you to play in a sandbox with some of our designers.  Our design technologies allow you to create forms/flows/rules/pages/reports… but this is only a part of what makes our technology different - however, many people are most interested in the configuration elements of the platform.

Go to http://www.decisions.com/examples.aspx to launch the designers.

December 19, 2011 at 3:40pm
0 notes

Top 20 [platform features]: Assignment Management

Many of the shared services in the Decisions platform are things that are ‘not complex’ but nice to have already done and tested.  If you take a feature like document management - store, retrieve, secure, share… this is all pretty easy stuff.

Doing Assignments/Tasks properly is not that simple.  Most business software needs to manage assignments - but because the assignment management stuff is written in a one off basis, the flexibility assignments lacks.  A goal of the platform is to provide a set of features that do not just ‘check off the box’ in an RFP but in most cases are way better than the features that teams would take time to build out of the box.

Assignments is complex because an assignment is a bit of a ‘living entity’.  Most assignments have timeframes when they need to be done, but what happens when those times are not met?  What is the escalation process?  In the Decisions platform, the behavior of having dates missed is not only pluggable, but can be configured using the Decisions Flow Designer.  

Finally, ‘who is assigned’ is a concept that is hard to really encapsulate well.  Assigning to a user is obvious.  Many systems also allow assignments to user groups.  The platform goes beyond that to allow assignment to ad hoc groups of people based on their assigned role that is contextually based or by specific security rights.

Assignments also have to encapsulate the ‘what are the actions that a user can take’.  Many generic assignment systems limit these to be fairly basic ‘mark complete’ type roles.  The Decisions platform assignment system allows complex handlers with specific actions to be rolled into them.

These concepts are all able to be combined.  I can have different actions that take place depending on what the state of a task is.  Users can have automatic delegation of tasks to others based on things like vacation schedules.  I can change who is assigned based on escalations.  etc, etc.  The Decisions assignment system was designed to meet the needs of a really complex service desk application, but was built in generic fashion so could be used on other applications as well.

Carl [Chief Architect]

3:28pm
0 notes
Changing assignments.

Changing assignments.

3:24pm
0 notes

Top 20 [platform features]: Timezone Handling

Any application can properly handle timezones, developers just make sure the proper timezone translation code is in all of the right places.  The Decisions platform makes timezone handling totally transparent to the developers.  All timezones are managed and translated at the boundaries between the server and the client, automatically.  This is done by intercepting all requests and translating the timezones to a user or specified timezone or to UTC automatically when calls are received.  

Neither application or user interface code needs to be aware of the timezones - its handled in a fully transparent fashion.

Carl [Chief Architect]

12:59pm
0 notes

On Silverlight… and HTML5

Decisions was an early adopter of Silverlight.  Working with SL since the first beta release, we have been overall very happy with it.  Being able to process and manage the user interface on the client, using a rich language (c#) has enabled us to really push the boundaries of what is possible to do in a browser with logic driven rich configurable applications.  

From a development standpoint, one of the real advantages of building in Silverlight is it enforces the discipline of separation of between the user experience and the business logic - through a service interface.  

Microsoft has committed to continue to support SL until 2021 (10 years) and is baking in XAML (the markup language that SL uses) into the Windows 8 metro API.  Silverlight 5 -recently released - has a 64 bit implementation - and the cross platform/cross browser capabilities have worked really well for us.  

But… it seems that the ‘age of the browser plugin’ is limited to some degree.  Even Microsoft, while stating its commitment to Silverlight, acknowledges it anticipates that plugins life is limited.  A big reason for this is that HTML/CSS have finally gotten to a level of capability that they can be used to build rich applications - natively in browsers.  

Given this, the Decisions technical staff has been hard at work at producing a native HTML5/CSS3 version of our technologies.  The Decisions platform was designed to be ‘UI independent’.  While the Decisions ‘portal’ was built in Silverlight, there are a number of other user interface technologies that have been used including: custom HTML4/5, telephony (Twilio/Plivo), command line, iPhone, native tablet applications (andriod/iOS) and of course JSON, webserice and WCF service calls.

Today I am excited to announce that Decisions is going to be offering a native HTML5 based interface for all the end user functions in the portal - including dashboards, custom forms, all actions and navigation etc.  Please watch our site to sign up for the HTML 5 beta program.

Carl [Chief Architect] 

November 7, 2011 at 4:36am
0 notes

Top 20 [platform features]: SOA (Service Architecture)

I know we have talked a lot about the portal based user interface and the advantages of using rich browser based applications to construct smart applications – and while this certainly makes Decisions unique – not all application user interfaces needs will be met using the Decisions Silverlight Portal.  Actually, in the partners and projects that Decisions has done, we often need to create very special and crafted user experiences using other technologies – whether then are a WPF application, Twilio based telephony [more on this later], native iPhone/Andriod or HTML 5. 

The functionality of having smart rules, workflows, reports and baseline business services applies to all types of applications – not just a portal based user experience.  Because of this, all interactions with the functionality in the platform is done through a WCF service layer.  Even things like the flow and rule designer use a service layer to construct, edit, debug and run workflows. 

Because of the baseline service infrastructure, it is easy and natural to ‘do something different’ in terms of interacting with users.  All of the services are able to be called from any technology that can interact with a WCF, WebService, REST or JSON apis. 

The platform comes with over 50 business services that are foundational to building many applications.  These services can be used both in the context of the ‘portal’ as well as through the service layer.  Here is an example of a few of these services:

  • Document:  Upload, manage, secure, version and distribute documents
  • Assignment:  Manage the tasking of users and groups in a flexible way.  Includes SLA management and escalations.
  • Comment:  Attach comments to any entity in the system.
  • Tagging:  Attach tags to any entity in the sysem.
  • Association:  Define and form association between any pieces of data that exist in the system.
  • Report:  Run and output reports, matrixes and charts that were defined in the back end.
  • Flow:  Run workflows from the API
  • Notification:  Define notification patterns and manage users notification preferences.  Distribute notifications automatically based events in the system.
  • Account/Group:  Manage security in the system via API

… and more.  

Carl [Chief Architect] 

4:19am
0 notes
Theme Editor Screenshot

Theme Editor Screenshot

4:19am
0 notes

Top 20 [platform features]: Themes

There are a lot of advantages of having our main ‘portal’ and ‘designer’ user interface constructed entirely in Silverlight.  In addition to being fully cross platform and cross browser, having all the UI rendering offloaded from the server (as compared to web applications) – it also allows user interfaces to be ‘drawn’ as opposed to being ‘assembled’ as in the case of a web application.

These user interfaces are not only very fast, they are also able to be changed without actually cutting up a bunch of images – like you would in a traditional web based application.  Because of this, all of the user interfaces in the Decisions platform are able to be re-themed without involving a graphic artist.  The colors, gradients, fonts, images can be set in a graphical user interface – allowing the platform to take on exactly the look and feel that matches your organizations branding.  

Carl [Chief Architect] 

4:17am
0 notes
[Flash 10 is required to watch video]

Editing a theme in the Decisions Platform

4:16am
0 notes
[Flash 10 is required to watch video]

Changing themes in the Decisions Platform.