Home / Companies / Twilio / Blog / August 2020

August 2020 Summaries

49 posts from Twilio

Filter
Month: Year:
Post Summaries Back to Blog
Twilio has announced the General Availability of Agent Assisted Payments on its PCI Compliant Voice Platform. This feature enables businesses to securely collect payment information from callers using a contact center, while remaining in conversation with them. With Agent Assisted <Pay>, agents can guide callers through the payment process one step at a time, without hearing their sensitive data input. The feature is powered by APIs that developers can program to enable agents to start, update, and complete or cancel a payment session. This allows businesses to provide personalized and guided experiences to their customers when collecting payment information over the phone, while maintaining PCI compliance. Twilio's Programmable Voice Platform is already PCI DSS compliant, making it easy for businesses to integrate Agent Assisted <Pay> into their existing infrastructure.
Aug 31, 2020 981 words in the original blog post.
A GPT-3 powered telephone chatbot has been created using Twilio Autopilot, Twilio Functions, and the OpenAI API. The chatbot is able to understand user input and respond with a generated completion from GPT-3. The OpenAI API provides an endpoint for creating completions, which are used by the Twilio Function to generate responses. The chatbot's functionality can be customized using various parameters available in the OpenAI API, such as temperature, max_tokens, and n. The completed code is provided, which requires the Axios npm module and sets up the environment variable OPENAI_API_KEY. The chatbot can be tested by calling the Twilio number and interacting with it to hear a short conversation about the Moon that was had with the GPT-3 bot.
Aug 31, 2020 2,709 words in the original blog post.
A Python developer can implement a task queue in Python using Redis Queue (RQ) to send Twilio SMS messages in a timely manner, avoiding the 429 status codes that occur when sending multiple messages per second. The developer sets up a project directory, installs RQ and related packages, and creates a Redis server. They then authenticate against Twilio Service, set up a contact CSV file, and create a queue object to keep track of functions to be executed. The `enqueue_in` function schedules the specified job with a time difference between each text message sent. The code is run using the `rq worker --with-scheduler` command, which starts the RQ scheduler. The developer can then wait for the next scheduled message to appear on their phone.
Aug 31, 2020 1,681 words in the original blog post.
The guide outlines the process of retrieving phone number pricing for Twilio Programmable Voice using Laravel. It covers installing required modules, setting up a new Laravel project, and adding Twilio's PHP SDK to authenticate API requests. The PricingController class is created with methods to retrieve the cost of phone numbers for different countries and list countries where Twilio services are available. The application also includes a visual interface to test the code, and routes are defined in the web.php file to handle HTTP requests.
Aug 28, 2020 1,028 words in the original blog post.
The chatbot is built using Laravel, Redis, and Twilio's API for WhatsApp. It uses a factory pattern to generate responders based on the type of message received from the user. The responders include a GreetResponder, HospitalResponder, and InvalidKeywordResponder. The chatbot can respond with a greeting, list nearby hospitals, or an error message if the input is invalid. The Redis database stores the list of hospitals and their locations, which are used to calculate the distance between the user's location and each hospital. The Twilio API handles the WhatsApp messages and sends them to the HospitalController for processing. The chatbot can be tested by sending different types of messages, such as "hi," an invalid keyword, or a location with the current latitude and longitude.
Aug 28, 2020 3,013 words in the original blog post.
The Asynchronous JavaScript series on the Twilio blog provides comprehensive guides to understanding and implementing asynchronous programming techniques in JavaScript, including callbacks, Promises, RxJS Observables, async and await keywords, and tools for choosing the right asynchronous tool. Each post includes complete source code for runnable Node.js projects demonstrating the technique covered, as well as a common case study to compare different approaches. The series is designed to be unified by a common framework, with additional resources available on GitHub under an MIT license. By following this series, developers can gain a deeper understanding of asynchronous programming in JavaScript and learn how to use various tools to handle asynchronous tasks effectively.
Aug 28, 2020 1,393 words in the original blog post.
"What do you want to make?" Deep Fried Apples` is the user input when prompted to enter a recipe name. The output includes a recipe and a story about that recipe, which are generated using OpenAI's GPT-3 API and Ruby programming language. The recipe for Deep Fried Apples includes ingredients such as flour, sugar, cinnamon, nutmeg, salt, egg, milk, apples, and oil for frying, with instructions on how to mix the dry ingredients, beat the egg and milk together, cut the apples into wedges, dip the apple wedges in the egg mixture, roll them in flour, heat oil in a deep fryer, and fry the apples until golden brown. The story about Deep Fried Apples is a narrative that explains why the author loves to serve these apples with ice cream or whipped cream on top, and how they are a special dessert for holidays like Thanksgiving or Christmas.
Aug 28, 2020 3,848 words in the original blog post.
loveholidays`, a UK-based online travel agency, leveraged `Twilio Flex` to enhance its customer service capabilities during the COVID-19 pandemic. The company transitioned from an on-premise solution to a cloud-based platform, allowing agents to work remotely and improving productivity by 20%. The implementation involved multiple phases, including integrating email, webchat, social media messaging, and implementing bots to manage queues. By utilizing Twilio Flex's omnichannel capabilities, loveholidays was able to provide a seamless customer experience, reducing wait times and increasing agent efficiency. The partnership with DVELP, a leading European Twilio Gold Partner, played a crucial role in the successful implementation of Twilio Flex.
Aug 28, 2020 717 words in the original blog post.
To automate scripts with Golang and CronJobs using Kubernetes, start by installing Golang, Minikube, Docker, and Kubectl on your system. Create a new directory for your project, write a basic script (in this case, a "hello world" script), and create a Dockerfile to package the script. Configure a CronJob by creating a YAML file that specifies the schedule and image to run. Finally, run the commands to start Minikube, build a local Docker image, apply the CronJob configuration, and verify that the script runs automatically at the specified interval, printing "hello world" to the console before stopping. With this setup, you can automate scripts with Golang and CronJobs using Kubernetes, making it easy to deploy and manage your applications in a robust and reliable way.
Aug 27, 2020 1,419 words in the original blog post.
Asynchronous JavaScript techniques offer various approaches to handling asynchronous tasks in JavaScript. Callbacks provide a straightforward way to react to events, but they introduce tight coupling between event emitter and listener code. Promises have advantages over callbacks, such as loose coupling and the ability to chain multiple asynchronous actions. The async/await keywords improve JavaScript's asynchronous programming capabilities by providing a more readable syntax for handling promises. RxJS Observables offer loose coupling, repeatability, and compatibility with promises, making them suitable for complex scenarios like interacting with WebSockets or performing REST API calls. A decision tree can help choose the right technique based on specific use cases, such as repeatability, emission frequency, and listener requirements. By understanding the strengths and weaknesses of each approach, developers can select the most suitable asynchronous tool for their project.
Aug 27, 2020 2,639 words in the original blog post.
This tutorial guides developers to build an SMS-based word guessing game using Node.js, Express, and Twilio. The app sends an SMS with a mystery word, and players try to guess individual letters until they correctly guess the entire word or run out of lives. The code includes helper functions for handling game logic, such as checking if a message is a valid guess, processing correct guesses, and ending the game when a player wins or loses. The app uses Express sessions to store game state, including the mystery word, number of lives, and flag indicating whether a game is in session. Developers can test the app by sending SMS messages with "start" to begin a new round and guessing letters one by one until they correctly guess the entire word or lose.
Aug 27, 2020 2,426 words in the original blog post.
Twilio recently hosted "Twilio Unplugged: Level up through LinkedIn" to share best practices on how to take your LinkedIn experience to the next level. Katrina Honor and Annie Benitez Pelaez, both from Twilio, outlined five key focus areas for building a strong personal brand on LinkedIn: being authentic, focusing on the "prime real estate" of your profile, engaging with others to increase visibility, building credibility through endorsements and recommendations, and networking with key influencers. The event provided valuable tips and advice from Twilio recruiters, including highlighting diverse backgrounds, sharing passions from private life, and seeking endorsements and recommendations. By following these strategies, individuals can differentiate themselves on LinkedIn and increase their chances of standing out in a competitive job market or building a successful business.
Aug 27, 2020 1,008 words in the original blog post.
By using Observable, the author of this post created an interactive bar chart that displays Taylor Swift's most-used words from her lyrics. The chart is made with D3.js and uses a dataset of Taylor Swift's lyrics to display the frequency of each word. The chart includes features such as hover-over tooltips, axis labels, and a title. The code for the chart is written in JavaScript and can be run in an Observable notebook or other text editor. The author also provides links to additional resources and datasets that can be used to build similar charts.
Aug 26, 2020 1,778 words in the original blog post.
Windows Presentation Foundation (WPF) is a powerful tool for building desktop applications with user interfaces. It uses Extensible Application Markup Language (XAML) to define views and scripts. WPF was introduced in 2006 and has been reenergized with its inclusion in .NET Core, providing a standard for Windows application user interfaces. This tutorial guides users through creating a project that mimics basic word processor functions using standard tool elements. The tutorial covers prerequisites, including necessary tools and resources, as well as creating the project's XAML and code-behind files. It demonstrates how to add UI elements, such as a menu, toolbar, status bar, and RichTextBox, and how to implement functionality for commands like New, Open, and Save. The tutorial provides an example of how to populate combo boxes and synchronize selected text attributes with the UI elements. By following this tutorial, users can learn about WPF's capabilities and how to build a simple yet powerful text editor.
Aug 26, 2020 2,337 words in the original blog post.
The American Red Cross built an open-source disaster-response application called Disaster Cycle Services Operations (DCSOps) in partnership with volunteer software developer John Laxson and a Red Cross staffer Michael Hersher. DCSOps was created to log disasters, dispatch volunteers, and track outcomes, and has reduced response times by 50 percent and enabled the organization to respond to nearly 100,000 disasters as of June 2020. The application started with a minimum viable product (MVP) approach, which allowed the team to iterate and add features based on user needs. DCSOps is open source, which has enabled transparency and security through community contributions. The Red Cross also leverages volunteer developers, project managers, and partnerships with tech companies like Twilio and Google for Nonprofits to build and scale their software applications.
Aug 26, 2020 1,952 words in the original blog post.
This is a neutral and informative summary of the given text, covering the key points about building a video chat application with ASP.NET Core Blazor WebAssembly, SignalR, and Twilio Programmable Video. The summary highlights the use of the Twilio .NET SDK to generate JWTs for client-side authentication and retrieve room details via the ASP.NET Core Web API, as well as integrating the Twilio JavaScript SDK in the client-side Blazor frontend code. The application enables video chat functionality with features such as camera selection, audio device selection, and room creation, allowing users to connect with others in real-time.
Aug 25, 2020 6,431 words in the original blog post.
Twilio's AudioSwitch is a library that simplifies the process of managing audio devices in Android applications, allowing developers to easily integrate real-time communication features such as VoIP and video conferencing into their apps. It provides capabilities for managing audio focus, input and output device selection, detecting changes in available audio devices, enumerating audio devices, and selecting an audio device. The library supports various audio devices including Bluetooth Headset, Wired Headset, Earpiece, and Speakerphone. With AudioSwitch, developers can easily switch between these devices to handle audio input and output selection, making it a valuable tool for creating seamless real-time communication experiences.
Aug 25, 2020 791 words in the original blog post.
Miguel Grinberg's article serves as a comprehensive guide to OpenAI's GPT-3 language model, showcasing its capabilities in generating human-like text and its application in various tasks such as building chatbots and translation tools. The guide explores the OpenAI Playground, a platform for experimenting with GPT-3 by adjusting parameters like temperature and response length to control text output. Grinberg explains how to use presets, create custom applications, and set up a Python environment to migrate projects from the Playground to standalone applications. He also discusses advanced features like frequency and presence penalties to refine text generation and offers insights into using GPT-3 for creative and technical projects. The article concludes with instructions on exporting GPT-3 queries to Python and adapting the code for different programming languages, encouraging readers to explore and develop innovative applications using GPT-3.
Aug 25, 2020 5,983 words in the original blog post.
As a technical editor for the Twilio blog, Ashley Boucher is helping developers tell their story through code, just as she had always done with writing. With her experience in business and economics, she transitioned into digital marketing and eventually became a freelance full stack engineer, realizing that coding was just another form of communication. Now, at Twilio, Ashley uses her skills to bring developers' ideas to the community, helping them express their creativity through code, which is both writing and storytelling.
Aug 21, 2020 924 words in the original blog post.
The company Text Request was founded six-and-a-half years ago by Brian and Jamey Elrod, who were inspired by a frustrating experience at a restaurant where they couldn't get their server's attention. They envisioned a solution that would allow customers to text into the restaurant, which could then be displayed on a big screen to alert the server. The company has since evolved to provide two-way conversation platforms using email and SMS for small and medium businesses, with a focus on making multichannel communication easy for SMBs. Text Request uses Twilio's APIs and SendGrid's inbound parse webhooks to translate texts to emails and vice versa, allowing customers to engage with their preferred method of communication. The company aims to expand its services to include Facebook, WhatsApp, and texting in international markets, providing businesses with a seamless communication experience across multiple channels.
Aug 21, 2020 770 words in the original blog post.
The article guides readers through setting up an SMS notification system using Python, Kubernetes, and Twilio to track Starlink satellites passing overhead. The script uses the Skyfield library to compute satellite positions and find upcoming sightings within a given time window. If there are any predicted sightings, Twilio sends an SMS alert to a personal phone number with the details. The script is deployed as a Docker image and pushed to Docker Hub, and then scheduled using a Kubernetes CronJob on KubeSail. The CronJob can be updated to run at specific times or with adjusted sensitivity settings, allowing users to experiment with different tracking scenarios.
Aug 21, 2020 1,689 words in the original blog post.
A Python script is used to create a text-message powered bot that generates fan fiction in the Dragon Ball universe using OpenAI's GPT-3 model and Twilio SMS. The script requires an API key from OpenAI, which can be obtained by applying for beta access. It also needs a Twilio account and phone number, as well as ngrok to give a publicly accessible URL to the code when it runs. The bot uses Flask to create a web application that responds to text messages sent to the phone number. When a message is received, the OpenAI API generates dialogue based on a randomly selected character from the series, which is then sent back to the user as a response. The script allows users to tweak the results by experimenting with different parameters and prompts. It also provides examples of how to generate fan fiction for other series, such as Star Wars.
Aug 20, 2020 1,363 words in the original blog post.
Securing Twilio webhooks is crucial to prevent malicious or opportunistic third-party requests from reaching your application. Twilio signs all valid webhook requests with an X-Twilio-Signature header, which can be validated by recreating the signature using the request details and auth token. To implement this validation in a Spring application, a custom annotation `@ValidateTwilioSignature` is used to mark methods that require validation, while a `HandlerInterceptor` class checks the signature against the request headers, extracting parameters from the body of the request as needed. This ensures that only valid requests from Twilio reach the application's handler methods, providing an additional layer of security for webhook configurations.
Aug 20, 2020 1,280 words in the original blog post.
The article highlights the importance of project management skills for finance professionals, citing a virtual event hosted by Twilio where experts shared best practices and insights on incorporating Project Management principles in their roles. The discussion emphasized the need for effective communication with stakeholders, risk management, leveraging meetings to drive success, leadership influence, and perfecting project management skills to improve productivity and career progression.
Aug 20, 2020 1,084 words in the original blog post.
The Twilio team has released an update to their Video collaboration app and the Twilio CLI RTC plugin, aimed at improving developer deployment experience. The main change is an increase in passcode length from 10 digits to 14 characters in the RTC plugin version 0.2.0, intended to reduce errors caused by attempting to deploy a video app to an existing URL. The updated apps and plugins ensure compatibility with both 0.1.x and 0.2.x of the RTC plugin versions.
Aug 19, 2020 394 words in the original blog post.
The European Payment Services Directive (PSD2) requires Strong Customer Authentication (SCA) for electronic payments over €30, which applies to businesses and customers in the European Economic Area, online/debit or credit card-not-present transactions, and other remote actions that may imply a risk of payment fraud. Twilio offers three ways to implement SCA: Verify SMS One-Time Passcodes, push authentication using the Authy App or embedded into an application, and transactional TOTP, which can be used with the Authy API and Authy App for offline authenticator support. To comply with SCA requirements, two-factor authentication is needed, using a combination of factors such as inherence, possession, and knowledge elements, including dynamic linking information about the transaction, such as payee, payment amount, and option to include additional context fields like this.
Aug 19, 2020 638 words in the original blog post.
The Fax Gateway is an open-source system built on top of the Twilio API to send faxes reliably, particularly in states where email is not accepted or counties are overwhelmed with email submissions. The system uses Amazon SQS and AWS Lambda to handle queuing, retrying, and processing faxes. It includes features such as message grouping, deduplication, and delay queues to prevent overloading of fax machines and ensure successful delivery of faxes. The system also handles failed faxes by writing them to a retry queue, where they are re-sent after a delay, and provides webhooks for notification back to the application that sent the fax. The Fax Gateway can be easily deployed in an AWS account using the Serverless Framework and is customizable to fit specific use cases.
Aug 19, 2020 2,764 words in the original blog post.
In React, there are two ways to write components: functional and class-based. Functional components use a JavaScript function that returns JSX, while class components extend `React.Component` with a `render` method. Both have their own syntax for passing props and handling state, but functional components offer simplicity and ease of use through the introduction of React Hooks such as `useState` and `useEffect`. Class components can be more confusing due to the need for constructors and lifecycle methods, which are being phased out in favor of hooks. As a result, functional components are becoming increasingly popular and are now widely supported by the React team, making them a preferred choice for modern React development.
Aug 18, 2020 1,680 words in the original blog post.
This blog post explains how to use the Authy API to implement Time-based One-time Passwords (TOTP) in an application, allowing users to choose their preferred authenticator app for two-factor authentication. The TOTP algorithm is defined in RFC 6238 and can be implemented in multiple applications, including Google Authenticator and Microsoft Authenticator. The post shows how to register a user with the Authy API, generate a unique Authy ID, create a QR code for the user to onboard with their chosen authenticator app, and verify TOTP codes using the Authy API. The Authy API provides a flexible solution for implementing 2FA, allowing users to choose their preferred method of authentication, including SMS, voice, or email channels.
Aug 18, 2020 1,255 words in the original blog post.
The surge of Contact Center tools and technology in the market can be overwhelming, making it challenging for thought leaders to evaluate technologies that support omnichannel engagement. To streamline customer experience, a strong foundational platform must be built by prioritizing three key components: a Central Hub for routed and prioritized interactions, Contextual support for all channels, and Critical recording, reporting, and analytical insights. A Central Hub is essential for receiving and routing calls, chats, SMS, and emails, while simplifying logic for omnichannel prioritization and journey flows across all channels. This platform provides a single engine that enables the convergence of new channels and removes fragmentation challenges. Contextual Omnichannel involves leveraging customer data to build personalized details for inbound calls, providing agents with valuable information to serve customers swiftly and efficiently. The Sword of Great Data refers to call recording, which captures the voice of the customer for evaluating performance, ensuring regulatory compliance, and assisting agent training. By prioritizing these three components, business leaders can create a satisfying work environment for agents and managers, build platforms for engagement, and gain visibility into critical KPIs across all engagement types.
Aug 18, 2020 842 words in the original blog post.
To build an SMS reminder service using Python and Twilio, create a new project directory, install dependencies, and define helper functions for reading and writing reminders to a JSON file. Implement API endpoints for creating, getting, and deleting reminders, as well as sending reminders due today. Set up a Twilio account, obtain credentials, and configure the service to use these credentials. Deploy the application to PythonAnywhere by committing to a GitHub repository, creating a virtual environment, installing dependencies, loading environment variables, and configuring WSGI settings. Finally, schedule the `send_reminders.py` file to run daily using PythonAnywhere's task scheduling feature, ensuring that reminders are sent regularly.
Aug 17, 2020 3,080 words in the original blog post.
Elasticsearch, an open-source full-text search engine, allows users to store and analyze data in near real-time, making it a scalable and customizable solution. Users can set up their own Elasticsearch cluster using various methods and create indexes to store documents. The system offers advanced searching capabilities, including filtering data with Elasticsearch's full-text search feature. Additionally, Elasticsearch provides Snapshot Lifecycle Management (SLM), which allows users to automate backups of their data by creating repositories for snapshots. Users can also utilize Kibana, a visualization tool that enables intuitive searches and visualizations of data. With SLM, users can customize how their data is backed up throughout and within a cluster, ensuring the security and integrity of their data.
Aug 14, 2020 1,977 words in the original blog post.
The Laravel framework version 7 and above includes first-party support for sending CORS headers using Middlewares. A simple Vue.js app powered by Laravel is used to learn about CORS, with a focus on configuration options such as paths, allowed methods, origins, headers, exposed headers, max age, and credential support. The tutorial covers how to set up the Laravel API and frontend, and how to make HTTP requests from the frontend to the backend while logging response headers. It also discusses enabling CORS for a route prefix, looking up allowed HTTP methods, restricting allowed hosts, configuring allowed headers, exposing custom headers, caching CORS responses, and HTTP sessions over CORS. The tutorial concludes by highlighting the security issues around misconfiguring CORS and providing resources for further learning.
Aug 14, 2020 1,342 words in the original blog post.
The GitHub API is a powerful tool that allows developers to automate various tasks, such as creating and managing branches, files, and pull requests. With the API, users can create new branches using the `POST /repos/:owner/:repo/git/refs` endpoint, and then use the `PUT /repos/:owner/:repo/contents/:path` endpoint to create or update files within those branches. The API also allows users to create new pull requests using the `POST /pulls` endpoint, merge them using the `PUT /pulls/:number/merge` endpoint, and delete branches using the `DELETE /git/refs/heads/:ref` endpoint. Additionally, the API provides a way to check the status of pull requests using the `GET /repos/:owner/:repo/commits/:ref/status` endpoint. By leveraging these endpoints, developers can automate many repetitive tasks, freeing up time for more complex and creative work.
Aug 13, 2020 2,611 words in the original blog post.
This article explains how to build a CLI app in Java using jbang and picocli. Jbang is a tool that allows developers to create self-executing source files, while picocli is a library for creating CLI apps in Java. The example app sends an SMS using Twilio's Messaging API, with the user able to specify the recipient's phone number, their own phone number, and the message body as command-line arguments. The app uses picocli's features for handling command-line options and parameters, and includes error checking to ensure that a message is provided if it is not given at the end of the command. With jbang and picocli, developers can create short-lived CLI apps in Java that are easy to use and deploy.
Aug 13, 2020 1,546 words in the original blog post.
This is a Python application that sends daily Word of the Day SMS notifications using Twilio Programmable Messaging APIs and the Wordnik API. The application is deployed on Heroku and scheduled to run automatically every day at a specified time. It uses environment variables stored in a `.env` file to configure its settings, including Twilio account credentials and the Wordnik API key. The application fetches the current date from Python's `datetime` module and queries the Wordnik API for a new word of the day based on this date. If the Wordnik API key is available, it retrieves the word definition; otherwise, it uses a mock definition. The application then sends an SMS notification with the word and its definition to a specified phone number using Twilio's messaging APIs. The entire process is automated, making it easy to deploy and manage the service on Heroku.
Aug 12, 2020 2,464 words in the original blog post.
In Postman, users can create an environment to store and reuse API credentials and other variables, allowing for easier testing of APIs. To get started, download Postman, create an account if desired, and set up the environment with Twilio's account SID, auth token, phone number, and verified non-Twilio phone number. A collection is then created to group related requests, and a new request is added to send a message using Twilio's messaging API. The request includes specifying the request type and URL, adding a request body with required variables, and sending the request. Postman also allows for testing of the endpoint by running tests in JavaScript, which can be executed automatically when the request is sent. Once the request is saved, it can be reused without having to repeat the process.
Aug 11, 2020 1,555 words in the original blog post.
A Node.js proxy server is a useful tool that sits between two services, processing and modifying requests and responses in both directions. It serves as an intermediary application, allowing for tasks such as authorization, load balancing, and logging to be performed. A simple proxy can be built using Node.js and the `http-proxy-middleware` library, enabling requests to be forwarded to multiple different servers or endpoints. The proxy can be used to test APIs, protect identities, and distribute traffic among deployments of an API service. With this basic understanding, further development and customization of the proxy server is possible.
Aug 11, 2020 1,424 words in the original blog post.
Broadcasting with SignalR and .NET Core`: This article explores the use of SignalR, a library for adding real-time web functionality to applications built using .NET Core. It demonstrates how to broadcast a message from an API endpoint to all connected clients, including those in different projects. The author shares their experience working with Twitch chatbots and provides step-by-step instructions on how to set up SignalR in an ASP.NET Core application, including creating an API endpoint and broadcasting messages from a console application.
Aug 11, 2020 1,298 words in the original blog post.
When working with datasets, it's essential to consider several factors before using them for analysis and prediction. First, you should ask yourself how the data was compiled, whether it's accurate, clean, and comprehensive enough. You'll also want to determine if there are any outliers or questionable values that could negatively affect your model. Additionally, you need to have a sufficient amount of data, typically in the range of a few hundred to tens of thousands, depending on the project's complexity. It's also crucial to remember why you're working with the dataset and what problem you want to tackle, whether it's regression, classification, or clustering. By asking yourself these questions and considering the type of analysis you'll be performing, you can ensure that your dataset is suitable for your needs and helps you build a more accurate model.
Aug 10, 2020 983 words in the original blog post.
Twilio's Omni-Channel Approach: A Self-Service Win/Win is a concept where both businesses and customers benefit from self-service applications. This approach has finally been realized due to new capabilities, shifting customer preferences for omni communications, and an increased willingness to do-it-yourself. The traditional attempts at self-service in customer interactions, such as Interactive Voice Response (IVR) systems, have struggled to achieve reasonable customer satisfaction outcomes. However, with the advancements in technology, businesses are now looking to create intelligent and powerful experiences using chatbots and Artificial Intelligence. Twilio's approach creates value across multiple channels by providing cloud-based solutions that offer flexibility, software agility, and scalability. The framework allows for the deployment of live agent and self-service experiences, enabling customers to transform their communications and provide unique benefits to both their business and customers.
Aug 10, 2020 1,016 words in the original blog post.
This summary highlights the key points of the text, which covers using RxJS Observables with JavaScript async and await keywords. The author demonstrates how to handle asynchronous tasks, particularly when dealing with slow or unreliable web services. They show that combining RxJS Observables with Promises and async/await can be beneficial in achieving timely user interface information. The demonstration program uses the Mocklets API to simulate a REST API interaction, allowing users to experiment with different scenarios. The article provides additional resources for learning more about asynchronous JavaScript, including posts on the Twilio blog and canonical documentation sources.
Aug 10, 2020 2,195 words in the original blog post.
Apkscale`, an open-sourced Gradle plugin, helps measure the app size impact of Android libraries by scanning output directories and measuring sizes of `.aar` files. It provides a simple approach to Android library measurement, allowing developers to create APKs without and with the library, measure the size difference using `apkanalyzer`, and generate reports in various formats. The plugin is designed for Android library developers who want to measure their libraries' size impact directly from their projects, reducing the risk of unexpected size regressions during development.
Aug 10, 2020 550 words in the original blog post.
In a real-world application, .NET Core is used to build an ASP.NET Core 3.1 MVC application that integrates with Twilio products such as Twilio Studio, Twilio API for WhatsApp, and Twilio SendGrid. The application covers various aspects of building a real-world Twilio application, including serverless IVR and chatbot creation, database setup, code refactoring, email sending, and notification services. A detailed workshop covering these topics is available for free, aimed at making it easier for developers to implement these concepts into their own projects.
Aug 07, 2020 476 words in the original blog post.
Twilio is introducing reusable objects for Phone Number compliance, making it easier to fulfill regulatory requirements by reusing supporting documentation and identity information. This enhancement simplifies the process of creating Regulatory Bundles and brings non-compliant numbers into compliance faster. With this change, users can reuse previously uploaded information, reducing the time spent on creating Regulatory Bundles and speeding up the review and provisioning process for their Phone Numbers.
Aug 06, 2020 799 words in the original blog post.
By following this tutorial, you can quickly deploy your functional Flask application to Amazon Web Services (AWS) and make it available on the web without having to constantly run it on your local computer. To do this, you'll need a GitHub repository with your working Flask application, a free AWS account, and a credit card for AWS billing purposes. You'll also need Tmux to run the application in a terminal session, create a user account, navigate the EC2 dashboard, launch an Amazon EC2 instance, configure its security group, and launch and create a key pair. After deploying your application on the EC2 instance, you can transfer your project files to the remote host, deploy the application using tmux, and make it available on the web by appending 8080 to your public IPv4 Public IP address.
Aug 05, 2020 2,151 words in the original blog post.
WebRTC (Web Real-Time Communication) empowers developers to build powerful voice and video communication solutions on web pages that work across browsers and devices. With no plugins required, WebRTC provides scalable, secure, and user-friendly real-time communication capabilities. Businesses are finding new ways to engage with customers using WebRTC, while doctors are having secure conversations with clients, and families can chat in real-time. WebRTC is supported by most modern browsers, including Microsoft Edge, Google Chrome, Mozilla Firefox, Safari, Opera, and Vivaldi. The technology offers numerous benefits, such as being open-source, available on all modern browsers, scalable, secure, works for mobile applications, versatile functionality, and examples can be seen in Facebook's WhatsApp, Houseparty, and Google Hangouts. To get started with WebRTC, developers can use Twilio's WebRTC Client, which provides a simple and easy-to-use solution for building real-time communication applications.
Aug 05, 2020 2,359 words in the original blog post.
Helm is a tool that allows developers to coordinate information sent to Kubernetes clusters, facilitating the development and deployment of microservices. Helm charts are collections of files in a directory that relate to some set of Kubernetes resources, consisting of a Chart.yaml file, charts directory, values.yaml file, and templates directory. Template files use bracket notation to access objects or values passed into them, such as Release and Values objects. Templates can be used to implement Service Level Objectives (SLOs), which are benchmarks for quantitative measurements of a service, ensuring teams are accountable and mindful of customer needs. Helm templates can also be used to configure alerts when thresholds are not met, using tools like Prometheus to query on existing metrics and coordinate alerts.
Aug 03, 2020 1,161 words in the original blog post.
Building a chatbot with OpenAI's GPT-3 engine, Twilio SMS, and Python involves several steps. First, a separate directory for the project is created, and a virtual environment is set up using Python 3.6 or newer. The OpenAI API key is obtained by requesting beta access, and the necessary packages are installed using pip. A Flask application with a webhook definition is created to receive incoming SMS messages and generate responses. The chatbot's ask() function is used to send user messages to the GPT-3 engine and maintain the chat log in the session variable from Flask. The Flask application is run, and ngrok is used to provide a temporary public URL for the chatbot to be accessible over the internet. With the Flask application and ngrok running, users can start sending SMS to the chatbot with their first question, and the bot will respond accordingly.
Aug 03, 2020 4,075 words in the original blog post.