3 Ideas for Designing for Chatbots

Chatbots are the rage, but we are in the early days.  We are still not sure about how best to design for bots.  Yes, while conversational interfaces have promised to redefine the User Experience, the challenge facing us is to identify the right Use Cases and the appropriate design.  After reviewing the nascent literature on this, talking to customer end users, and based on our own experience of building chatbots for enterprise systems, here are 3 ideas for Designing for Chatbots:

  1. Minimize Input: The user experience should be the priority.  Expecting users to enter free text has the potential for failure.  Instead, it may be best to have users give structured input.  For example, our developers at Unvired have designed a Command Infrastructure that eliminates lengthy free text input.  For example, Users can select Approve or Reject a Purchase Order in SAP or View Sales order from Oracle EBS with a Get Order Details simple chat command.
  2. Hybrid Approach: In some cases, the user may want to talk to a human at some point in the conversation with the bot. Good design should enable a human to jump in at any time.  Say, for example, you are ordering flowers on Facebook Messenger using a chatbot, but are frustrated because you cannot find what you are looking for.  There should be a way out to reach out to a human.
  3. Simple: The design for chatbots should be simple. One of the advantages of bots is that the need for say, a 3 screen application is eliminated.  There is no GUI.  Bots interactions should be kept simple and short—the user should give minimal input, and receive the output.

Let me know if you have other ideas for designing for bots.  These are early days, and we can all learn from each other.

 

Read More

Chatbots for SAP: Talk to SAP and Disrupt the User Interface

Lately, there has been a lot of buzz around bots.  Bots are the lightweight programs that will make our work easier, and help us escape the multitude of apps that users have to navigate.  Bots have a simple text interface that eliminates the need for a Graphical User Interface (GUI).  Bots talk to systems, applications, and things- hence the term chatbots.   Much has already been written about bots, machine learning, AI, Natural Language Processing, and so this blog discusses a very specific sub-topic: Chatbots for SAP.

Interfaces with SAP come in many forms—the SAP GUI, Personas, and SAP Fiori among others. That is till now-enter the conversational interface.  At Unvired, we have developed chatbots for SAP to enable various Use Cases:

  1. SAP ERP-Workflow: How about SAP messaging you an alert that a Purchase Order needs to be approved?  You look at the details and approve.  Your text “Approve” gets the PO approved in SAP
  2. SAP ERP-Sales: The Sales leader needs to report to the CEO the latest sales figures. A quick text to SAP and the answer comes right back. How about looking at a sales chart—that can be viewed too.

There are so many chatbots for SAP that would be a must-have—for SAP ERP, S/4 HANA, SAP CRM, Cloud for Customer (C4C), SuccessFactors, and others.  Customers in industries including Manufacturing, Chemicals, Financial Services, and Real Estate have indicated interest in exploring Use Cases for chatbots.

Chatbots for SAP enable receiving alerts from SAP, taking actions/decisions on those alerts, and searching/querying all with the intent to streamline workflow and make work easier.

If you are an SAP customer or SAP partner and want to collaborate with Unvired to build chatbots for SAP, please send me an Email or email me or comment on this post.  We would love to jointly define some Use Cases for chatbots.  These are exciting times indeed.  As always, looking forward to others sharing their experience with and thoughts on bots.

Read More

Unvired is on Google Compute Engine!

At Unvired we have always prided ourselves on providing choices to our customers.  We were the first to offer Unvired Mobile Platform (UMP) as both an on-premise and cloud platform for mobile application development a few years ago. Taking that journey ahead in cloud neutrality, we are delighted to announce that UMP now runs natively on The Google Compute Engine aka Google Cloud.

GCE instances can be leveraged to run multi-node, horizontally scaling UMP instances.  For the database, you can create an instance of the Cloud SQL engine and link it to the UMP compute engine nodes conveniently via the Google Cloud Console.

For storage, we leverage the Google Cloud Storage and store data in the buckets that are created there.  This provides for both stateless access from any of the UMP nodes and redundancy in terms of storage/backup etc.

 

 

UMP can now run seamlessly within your datacenter, AWS or on Google Cloud.  More innovations are underway to support other cloud providers in the next weeks.

If you are interested in taking UMP for a spin, submit a trial request now and we would be delighted to spin a couple of instances for you.

Read More

Is the IAAS Cloud really low cost?

Host on the cloud, get a dedicated server or build your own? This is a common question that most entrepreneurs who are launching a service ask themselves. Seeking answers via the web probably leaves more questions than answers.

The reasons are simple, there are a plethora of articles that sing the praises (for many right reasons) of Infrastructure As A Service (IAAS) such as AWS, Google and other similar services. The ease with which you can launch servers on these clouds makes it even more appealing. The fact that Netflix and other companies are using it gives the added assurance. Now head over to the wonderful calculator that all these services provide and crunch some numbers. You may either buy into it so completely that you are ready to launch your service or taken aback by actually how much it can cost. Let's face it, it's not as cheap as its made out to be.

To better understand this problem, let's crunch some numbers with an example server. Suppose the server we need is equivalent to 4 Cores (or more), 32 GB RAM and about 200 GB hard disk space (Note that in most cases RAM is the overarching choice and CPU cores are not really configurable, notable new exception is Google). For simplicity, I am also not considering prepayment as no startup probably wants to commit for more than a few months.

Cloud Servers (Instances):

AWS - Consider the m4.2xlarge at 32GB RAM and 8 cores. Linux instance is at $0.504 per hour or ~375$ per month. Add charges for storage and data transfer and approximate it to 400$ per month.
Google - Consider the n1-standard-8 at 30GB RAM and 8 cores. Linux instance is at $0.280 per hour lowest price with 100% usage or ~208$. Add charges for storage and data transfer and approximate to 230$ per month.

As you can notice there is already a significant difference between the two services. If you check other providers the price range will be similar.

Dedicated Servers:

Typically dedicated servers have always set you back by a significant sum and hence may not have been a choice. But a host of new providers has meant that hybrid offerings are available which has already reduced prices. Significantly Managed dedicated servers are way more expensive than unmanaged servers. The significant difference being in unmanaged only the hardware is supported by the provider, every other responsibility us yours (software, backup etc).

Rackspace - A 24GB prepackaged dedicated server with 6 cores will set you back by ~ 674$ per month. This is backed by Rackspace Fanatical Support of course.

Packet.net - Packet offers dedicated bare metal hardware in a cloud-like fashion. Type 1 server with 4 Cores and 32GB RAM (with 2x120GB SSD drives) is at $0.4 per hour or 297.6$ per month. There are no other charges as everything is included in this.

OVH - A major European provider with a NA presence in Canada and data center. A 32GB / 4 Core dedicated server (unmanaged) costs 79$ a month (no setup fee)

Hetzner.de - German data center, 32GB 4 Cores is priced at 39 Euros or ~43$ per month with a 79 Euro / ~87$ setup fee (one time)

As can be seen, the range is again wide not considering a huge number of smaller providers. Depending on whether some of the administrative tasks can be managed in-house or not, choice of provider can be made. Point to note though is that dedicated servers can actually be cheaper than cloud.

Conclusion:
So before deciding, its important to decide based on these (There could be many more significant ones I'am missing, add to the comments)

1. Elastic Scaling - Are your users going to grow that dramatically that you need elastic capability of that nature? Less than 1% of all web apps need this kind of scaling, rest are happy with more deterministic scaling. (Cloud v/s dedicated)
2. Redundancy - Sometimes cost of 2 dedicated servers is still cheaper than 1 cloud instance. So even HA is not an issue with dedicated, but multi-region availability etc can also determine the choice.
3. Time - The longer you are willing to commit the cheaper some of the cloud services will be.
4. Legal or Security related - If customers don't prefer shared multi-tenant instances, then you may have to go dedicated.

Net-net: Cloud services such as AWS are not the only choice. Even dedicated servers can be bought month on month with significant cost and performance gain. You actually have more choice than what is sometimes made out to be!

Read More

The UMP 3.2 Travelogue

The Unvired Mobile Platform (UMP) 3.2 includes a number of innovations that enable faster digitization and mobility.  Whether your company wants to mobilize enterprise backends like SAP or databases or legacy systems, UMP has made that easy, fast and cost-effective with a plethora of adapters that enable out of the box integrations.  UMP 3.2 now includes a powerful REST API that allows you to leverage the same functionality to also develop web apps.  So whether you want to go digital via web or mobile or both, UMP is your platform of choice.

In a series of blog posts starting today I will explore the new features and the transformations in the platform.  This post will focus on the high-level features and some under the hood changes that have been made to UMP to make it faster and better.

Features of note in UMP 3.2:

  1. Single infrastructure that runs within your datacenter or on cloud IAAS like Amazon Web Services (AWS).  Absolutely identical, even the binaries are the same!  This gives you enormous flexibility to go on-premise and switch to cloud later or vice versa
  2. Fully load balanced, High Availability setup supported both within your data center and on cloud infrastructures
  3. Improved performance and scalability (see under the hood section below for more details)
  4. Enhanced REST API to easily build applications for web and mobile, supports both XML and JSON
  5. New enterprise adapters for OData and SAP HANA.  SharePoint, REST and all other adapters have been further enhanced
  6. Enhanced push notifications for APNS and GCM (including follow up actions), support for browser push to notify web applications
  7. Error console to help administrators process data errors, backend submission errors etc.  Your users will never need to see errors anymore, just save and forget!
  8. Conflict management on submission, handle concurrent submissions, and multi-channel updates without breaking a sweat
  9. Enterprise App Store to distribute your enterprise applications, applications can also auto-update without admin intervention
  10. A brand new dashboard that helps administrators know the pulse of the mobile deployments
  11. Isolate your deployments and administration control for subsidiaries, locations, departments with a single central instance
  12. Transport configurations and code across Development, Quality and Production landscapes of UMP.  No more manual administration tasks
  13. Time zone (user or company) based distributed scheduler to periodically refresh mobile data, no need to run battery hogging threads on devices checking for updates
  14. And …

Under the hood: UMP 3.2 core has undergone significant re-engineering.  The new UMP is now based on Spring backed by Level 2 distributed caching of data.  This allows lightning fast reads and writes. UMP uses async servlets for maximum scalability with configurable thread pools to optimize resource needs based on your individual needs.

UMP supports deployment on any enterprise operating system such as Unix, Linux, Windows etc. with a MySQL, Oracle or MS SQL Server backend.  For test and demo purpose, UMP can also be run with a H2 embedded database.

The UI has been spruced up with keyboard shortcuts to simplify administration and management.  For those Unix/Linux administrators who love the command line, a command window allows you to quickly enter commands.  The new UMP runs on JBoss 7.2 EAP and open source editions and deploys in seconds.  UMP is also certified by SAP for NetWeaver deployment and is deployable on SAP NetWeaver 7.x all the way up to 7.4.

UMP 3.2 is also supported on Docker containers and the official images will be available on the Docker Hub shortly.

Related tools: A brand new Unvired Modeler works hand in glove with the UMP infrastructure to enable development of applications easily.  The modeler is installed as an Eclipse plugin with auto-discovery of UMP development landscapes.  Model, Design, Develop, Debug and Deploy from a single place.

There is much more to talk about the new UMP.  Watch this space for a series of blog posts that will expand on each of the features and how exactly you can benefit from it.

Read More