The Comparison between Scribble on IISE and IFTTT

IMG_4251

Author: Joanna W. Ng

The comparison of Scribble on IISE and IFTTT is done in the context as an assessment, in terms of the extent of accomplishing the goals of web tasking, namely:

“to put resources from across the web (from systems of record, systems of instrumentation and system of people) in the hands of web users in the systems of engagement”

in order that users can freely task, like they browse, across the web, to fulfill their personalized, situational tasks requirements without programming dependency [1], through users’ control over their choices of resources and alert conditions as they task, instead of being controlled by the APPs and their programmers.

Summary of Web Tasking Fitness Comparison

Scribble-IFTTT-Compare

Scribble on IISE and IFTTT Comparison Summary

 

A. Enterprise Partners’ Participation Experience

Scribble on IISE has an Open Participation Model. The IFTTT’s Participation Model is closed. The absence of an open participation model disqualifies IFTTT as a technology for Web Tasking. If the provision of HTML pages is made proprietary by only one vendor, there will not be web browsing as web users enjoy today. See Note A for an illustration of open participation model. See also the architectural comparison below.  

The IFTTT Experience: For any enterprise partner or start-up to participate in IFTTT, they have to first open a CHANNEL with IFTTT by filling in a request form via this url: https://ifttt.com/platform, waiting to be contacted by IFTTT. IFTTT then establishes the channel for the partner. After the channel is established, IFTTT works with the partner to define the APIs and their corresponding Triggers, the Ingredients and the Actions, to be made available for IFTTT users’ constructions of recipes. There is no freedom of actions on the partners’ part. They are totally at IFTTT’s mercy.

The Scribble on IISE Experience: There is no concept of Channel in Scribble on IISE. It adopts an Open Participation Model [See Note A Below] with an Open Architecture [See Architecture Section Below]. Scribble on IISE operates on units of BOTbit. BOTbits are actionable resource representations that can be provided by ITs for web users to conduct web tasking with, just like they provide HTMLs for web users for web browsing. Enterprises or start-up ITs are open to create their own BOTbits anytime without depending on the Scribble on IISE team.

IISE, the first implementation of web interaction server, provides an IISE admin tool so enterprises and start-up partners can take their APIs and transform them to BOTbits. The IISE Admin Tool will be made available on IBM BlueMix platform by end of November, 2014.

B. Web Users Web Tasking Experience

B.1 The Web Spectrum of Resources for Web Tasking

IFTTT’s channels are primarily with social network vendors. Recently channels for Internet of Things are being added. However, as of to-date, there is no enterprise channel established for systems of record, such as channels from banks or hospitals.

IFTTT’s major limitations include the following:

  • IFTTT is not designed for web-wide operations
  • IFTTT has not demonstrated enterprise-strength channels with enterprises’ systems of record

There are many use-cases that Scribble on IISE can do that IFTTT cannot.

For example:

– IF my SavingBankBalance is greater than $10000, Create an order for iPhone6 on Apple.com

– IF StockX price is greater than $100, Create an order for iPhone6 on Apple.com

– IF my Blood Sugar level is greater than 5, notify my doctor and my children

B.2 Social Relationships As A Service (SORaaS)

Scribble on IISE has a component called SORaaS (SOcial Relationships As A Service) that allow web users to do web tasking just by referencing relationships as a parameter (such as siblings, children, parents etc..) in their scribble expressions. SORaaS computes the corresponding memberships of relationships used, and inter-operates across different social networking platform, such as linkedin, facebook, google circle. SORaaS then acts on users behalf accordingly regardless of members’ choices of social platforms.

While IFTTT can do:  “If it starts raining outside, then text me”, only Scribble on IISE can do “If it starts raining outside, then text me and my children”.

The “Good Mother Scribble” illustrates where IFTTT falls short:

For example: “check everyday at 5:00 a.m. in the morning, if it will rain today, notify my-children with the msg ‘Don’t forget to bring an umbrella, it will rain today. Loving nag from Mom””, and my-children are on different platforms: SMS, FB message, Google Circle etc.

C. Architectural Comparison using the Sufficiency Assessment Framework

A Sufficiency Assessment Framework is established [1] to assess web technologies’ architectural suitability in reaching the web tasking goal.

sufficiency-assessment-FW

Web Tasking Sufficiency Assessment Framework

 

C1. Scribble on IISE has an Open Architecture but IFTTT has a closed, proprietary architecture.

  • Scribble on IISE is an open platform that is built for open interoperability across the web. IFTTT is a proprietary platform is not designed for open interoperability. The consequence of the lack of openness is the indispensable dependency on IFTTT of all participants.
  • Scribble on IISE can support many deployment options, including cloud deployment as well as on premise deployment. IFTTT has only one choice of proprietary deployment.
  • Scribble on IISE adopts an open architecture. Our Scribble Board is the first implementation of web tasker. IISE is the first implementation of web interaction server. When the media type specification of BOTbits is made open source, any vendor can write their own “web tasker” and their own “web interaction server”. This plug-and-play is critical to an open architecture, essential for the web scope goal of web tasking. Like the web browsing paradigm today, there can be many browsers and web servers and web application servers, but they work the same from web users perspective.

Without an open architecture that is designed for the web scope, IFTTT is not be considered as a technology fit for web tasking.

C2. Scribble on IISE is built on a Resource Oriented Architecture (ROA) but IFTTT does not have a Resource Oriented Architecture.

C2.1 ROA centers around “Resources”: Scribble on IISE’s architecture is based on the abstraction of “Resources”. IFTTT has no concept of resources. Instead, IFTTT’s architecture is built on channels and APIs of each channels.

C2.2 ROA is built on “Representations of Resources”: Scribble on IISE’s architecture is based on the representations of resources’ action states and their transfers, that are URL addressable. IFTTT has no notion of representation of resources because it is not resource based.

C2.3 ROA is built on standardization of representations in media-type: Scribble on IISE’s BOTbit is a RESTful representation of resources capturing the standard interfaces (actions) of resources instead of data of resources. Scribble on IISE resource representations of action-states is designed to be stanadardized as a media-type, as a common contract of understanding for all participating components (such as the web tasker, the web interaction server etc..), an essential element for an open architecture.  IFTTT has limitation in externalizing their meta model into a standardized media type.

C2.4 ROA has HATEOAS as the key constraint for state transitions  Scribble on IISE complies with the ROA constraint of HATEOAS, that is, using hypermedia links  between two actionable resources as the engine of application state transitions. IFTTT violates the RESTful HATEOAS constraint and therefore suffers the consequence of lacking flexibility for users freedom to task with resources from across the web.

Because Scribble on IISE is ROA, the following benefits from ROA in Scribble on IISE are missing from IFTTT:

  • Machine Automation & Web Intelligent Agents are built in initiating and executing the tasks on users behalf as a form of automation is possible because HATEOAS enables machine processing of tasks through traversing through hypermedia links of actions.
  • Interoperability of resources in scribbles across systems of instrumentation, systems of records and systems of people is possible because of the standardization of BOTbits as representation meta model of resources.
  • There is no domain specificity, making it web scope.

D. Functional Comparison using the Capability Assessment Framework

Capability-Assessment-Framework

Capability Assessment Framework for Technology Evaluation of Web Tasking

Expressiveness

D.1. Multiple Conditions: Scribble on IISE supports  multiple conditions but IFTTT only support one condition in the “THIS” expression.

D.2. Multiple Actions: Scribble on IISE support multiple actions via hypermedia links of actions but IFTTT only support one action.

D.3. Command: Scribble on IISE makes the condition (which is the “THIS” clause in IFTTT) optional, thus enabling web users to compose their command that they can choose to execute any time. IFTTT does not support command. For example, in Scribble on IISE, a web user can compose a scribble that does the following: “Tell me stock price on IBM, Tell me my saving account balance, tell me my home’s room temperature, tell me my iWatch activity level today”.  The web user can use voice to command this scribble while he/she has a moment to spare.

D.4. Modality of Expression: Scribble on IISE supports multiple modality of expression. Web users can scribble via widget, or scribble via text, and eventually be able to scribble by voice. This gives tremendous potential for mobile partnership. IFTTT can only use widget to create recipes.

[Note A on Open Participation Model]

Facebook illustrates an open participation model without an open architecture. When Facebook provided the “Liked” button in April of 2010, any enterprise or start up are free and open to produce and contribute their instances of open graph objects to participate in the “Liked” action by FB users without heavy dependency on Facebook. This lowers the barrier of adoption from across the web. This open-participation model enabled millions of like-able items from servers across the web within a matter of months with massive success in adoption.

Reference:

[1] J. Ng, Web Tasking Position Paper, CASCON 2014.

The Difference Between Scribbles and Workflows

IMG_7672

workflow

Workflow Diagram

 

scribble-sample

Scribble Sample, illustrating the Hypermedia links across BOTbits (aka action representations of resources), in compliance with Resource Oriented Architecture’s constraint on HATEOAS state transition as execution flows.

This post evaluates and compares Scribbles and Workflow as technologies for enabling web tasking. The goal of web tasking is to put resources from systems of record, systems of instrumentation and system of people in the hands of web users in the systems of engagement in order that users can engage with these resources freely for their tasks to fulfill their personalized, situational tasks requirements without programming dependency [1].

“A workflow separates the various activities of a given organizational process into a set of well-defined tasks. The various tasks in a workflow are usually carried out by several users in accordance with the organizational rules relevant to the process represented by the workflow.” [2]

Scribble, on the other hand, is built for web tasking for web users’ personalized and situational tasks [1].

Purpose and Scope:

Workflow and business processes are designed for organizations in which many people work together. A clearly defined workflow shared by all participants within the organization is vitally important for the purpose of governance. This is a complete overkill to meet the goal of web tasking.

Scribble is built for web users to task freely with resources from across the web. The purpose is for personalized, situational web tasking. The notion of governance does not exist. While scribbles can be shared among web users, it is for the purpose of re-use, not for the purpose of governance.

Authorship of Workflow:

The defining question critical for web tasking is the question of whether web users can author their own personalized, situational tasks without any programming dependency.

Workflow typically has a workflow language that is too complex for typical web users to handle. Even RESTful service workflow requires a provision of an XML instance that complies to its workflow meta model, prohibiting web user authorship, defeating the purpose of web tasking.

Scribble, on the other hand, is designed for web user’s authorship in web tasking. Through widget, text or voice, web users express their web tasking in hypermedia sequences of resource actions. The scribble artifact is then generated for the user and processed by the Web Interaction Server.

Actors:

In Workflow, Backend processes and different roles of the organization are the actors of the workflow.

In Scribble, either the web user himself, or his intelligent web agent are the only possible actors.

Interactions:

In Workflow, the interactions are highly structured. In Scribble, because of its hypermedia foundation, scribble is built to support unstructured interactions.

Architecture and Run Time

Workflow typically is run on a vendor-based workflow engine as the run time platform, that is typically not open for interoperability with other participants.

Workflows are static in nature. Any change of workflow requires redeployment therefore changes are costly.

Scribble is built on a Resource-Oriented Architecture that is open. Flow transition is on HATEOAS (Hypermedia As The Engine Of Application State) only.

Scribble is dynamic. Partial changes can be made by replacing new instances of BOTbits. There is no notion of redeployment. It provides great flexibility.

 

scribble-workflow

Contrasting Workflow & Scribble In the context of Web Tasking

 

[1] J. Ng, Web Tasking Position Paper, CASCON 2014.

[2] D. Georgakopoulos, M. Hornick, A. Sheth. An Overview of Workflow Management: from process modeling to workflow automation infrastructure.  Distrib. Parallel Databases 3, 2 pp. 119 – 153, 1995.

 

Scribble is NOT a scripting language!

scripting_language

Scribble is not a scripting language.

Scripting language is a programming language written for a specific run-time environment to be interpreted for the purpose of automate the sequence of steps in a task that would otherwise be executed one by one by a human operator. Scribble is not a scripting language in that sense.

It is more accurate to think of Scribble as a sequence of bookmarks, representing hypermedia links of resource actions and their corresponding conditions of execution.