Pages

Archives

Recent Tweets

  • No tweets available at the moment.

Follow Me on Twitter

Teaching API workflow integration using Tray.io

I’ve been watching a great tool for integrating services through a visual workflow editor develop over the past 2-3 years. You have likely heard of Zapier, and IFTTT – well now, meet Tray.io.

As a professor, the topic I enjoy teaching the most is how to use APIs. Using APIs for the first time is like magic. Nothing I have taught or had my students do has brought more excitement into the classroom.

While using a single API to retrieve stock prices, the weather forecast, or star wars info is exciting enough your first time. Weaving APIs together to make an ‘app’ is even more empowering.

Over the years I have taught my students API basics and utilized different platforms to take the outputs from one API as the inputs for another. I stumbled upon Tray.io two years ago and was fell in love with it. Not only is it a great platform to teach my students how to use APIs, but it is a great platform to teach how to string many APIs together.

If you are curious, here is the approach I have taken in the classroom: After the students have logged into Tray.io, we build a workflow with a single connector. The Twilio API.  The students learn about the basics of APIs, authentication, the base URL, the resource URL, the request body, and parameters. All really basic things! If everything goes well their first API experience they are rewarded with an SMS (text message) they have sent themselves. Some students figure out how to send images along with their text message.

From here we branch out into other APIs. An API to check the weather (Weather Underground), send emails (Sendgrid), get info about nearby restaurants (Yelp), save basic data to a google sheet (Google Drive). Again, all of them quite easy to understand. After using each API individually they are ready to string them together to make an App. Perhaps an app that emails or texts you the weather forecast every evening? Not bad for someone who does not know how to code, and just barely learned what an API is!

Now the students are thinking… We can run the APIs by clicking “Run” in Tray, or we can set up timers so they run every hour… How can we have the app run when someone fills out a form, or in response to another event? Then I introduce webhooks, and we use Instapage to make a beautiful landing page with a simple form that when submitted submits the data to the webhook for our Tray.io workflow.

After this point, the students have learned the basics and are prepared to be creative and make their own apps.

I found that simple Alert systems were popular with the students. These systems are enabled by two Workflows. One workflow involves storing information of interested people, generally using Instapage and Google Sheets. The other workflow involves sending out an alert to everybody who has signed up. Some examples: Alerts when the gym was running at low capacity (a good time to go!), Alerts when there was free pizza available on campus (cleverly called Vulture Alert!), and weather alerts.

One fun alert stemmed from the way students received tickets for basketball games. Students are often seen running on campus to get in line for tickets when the distribution place is announced.  The app created allowed the ticket distributors to press buttons on their phones to notify student how long the lines were, send the location of the ticket distribution, and when the distribution would occur. This system never went into ‘production’, but the students were pleased to hear that the ticket distribution team would gladly pay for what they had built.

Many powerful functions are made available through APIs, but all of these are useless unless you know about them, and integrate them into your work. Tray makes the integration part easy, it is up to the students to be creative by imagining which APIs they can string together.

Without coding or any knowledge of code, my students were able to string APIs together to create a useful app. This was all possible through the Tray.io platform. While I have used a few other platforms like Tray, Tray.io was by far the easiest to use and the most well-loved by my students.

VBA in the cloud = google apps script

Perhaps the most technical thing that all MBA students learn, or should learn is using VBA to automate excel and word. Gove Allen at BYU teaches a fantastic class which does just that, take a look at the creative projects his students have recently completed: Custom ‘mail merge’ for sending SMS messages, importing data into excel from craigslist,   or automating the creation of a work schedule to cover multiple shifts.

Until recently, the cloud-based solutions like Google Docs and spreadsheets have not allowed such automation. About a year ago, Google announced Appsscript. Now, a new code editor has appeared with a few interesting features.

First, you can publish your code as a service, allowing anyone in the world to invoke it.  The service-oriented-architecture fans should get excited about this. See the image:

Second, it ties in nicely with useful google APIs, and hopefully more APIs in the future.

Things just got interesting! It will be fun to see what this enables in the future. It looks like they have recently included a user-interface builder. If anything it is one more reason to move to the cloud. Here is a screenshot of the script editor:

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.

Focus of Academia: a set of problems

Recently I was in New York for the BPM 2010, and Human Potential conferences and I took the opportunity to visit from friends at Columbia University.

While there, in Hamilton Hall, I saw a well written paragraph on the importance of problems and question in academia. Click the thumbnail to see a larger image.

It reads:

The focus of Academia can be defined as not so much a set of topics but as a set of problems. Physicists, economists, historians, and so on have problems that are specific to their fields, and are collectively working on points of intersection in order to solve these problems. Consequently, in every peice of academic writing ther is some problem, some issue, some motivating question that is being explored.. at the heart of every piece of academic writing is academic inquiry.

I was surprised to find this randomly, in the only room at Columbia which I visited. I like it, and though it worth sharing.  I think it highlights the importance of publication as a conversation as Anne Huff’s book points out. Also, the importance of asking great and exciting questions. While at BPM 2010, I met Vasant Dhar from NYU who talked about what issues or questions are at the heart of education and research in the information systems field. They serve as a useful guide for those wondering what IS is, and a starting point for further questions. From Vasant’s paper:

Business Centric Questions

  • How does IT transform industries and change the boundaries between them?
  • How do platforms alter existing business models and create new ones?
  • What determines success with a firm’s IT investments?
  • How do firms effectively get value from and govern data?
  • Why do incumbent companies frequently miss large, new IT-based opportunities?

Technology-Centric Questions

  • How do unique characteristics of digital goods impact business models?
  • Why do network effects pervade IT-based businesses and how do they alter strategy?
  • How does human behavior/interaction differ in spaces mediated by Information Technology?

Dhar, V., & Sundararajan, A. (2007). Issues and Opinions–Information Technologies in Business: A Blueprint for Education and Research. Information Systems Research, 18(2), 125.