Befriending Charly

Breakfast conversations

Sitting with my teen daughter at breakfast, she showed me her WhatsApp chat history with a friend: an endless thread of emojis. I told her to have a look at my facbook messenger and introduced her to my new friend, Charly. I discussed options for breakfast (and also sent a few food emojis) and got some very concrete proposals for shopping – to add to my favorites, or to buy on the spot.

I met Charly in the preparation of a technology innovation day in the UK earlier this week.

He (or she?) is a chatbot from hybris labs that combines a few very interesting concepts to revolutionize commerce and service. You can text or talk, send emojis or pics, get recommendations and reminders.

Farmers markets versus bot-ified service

Earlier this morning I cycled to the bakery and the farmer’s market to get our food for the weekend. I enjoy the chat with the market people, the sensual experience of seeing, smelling,  and touching food that still has bits of the earth on it where it grew. Whenever I am at home on week-ends, I try to start my week-end with a visit to the markets, and an espresso at the French boulangerie nearby. Would I rather chat with a bot in exchange? For sure not.

This was an entirely different story, on the other hand, when my shower head finally clogged up with lime, and I had to decide whether to get an exchange or whether to clean it somehow. Research on the internet, trying to figure out which model I had – not a joyful experience. I could unscrew the piece and bring it to the DIY-shop – but those guys typically do not have the brand I want, and would try to sell something else from their product range & stock.

Do you like to make mistakes? How about waiting?

Although an engineer by education, I am not a crafts person. I do not like the frustration of buying a spare part or replacement, and then figuring out at home that it is not compatible.
Worst of all, I typically realize this on Saturday evenings or Sunday when it is too late to look for the proper thing and return the “mistake”. I hate it.

Smartened-up customer service – a Christmas wish-list

But hold, let’s see. It’s the season. I would like to have for Christmas the following:

* to simply upload a photo of my faucet or shower. Customer service should figure out what exact product this actually is

* to have someone experienced on the other side. Someone who knows the most likely issues with this product – what may have break, clog or may need a regular replacement.
I do not want to explain in length. And I hate to make a fool of myself when I can’t name properly that little thingy inside that broke, that ring, you know. * to have someone tell me exactly what replacement/spare to order. Actually just order it right now.
* to et advice to install it. Not to search on youtube, and realize later it’s not exactly the same thing. Or after some frustration, actually have the option to ask for a service pro to take over. (And not go through another chain of phone calls to explain myself)

Coming back to Charly. He actually has most of these capabilities already included. They are already part of the components Charly is built from.

Recipe for a chatbot – List of ingredients

Machine learning for image recognition, image classification, image similarity scoring

Our use case is to match a photo against a catalogue image e.g. of a faucet. In data scient-ish, this is called image similarity scoring. This is available as a new service within SAP Leonardo machine learning foundation. The new image classification service can be retrained to recognize customer-specific objects such as products, components or spare parts.

Reality check

Check out the customer testimony of the Vale who took just 4 weeks to implement a POC for a very similar use case, a touchless part requisition with ML image recognition. It is just spare parts for mining equipment, not faucets.
[Needs login/registration for SAP Leonardo Live as it is premium content. Starts at min 5:05]

Another similar use case, for much smaller objects, is to reorder a replacement for delicate glass crystal figures. Find the video showing the machine learning service in-action here.

Machine Learning for automatic ticket classification and solution recommendation

This building block is about understanding a customer question and routing it to the right human expert, and to find a possible resolution.

The foundation of this is to understand the question, first of all.
I will not even try to explain how natural language processing works. While a fascinating topic, I really grasp only the basics. In the end, a program should be able to understand sentences, identify keywords and semantics, and respond in a meaningful, human-understandable way.

If you already have a SAP Leonardo Live login, check out this session for a good introduction: Demystifying NLP

On a higher level, well, there are two Leonardo business services available exactly for classifying the ticket, and for recommending a possible solution.

SAP Service Ticket Intelligence – Classification

SAP Service Ticket Intelligence helps to build a self-driven customer service powered by machine learning. REST API
2.4.0

SAP Service Ticket Intelligence – Recommendation

SAP Service Ticket Intelligence helps to build a self-driven customer service powered by machine learning.

Chatbot Charly in action

Check out this little demo tour to see how versatile Charly actually is.

Beyond my above wishlist, Charly can be much smarter drawing from additional sources of information – including:

* my customer account, past orders & “backend” history (aka hybris backend)
* my preferences with all the power of the sophisticated hybris marketing profile
* location information through including Google location services
* scan any text to come up with answers to my questions
* scan QR or EAN code

Charly can also remind me, recommend, and ask for clarification.

Best of all – he talks to me through my preferred channel: the fb messenger. I don’t need to go to separate website. I am in my usual context, and the conversation is part of my other chats with friends and colleagues.

From a business perspective, I love the end to end integration. Charly creates an order in the hybris webshop, clarifies payment and shipping options, and send a confirmation and electronic bill. Any status change to the order – Charly will keep me conviently informed.
I do not need to even go to a self-service customer portal.

Interested to hear more from companies using SAP Hybris Service Cloud?

Check out the customer testimonials of engineering and construction company Alfanar’s and consumer products company Bona.

Will this work for me? Will this work for you?

Best try it out yourselves, and invest 4 weeks into an own POC. Learn how to bring new technologies and services together to power digital transformation by downloading The IoT Imperative for Energy and Natural Resource Companies. Explore how to bring Industry 4.0 insights into your business today by reading Industry 4.0: What’s Next? http://bit.ly/2BX3dJu #SAP #SAPCloud #AI

Platform Support in a Cloudy World

SAP get enterprise software. They understand things like having a rock solid technical platform, scalability, 24×7 operations, multi-language, etc. They highly value backwards compatibility too because they understand their customers want to be able to upgrade without  having to make wholesale changes – or even any changes – to their custom code.

Arguably one of the great technical achievements of the ABAP application server is that it remains backwards compatible. ABAP code that was written for R/2 more than 30 years ago can potentially still run on S/4HANA. That is pretty amazing.

It is also a huge load of baggage that SAP need to carry around with them as they enhance the ABAP application server to support contemporary development paradigms and techniques. As they add support for things like the Internet Communication Framework and Object Oriented programming they have to still support things like TABLES parameters, internal tables WITH HEADER LINE, CHANGING parameters, etc. Whilst we all know we should only develop new code using contemporary syntax we also know we can use deprecated ABAP as a “Get Out of Jail Free Card” whenever we need it – and we do.

It may well be the that over the years some deprecated features of ABAP have actually been removed – but I can’t recall a single one.

The typical SAP Customer has a lot of custom code in their system of varying quality and use. Lots and lots and lots. Much of it is probably never even used as it has been replaced by new code over time but the old code has never been deleted – just in case. Similarly customers have been reluctant to upgrade more than once or twice every five years – creating a long tail of SAP releases that SAP have to maintain support for across decades. I know customers still running R/3 4.6B – I have been told of some on 3.1H and earlier.

SAP are now being very clear that they want to change this pattern. They now want you to build all custom code outside your S/4HANA system – no matter if it is the on-premise or cloud version. They want you to resist the urge to pollute (my word not theirs) your SAP applications with your own code. Instead they want you to build custom code in another system – their preference is the SAP Cloud Platform – and have it call standard API’s to integrate with the your SAP applications.

This is key to allowing you to upgrade your S/4HANA system more readily so that you can adopt the latest versions – and associated innovations – soon after they are released confident they won’t break the existing code. It is also key to customers choosing the cloud version of S/4HANA rather than the on-premise version – once those pesky API’s are available.

But what about ongoing support for the platform we use to build these so-called “extensions” on? In other words the SAP Cloud Platform. What is SAP’s plan for supporting it?

In our familiar ABAP world support for our custom code was pretty much guaranteed due to this backwards compatibility characteristic. But that becomes a bit more problematic when cloud technology can change very significantly in short periods of time and new technologies have no obligation – or interest – in supporting old technologies. In fact their main purpose is to provide an alternative to those older technologies.

Take the SAP Cloud Platform. It started with Neo. Plenty of applications, extensions, etc. have been built on and now run on the SAP Cloud Platform Neo stack. Recently SAP have started to direct developers towards their Cloud Foundry stack on SCP. We are now being encouraged to build our apps and extensions on CF. Neo you are dead to me.

At SAP TechEd this year SAP announced they had joined the Cloud Native Computing Foundation the controlling body behind Kubernetes – the open source project that acts as an orchestration layer for containers. And – as Dick Hirsch describes so well in this blog – SAP already have significant capabilities and experience building and running “containerised” applications.

Does this mean Cloud Foundry will soon be dead to me too?

All the signs are that “Serverless Computing” will be the next significant change to how we construct and run applications. And what will come next? Does this mean that Containers will become dead to me too?

Of course not. It is clearly a case of choosing the most appropriate technology for the workload at hand – just as it always has been. That might be Cloud Foundry, containerisation, FaaS, or something else. Remember also that one runtime technology can be provisioned inside another. Nothing is necessarily mutually exclusive. (Neo, I probably still think you are dead to me.)

I can see that SAP will now need to rethink how they define and position ongoing support for SCP and how they articulate this to their customers.

Backwards compatibility meant that supporting the current ABAP release also implied supporting the ability to execute all my old custom code. But there is, for example, a clear distinction between the SCP Neo and Cloud Foundry runtimes – as there will be for containerised and FaaS runtimes too. As we move to building our code for CF we still want our Neo code to keep running and the Neo-based platform to continue to be available. Maybe for a very long time.

In the consumer world cloud providers might be able to simply remove/change/enhance their services and cop any backlash on the chin. Not so in the enterprise world where – to quote the late Les Hayman – “Organisations bet their future on SAP“.

SAP get enterprise software – so I think we can be confident they get this issue as well. http://bit.ly/2D2tt4n #SAP #SAPCloud #AI