Programming & IT Tricks . Theme images by MichaelJay. Powered by Blogger.

Copyright

Facebook

Post Top Ad

Search This Blog

Post Top Ad

Responsive Ads Here

Archive

Post Top Ad

Contact


Editors Picks

Follow us

Post Top Ad

Fashion

Music

News

Sports

Food

Technology

Featured

Videos

Fashion

Technology

Fashion

Label

Translate

About

Translate

Sponsor

test

Weekly

Comments

Recent

Connect With us

Over 600,000+ Readers Get fresh content from FastBlog

About

Showing posts with label Alexa. Show all posts
Showing posts with label Alexa. Show all posts

Monday, October 15, 2018

Building your own Design Pattern


Hybrid MVC + MVVM


Ever so often, developers face the dilemma of choosing from multiple design patterns for their code. Yes, there are deadlines to adhere to, there are changing needs of the product, the code needs to be testable and what not! But as a developer, you always want to write code that’s scalable, modular and easy to debug for any issues, if not bug-free now — not an easy task by any means! You have to be very smart in locking down the foundation for your code. After all, it’s only on a strong foundation, that you can build a scalable structure.

What you’ll learn in this post:

  • What MVC, MVVM etc. are all about and some of their shortcomings
  • Why design patterns are an important part of development lifecycle
  • How you can alter some of the aspects of these patterns to come up with your own version, as per your use case
  • How we design high quality, stable features at Hike using our Hybrid design pattern

MVC

The standard MVC pattern has three major components:
Model — The Model is usually the data source of the system. It interacts with the controller to provide the current state of your database. Data can reside locally in your system, or fetched from the servers. In any case, the model provides you with the relevant information.
View — View is what you see on your screen. All the UI components together constitute the view. In standard MVC implementations, views are usually pretty dumb with no business logic to them. They get directions from the controller and populate themselves accordingly. Similarly, any actions that the user takes on the UI are passed on to the controller to handle.
Controller — This is where all the action happens! The Controller takes care of multiple things. Firstly, it instantiates both the Model and the View components. All business logic in response to user actions, asking the model to update itself, and listening to any changes in the model that might need refreshing the view happens in the controller!
A typical MVC interaction system

Few details of MVC:

  • The Model and the View only interact with the controller, and NEVER talk to each other directly. All communication happens via the Controller only.
  • As a result, the Controller usually becomes one massive class, handling multiple responsibilities.
  • All components are tightly coupled with each other. This makes reusability of these components difficult, replacing any of them later on, or making changes to them is a tough ask!
  • Writing tests and debugging intricate bugs in one massive controller class can be tricky.

MVVM

The following components form the main aspect of this pattern:
Model — The Model in MVVM works similar to MVC. It gives you the data you need, which can be present locally, or fetched from servers behind the scenes, just like in MVC.
View — Implemented as a View/View Controller subclass, the view here talks to the view model to gather all information, that is needed to display all UI components.
View Model — This is the major differentiating component from a MVC. The view model acts as the intermediate between the view and the model. Unlike MVC, the model is owned by View Model.
MVVM interaction system
Few details of MVVM:
  • The view here is a UIKit independent implementation. The view controller itself can be treated as the view component.
  • There’s complete isolation of the Model and the View, which makes them loosely coupled with one another.
  • The View Model invokes all changes to the model and listens to any changes that the Model makes behind the scenes.
  • The View and View Model interact via bindings, so any change in the Model notifies the View Model, which in turn updates the View.
  • This clearly helps break the massive controller of MVC, with the View and View Model now sharing responsibilities of updating UI and the coordination between components, respectively.

Discussion:

As we saw earlier, while MVC works for small contained components, it fails to meet the requirements of an evolving and growing product. Adding new code to an MVC system is difficult without breaking existing parts. Debugging issues in an MVC system can be time consuming, and sometimes can lead you clueless, as your controller is taking care of a million things at the same time.
While MVVM was great in taking care of some of those concerns, we thought there was still scope for some more modularity, some more scalability. We could do better! We could break these components into further subcomponents. The idea was to evolve the architecture in such a way that more and more components became reusable. It should be easier to replace one component without affecting the whole system.
So we went through these and a few more design patterns like VIPER, RIBs, evaluated their advantages/disadvantages, and compared them with our use case. We went through the common limiting factors encountered while scaling our systems. The final pattern we came up with was a hybrid version of the MVC and MVVM patterns.

Hybrid MVC and MVVM pattern

The following diagram shows the various components and their interaction within this pattern:
Let’s go over the functionalities of each of these:
  • Data Source — The Data Source is responsible for providing data to the entire system. This can be any generic class conforming to a protocol that is used by the Controller to ask for data. The data can be stored internally in any way. All that detail is internal to the implementation of Data Source. Conforming to a protocol ensures that we can replace the data source implementation without affecting any other component. All we need is for the new class to conform to the data source protocol, and we won’t have to change any other aspect. Given the Controller owns the Data Source, any changes in the underlying data are conveyed to the Controller that can then initiate appropriate action for it.
  • Controller — The controller is at the centre of it all though much of its responsibility is to coordinate other items to enable them to function together. Usually this is a View Controller subclass, which is initialised with a Data Source object. Suppose we have to implement a chat screen, which shows all messages and has ability to send messages. The main chat view controller will act as the Controller. The table view to show all messages would be a part of the chat view controller. The initialisation would look something like this:
Controller Initialisation
  • View — The independent UI components can be separated out in a separate View layer. The Controller instantiates and holds references to them.The View is passed as a View Model object that the View uses to populate itself. In case of our example, the cells of the table View can be initiated with this pattern, where we pass them a View model object to populate with:
View Initialisation
  • View Model — The View Model is instantiated by the Controller for the independent View components that need not be part of the Controller class. Identifying such View-View Model components can help keep your Controller light and code modular. The View Model is initialised with a Model object that contains all information needed by the view to populate itself. The other important aspect to it is that we don’t expose class names anywhere, we only expose id<some_protocol> type of objects. This makes it easier to replace these components without affecting any other components:
View Model Initialisation
  • Action Handler — The view reports all user actions taken on it back to the Controller. In order to keep the Controller independent of the business logic behind all such user actions, we place all this logic in a separate component called Action Handler. This component gets the information regarding the type of action (say single touch, long press etc.) from the Controller, and applies all business logic to handle that event:
Action Handler
It is important here to note that while the Action Handler has all the logic to execute in response to any user action, it doesn’t actually perform any UI operations itself. Any UI operation, be it adding/removing a subview, or pushing/presenting any other View Controller should only be done by the Controller. As we can see in the above snippet, the Action Handler returns a Response Model object. This object contains all information about the kind of UI task that needs to be performed:
Response Model
Based on the value of the action type, the Controller picks the appropriate UIView or UIViewController from the Response Model object and performs necessary operations on it. Thus, there is a clear separation of responsibility between the Controller and the Action Handler.

Conclusion:

This hybrid design pattern offers us multiple advantages over other patterns. When we applied it in app
  • Our Controller classes have become very light weight, with its only responsibility being that of connecting all other components together. This has improved the testability of this component
  • The Data Source kept the implementation of how data is stored abstracted, and this could be changed at any later point of time without affecting other components
  • The Views/ View Model become reusable as they were only identified by adhering to a protocol
  • Unit Testing becomes easier and could be done only for classes with a business logic in them.
  • Most if-else checks in the code were minimised by using factory pattern to link different components.
  • The readability of the code increased, helping other developers understand what’s going on in your features :)
Impact at Hike:
  • The architecture helped us improve the overall app stability. We started implementing it at one place at a time. We began with chat, and this helped us make chat more robust and easy to work upon. For instance, here’s how our app stability grew over time:
  • We were able to experiment internally with different versions of chat, as it was easy to just plug and play different components. This helped us make decisions faster.

Key takeaways:

  • The decision of choosing a design pattern will go a long way with you. Make sure you give enough thought to it
  • There are enough patterns out there, but you don’t have to necessarily choose from them. Feel free to come up with your own version based on your requirements

Wednesday, January 24, 2018

The iPhone is Dead


I’ve switched back-and-forth between iPhone and Android in the past and I’ve always felt the iPhone edged out any Android phone, but not any more.
I switched to a Galaxy S8 months ago and I don’t see myself going back to iPhone, even the X. The iPhone is dead to me. Here’s why.

iPhones don’t age well

On my iPhone 6+, most apps crash on first open. Apps freeze for 5–10 seconds whenever launched or switched to. I lose 3–4%/min on my battery and Apple Support insists that my battery is perfectly healthy. I went through “apps using significant power” and uninstalled most of them.
On top of all of this, it was recently discovered that Apple is intentionally degrading the user experience based on your battery quality. Yes, they’re releasing a software update to give transparency to users and reducing the cost of a battery replacement (which is on a months-long backlog — more on Apple support later), but it feels like planned obsolescence and they’re just trying to avoid losing a class-action lawsuit.
The video app is busted. Many times I record a video and all I see is a zero-second-long black frame saved. I’ve given up on taking photos because the camera app takes forever to start up and has seconds of shutter lag.
This phone worked just fine three years ago. The minimal benefits of the previous iOS updates are far outweighed by the horrible user experience it’s created.
I have the original Moto X (from 2013) and it still runs buttery smooth.

AppleCare and Apple support are incompetent

This isn’t related to my previous iPhone, but it illustrates the lack of quality of Apple.
Recently, a bottom rubber foot on my MacBook came off. It was still under AppleCare so I took it into the store, my first time to the Apple Genius Bar. They told me that AppleCare wouldn’t cover the replacement because it was cosmetic. How the rubber foot isn’t part of the laptops utility is astonishing. When you typed on it, it would wobble. To fix it, the entire bottom chassis had to be replaced, which would cost $250.
I told the Apple rep that I was surprised and I’d call Apple Care later. I asked him to file a ticket for tracking and he replied that he had.
Later, I called Apple Care and they assured me that the replacement was covered. They also said they didn’t find a ticket in the system from the Apple rep that I had spoken to earlier. They told me I would have to go back into the store to get a rep to look at the physical laptop again and verify the foot was missing. Frustrated, I asked them to call the original store I had visited to confirm. They agreed and and eventually confirmed it.
Before this, I had asked them to send the part to an Apple store that was closer to my house and not the original Apple store that I had visited. A week later, I received a call confirming the part had arrived at the store furthest away. Surprised, I asked them to send it to the other store (which was ~15 miles away). They said that they’d have to send it back to the warehouse and then the other store would have to order the part.
A week later, the other store finally receives the part. I visited the store, they took my laptop, and I waited a couple of hours to replace the bottom. The rep came back with the laptop telling me that it’s ready. I inspected the bottom and the rubber foot was still missing. Confused, he sent the laptop back. The rep returned five minutes later with a new chassis, fixing the rubber foot. So not only had they some how not repaired the bottom originally, in reality it only takes a tech five minutes to repair it, not hours.
The cascading incompetence at Apple support was mind blowing.
Related to the battery issue above, if you try to replace your battery you’re facing months-long delays. On top of that, you have to mail your phone in or take it into a store, with both options facing the risk that you’re without a phone for as much as a week. Who can really live without their phone that long? Is this incompetence or intentionally meant to drive people away from replacing their batteries?

iPhone’s hardware design feels dated

Even the iPhone X feels dated compared to the S8. This is much more of a personal opinion, but the S8 feels damn sexy in your hand. When I watch a movie, the true blacks of the OLED screen just blend in to the body. It feels like a bezel-less phone from a science fiction movie. Whereas the iPhone’s design still separates the screen from the chassis with bezels.
More objectively, even thought it was released after the S8, the screen on the iPhone X isn’t as good. It’s lower resolution and it has more bezel.
Here are the specs: Galaxy S8–5.8-inch Super AMOLED, 2960 x 1440 pixels (570 ppi pixel density), 1000 nits, 83.6% screen-to-body ratio vs iPhone X — 5.8-inch 18.5:9 True Tone OLED, 2436 x 1125 pixels (458 ppi), 625 nits, 82.9%, screen-to-body ratio.
Plus, iPhone X has that notch. As a developer I abhor it. As a user it’s annoying to have wasted space when, for example, I’m browsing the web.

Price

Not only is S8 a better phone than iPhone X, it’s significantly cheaper. I just bought my S8 and a 256GB SD card for less than $700. The equivalent iPhone X would have cost me $1,252, plus another $10 for a dongle to use my headphones. That’s nearly the price of two S8s.

Android and S8 has better features

Where to start? Here’s an incomplete list in no particular order.
  • LastPass auto-fill. Sure, this is an app feature, but it’s impossible to build on iPhone. This felt like a game changer when I switched, shaving a ton of time setting up my phone.
  • NFC for two-factor auth. You can use a Yubikey on an iPhone but it requires a dongle (like everything else these days).
  • SD card slot. I ran out of space on my previous iPhone and had no way to deal with it other than buy a new phone or delete apps.
  • Trusted locations for unlock. It’s a huge time saver to not have to constantly unlock my phone at home or in the office.
  • Samsung Pay works on any credit card reader, Apple Pay doesn’t, which hamstrings its use case massively.
  • The notifications are better. Interactions are great, they actually work, and the overall design is better.
  • I don’t have to buy a dongle for my headphones.
  • Androids unlocking mechanisms are generally faster than iPhone X’s facial recognition. And there are more options. And the fingerprint scanner feels better on the back.
  • More battery saving options.
  • GearVR.
  • Built-in call spam detection. Call spam has been ramping up in the United States so this is very welcome.
  • A free hardware button. Yes, that side hardware button on the S8 that’s dedicated to Bixby sucks at first. However, with BXActions, you can make it do whatever you want, like triggering the flashlight. Now I wish every phone had an extra hardware button.
  • Google backs up your data. I’m thrilled not to have to use iTunes any more (which deserves a completely different post) or be forced to pay for iCloud.
  • An option to keep the phone on if you’re looking at it.

iOS is suffocating

On Android, you can install apps that automatically update your wallpaper, change your entire app launcher (I’m using Evie) including a dedicated search bar, start Google Now by swiping up, handle your SMS. Also custom phone dialers, Facebook Messenger chat heads, Samsung Edge (surprisingly I like this feature). You can even download apps outside of the app store.
Did I mention that Google Photos actually always syncs in the background? Versus the iPhone, where you need to open it every 10 minutes to make sure it’s syncing. Custom keyboards are reliable, whereas on iOS they still crash randomly.
iOS doesn’t offer any of this because they restrict what developers can build.
Even if you eliminate all of the “power user” features above, I think the S8, and Android broadly, is a better choice for the average user.

Siri is still next to useless

Google is just hands down better at search, including things that you would imagine Siri would be good at by now, like dictation. I think everyone already agrees with this point, so moving on.

Apple doesn’t feel like Apple

Apple has generally been a fast-follow copier, perfecting features that that have already been released. Lately they’ve just felt like a slow follower that has the same or fewer features.
For example, Samsung devices have had wireless charging for a while now and Apple is just catching up with the same feature set. The charging speed is the same.
Samsung is also experimenting with fascinating things like VR and DeX. Are they perfect? No. But I also don’t believe that Apple is capable of swooping in and perfecting them now.
Apple’s “new and innovative features” aren’t impressive either. Animoji could be done with a standard camera, but they’re locked the the iPhone X. It’s pure marketing to sell more Xs. I’ve had force touch for years now and have never used it. And the list goes on.

Sunday, January 21, 2018

How to Access and Manage Your Voice Command Data


The past few years have been huge for voice-activated command services. It seems like every major tech manufacturer has one on the market.
Whether you’re using Amazon Alexa, Google Assistant, Apple’s Siri or Microsoft Cortana, it’s hard to ignore the hands-free revolution.
But how secure are your communications? Are your commands really kept between you and the device? Where is all of this information stored?
Answering these questions is critical when determining whether or not you want to use these personal assistants on a daily basis.
They’re also important when it comes time to access, manage or delete your command history.

Always On?

Contrary to popular belief, most of these devices aren’t “always on.” Instead, they only begin recording after the activation command, or “wake word,” has been issued.
In the case of Alexa and the Echo device, the command is “Alexa.” For Google Assistant, the phrase is “OK Google.” Some devices let you choose from several different wake words. Alexa users, for example, can choose between the default word of “Alexa” and one of two other options: “Amazon” or “Echo.”
So recording doesn’t begin until you’ve spoken the magic phrase. That might even be enough to put your mind at ease. But it’s important to note that these devices also store your voice commands in the cloud. As such, they’re prime targets for hackers.

Turning the Personal Assistant Into a Personal Wiretap

Like most new technology, these voice-activated command services are prone to cyber attacks.
The Amazon Echo device has already been hacked. Mark Barnes, a British security expert, recently demonstrated how malware can turn the consumer product into a live audio surveillance stream. You can find his research on his official blog.
Mark’s hack has a significant flaw — it requires access to the device and involves physical modification of the targeted hardware. Nonetheless, his proof-of-concept is enough to worry many consumers around the globe.

The Dawn of BlueBorne

Another hack — one which uses a Bluetooth exploit — was identified in late 2017.
Known as BlueBorne, this attack doesn’t involve physical access to any device. It doesn’t even require the end-user to click on any links or open any files.
As such, BlueBorne has the potential to cause widespread havoc among current users of devices like the Amazon Echo and Google Home.
BlueBorne only gets worse from there. The exploit also has the potential to take control of a remote device and infect every other device on the same network.
As if that wasn’t enough, most modern malware or antivirus programs wouldn’t even detect the attack.
Thankfully, the majority of these devices have already received firmware updates to patch the hole. According to recent estimates, there are still approximately 20 million devices — primarily Amazon Echo and Google Home products — that are susceptible.

Controlling and Managing Your Files

Most devices let you easily manage your files. Amazon Echo allows you to delete individual recordings by navigating into your device settings and your history folder.
From there, just tap on a single item and hit “Delete voice recordings” to finalize the action. To delete everything, sign into your Amazon Echo account at Amazon’s official website and navigate to “Manage Voice Recordings.”
Although Apple recently disclosed that Siri stores data for up to 18 months, you can turn off voice dictation and Siri’s assistance to prevent voice recording and archival.
Google Home users can delete past recordings by navigating to the “My Activity” section of their Google account. Just like Amazon Echo, Google Home lets you remove individual or entire groups of files.

Using Voice Command Services Safely and Securely

While devices like Amazon Echo and Google Home represent huge leaps forward in smart home technology, they’re not without their faults.
To use these products safely and securely, make sure you update them with the latest patches and enhancements.
Deleting your past messages is a good practice to minimize the damage if a hack does occur, but this can also hamper the personalization of your device.
Ultimately, it comes down to balancing your security and privacy with the amount of functionality you need.

Thursday, January 18, 2018

Live TV has a new home on Fire TV


“Alexa, tune to HBO Family.”

We’ve all been there, the infinite scroll. Scrolling around with no idea what to watch. Good news for the indecisive folks in the room, with the new On Now row and Channel Guide on Fire TV, it’s easier than ever to watch Live TV with Amazon Channels.
Amazon Channels is the Prime benefit that lets Prime members subscribe to over 100 channels, with no cable required, no apps to download, and can cancel anytime. Most movies and TV shows included in your subscriptions are available to watch on demand. Some channels also feature Watch Live, which gives you the option to live stream programming on supported devices the same time that it’s broadcast on TV. That means you’ll be able to watch and live tweet Westworld when everyone else is watching.

On Now ✨

Here at Fire TV, we want to make it really easy to discover the live programming available to you. If you’re signed up for HBO, SHOWTIME, STARZ, or Cinemax through Amazon Channels, you will see a new row on your homepage called On Now. That row will show you all of the programming that is live now.

On Later ⏰

In addition to this handy dandy row, you will also have the ability to look into the future 🔮. If you’re curious what’s on later today or coming up in the next two weeks, you can use the new Channel Guide to browse the entire schedule. To launch the Guide, simply press the Options button (looks like a hamburger) on the Alexa Voice Remote while watching Live TV and see your channels and all the future programming information. Don’t forget to ️favorite ⭐️ your top channels so that they show up first in your Guide. Coming up this weekend, SHOWTIME Showcase will be airing Death Becomes Her and St. Elmo’s Fire; who needs weekend plans when two of the best movies are on?!

Just say — ”Alexa, watch HBO.” 🗣️

If you already know what channel you want to watch — simply press the microphone button on your Alexa Voice Remote, or speak to your connected Echo device, and say “Alexa, watch ___”. The Live channel will instantly tune on command.
Here a few voice commands to try:
  • “Alexa, watch HBO.”
  • “Alexa, tune to HBO Family.”
  • “Alexa, go to Cinemax.”
  • “Alexa, go to SHOWTIME.”
  • “Alexa, watch STARZ.”
  • “Alexa, go to the Channel Guide.”
As always, you can ask Alexa to search for shows, movies, actors, genres and more. If you search for a show or movie that happens to be airing live, the channel will appear in the search results.
The new Live TV experience is currently available with subscriptions offered through Amazon Channels (HBO, SHOWTIME, STARZ, Cinemax) and we will be adding more channels in the near future. Start your free trial with these channels today to get started with Live TV on your Fire TV. This functionality is only available if you have an HBO, SHOWTIME, STARZ, or Cinemax subscription though Amazon Channels. If you access content from these providers through another method, you will not see an On Now row or the Channel Guide on your Fire TV. Please click here to learn more. Happy streaming!

Monday, January 15, 2018

Apple Will Reject Your Subscription App if You Don’t Include This Disclosure


Have you read Paid Applications Agreement, Schedule 2, Section 3.8(b)?

If you’ve ever submitted an app to the App Store, you know the frustration when Apple rejects your submission. Even more so when you thought you’d followed all the rules. As it turns out, Apple can bury requirements wherever they want, and it’s your burden to keep up.
About a year ago, Apple started rejecting apps that didn’t comply with Schedule 2, Section 3.8(b) of the Paid Applications Agreement, a verbose list of self-evident truths about subscriptions. The Paid Applications Agreement is a 37-page document that you had to agree to before you could submit your app. It is only available via iTunes Connect in the form of downloadable PDF.
The actual contents of Schedule 2, Section 3.8(b):
I really like the part about privacy policies.
3.8(b) requires that you “clearly and conspicuously disclose to users” all of the above bullets. The first few items seem harmless enough but then we start to get off into the weeds.
Apple wants you to reproduce, “clearly and conspicuously”, all the details of auto-renewing subscriptions. This information should be part of the standard StoreKit subscription purchase flow. None of these bullets have anything app specific to them. They are just boilerplate legalese.
iOS’s purchase UI, more than enough information.
Apple has an iOS level user interface flow for in-app purchases that is quite good as of iOS 11. This view already covers most of the in-the-weeds bullets, except telling users about the 24-hour renewal policy.
Requiring every developer to implement their version of 3.8(b) is costly and creates a fractured experience for the user. Apple should be putting it in the standard sheet. But it’s Apple’s walled garden. When they say jump, you say “fine, whatever.”

How to Comply With 3.8(b)

According to recent rejections that I’ve seen (as of Jan. 8th, 2018), reviewers are being more particular about what your purchase flow requires. From a recent rejection:
Adding the above information to the StoreKit modal alert is not sufficient; the information must also be displayed within the app itself, and it must be displayed clearly and conspicuously during the purchase flow without requiring additional action from the user, such as opening a link.
All of the information in 3.8(b) must be “displayed clearly and conspicuously during the purchase flow without requiring additional action from the user, such as opening a link.” Your beautiful and compact purchase flow must include in it, somewhere, nine bullets written by a lawyer.
Confide, recently updated, achieved it with the following:
According to one reviewer, being below the fold with a leading arrow qualifies as “clearly and conspicuously.”
For another data point, I know of one recently rejected developer who had the same information, but in another view that was linked from the purchase flow with a button. This did not qualify (according to one reviewer).

A Template

Include a customized version of the following “clearly and conspicuously” in your purchase flow:
A [purchase amount and period] purchase will be applied to your iTunes account [at the end of the trial or intro| on confirmation].
Subscriptions will automatically renew unless canceled within 24-hours before the end of the current period. You can cancel anytime with your iTunes account settings. Any unused portion of a free trial will be forfeited if you purchase a subscription.
For more information, see our [link to ToS] and [link to Privacy Policy].
Put it on the screen where you initiate the in-app purchase, below the fold might be OK, but you might want to put something to lead users there.
UPDATE: Readers are telling me it may also be required that you include it in your app store description. It’s a much easier change to include so I recommend you add it there to.

Why has Apple Taken a Legal Problem and made it Ours?

Apple shouldn’t be burying submission requirements in the bodies of contracts that nobody will read. If Apple wants developers to know something, they should put it in the App Store Guidelines, HIG, or developer documentation. The cost of making changes in a software project right at the end can be astronomical. Dropping a bomb like this on developers at submission shows a total lack of regard for our costs.
Why didn’t they just update the iOS in-app purchase sheet? I speculate that Apple discovered some legal exposure from in-app subscriptions and fixed it with lawyers instead of designers. This problem could be universally solved with an iOS update, but I think some side effect of Apple being a vast, lumbering bureaucracy made forcing 3.8(b) onto developers the more politically convenient path. Apple, if you are reading this, please either update the iOS sheet or move the requirements to the App Store guidelines, so fewer developers get caught unawares.
RevenueCat is the best way to implement subscriptions in your mobile app. We handle all the complicated parts so you can get back to building. Request an invite today at https://www.revenuecat.com/

Friday, January 12, 2018

How much will MVP app design cost in 2018


MVP is a great way for your app to find its early adopters, investors and even customers. But, experience has shown that raw MVP without, at least, tolerable UI and UX fails miserably. OK, but how much will MVP app design cost me? Spoiler: not much. And you will be surprised with the result.
What is the point of an MVP? To show off the core features of your app to a target audience and investors before even starting the development. In other words, to test the waters.
However, it doesn’t mean at all that you have to produce an ugly monster with absent UI. As one more crucial goal of MVP is to find your customers. Great UI in pair with convenient UX is your key to success.
But what is the cost of MVP app design? How much resources you have to spare on design purposes? Let’s find it out.

Preparations

To get more or less decent design of your MVP you can’t just draw some lines and boxes on a napkin and give it to a design company or freelancers. Actually, you can do that, but it will cost you, and a lot. We’ll talk about that further on. Now let’s get back to the point.
If you want to save time and, consequently, money it is a good idea to get prepared, prior meeting with a design agency. Wireframe and some mockups are pretty much everything you might need.
Moreover, by presenting comprehensive app wireframe and mockups, you can be sure that there won’t be any unpleasant surprises. As a hired freelancers or guys from a contracted agency will know for sure what end-result they are ought to provide.

Wireframe of the app

A skeleton of your app. That is a rough, or even drawn on a napkin (yes-yes), layout of the navigation, screens and elements in your app. It also outlines the core features of it. And the best thing is that you finally have a, more or less, complete idea of your app.
Sure thing, making a wireframe is more than DIY-appropriate. Tools like Bootstrap may come in handy here. The coolest part is, that almost none programming skills are required. Only basic knowledge of HTML and CSS. And, probably, some video guides. :)
With available templates, you’ll be capable of building a rough layout within hours. Plus it is completely free. Unless you’ll require some advanced templates. But you can always look out for those on the other platforms.
Needless to say, it will help a lot for the initial pitching session. Even if you decide to entrust all this job to an agency — some minimum wireframe would be very helpful prior approaching them.
On the average, wireframe might take 10–30 hours in development. It might cost you nothing if you’ll do it by yourself. But if you’re going to ask an agency — $500 — $3.000 would be a fair price, depending on the complexity of the app.

Mockup of the app

Mockup is what your customers and investors will see. It can make them fall in love with your app or drive them away. In a nutshell, that is an approximate final look of your app.
There is a good rule for mockup estimation. Landing page will cost you around $500. And every additional screen will, usually, cost about $50–70. Count the number of screens you are going to have. Simply add everything to get the total price. That is the most common practice how companies and freelancers usually charge for their services.
But what about DIY? Of course, if you are familiar with such great tools like Adobe Photoshop and Adobe Experience Design it won’t be a problem for you to make a simple (or brilliant, depending on your skills) mockup. Those are the most common and handy tools. And while Photoshop will cost you $10-$20 (depending on the plan), Experience Design is completely free.

Interactive mockup

Speaking of simple mockups, there is a great way to improve those — interactivity.
Interactive mockup  — is a good chance for you to improve client engagement. Customers or investors would better prefer interactive solution over a static image. One more big plus — those are easy to spread over various devices.
Tools like Framer and inVision are your best helpers here. They work pretty much like usual app building platforms. Take your mockups, drag-and-drop different elements, adjust navigation and features, et voila! Now you have it.
Interactive mockups cost just a slightly more than the usual ones. You’ll just need your usual mockups and subscription for one of those tools. Or you can give this job to the designers you’ve hired. Anyway, additional expenses won’t exceed $100-$500. But potential profit may be a lot bigger.

Total price

Those blessed ones, who chose DIY way, might pay from complete nothing to a few hundred bucks (subscriptions, paid content, etc.).
And those who decide to hire somebody, might receive a bill on $1000-$10.000. Price varies drastically because of:
  • complexity of your app
  • desired features
  • region where you hire
One more good advice. Design agencies, usually, take fixed (and pretty high) price. Freelancers or outsource companies, on the other hand, often, charge on per hour basis. So hiring few freelancers in India for $10/hour might be a good idea for your wallet. But is it so when it comes to the quality?

What voice tech means for brands


An overview of the issues around voice technology and top line considerations for brand owners.
Sony’s LF-S50G speaker with Google Assistant. Image via Sony.

Summary

Voice based technology is going to have a huge impact on many sectors, with 50% of all search forecast to be voice-based within just two years. The rate of uptake is likely to vary based on age, geography and literacy — but some markets and platforms already have high penetration, while globally 10% of search is already voice based.
There will be new winners and losers in this space, and incumbent brands will need to look at the impact of losing control of the consumer conversation during the purchase process, making it harder to stand out against their competition.
However, voice interfaces give an unprecedented opportunity for brands to interact with consumers in an extremely powerful new way, and few brands have taken advantage of this yet. Current widely-available functionality is limited in scope and very utility-focused; there are opportunities to develop innovative content and experiences as well as whole new services.
The brands that rise to the occasion are in a good position to increase their market share. Additionally, there are many tools available allowing easy experimentation with voice for minimal investment.
Our recommendation is to start a low investment program of service design and Tone of Voice experimentation as soon as possible — possibly tied in to campaign activity — in order to prepare your brand to take advantage of opportunities that this technology reveals.

Introduction

What do we mean by ‘Voice’?

In the context of this article, we mean ‘talking out loud to automated services’. This covers everything from interactive fiction to utilities, available on bespoke hardware devices, within apps on phones and in the cloud, either accessed via a branded product or one of the major players’ virtual assistants.
A lot of the hype around voice revolves around the uptake of smart speakers (75% of US households are projected to own one by 2020), and the ‘voice assistants’ that come with them. Several of these assistants now allow direct third party integration, a bit like apps on a smartphone.
In addition, it’s important to note that these and other voice assistants are available on other hardware — often phones and tablets, via apps and deep OS integrations, but also bespoke hardware devices and even websites.
In many respects the technologies underlying voice and bots are the same — but the ecosystems and impact are different enough to have made voice very much its own area.

Is voice just hype?

No. It’s true that there is a lot of hype about voice, and that it looks similar to 3D printing and other ‘technologies that will change the way we live’, but interacting with computers via voice interfaces is here to stay.
Apart from anything else there are a range of convincing statistics; for example over 20% of mobile search is already voice based and forecast to rise to 50% of all search by 2020.
Perhaps more interestingly, there are some reasons behind those statistics that might be telling.
It’s often said in technology circles that the majority of next billion people due to get online for the first time will be poorly educated and likely illiterate, as ‘underdeveloped’ nations start to get internet access. For this demographic video and voice will be paramount — and voice may be the only two-way medium available to them.
Additionally, the iPad effect revealed how even very young children could interact with a touchscreen while struggling with a mouse; voice interaction is even faster and more intuitive (once someone can talk) and will undoubtedly be the primary interaction method for some functions within a few years.
It’s also worth considering the stakes involved, especially for Google and Amazon, the biggest players in ad revenue and organic product discovery respectively. Amazon’s aggressive move into voice will already be having a noticeable effect on Google’s bottom line by moving search away from the web and Google ads’ reach— which explains why the latter is working so hard to make a success of its own Assistant.
To their advantage Google can leverage their existing 2.5Bn Android devices in the wild. With numbers that big and uptake gaining traction you can understand the predicted total of 7.5Bn installed voice assistants in operation by 2021.
Concerns about privacy and security do slow adoption in some respects, which we explore later in this article.
A common argument against voice is the social oddness or ‘embarrassment factor’ of talking out loud to a device, especially in a public place (and especially by older people — by which we mean anyone over 20 really). BBH’s view on this is that these norms are fast to change; for example a decade ago it was unthinkable to put a phone on a dinner table in most situations; these days it can be a sign of giving undivided attention (depending on nuance), or it can even be acceptable to answer a call or write a text during a meal in some circumstances.

Overview

Voice is quickly carving a space in the overall mix of technological touchpoints for products and services.
In many ways, this is not surprising; using our voices to communicate is three times faster, and significantly easier than typing. It’s so natural that it takes only 30 minutes for users to relax with this entirely new interface, despite it bringing a freight of new social norms.
There are also contexts in which voice simply beats non-voice input methods; with wet or full hands (cooking, showering), with eyes being used for something else (driving) or almost anything for those of us whose use of hands or eyes may be limited.
Cooking is an obvious example of when it’s preferable to be hands free. Image via saga.co.uk
While voice is unlikely to completely replace text in the foreseeable future, it will undoubtedly have a big impact in many technology-related fields, notably including e-commerce and search.

A brief history of voice

Automated voice-based interfaces have been around for decades now although their most influential exposure has been on customer service phone lines. Most of the systems involved have suffered from a variety of problems, from poor voice recognition to complex ecosystems.
Five years ago industry leading voice recognition was only at around 75% accuracy; recent advances in machine learning techniques, systems and hardware have increased the rate of the best systems to around 95–97%.
Approaching and crossing this cognitive threshold has been the single biggest factor in the current boom. Humans recognise spoken words with around 95% accuracy, and use context to error correct. Any automated system with a lower recognition accuracy feels frustrating to most users and isn’t therefore commercially viable.
Related developments in machine learning approaches to intent derivation (explained later in this article) are also a huge contributing factor. Commercial systems for this functionality crossed a similar threshold a couple of years ago and were responsible for the boom in bots; voice is really just bots without text.
Bots themselves have also been around for decades, but the ability to process natural language rather than simply recognising keywords has led to dialogue-based interactions, which in turn powered the recent explosion in platforms and services.

Assistants

Pre-eminent in the current voice technology landscape is the rise of virtual automated assistants. Although Siri (and other less well known alternatives) have been available for years, the rise of Alexa and Google Assistant in particular heralds a wider platform approach.
The new assistants promote whole ecosystems and function across a range of devices; Alexa can control your lights, tell you what your meetings are for the day, and help you cook a recipe. These provide opportunities for brands and new entrants alike to participate in the voice experience.

Effect on markets

A new, widely used mechanism for online commerce is always going to be hugely disruptive, and it’s currently too early to know in detail what all the effects of voice will be for brands.
Three of the biggest factors to take into account are firstly that many interactions will take place entirely on platform, reducing or removing the opportunity for search marketing. Secondly the fact that dialogue-based interactions don’t support lists of items well means that assistants will generally try to recommend a single item rather than present options to the user, and lastly that the entire purchase process will, in many cases, take place with no visual stimulus whatever.
All of these factors are currently receiving a lot of attention but it’s safe to say that the effect on (especially FMCG) brands is going to be enormous, especially when combined with other factors like Amazon’s current online dominance as both marketplace and own-brand provider.
Two strategies that are currently being discussed as possible ways to approach these new challenges are either to market to the platforms (as in, try to ensure that Amazon, Google etc. recommend your product to users), and/or to try to drastically increase brand recognition so that users ask for your product by name rather than the product category. Examples would be the way the British use ‘Hoover’ interchangeably with ‘vacuum cleaner’ or Americans using ‘Xerox’ meaning ‘to photocopy’.

Role vs other touchpoints

Over the next few years many brands will create a presence on voice platforms. This could take any form, from services providing utilities or reducing the burden on customer services, to communications and campaign entertainment.
Due to the conversational nature of voice interfaces, the lack of a guaranteed visual aspect and the role of context in sensitive communications, few or no brands will rely on voice alone; it won’t replace social, TV, print and online but rather complement these platforms.
It’s also worth noting that a small but significant part of any brand’s audience won’t be able to speak or hear; for them voice only interfaces are not accessible (although platforms such as Google Assistant also have visual interfaces).

Branding and voice

In theory voice technology gives brands an unprecedented opportunity to connect with consumers in a personal, even intimate way; of all the potential brand touchpoints, none have the potential for deep personal connection at scale that voice does.
At the same time, the existing assistant platforms all pose serious questions for brands looking to achieve an emotional connection to some extent. Google Assistant provides the richest platform opportunity for brands, but is still at one remove from ‘native’ functionality, while Alexa imposes extra limitations on brands.
Having said that, voice technology does represent an entirely new channel with some compelling brand characteristics, and despite the drawbacks may represent an important opportunity to increase brand recognition.
We’re all hardwired to see faces around us—and to make emotional connections when we talk. Image via adme.ru

Human-like characteristics

It is well established that people assign human characteristics to all their interactions, but this phenomenon is especially powerful with spoken conversations. People develop feelings for voice agents; over a third of regular users wish their assistant were human and 1 in 4 have fantasised about their assistant.
Voice-based services, for the first time, allow brands to entirely construct the characteristics of the entity that represents them. The process is both similar to and more in depth than choosing a brand spokesperson; it’s important to think about all the various aspects of the voice that represents the brand or service.
Examples of factors worth considering when designing a voice interface include the gender, ethnicity and age of the (virtual) speaker, as well as their accent. It may be possible to have multiple different voices, but that raises the question of how to choose which to use — perhaps by service offered or (if known) by customer origin or some other data points.
Another interesting factor is the virtual persona’s relationship to both the user and the brand; is the agent like a host? An advisor? Perhaps a family member? Does it represent the brand itself? Or does it talk about the brand in the third person? Does it say things like “I’ll just check that for you”, implying access to the brand’s core services that’s distinct from the agent itself?
There are of course technical considerations to take into account; depending on the service you create and the platform it lives on it may not be possible to create a bespoke voice at all, or there may be limits on the customisation possible. This is explored in more detail below.
In some cases, it may even be possible to explore factors that are richer still; such as the timbre of the voice and ‘soft’ aspects like the warmth that the speech is delivered with.
Lastly, it’s worth noting that voice bots have two way conversations with individual users that are entirely brand mediated; there is no human in the conversation who may be having a bad day or be feeling tired.

Tone of Voice in bot conversations

Tone of Voice documents and editorial guides are generally written to support broadcast media; even as they have become more detailed to inform social media posting, guides often focus on crafted headline messages.
Conversational interfaces push the bounds of those documents further than ever before, for a few reasons.
Firstly, voice agents will typically play a role that is closer to the pure brand world than either sales or support; entertainment and other marketing activities make the role of an agent often closer to a social media presence than a real human, but with a human-like conversational touchpoint.
Secondly, both bots and voice agents have two way conversations with customers. In a sense this is no different than sales or customer service (human) agents, but psychologically speaking those conversations are with a human first and a brand representative second.
In a conversation with a customer services representative, for example, any perceptions the consumer has about the brand are to some extent separate from the perceptions about the human they are interacting with.
Lastly, it’s critical to note that users will feel empowered to test the boundaries of an automated agent’s conversation more than they would a human, and will naturally test and experiment.
Expect users to ask searching questions about the brand’s competitors or the latest less-than-ideal press coverage. If users are comfortable with the agent, expect them to ask questions unrelated to your service, or even to talk about their feelings and wishes. Even in the normal course of events, voice interactions will yield some unusual and new situations for brands. For example, this commenter on a New York Times article was interrupted mid sentence, causing a brief stir and a lot of amusement.
How voice agents deal with the wide range of new input comes down not only to the information the agent can respond to, but more importantly the way in which it responds. To some extent this is the realm of UX writing, but hugely important in this is the brand voice.
As an example, if you ask Google Assitant what it thinks of Siri (many users’ first question), it might reply “You know Siri too?! What a small world — hope they’re doing well”.

Service design for voice

Whether based in utility, entertainment, or something else, some core considerations come into play when building a voice-based service. It’s not uncommon for these factors to lead to entirely new services being built for brands.
Obviously it’s important to consider the impact that not having a screen will have on the experience. As an example, lists of results are notoriously bad over a voice interface; as an experiment read the first page of a Google search results out loud. This means that experiences tend to be more “guided” and rely less on the user to select an option — although there are also lots of other implications.
With that in mind, it’s also good to note that increasingly voice platform users may have screens that both they and the assistant can access; either built into the device (like with Echo Show) or via smartphone or ecosystem-wide screens such as with the Google Assistant. While these screens can’t be counted upon, they can be used to enrich experiences where available.
Another important factor is the conversational nature of the interface; this has a huge impact on the detail of the service design but can also mean selecting services with a high ratio of content to choices, or at least where a linear journey through the decision matrix would make sense. Interfaces of this sort are often hugely advantageous for complex processes where screen-based interfaces tend to get cluttered and confusing.
Finally, as with social, context is massively important to the way users access a voice service. If they are using a phone they may be in public or at home, they may be rushed or relaxed, and all these affect the service. If the user is accessing the service via a smart speaker they are likely at home but there may be other people present; again affecting the detail of the service.
In general, services well suited to voice will often be limited in scope and be able to reward users with very little interaction; more complex existing services will often need AI tools to further simplify their access before being suitable to voice.

The voice landscape

In the last two to three years the landscape of voice technology has shifted dramatically as underlying technologies have reached important thresholds. From Google and Amazon to IBM and Samsung, many large technology companies seem to have an offering in the voice area, but the services each offers differ wildly.

Devices and Contexts

It’s important to note that many devices do have capabilities beyond voice alone. Smart speakers generally are only voice, but also have lights that indicate to users when they are listening and responding, and so help to direct the conversation.
Newer Alexa devices like the Echo Show and Echo Spot are now shipping with screens and cameras built in, while Google Assistant is most commonly used on smartphones where a screen mirrors the conversation using text, by default. On smartphones and some other devices users have the option to have the entire dialogue via text instead of voice, which can make a difference to the type of input they receive as well as the nuances available in the output.
Screen based conversational interfaces are developing rapidly to also include interactive modules such as lists, slideshows, buttons and payment interfaces. Soon voice controlled assistants will also be able to use nearby connected TVs to supplement conversational interfaces, although what’s appropriate to show here will differ from smartphone interfaces.
As should be clear, as well as a wide range of available capabilities, the other major factor affecting voice interactions is context; users may be on an individual personal device or in a shared communal space like a kitchen or office; this affects how they will be comfortable interacting.

Platforms and ecosystems

Amazon Echo speakers feature Alexa

Amazon Alexa

Perhaps the most prominent UK/US based voice service is Amazon’s Alexa: initially accessible via Echo devices but increasingly available in hardware both from Amazon and third parties.
Amazon has a considerable first mover advantage in the market (72% smart speaker market share), and it’s arguably the commercial success of the range of Echo devices that has kick-started the recent surge in offerings from other companies.
Alexa is a consumer facing platform that allows brands to create ‘skills’ that consumers can install. End users configure Alexa via a companion app; among other things this allows them to install third party ‘skills’ from an app store. An installed skill allows the end user to ask Alexa specific extra questions that expose the skill’s service offering; e.g. “Alexa, what’s my bank balance?”
There are now approximately 20,000 Alexa skills across all markets, up from 6,000 at the end of 2016. Although many have extremely low usage rates at present, Amazon has recently introduced funding models to continue to motivate third party developers to join its ecosystem.
With an estimated 32M Alexa-powered devices sold by the end of 2017 (of which around 20M in Q4) there’s no doubt that the platform has a lot of reach, but Alexa’s skills model and Amazon’s overall marketplace strategy combine to place brands very much in Amazon’s control.
Google Home features the Assistant. Image via google.com

Google Assistant

Google launched the Home device, powered by the Google Assistant in May 2016, over a year after Amazon launched the Echo. Google has been aggressively marketing the Assistant (and Home hardware devices) both to consumers and to partners and brands. Google already commands a market share (of smart speakers) of 15%, double that of the previous year; their market share of smartphone voice assistants is 46%, projected to rise to 60% by 2022.
Google’s Assistant is also being updated with new features at an incredible rate, and arguably has now taken the lead in terms of functionality provided to users and third party developers.
Perhaps most interestingly, Assistant takes an interesting and different approach to brand integration compared to other offerings, with the Actions on Google platform. Using this platform, brands are able to develop not only the service offering but the entire conversational interface, including the voice output of their service.
Users don’t need to install third party apps but can simply ask to speak to them; much the way someone might ask a switchboard or receptionist to speak to a particular person. Once speaking to a particular app, users can authenticate, allow notifications, switch devices and pay, all through the Assistant’s conversation based voice interface.
By integrating Assistant tightly with Android, the potential reach of the platform is enormous; there are currently 2.5Bn Android devices in operation. The software is also available to third party hardware manufacturers, further increasing the potential of the ecosystem.
Cortana doesn’t have a dedicated device but is available on Windows and Xbox devices. Image via Wallpaperden

Microsoft Cortana

Microsoft’s Cortana is installed on every Windows 10 device and has an impressive 145M monthly active users (probably mostly via XBox), but is currently less heavily promoted and updated than the offerings from Google and Amazon.
Cortana provides a similar ‘skill’ interface to Alexa, but has started developing this relatively late and is playing catch-up both in terms of core functionality and the number of available integrations.
Microsoft’s huge overall user base and its dominance in both work-related software and gaming ecosystems do give Cortana a powerful (and growing) presence in the market, despite its share of dedicated smart speaker devices being small.
Baidu’s Raven speakers are the company’s first foray into dedicated hardware for its well-known voice services. Image via Slate

Baidu

Baidu (often called the ‘Chinese Google’) arguably started the recent trend for voice interfaces with a combination of groundbreaking technology and a huge installed user base with various cultural and socioeconomic predispositions to favouring voice over text.
Baidu recently released DuerOS, a platform for third party hardware developers to build their own voice powered devices, and via the ‘Baidu Brain’ offers a suite of AI platforms for various purposes (many involving voice).
Most consumers currently interact with Baidu’s voice technologies via their Chinese language dedicated services (i.e. without any third party integrations).

Siri, Bixby and Watson

Apple’s Siri and Samsung’s Bixby are both voice assistants that currently only work on a given device or perhaps in the manufacturer’s ecosystem; neither could be called a platform as they don’t offer third parties access to create services.
Both have reasonable market share due to the number of phones they appear on, but their gated offerings and lower accuracy voice recognition now make them seem limited by comparison with other assistants.
IBM’s Watson is perhaps most usefully seen as a suite of tools that brands can use to create bespoke services.

Content and services

There are a lot of considerations when designing services for voice based conversational interfaces; these are touched on above but affect the range of functionality that is available.

— Utility

The vast majority of voice services currently available are utilities, giving access to a simple piece of functionality already available via other methods. These range from the more mundane (playing a specific radio station or listening to news) to the more futuristic (adjusting the lights or playing a specific film on the TV), via provider-specific functions like ordering a pizza or a taxi.
Lots of brands are beginning to offer services in this area, from home automation or similar niche organisations like WeMo and Plex or Philips Hue, to more widely used services like Uber and Dominos, but interestingly also including big brands offering innovative services. Both Mercedes and Hyundai, for example, allow users to start their cars and prewarm them from various voice assistant platforms.

— Entertainment

Various games, jokes and sound libraries are available on all the major platforms from a variety of providers, often either the platform provider themselves (i.e. Google or Amazon) or small companies or individual developers.
A few brands are starting to experiment more with the possibilities of the platform however; for example Netflix and Google released a companion experience for Season 2 of Stranger Things, and the BBC recently created a piece of interactive fiction for the Alexa.
The potential for entertainment pieces in this area is largely untapped; it is only just beginning to be explored.

Tools

Many sets of tools exist for building voice services, as well as related (usually AI based) functionality. By and large the cloud based services on offer are free or cheap, and easy to use. Serious projects may require bespoke solutions developed in house but that is unnecessary for the majority of requirements.
A full rundown of all the tools available is outside the scope of this article, but notable sets are IBM’s Watson Services, Google’s Speech API and DialogFlow, and Microsoft’s Cognitive Services.
All these mean that prototyping and experimentation can be done quickly and cheaply and production-ready applications can be costed on a usage model, which is very cost effective at small scale.

— Speech Generation

Of particular note to brands are the options around speech generation, as these are literally the part of the brand that end users interact with.
If the service being offered has a static, finite set out possible responses to all user input, it is possible to use recorded speech. This approach can be extended in some cases with a record-and-stitch-together approach such as used by TfL.
For services with a wide range of outputs, generated voices are the only practical way to go, but even here there are multiple options. There are multiple free, more-or-less “computer”-sounding voices easily available, but we would recommend exploring approaches using voice actors to create satnav-like TTS system.
The rapidly advancing field of Machine Learning powered generated speech that can sound very real and even like specific people is worth keeping an eye on; this is not yet generally available but Google is already using Wavenet for Assistant in the US while Adobe was working on a similar project.

The technology behind voice

What people refer to as voice is really a set of different technologies all working together.
Notably, Speech To Text is the ‘voice recognition’ component that processes some audio and outputs written text. This field has improved in leaps and bounds in recent years, to the point where some systems are now better at this than humans, across a range of conditions.
In June, Google’s system was reported to have 95% accuracy (the same as humans, and an improvement of 20% over 4 years), while Baidu is usually rated as having the most accurate system of all with over 97%.
The core of each specific service lies in Intent Derivation, the set of technologies based on working out what a piece of text implies the underlying user intent is — this matches user requests with responses the service is able to provide.
The recent rise in the number (and hype) of bots and bot platforms is related to this technology, and as almost all voice systems are really just bots with voice recognition added in, this technology is crucial. There are many platforms that provide this functionality (notably IBM Watson, and the free DialogFlow, among many others).
The other important set of voice-related technologies revolve around Speech Generation. There are many ways to achieve this and the options are very closely related to the functionality of the specific voice service.
The tools and options relating to this are explored earlier in this article, but they range widely in cost and quality, based on the scope of the service and the type of output that can be given to users.

Considerations

Creating a voice-first service involves additional considerations as compared to other digital services.
First and foremost, user privacy is getting increased attention as audio recordings of users are sent to the platform and/or brand and often stored there. Depending on the manner in which the service is available to users this may be an issue just for the platform involved, or may be something the brand needs to address directly.
Recently the C4 show ‘Celebrity Hunted’ caused a bit of a backlash against Alexa as users saw first hand the power of the stored recordings being available in the future. There are also worries about the ‘always on’ potential of the recording, despite major platforms repeatedly trying to assure users that only phrases starting with the keyword get recorded and sent to the cloud.
As with most things however, a reasonable value exchange is the safest way to proceed. Essentially, ensure that the offering is useful or entertaining.
A phone on a dinner table is a lot more socially acceptable than it was a few years ago. Talking out loud to devices will go the same way. Image via musely.com
Another consideration, as touched upon earlier in this article, is that the right service for a voice-first interface may not be something your brand already offers — or at the least that the service may need adaptation to be completely right for the format. We’ve found during workshops that the most interesting use cases for branded voice services often require branching out into whole new areas.
Perhaps most interestingly, this area allows for a whole new interesting set of data to be collected about users of the service — actual audio recordings aside, novel services being used in new contexts (at home without a device in hand, multiuser, etc) should lead to interesting new insights.

Recommendations for brands

We believe that long term, many brands will benefit from having some or all of their core digital services available over voice interfaces, and that the recent proliferation of the technology has created opportunities in the short and medium terms as well.
A good starting point is to start to include voice platforms in the mix for any long term planning involving digital services.
Ideally brands should start to work on an overall voice (or agent, including bots) strategy for the long term. This would encompass which services might best be offered in these different media, and how they may interact with customer services, CRM, social and advertising functions as well as a roadmap to measure progress against.
In the short term, we believe brands ought to experiment using off-the-shelf tools to rapidly prototype and even to create short-lived productions, perhaps related to campaigns.
The key area to focus on for these experiments should be how the overall brand style, tone of voice, and customer service scripts convert into a voice persona, and how users respond to variations in this persona.
This experimentation can be combined with lightweight voice-first service design in service of campaigns, but used to build an overall set of guides and learnings that can be used for future core brand services.

Interested for our works and services?
Get more of our update !