Many companies are attempting to streamline users' software interactions by creating microapps. Microapps improve users' ability to quickly address repetitive tasks by providing a highly tailored UI that focuses exclusively on a specific workflow. In this blog post I'll introduce you to microapps, and show you an example of a microapp we've been building using DreamFactory and Citrix Workspace Microapp Builder.
Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
Jamie Zawinski
We software developers have been hitting on all cylinders lately. I mean, this industry is hot. If coders were singers we'd be Adele hitting the high notes in Madison Square Garden (you know, back when concerts were a thing).We'd be AH-nold sniffing out the bad guys in Commando. John Travolta in Saturday Night Fever. And I don't mean the John shirking work in the hardware store; I'm talking about John in the white suit working that dance floor like only somebody living their best 1977 life can. We turn whiteboards black, make tests pass us, and our CI/CD workflows are getting worked.
So what's wrong?
We're putting the creep in feature creep, that's what. An addiction for building has led to the creation of enterprise software that is too bloated, too difficult to master, and is almost universally loathed by users.
Ah I've gone and said it. That dirty, horrid four letter word. User. You know, Stan in marketing and Teresa in sales? Miles in the warehouse. Julio the truck driver. Mary and Marvin in tech support. And let's not forget about the maintenance staff and front-line service personnel who all play crucial roles in making your place of business tick. They are required to use this enterprise software to update marketing databases, file technical support tickets, and approve expenses. In many cases, these tasks must be completed multiple times daily. And they hate every minute of it.
Many companies are tackling this challenge by creating microapps. We've previously written an introductory article about microapps which you'll find here. To recap, microapps attempt to greatly streamline users' ability to quickly address repetitive tasks by providing a highly tailored tool which satisfies three requirements:
I would also argue that microapps often adhere to a fourth requirement: they are disposable. Not only do microapps serve a very specific purpose, but that purpose might be time-bound to a specific event. For instance, imagine creating a microapp to approve conference abstract submissions. This microapp might be available to its end users for perhaps a period of just a few weeks, and then shut down or at least disabled until next year.
The aforementioned requirements give us some sense of the corresponding technologies that might be adopted to create a microapp. Note I'm not referring to specific programming languages or databases, because a microapp can be built using any modern web-based technology stack. Regardless of stack, each solution will embrace a certain set of characteristics:
It's likely anybody reading this blog is at least generally familiar with these concepts. However, left unsaid so far is how one goes about using technology to increase the likelihood of user engagement. What if over the course of time a user is expected to engage with two, five, or even ten microapps?
Many organizations rely upon a digital workspace solution such as Citrix Workspace. Such solutions provide users with a globally accessible and secure means for accessing corporate applications such as Outlook, SAP, Salesforce, Workday, and anything else an employee requires on a day-to-day basis. Additionally, Citrix Workspace bundles a no-code microapps builder which administrators can use to quickly build microapps capable of interacting with any data source exposed via a REST API. This capability means DreamFactory is a natural choice for plugging Citrix Workspace microapps into databases using DreamFactory-generated REST APIs for MySQL, Microsoft SQL Server, and many other databases.
We've spent the past few weeks experimenting with plugging the Citrix Workspace Microapp Administration tool into DreamFactory-generated database APIs, and can confirm the integration is practically seamless.
After generating your database-based API in DreamFactory, you'll use the Citrix Microapp Integrations interface to reference the desired API endpoint (see below screenshot). This will initiate an easy point-and-click process in which you'll map the returned JSON to your microapp interface.
You'll also use the slick UI builder to create the desired microapp screens used to list, create, and modify data (see below screenshot).
Before publishing your microapp, you can assign it to the desired user or department, such as members of a particular Active Directory group. Once published, the microapp data will seamlessly sit alongside other data found within the users' Citrix Workspace. For instance the following screenshots show what an example product description management microapp would look like when the user loads it from a mobile phone (left), and updates a product description (right):
If you'd like to start building microapps with Citrix Cloud and DreamFactory, check out the following links to get started:
In the coming weeks we'll publish a series of new blog posts showing how you can create your own microapps using DreamFactory and Citrix Workspace. If you have any feedback, or would like to share your own experiences creating microapps, please email us at code@dreamfactory.com.