Pages

Archives

Recent Tweets

  • No tweets available at the moment.

Follow Me on Twitter

There’s a webservice for that!

It’s the end of the world as we know it, and I feel fine. -REM (lyrics)

One in seven people in the world feel that the end of the world is near, according to this Reuters poll. While I don’t know about the end of days, I’ll postulate that it is the end of the tech world as we know it. Consider this:

“There’s an app for that. That’s the iPhone. Solving life’s dilemma one app at a time.” –iPhone 3g marketing, 2008

Less than 4 years later there were over a million apps in both Google Play and the App Store combined. On top of mobile, lets add the cloud. Harvard Business Review argues that cloud computing is a “sea change—a deep and permanent shift in how computing power is generated and consumed.”

There are many technologies and factors enabling the shift to the cloud and to mobile. One of them is the RESTful webservices. I won’t go into technical detail here, but I’ll recommend this Wikipedia page and this excellent book chapter for further reading. Just as there is “an app for that” for consumers, there is a “RESTful webservice for that” for developers. Does your app need to send an email, text message, save files to the cloud, keep track of customer account balances, or start a business process in your office? If so, you can easily tie to Sendgrid, Twilio, Dropbox, Accumulus, or RunMyProcess for that functionality. The number of these services is exploding, according to programmable web here is the number of services in each year:  180 in ’07, 1,627 in ’10, and 3,898 today. See a crowd-curated list of 400 of these tools here.

So, what does this mean? Apps are becoming faster, easier and cheaper to develop. This has two implications:

First, developers can now focus on their core service while utilizing webservices for peripheral functionality. This enables creating a minimum viable product for a market quickly, leading to faster profitability. After launch many will choose to replace 3rd party webservices, improving their margins.

Second, managers and others with little knowledge of programming can piece together these services to make ad-hoc cloud-based applications to automate internal or customer facing business processes. I refer to this idea, as the composable web, and we can already see this with the visual programming like environments of tarpipe.com, ifttt.com, and runmyprocess.com.

I teach a class where students learn how to automate a business process using several webservices and even cloud labor. One of them wrote this on their final exam:

With the continued innovation of technology I’m a 100% certain the need for human/manual work will become obsolete. Sadly, I estimate that 80% of tasks performed manually can be performed automatically by various programs and software, leaving only 20% that must be performed manually, to me this poses a tremendous threat to future employment. -Student, (shared with permission)

It is the end of the world as we have known it, and I feel fine.

P.S. The cloud-based (of course!) software that we use in class is RunMyProcess. Here is a great video that explains their product, along with other concepts I have tried to convey:

Teaching Business Process Management with RunMyProcess

During my studies at Georgia State, I have had the privilege of developing and teaching courses on Business Process Management. When this comes up in conversation followed by blank stares. I typically explain it as model driven execution:
  1. Model your business process.  (like the one to right, created by one of “my” students)
  2. Press a button — code is generated –you have just created an application (and automated a process).

Sounds too good to be true right? Well, you do also have to create forms and route the data around. But, this is all fairly straight forward. It is important to note what is doing all the heavy lifting — what makes this all possible: the Business Process Management System (BPMS).

There are many BPMS systems available see: Gartner’s magic quadrant. We started using TIBCO, which is a fantastic product, but proved too taxing on student (budget) laptops. Then we used a lightweight product called BizAgi, which has a fantastic modeler and a great backend BPMS system which we deployed on AWS. Recently, I have been fascinated by RunMyProcess a BPMS which runs entirely in the cloud. Here are some of its advantages from my perspective:

  • No install necessary (a huge plus for students)
  • Integrates with any webservice. Want to send text messages, send invoices, read or store information into a database of google spreadsheet, call someone with a pre-recorded statement, check exchange rates, the weather, or micro-outsource some work to mechanical turk as part of your process? No problem, there are thousands of connectors to fabulous RESTful webservices waiting for you(e.g. Twilio, Zoho, Google Spreadsheets, Freshbooks, mTurk).
  • Email just works. Setting up email notifications can be a hassle on other BPMS systems when you have them hosted yourself. RMP also has email receptors (i.e. start a process by sending an email to a specific email address… nifty).
  • No hosting required.

I was showing this system at a recent conference and a chief scientist at Google described it as Mash-ups (or MashApps) for the enterprise. Like other BPMS systems you also get the Business Intelligence insight through process monitoring and measuring tools. There are similar platforms-as-a-service out there, but it has been very rewarding to see many light bulbs turn on as students catch the vision that BPM purports. This usually starts to happen when they design a process which sends themselves a text (SMS) message with stock exchange rates, or a customized haiku poem written by turkers.