#NOT EVEN MY WEBHOOK WHICH USUALLY DOES
Explore tagged Tumblr posts
Text
@countlessrealities asked: [ CHOICE ]: the sender and receiver embark on a mission: getting the perfect christmas tree. [[ Vaggie & Charlie !! ]]
the happiest of holidays !! (a list of wintry prompts!) || Accepting until February
Leave it to Charlie to be excited over just about any holiday and excitedly chatter away about the multiple things that she could plan for the Hotel and it's residents. First on her list, of course, is to get decorations and a Christmas tree, despite good ones being a bit more difficult to come by since this was Hell after all.
As one hand holds onto Vaggie's hand, another hand comes up as Charlie taps her index finger against her chin, looking at all the different trees as a soft "Hmmm...." escapes her. She wants to make sure the residents of the Hotel have the best she can find, especially after everything that happened recently.
Eventually, she turns to Vaggie, her smile still as wide as ever.
"What do you think? Any of them catch your eye specifically?"
#IM SO SORRY I TOOK SO LONG TO ANSWER THIS#NOTHING NOTIFIED ME#NOT EVEN MY WEBHOOK WHICH USUALLY DOES#SO I DIDNT EVEN KNOW I HAD THIS#hazbin hotel tw#countlessrealities#★ ► ᴠᴏɪᴄᴇꜱ ɪɴ ᴛʜᴇ ᴄᴏꜱᴍᴏꜱ ◄ ⌠ In Character ⌡#★ ► ʟᴇᴛ ᴛʜᴇ ꜱᴛᴀʀꜱ ᴛʜᴀɴᴋ ʏᴏᴜ ♥ ◄ ⌠ Ask Answered ⌡#★ ► ɪɴꜱɪᴅᴇ ᴏꜰ ᴇᴠᴇʀʏ ᴅᴇᴍᴏɴ ɪꜱ ᴀ ʀᴀɪɴʙᴏᴡ ◄ ⌠ Charlie Morningstar ⌡#★ ► ᴠ; 'ᴄᴀᴜꜱᴇ ʜᴇʟʟ ɪꜱ ꜰᴏʀᴇᴠᴇʀ ᴡʜᴇᴛʜᴇʀ ʏᴏᴜ ʟɪᴋᴇ ɪᴛ ᴏʀ ɴᴏᴛ ◄ ⌠ Hazbin Hotel - ALT ⌡#★► ɴᴇᴇᴅ ʏᴏᴜ ᴛᴏ ᴋɴᴏᴡ ɪ ʟᴏᴠᴇ ʏᴏᴜ ᴍᴏʀᴇ ᴛʜᴀɴ ᴀɴʏᴛʜɪɴɢ ◄⌠ Charlie & Vaggie | countlessrealities ⌡
6 notes
·
View notes
Text
Creating speech skills for Amazon Alexa and Google Assistant
A dramatic transition to conversational interfaces has occurred in the last decade. As people hit 'peak screen' and even begin to scale back their use of the app with digital wellness apps embedded in most operating systems.
In order to combat screen fatigue, voice assistants have entered the market to become a preferred option for rapid information retrieval. A well-repeated status states that in 2020, 50 per cent of searches will be carried out by voice. It's also up to developers to add "Conversational Interfaces" and "Voice Assistants" to their tool belt, as adoption grows.
What Is An Interface to Conversation?
A Conversational Interface (sometimes shortened to
CUI
, is any interface in a human language. It is tipped to be a more intuitive interface for the general public than the Visual User Interface GUI, which front end developers are used to creating. A GUI allows people to know about the basic interface syntaxes (think buttons, sliders, and drop-downs).
This main difference in the use of human language makes CUI more intuitive to humans; it needs little knowledge and places the burden of interpretation on the instrument.
There are two forms of popular CUIs: chatbots and voice assistants. In the last decade, both saw a huge increase in take-up due to developments in the NLP.
JARGON UNDERRSTANDING Speech
What Is An Assistant to the Voice?
A voice-assistant is a piece of
NLP
(Natural Language Processing) capable software. It receives a voice command, and returns an audio response. The complexity of how you can communicate with an assistant has grown and changed in recent years, but the crux of the system is natural language in, tons of computation, natural language out.
To those seeking a little more detail:
1. The program receives an audio request from a user, converts the sound into phonemes, which are the language building blocks.
2. By the magic of AI (Speech-To - Text in particular), these phonemes are translated into a string of the approximate request, which is held within a JSON file which also contains additional user, request and session information.
3. The JSON is then processed to find out the meaning and purpose of the request (usually in the cloud).
4. A answer is returned on the basis of intent, again in a larger JSON document, either as a string or as SSML (more on that later)
5. The answer is processed back using AI (naturally the reverse-Text-To-Speech) that is returned to the user afterwards.
There's a lot going on there, much of it needing no second thought. But-platform does this differently, and it is the platform nuances which require a little more understanding.
Devices with Voice Enabled
The specifications for a computer to have a baked in voice assistant are relatively small. They need a microphone, a connection to the internet, and a speaker. Smart Speakers like the Nest Mini & Echo Dot offer such low-fi voice control.
Next up in the ranks is voice + screen, this is known as a multimodal system (more on these later), which are devices such as the Nest Hub and the Echo Display. Because smartphones have this feature, they can also be considered a form of device allowed for multimodal voice.
Voice Competencies
First of all, for their 'Speech Skills,' each platform has a different name, Amazon goes with skills, for which I will stick as a widely understood word. Google opts for 'Actions' and for 'capsules' Samsung opts.
Growing platform has its own baked-in skills, including asking for the games of time, weather and sport. Developer-made (third-party) skills may be invoked with a specific phrase, or can be invoked indirectly without a main phrase if the user likes it.
INVOCATION EXPLICIT: "Hey Google, Speak to < app name >."
It is expressly specified which skills are being requested:
What Are Their Voice Assistants?
Audio assistants are very much a tri-horse challenge on the western market. Apple, Google and Amazon have very different approaches to their assistants and, as such, cater to developers and consumers of all kinds.
APPLE’S SIRI
DEVICE NAME: ”Siri”WAKE PHRASE: ”Hey Siri”
Siri has more than 375 million active users, but I don't go into too much detail for Siri for the sake of brevity. Although it may be well accepted worldwide, and built into most Apple devices, it allows developers to have an app already on one of Apple 's platforms and is written in swift (whereas the others can be written in the favorite of all: Javascript). If you are an app developer who wants to increase the scope of their app, you can actually skip past apple until it opens up its website.
GOOGLE ASSISTANT
DEVICE NAMES: ”Google Home, Nest”WAKE PHRASE: ”Hey Google”
Google has the most apps of the big three, with more than 1 trillion globally, this is largely due to the mass of Android devices that have baked Google Assistant in, in terms of their dedicated smart speakers, the figures are a little lower. Google's ultimate goal is to please consumers with its help, and they've always been really good at delivering light and intuitive interfaces.
Their key goal on the site is to use time — with the intention of being a frequent part of the everyday life of the customers. As such, they concentrate mainly on usefulness, fun in the family and pleasant experiences.
Google-built skills are best when they're pieces of interaction and games, with a emphasis on family-friendly fun. Their recent inclusion of game canvas is a testament to that approach. Google's site is far more rigorous for ability submissions and as such, their list is much smaller.
AMAZON ALEXA
DEVICE NAMES: “Amazon Fire, Amazon Echo”WAKE PHRASE: “Alexa”
In 2019, Amazon has reached 100 million products , mainly from sales of its smart speakers and smart screens, as well as its range of fire or tablets and streaming devices.
Skills built for Amazon appear to be geared towards purchasing skills. Amazon is for you if you're looking for a forum to extend your e-commerce / service or offer a subscription. That being said, ISP is not an Alexa Skills prerequisite, they endorse all kinds of uses, and are far more open to submissions.
Installation On Amazon Alexa
Amazons voice ecosystem has evolved to allow developers to build all of their skills inside the Alexa console, so I will use its built-in features as a simple example.
Alexa deals with the processing of the natural language and then determines a suitable Purpose, which is passed on to our Lambda function to deal with the reasoning. This returns some conversational bits (SSML, text, cards, etc.) to Alexa which converts those bits to audio and visuals for display on the app. It's pretty easy to work on Amazon because it helps you to build all parts of your ability inside the Alexa Developer Console. There is versatility to use AWS or an HTTPS endpoint but it should be enough to run anything inside the Dev console for basic skills.
LET's Create A SIMPLE SKILL ALEXA
Go to the console of Amazon Alexa, create an account if you don't have one, and log in.
Click Build Skill and then name it,
Choose your model customised,
And select Alexa-Hosted (Node.js) for the tool on your backend.
If provisioning is completed, you're going to have a simple Alexa experience, you're going to have your plan developed for you, and some back end code to start you up.
If you click in your Intents on the HelloWorldIntent, you'll see some sample utterances already set for you, let's add a new one at the top. Our ability is called hello world, so add a sample utterance to Hello World. The aim is to catch whatever the user may say to cause the purpose. This could be "Hello World," "Howdy World" etc. What Happens In The JS Fulfillment?
This uses the ask-sdk-core, and basically builds JSON for us. CanHandle wants to know if it can handle attempts, namely 'HelloWorldIntent.' Handle takes the input and constructs the response. And it looks like this produces
Construction For Google Assistant
Use their AoG console in conjunction with Dialogflow is the easiest way to create Actions on Google, you can expand your skills with firebase, but let's keep it simple, as with the Amazon Alexa tutorial.
Google Assistant uses three primary parts: AoG, which deals with the NLP, Dialogflow, which works out the plans, and Firebase, which fulfills the request, and generates the response which will be returned to AoG.
As with Alexa, Dialogflow enables you to create your functions directly within the platform.
LET 'S ACTION ON GOOGLE BUILD
With Google's solution, there are three systems to juggle at once, which are reached by three separate devices, so tap up!
Set up Dialogflow
1. Let's start by logging into the Console for Dialogflow. After you've logged in, build a new agent just below the Dialogflow logo from the dropdown.
2. Give your agent a name and add to the 'Dropdown of the Google Project' when selecting "Build a new Google project."
3. Click the Create button, and let it do its magic, setting up the agent will take a little bit of time, so be patient.
Firebase Functions Setup
1. We can start plugging in the Fulfillment logic right now.
2. Head over to tab Fulfilment. Tick to allow the inline editor, and use the following JS snippets:
3. Itex.js
package.json
Now go back to your intent, go to Default Welcome Intent, and scroll down to fulfillment, make sure that 'Enable Webhook Call for this Intent' is tested for any javascript attempts you wish to fulfill. Touch Save.
Update AoG
Now, we are reaching the finish line. Head over to the Integrations tab and click at the top of the Google Assistant Option on Integration Settings. This will open a modal, so let's click check, which will integrate your Dialogflow with Google, and open a check window on Google Behavior.
We can click Talk to my test app on the test window (we'll change this in a second), and voila, we've got the message from our javascript displayed on a google assistant test.In Develop tab, we can change the name of the assistant, up at the top.
And WHAT 'S TO THE Delivery JS?
Firstly, we use two npm packages, actions-on-google that provide all the fulfillment that both AoG and Dialogflow need, and secondly, firebase-functions that you guessed contain firebase helpers.
Then we build the 'template' which is an entity containing all our intent.
Every purpose that is generated is passed 'conv' which is sends the Behavior On Google conversation object. We can use the conv content to detect information about past user interactions (such as their ID and their session with us).
We return a 'conv.ask object' that contains our return message to the user ready to reply with a different purpose. If we decided to end the conversation there we could use 'conv.close' to end the conversation.
Finally, we wrap all up in an HTTPS firebase feature, which deals with the request-response logic for us on the server side.
Once again, if we look at the produced response:
We can see that conv.ask had its text inserted into the field of textToSpeech. If we had chosen conv.close the expectUserResponse would be set to false and the conversation would end after the message was delivered.
Third-party Voice Makers
Much like the software industry, 3rd party platforms have started popping up as voice gains momentum in an effort to ease the burden on developers, enabling them to build twice once they launch. At the moment Jovo and Voiceflow are the two most popular, especially since Apple acquired PullString. Each platform offers a different abstraction level, so it really depends on how simplified your interface is.
Extend your know-how
Now that you've got your head around developing a simple 'Hello World' skill, there's plenty of bells and whistles to add to your skill. They are the cherry on top of Voice Assistants' cake, which can add a lot of added value to the customers, contributing to repeat practice which future business opportunity.
SSML
SSML stands for speech synthesis markup language and operates with a syntax similar to HTML, the main difference is that you are building up a spoken response, not text on a web page.
'SSML' as a concept is a little deceptive, can do so much more than a synthesis of expressions! You can have parallel voices, you can have sounds of the setting, speechcons (worthy of listening to them in their own right, think emojis for popular phrases), and music.
When Should I Use SSML?
SSML is great; it makes the user's experience much more enjoyable, but what it also does is that the audio output's versatility. I suggest to use it for more static speech areas. You can use variables in it for names etc, but unless you are planning to create an SSML generator, most SSML will be very static. Begin with simple speech in your language, and once complete, upgrade areas that are more static with SSML, but get your core correct before moving on to the bells and whistles. That said, a recent report says that 71 per cent of users prefer a human (real) voice to a synthesized one, so if you have the facility to do that, go out and do it!
IN Sales ON SKILL
In-skill shopping (or ISP) is similar to the in-app purchasing model. Skills appear to be free, but some make it possible to buy 'premium' content/subscriptions inside the app, which can improve a user's experience, unlock new levels of gameplay, or enable access to paid content.
MULTIMODAL
Multimodal responses cover so much more than speech, this is where voice assistants can really shine on devices this provide them with complementary visuals. Multimodal interaction concept is much wider, which basically implies multiple inputs.
Multimodal skills are meant to complement the core voice experience , providing additional additional information to boost the UX. Recall the voice is the primary carrier of knowledge when creating a multimodal experience. Many apps don't have a screen, so your skills still have to operate without one, so be sure to check with different types of devices; either actual or simulated.
MULTILINGUAL
Multilingual abilities are abilities that function in multiple languages and expose your abilities to different markets.
The complexity of multilingualizing your skills lies in how dynamic your responses are. Skills with fairly static answers, e.g. returning the same phrase each time, or using just a small bucket of phrases, are much easier to render multilingual than dynamic skills distributed.
Multilingual trick is to have a reliable translation partner, whether by an agency or a Fiverr translator. You must be able to trust the translations provided, especially if you do not understand the language to which they are being translated.
Summary
If there ever was a chance to get into the voice business, it would be right now. Also in its prime and infancy, as well as the big nine, are plowing billions to expand it and get voice assistants into the homes and daily routines of all. Choosing the platform to use can be difficult, but the platform to use will shine through or, failing that, use a third-party tool to hedge your bets and build on multiple platforms , particularly if your capacity is less complicated with less moving parts.
As a reputed Software Solutions Developer we have expertise in providing dedicated remote and outsourced technical resources for software services at very nominal cost. Besides experts in full stacks We also build web solutions, mobile apps and work on system integration, performance enhancement, cloud migrations and big data analytics. Don’t hesitate to
get in touch with us!
0 notes
Text
Paperform
Buy or build is a classic debate in technology. Building things yourself might feel less expensive because there is no line item on your credit card bill, but has cost in the form of time. Buying things, believe it or not, is usually less expensive when it comes to technology that isn't your core focus. Build your core technology, buy everything else.
That's what I think of with a tool like Paperform. A powerful form builder like Paperform costs me a few bucks, but saves me countless hours in building something that might become extremely complex and a massive distraction from my more important goals.
Paperform is a form builder, but disguised within a page builder
Imagine you're building a registration form for a conference. (That's a perfect fit for Paperform, by the way, as Paperform has payment features that can even handle the money part.) The page that explains the conference and the registration form for the conference can be, and maybe should be, the same thing.
The Paperform designer makes it quite intuitive to build out a page of content.
It is equally intuitive to sprinkle questions into the page as you are writing and design it, making it an interactive form.
Block editing
As a little aside, I dig how the editor is block-based. That's a trend I can get behind lately, with some of my favorite apps like Notion really embracing it and huge projects like Gutenberg in WordPress.
This feels lighter than both of those, a little bit more like the Dropbox Paper editor. Building a form is just like editing a document is a principle they have and I think they are right on. It really is just like working in a document with perhaps a bit more configuration possibilities when you get into the details.
You've got a lot of power at the question level
With a form builder, you really want that power. You don't want to get knee-deep into building a form only to find out you can't do the thing you need to with the functionality and flow of the form. Here's a bunch of yes's:
Can you make a field be required? Yes.
Can you apply conditional logic to hide/show fields? Yes.
Can you apply put default and placeholder text? Yes.
Can you set minimum and maximums? Yes.
Can you control the layout? Yes.
Can you control the design? Yes.
Can you programmatically prefill fields? Yes.
Can you have hidden fields? Yes.
Can you have complex fields like address and signatures? Yes.
Features like logic on questions, I happen to know, are particularly tricky to nail the UX on, and Paperform does a great job with it. You control the logic from option built naturally into the form builder where you would expect to find it.
Based on a "yes" answer to a yes/no question, I reveal an extra address field. Even the address field has powerful features, like limiting the countries you use.
Theming is very natural
Controlling color and typography are right up front and very obvious. Color pickers for all the major typographic elements, and the entire kitchen sink of Google Fonts for you to pick from.
I really like that at no point does it feel like you are leaving "the place where you're building the form". You can easily flip around between building the content and design and theme and logic and all that while it's saving your work as you go.
All the most common stuff has UI controls for you, and other big features are easy to find, like uploading background images and controlling buttons. Then if you really need to exert 100% control, their highest plan allows you to inject your own CSS into the form.
"After Submission"
What an obvious thing to call it! I love that. This is where you configure everything that happens with the form data after you've captured it. But instead of calling it something dry and obtuse like "Form Data Configuration Options" or something, it's named after what you are thinking: "What happens after the form is submitted? That's what I'm trying to control."
There are three things that I tend to think about after form submission:
Where is the confirmation email going to go?
What does the success message say to the user?
What integrations can I use?
A nice touch? By default, the form is set up to email you all submissions. Do nothing, and you get that. That's probably what you want 90% of the time anyway. But if you want to get in there and manipulate that email with custom destinations, subject lines, and even entirely reformatted content, you've got it.
In the same fashion, you can create custom PDFs from the submitted data, which is a pretty unique feature and I imagine quite important for some folks.
Customizing that success message, which I find to be appropriate pretty much 100% of the time, is just a matter of changing two fields.
Integrations-wise, for me, the big ones I find myself using are:
Make a Trello card from this.
Put the person on a MailChimp list.
Send a Slack notification.
They've got all those, plus webhooks (hit this arbitrary URL with the data after submission) and Zapier, which covers just about every use case under the sun.
Of course, when you're done building your form, you get a URL you can send people to. For me, the vast majority of the time, what I want to do is embed the form right onto another site, and they have all the options you could want for that as well.
New feature: Calculations
Just a few days ago, they added the ability to essentially do math with form data. There are some fairly straightforward use-cases, like calculating the price of a product based on questions on the form. But the feature was built to be rather open-ended in what you can do with it. Imagine using a calculation as part of a Buzzfeed style quiz that tells you what kind of dragon you are, or disabling submission of the form until a calculation can be made that is satisfactory, or the notification from the form goes to a different person based on the calculation.
I can't cover everything
Paperform is too big for one blog post. I barely mentioned payments, which is a massive feature they handle very well. I'd just end by saying it's a very impressive product and if you're picking a form builder, picking one as feature-rich as Paperform isn't likely to be one you'll regret.
Go Try Paperform
The post Paperform appeared first on CSS-Tricks.
Paperform published first on https://deskbysnafu.tumblr.com/
0 notes
Text
How to Make a Chatbot in Messenger: Main Benefits for Your Business
The classic scheme of communication of any business with a person has always been through the phone. If you needed a plumber, you called the service and ordered, or if you wanted pizza at three in the morning, you called too. The telephone was the main channel of communication and service to people. Further, with the advent of mobile phones, it was transformed into applications. First, there were help desks available through the browser, then there were smartphones with an endless number of applications that we download daily.
A huge number of applications on the phone lead to an inconvenience of use since for each separate restaurant or cinema, you need to open a separate application to contact the operator. This is where chatbots in messengers come to the rescue, which solves the issue of centralization, and now in the same application where you communicate with your loved ones, you can book a table for the evening in your favorite restaurant. What you need to create a chatbot in a messenger application and what are the benefits for your SaaS project, we will consider in this article.
8 Benefits of Chatbots for Businesses
With the advent of chatbots, there have been many changes in the business. Companies and customers are interested in this tool, but not always keep up with the updates in the industry. Let's look at why brands are implementing chatbots, what they are guided by when creating them, and how a chatbot can help a business.
Link openness is much higher than email.
Faster communication with the client (everyone is now hanging on social networks).
You definitely won't end up in spam.
People are pissed off by the red dots of an unread message, and they often open messenger to watch.
The chatbot can immediately reply to messages without delay in opening mail. Therefore, the client does not have time to "cool down" - efficiency is now winning.
During webinars, there are technical issues that are quickly resolved through the messenger.
Bot creates the illusion of personal communication with clients.
You can quickly pick up your chat history.
How Does a Chatbot Work?
80% of companies in the world have created chatbots or plan to use them in 2020, follows from data from Oracle, a leading American corporation, as it's the world's largest software developer. According to Facebook, from 2017 to 2018, the activity of correspondence using chatbots increased more than five times. The reason for the popularity of chatbots is obvious - they keep the user engaged, provide more reach, and reduce the amount of routine work dramatically.
Many experts say: "Make a chatbot - you will sell." But it's not that simple. A chatbot can sell, but if an unprepared person immediately clicks on your Facebook ad button, gets into the messenger and the chatbot writes to him: “Buy my socks. This is the price,” - this person will probably not buy anything.
The reason is not that he does not need the product - he went through an advertisement. It's just that the user is "undercooked" enough to buy from your chatbot.
What can a chatbot in messenger really do for SaaS?
Greet the customer;
Pull up answers by keywords;
Delayed mailing;
Answer questions, help choose programs, products;
Segment your audience;
Count discounts, promotions, test results, and so on, depending on the choice of the answer;
Sell to the person's preferences.
Building a Chatbot from Scratch
This is the landscape of the chatbot industry, created by the American service KeyReply. It reflects the key market players and tools for developing bots.
For comparison, we will consider several options for instant messengers in which you can create chatbots. For example, Viber chatbot technology:
The client writes a message to the chat, which goes to the Viber server;
Viber accesses your server via an HTTP request;
Your server provides an accurate response to this, which goes back to the Viber server;
The answer comes to the chat.
Why is it necessary to understand this scheme? Firstly, many clients think that when they create a chatbot in a messenger, it will immediately become super-smart and will answer any questions. This part depends entirely on your server. The logic of answers is built from the client's side and it depends only on you how many questions the chatbot can answer accurately. In this scheme, any messenger is just an intermediary.
The Step-by-step Guide to Creating a Chatbot
To create a bot, follow these steps:
You need to have an active account in the messenger;
Register with the local Admin Panel where chatbots are created;
Fill out a questionnaire about the future bot. Usually, the questionnaire contains such fields as:
Account Image - community logo;
Account Name - the name that will be displayed in the header of the bot;
URI - by which the bot can be found.
Obtaining a token to work with the messenger server, it will be used to authenticate the request to the messenger API.
Setting up a web server and connecting an SSL certificate;
Installing webhook, this action is performed once; Webhook reports the following data to the Viber server:
A server address and endpoint that will receive messages from clients;
A list of events that the server will listen to;
Token;
Verification and publication of the chatbot.
What tricks you might face with chatbots for business
Сreating a chatbot in a messenger application, you need to understand the features of each and choose the one specifically that does not limit your possibilities as much as possible.
Be prepared for messenger platform limitations
Please note that each messenger has a number of technical limitations and if you are not ready for them, then you should seriously consider another chatbot option. For example, a ban from WhatsApp can be obtained for:
Sending a large number of messages at the same time. This is one of the main reasons when 100+ of the same messages fly from the number at the same time - WhatsApp algorithms calculate this easily.
Negative user reaction. If you are spamming, then 3-5 clicks on the "Complain" button are enough to block your number.
The client will work on any device with an internet connection and Docker support. For example, simple testing can be performed on a regular laptop. The minimum server requirements for the production environment are 250 GB SSD, 16 GB RAM, Quad-core CPU.
In general, the database should be running on a separate physical server (not where the Coreapp and Webapp containers are located). The admissible delay in data transmission between this server and the computer is no more than a few milliseconds.
Viber has its own list of restrictions that you should pay attention to:
Messages can be sent to all users who are subscribed (the user subscribes when he sends the bot the first message)
The maximum size of a JSON response is 30kb
The bot can send the user up to 100 messages per hour, the message counter is reset after the user replies to the message
The ability to send bulk messages opens only upon application and approval from Viber account managers.
The maximum length of the list of recipients of a mass message is 300 people, each such request can be executed up to 500 times in 10 seconds
If the user fails to deliver the message, Viber will attempt to resend this message for 14 days.
How can you customize your chatbot for SaaS?
Information management
There is no need to count on the fact that you will have a chatbot that will understand any of your text, written as you like. Most chatbots are not equipped with such cool intelligence. The overwhelming majority is somewhat reminiscent of USSD menus in SMS only in an improved version.
To control the bot, you, as the bot creator, must assume some kind of scenario. The user needs to send a command to get the desired result from the bot. When the bot receives the command, it will process it and react according to the scenario you have set. But imagine that the user wrote a command with an error, the bot, in this case, should warn that the command is not recognized and ask to try again. This is not entirely convenient for the user, and he can go looking for another bot with similar capabilities. You can lose a potential client, that's not good.
In this case, keyboards will help us. It just needs to be displayed to the user after the start of the dialogue with the bot, and when he clicks on the button he needs, the correct command you put in will be sent to the bot. In this case, we avoid possible mistakes, the bot interface looks more welcoming and professional. The quality of the bot is improved.
With each message, the bot can send a different set of buttons, both in terms of quantity and purpose. Buttons can be positioned directly below the message (InlineKeyboardButton) or docked below the text box for entering a message (KeyboardButton).
Receiving the information
In addition to text messages, bots can communicate using:
Images;
Audio files;
Video files;
Lists;
Carousels;
Buttons;
Receipts (for example, for a purchase);
Templates (often used when booking something, for example, air tickets);
Navigation menu.
Users can reply with text, emoticons, GIFs, images, audio, video, and pull chatbots into group chats.
What if the chatbot doesn't know how to answer the question?
Developers build a conversation map and, depending on the question, the person is given an automatic answer on websites, messengers, or applications. A chatbot is most convenient to use where processes are properly structured. For example, to buy a train ticket. Since the possible routes, schedule, availability of seats are known, the dialogue map is easy to build, and system errors are reduced to zero.
When the webserver runs out of answers to the customer's questions, the webserver can connect the operator to the chat. Each question of the client and the answer of the operator, the web server can save in the database for optimizing the bot.
The chatbot can answer questions based on the user's correspondence history or respond with prepared response templates.
Each new user will have an empty correspondence at startup, at which time the chatbot can send only one greeting message. When the user sends their first message, they automatically subscribe to the bot. Each message can contain an arbitrary keyboard with options for actions. Since each user has a unique ID, the web server can rely on the saved correspondence history of a particular user and, based on the history, send different responses to the client, or help the operator to join the conversation without the user noticing.
How to create a smart chatbot?
All messages entered by the user are transmitted and processed on the webserver. The web server can return an arbitrary keyboard with buttons, each button can perform some action, for example: go to the site, create a new message, write the user's mobile phone, write the user's location.
The simplest chatbot should have its own knowledge base, which is a set of possible user questions and their corresponding answers. The chatbot can select responses in several ways:
By keywords;
By phrase coincidence;
By a coincidence of context.
A kind of mini-problem for such simple bots is the identification of word forms and synonyms.
Dialogflow
Writing AI for a bot is not an easy task, so you can use a solution from Google. The following functions are available:
Creating answers to standard questions;
Creation of topics of conversation for non-standard or specific requests.
During the conversation, a suitable dialogue will be selected;
Training (adjusting bot responses based on the chat history);
Analytics (number of requests, the course of the dialogue, which topics are most often triggered).
Supported languages: English, Russian
Integration: Viber (deprecated, they suggest using the library for Nodejs), Telegram, Skype (deprecated), Twilio (deprecated), Facebook, Slack.
Aimylogic
Excellent service for creating all the familiar "text" bots and unusual bots for calling (for a paid plan). Fun but difficult to learn features like intents and entities. Suitable for creating AI and taking over the world.
It lacks the usual functions: a basket, creating an inline keyboard, sending a file, but you can create a bot that will guess what they write about.
Supported languages: English, Russian
Integration: WhatsApp, Facebook, VK.
Final thoughts
WhatsApp, Viber, Telegram, WeChat, Line, Facebook Messenger, and others. These messengers are convenient and they have become a familiar means of communication. Every day they fill our daily life more and more. We communicate with friends and relatives, colleagues in chats. And it became commonplace.
Thanks to the digitalization of life, all our affairs, events, entertainment apps are in our favorite smartphone and messengers. And why?
Because 60% of users who want to place an order for a product, product, or service prefer to write a message rather than call. Of these, 30% use instant messaging. It is not surprising that instant messengers have confidently begun to overtake social networks.
First, we stopped calling and switched to text communication, now we stop writing manually, and with one click we select from the suggested answers by the chatbot.
The main thing is to comply with the restrictions and try to create a chatbot as smart as possible. If you still have questions on chatbot development, our team will gladly take this headache away from you.
Originally taken from https://ardas-it.com/how-to-make-a-chatbot-in-messenger-main-benefits-for-your-business
0 notes
Text
Ignite Live Blog – BRK3118 – Microsoft Teams Architecture
This is one of the sessions I have been looking forward to at Microsoft Ignite, and I am happy and proud to cover this session in a blog post. Mark Longton, Group Principal Program Manager for Teams at Microsoft, and Steve Saxon, Partner Software Architect for the intelligent com...
"Ignite Live Blog – BRK3118 – Microsoft Teams Architecture" by Maarten Eekels originally published September 27th 2018 in Microsoft Teams Events Blog articles
This is one of the sessions I have been looking forward to at Microsoft Ignite, and I am happy and proud to cover this session in a blog post. Mark Longton, Group Principal Program Manager for Teams at Microsoft, and Steve Saxon, Partner Software Architect for the intelligent communication services that power Teams, showed us how Microsoft Teams has been architected and what goes on behind the scenes to bring conversations, people, documents, and apps and services into one great experience.
![Tumblr media](https://64.media.tumblr.com/fd35e318a7a620d7318c2af9b592cb23/tumblr_inline_pfqg15weq91rjqzel_400.jpg)
Steve Saxon, myself, and Mark Longton
Logical architecture
The first thing that was covered, was the logical architecture of Microsoft Teams. The diagram below shows how everything is connected.
Teams logical architecture
It is good to realise that every Team has an Office 365 Group as its underlying membership construct. The Group manages owners and members of the Team, and makes sure that every Team has a shared mailbox which is used to store channel messages in order to enable compliance on these messages. Chat messages are stored in the personal mailboxes of the chat members. In fact, both channel and chat messages are stored in Azure Storage and then journaled into Exchange, but more about that shortly. All files are stored in SharePoint (for Channels) and OneDrive (for Chats).
A nice announcement on the side, was the remark that the current limit of max 20 people in a Chat conversation is going to be moved up soon to 250 users. That’s good news!
Conversation storage
On to more specifics about where conversations are stored. For me, here was the biggest announcement of this session, about Teams moving their storage for messages from Azure Storage, Tables, and Queues to CosmosDB. This is huge! This will have a positive impact on both reliability and performance for Teams. With CosmosDB, Microsoft will be able to store the message first and then process it, instead of processing it in memory. That means the message will still be there if something goes wrong. Great news! Even with CosmosDB, messages will still be journaled into Exchange, for compliancy reasons. Inline images and stickers in messages are stored in a dedicated media store in Azure. Ghiphys are not stored.
File storage
Then more about file storage. As already said, files in Chat conversations are stored in the OneDrive for Business of the user who added the file, and then permissions are set for the members of the Chat. Files in Team Channels are stored in SharePoint. Teams offers support for third-party cloud storage from Dropbox, Box, Citrix ShareFile, and Google Drive, but this is turned off by default. Teams admins can change this setting in the Teams Admin Center.
Here’s a great overview of what is stored where for Microsoft Teams:
Data entity storage
What is worth mentioning, is that recordings are temporarily stored in Azure on blob storage for the processing of that recording, before it is pushed out to Microsoft Stream. That storage is always for less than 24 hours. Regarding the telemetry, as stated, no customer content is sent over to Microsoft. All user data is anonymised and even channel names are scrubbed out.
Azure Active Directory sync
The following operations on Office 365 Groups are synced to Microsoft Teams:
Group property updates
Group manager changes
Group member changes
Group hard delete
User property updates
User hard delete
These changes are usually synced in less than 15 minutes, but the SLA says they have to be synced within 24 hours.
Data flows and compliancy
It is good to realise that Microsoft Teams talks to many external systems. Some only inbound, some only outbound, many both ways. Most organisations won’t have a problem with this, but there are organisations out there that have very strict compliancy rules and then it is very useful to understand which data flow exist.
Data flows through the compliance boundary
Data residency
Microsoft Teams is catching up with Exchange and SharePoint on where your data is stored. The last few datacentres that do not support Teams data storage, like France and Korea, are joining soon and then Teams will stay current and on par with Exchange and SharePoint.
Teams client architecture
The Teams client architecture shares a code base between Windows and Mac, which allows Microsoft to ship updates to both platforms at the same time. Also interesting is that Microsoft is moving from Angular to React for the desktop client. Angular was their choice back in the days, because that seemed the right choice then, but moving forward a shift to React provides code share possibilities between the desktop and mobile clients.
Teams client architecture
We all know that Microsoft auto-updates the Teams clients and there is a very good reason for that. This makes sure that negotiating the media stream between clients can always assume the latest technology and optimisations available.
More building blocks explained
The next part of the presentation was a great deep dive in different building blocks of the Microsoft Teams architecture. I really encourage you to watch the recording of the session, because too much information was given to capture in a blog article like this one. Some of the points I do want to highlight:
There is a Microsoft Graph webhook coming for Teams, with which you can capture messages and then decide how to handle those messages. Perfect for DLP scenarios, both for the Microsoft DLP engine and for third-party products.
If you have already set up PSTN through Skype for Business, then Teams will lean in to that and use that same infrastructure.
With Direct Routing you can connect existing PBX / PSTN provider to Teams. When someone calls your existing number, the call will be routed to Teams.
If you want to do a meeting recording, in the background a bot is added to the meeting, who does the media negotiation, just as any other user, and then publishes a message in the meeting that recording is started and starts the recording.
That concluded this session. The session met my expectations, it was very insightful! Both from an overview and from a deep dive perspective. Thanks Mark and Steve!
I’d like to end with some interesting facts that were shared during the Q&A at the end of the session:
Shorter retention times are coming for chats, as short as one day.
Private channels coming soon. Well into the development cycle. No date confirmed. Microsoft realises this is the number 1 user voice item.
VDI support for calling and video is being worked on.
Teams team user limit will increase from 2500 to 5000 fairly soon and larger numbers will come next year.
Microsoft is working on interfaces for third party products to support things like voice journaling.
Read Full Post
0 notes
Text
Paperform
Buy or build is a classic debate in technology. Building things yourself might feel less expensive because there is no line item on your credit card bill, but has cost in the form of time. Buying things, believe it or not, is usually less expensive when it comes to technology that isn't your core focus. Build your core technology, buy everything else.
That's what I think of with a tool like Paperform. A powerful form builder like Paperform costs me a few bucks, but saves me countless hours in building something that might become extremely complex and a massive distraction from my more important goals.
Paperform is a form builder, but disguised within a page builder
Imagine you're building a registration form for a conference. (That's a perfect fit for Paperform, by the way, as Paperform has payment features that can even handle the money part.) The page that explains the conference and the registration form for the conference can be, and maybe should be, the same thing.
The Paperform designer makes it quite intuitive to build out a page of content.
It is equally intuitive to sprinkle questions into the page as you are writing and design it, making it an interactive form.
Block editing
As a little aside, I dig how the editor is block-based. That's a trend I can get behind lately, with some of my favorite apps like Notion really embracing it and huge projects like Gutenberg in WordPress.
This feels lighter than both of those, a little bit more like the Dropbox Paper editor. Building a form is just like editing a document is a principle they have and I think they are right on. It really is just like working in a document with perhaps a bit more configuration possibilities when you get into the details.
You've got a lot of power at the question level
With a form builder, you really want that power. You don't want to get knee-deep into building a form only to find out you can't do the thing you need to with the functionality and flow of the form. Here's a bunch of yes's:
Can you make a field be required? Yes.
Can you apply conditional logic to hide/show fields? Yes.
Can you apply put default and placeholder text? Yes.
Can you set minimum and maximums? Yes.
Can you control the layout? Yes.
Can you control the design? Yes.
Can you programmatically prefill fields? Yes.
Can you have hidden fields? Yes.
Can you have complex fields like address and signatures? Yes.
Features like logic on questions, I happen to know, are particularly tricky to nail the UX on, and Paperform does a great job with it. You control the logic from option built naturally into the form builder where you would expect to find it.
Based on a "yes" answer to a yes/no question, I reveal an extra address field. Even the address field has powerful features, like limiting the countries you use.
Theming is very natural
Controlling color and typography are right up front and very obvious. Color pickers for all the major typographic elements, and the entire kitchen sink of Google Fonts for you to pick from.
I really like that at no point does it feel like you are leaving "the place where you're building the form". You can easily flip around between building the content and design and theme and logic and all that while it's saving your work as you go.
All the most common stuff has UI controls for you, and other big features are easy to find, like uploading background images and controlling buttons. Then if you really need to exert 100% control, their highest plan allows you to inject your own CSS into the form.
"After Submission"
What an obvious thing to call it! I love that. This is where you configure everything that happens with the form data after you've captured it. But instead of calling it something dry and obtuse like "Form Data Configuration Options" or something, it's named after what you are thinking: "What happens after the form is submitted? That's what I'm trying to control."
There are three things that I tend to think about after form submission:
Where is the confirmation email going to go?
What does the success message say to the user?
What integrations can I use?
A nice touch? By default, the form is set up to email you all submissions. Do nothing, and you get that. That's probably what you want 90% of the time anyway. But if you want to get in there and manipulate that email with custom destinations, subject lines, and even entirely reformatted content, you've got it.
In the same fashion, you can create custom PDFs from the submitted data, which is a pretty unique feature and I imagine quite important for some folks.
Customizing that success message, which I find to be appropriate pretty much 100% of the time, is just a matter of changing two fields.
Integrations-wise, for me, the big ones I find myself using are:
Make a Trello card from this.
Put the person on a MailChimp list.
Send a Slack notification.
They've got all those, plus webhooks (hit this arbitrary URL with the data after submission) and Zapier, which covers just about every use case under the sun.
Of course, when you're done building your form, you get a URL you can send people to. For me, the vast majority of the time, what I want to do is embed the form right onto another site, and they have all the options you could want for that as well.
New feature: Calculations
Just a few days ago, they added the ability to essentially do math with form data. There are some fairly straightforward use-cases, like calculating the price of a product based on questions on the form. But the feature was built to be rather open-ended in what you can do with it. Imagine using a calculation as part of a Buzzfeed style quiz that tells you what kind of dragon you are, or disabling submission of the form until a calculation can be made that is satisfactory, or the notification from the form goes to a different person based on the calculation.
I can't cover everything
Paperform is too big for one blog post. I barely mentioned payments, which is a massive feature they handle very well. I'd just end by saying it's a very impressive product and if you're picking a form builder, picking one as feature-rich as Paperform isn't likely to be one you'll regret.
Go Try Paperform
The post Paperform appeared first on CSS-Tricks.
Paperform published first on https://deskbysnafu.tumblr.com/
0 notes
Text
Paperform
Buy or build is a classic debate in technology. Building things yourself might feel less expensive because there is no line item on your credit card bill, but has cost in the form of time. Buying things, believe it or not, is usually less expensive when it comes to technology that isn't your core focus. Build your core technology, buy everything else.
That's what I think of with a tool like Paperform. A powerful form builder like Paperform costs me a few bucks, but saves me countless hours in building something that might become extremely complex and a massive distraction from my more important goals.
Paperform is a form builder, but disguised within a page builder
Imagine you're building a registration form for a conference. (That's a perfect fit for Paperform, by the way, as Paperform has payment features that can even handle the money part.) The page that explains the conference and the registration form for the conference can be, and maybe should be, the same thing.
The Paperform designer makes it quite intuitive to build out a page of content.
It is equally intuitive to sprinkle questions into the page as you are writing and design it, making it an interactive form.
Block editing
As a little aside, I dig how the editor is block-based. That's a trend I can get behind lately, with some of my favorite apps like Notion really embracing it and huge projects like Gutenberg in WordPress.
This feels lighter than both of those, a little bit more like the Dropbox Paper editor. Building a form is just like editing a document is a principle they have and I think they are right on. It really is just like working in a document with perhaps a bit more configuration possibilities when you get into the details.
You've got a lot of power at the question level
With a form builder, you really want that power. You don't want to get knee-deep into building a form only to find out you can't do the thing you need to with the functionality and flow of the form. Here's a bunch of yes's:
Can you make a field be required? Yes.
Can you apply conditional logic to hide/show fields? Yes.
Can you apply put default and placeholder text? Yes.
Can you set minimum and maximums? Yes.
Can you control the layout? Yes.
Can you control the design? Yes.
Can you programmatically prefill fields? Yes.
Can you have hidden fields? Yes.
Can you have complex fields like address and signatures? Yes.
Features like logic on questions, I happen to know, are particularly tricky to nail the UX on, and Paperform does a great job with it. You control the logic from option built naturally into the form builder where you would expect to find it.
Based on a "yes" answer to a yes/no question, I reveal an extra address field. Even the address field has powerful features, like limiting the countries you use.
Theming is very natural
Controlling color and typography are right up front and very obvious. Color pickers for all the major typographic elements, and the entire kitchen sink of Google Fonts for you to pick from.
I really like that at no point does it feel like you are leaving "the place where you're building the form". You can easily flip around between building the content and design and theme and logic and all that while it's saving your work as you go.
All the most common stuff has UI controls for you, and other big features are easy to find, like uploading background images and controlling buttons. Then if you really need to exert 100% control, their highest plan allows you to inject your own CSS into the form.
"After Submission"
What an obvious thing to call it! I love that. This is where you configure everything that happens with the form data after you've captured it. But instead of calling it something dry and obtuse like "Form Data Configuration Options" or something, it's named after what you are thinking: "What happens after the form is submitted? That's what I'm trying to control."
There are three things that I tend to think about after form submission:
Where is the confirmation email going to go?
What does the success message say to the user?
What integrations can I use?
A nice touch? By default, the form is set up to email you all submissions. Do nothing, and you get that. That's probably what you want 90% of the time anyway. But if you want to get in there and manipulate that email with custom destinations, subject lines, and even entirely reformatted content, you've got it.
In the same fashion, you can create custom PDFs from the submitted data, which is a pretty unique feature and I imagine quite important for some folks.
Customizing that success message, which I find to be appropriate pretty much 100% of the time, is just a matter of changing two fields.
Integrations-wise, for me, the big ones I find myself using are:
Make a Trello card from this.
Put the person on a MailChimp list.
Send a Slack notification.
They've got all those, plus webhooks (hit this arbitrary URL with the data after submission) and Zapier, which covers just about every use case under the sun.
Of course, when you're done building your form, you get a URL you can send people to. For me, the vast majority of the time, what I want to do is embed the form right onto another site, and they have all the options you could want for that as well.
New feature: Calculations
Just a few days ago, they added the ability to essentially do math with form data. There are some fairly straightforward use-cases, like calculating the price of a product based on questions on the form. But the feature was built to be rather open-ended in what you can do with it. Imagine using a calculation as part of a Buzzfeed style quiz that tells you what kind of dragon you are, or disabling submission of the form until a calculation can be made that is satisfactory, or the notification from the form goes to a different person based on the calculation.
I can't cover everything
Paperform is too big for one blog post. I barely mentioned payments, which is a massive feature they handle very well. I'd just end by saying it's a very impressive product and if you're picking a form builder, picking one as feature-rich as Paperform isn't likely to be one you'll regret.
Go Try Paperform
The post Paperform appeared first on CSS-Tricks.
Paperform published first on https://deskbysnafu.tumblr.com/
0 notes