Bixby is the name of Samsung's digital assistant, available across their eco-system of phones, watches and white goods. Bixby Capsules allow software developers to create voice first interactions for the Bixby assistant. Having spent several years working with the Google Assistant (using DialogFlow) and Amazon Alexa (with AWS), I decided it was time to look at Samsung's offering. An hour in, these are my initial impressions:
- Ambitious concept - a single Integrated Development Environment (IDE) to hold all code for your natural language interaction in one place.
- Documentation is extensive.
- Whole process feels overly complicated, creating an initial barrier to entry.
- Requires an experienced js developer to do even the basics.
- Visual components are controlled using code rather than Json.
- Uses different acronyms to Google and Alexa i.e. concepts vs slots.
- Developers have to download an IDE - its 2020!
- Lots of Samsung specific lingo e.g. Structures, Models, Primatives, Dialogs and Views.
- Building the Natural Language model and extracting 'Concepts' (slots) feels clunky, complex, and tightly coupled to the capsule.
- Documentation is 'tech' heavy.
Overall, I have to say my initial impression of Bixby Capsule development is one of disappointment and missed opportunity. The whole approach and user experience feels like it has been designed by developers (perhaps that was the intention), but this means the barrier to entry is much higher than DialogFlow and AWS. It is not possible for example to create simple Q and A interactions like those available in the AWS and Google platforms, closing Bixby off to none technical users.
Businesses who want to develop a scalable , enterprise level solution for the plethora of digital assistants that are emerging won't want to place their business logic into Bixby Capsules. Instead, they will most likely use the Remote Endpoint feature and call their own APIs (e.g. a business brain or natural language knowledge framework) that serve knowledge to other prominent digital assistants.
My advice to Samsung would be to go back to basics and focus initially on non-technical users. Ditch the platform specific lingo (stick to slot filling, entities and utterances), and finally utilise Json to construct the user interface rather than code.