Uh oh! We couldn’t find any match.

Please try other search keywords.

Bixby Developer Center

Guides

Overview

Bixby Developer Platform at a Glance

Bixby is a virtual personal assistant that enables users to find information and get things done quickly.

Bixby can already do many useful things, including:

  • Book different activities, like a dinner reservation, a ride to the airport, or a hotel stay
  • Look up useful information, like flight stats, weather conditions, or recipes
  • Purchase items like concert tickets or flowers
  • Play your favorite music with Spotify
  • Calculate the tip for you while you're out to lunch (on a reservation you made with Bixby!)

As a developer, you can expand Bixby’s body of knowledge and teach it something new. For example, you can teach Bixby how to play your favorite workout playlist or how to buy the perfect Valentine's gift for mom. The capabilities that you teach Bixby are combined into capsules that you develop.

How is Bixby Different?

Developing for Bixby is different than traditional software development because you're not writing the program; the Artificial Intelligence (AI) is. You perform modeling, which is how you teach Bixby about the feature or domain you’re implementing. Using your models and others we provide, Bixby constructs a program that satisfies the user's specific request in milliseconds the moment the request is made. This is known as Dynamic Program Generation, and it's one major feature that separates Bixby from other personal assistants. With other approaches, you have to hard-code logic that handles every use case and interaction. You must decide what services get called, when to ask the user something, and how to apply machine learning, so that the assistant doesn’t ask the same questions every time you run into that use case.

On the other hand, with Bixby, you simply teach Bixby how to write these programs. With the right modeling and training, you can create a capsule that allows users to say something like this:

"Get me a window seat on a non-stop one-way flight from JFK to San Francisco three days after next Friday"

In just a few milliseconds, Bixby can generate a 40-plus step program to:

  • do the math and figure out the date for “three days after next Friday”
  • look up candidate airports for San Francisco
  • convert between various data types
  • and more!

Dynamic Program Generation is the basis for every interaction with the user, and it also works for much more complex operations, including loops, iterations, and transactions. It allows you to more easily provide a capability that is more consistent, dependable, and maintainable.

At a high level, this is how Bixby works when a user makes a request:

platform overview diagram

(Select the image to view a large version)

First, Bixby takes the user’s natural language input, and using natural language training, converts that to a structured intent, which represents what the user wants to get done. As a developer, you provide natural language utterances to train Bixby how to understand the user and generate an intent.

Second, Bixby uses the intent and the models you write to dynamically generate a program (or plan) to be executed. When you model, you describe concepts (things that Bixby knows) and actions (things that Bixby can do), both of which are used during program generation.

Third, Bixby executes the program. When Bixby reaches your actions, it optionally executes JavaScript that you write, so you may connect Bixby’s dynamic program to your back end APIs.

Finally, in order for users to see or hear the results of the program, you also design a presentation layer using layout templates and dialog.

Together, these components form a capsule, which when submitted can be available to all Bixby users. You can learn how to create and test your first capsule in the Quick Start Guide.

Ready to teach Bixby something new? Get started!