Jibo should allow skills to set global family/friends loop info


When I first heard about the knowledge base and that you could store information about a user and the members of their family/friends, it got me thinking about how skills could build off one another by sharing user information with each other. I figured it would make for a dynamic system that would really make you get the sense of Jibo becoming smarter over time.

For example, there might be a skill that shows you the moon phases and, based on the amount you use it, the skill could share that you have a light, medium, or heavy interest in astronomy. Or a skill might determine your weight for a diet program, and share that so a workout skill, later installed, could recommend a specific workout routine, or vice versa.

Of course, I realize this is a big security issue without a policing of some sort of this data. So, I envision a setup where the skill shares this personal user info with the “Be” system (private to Jibo and kept on-robot) and that system alone decides whether to pass that on to another skill when requested. When Jibo is first requested by a skill to share that info, the user will be notified:

“Hey Michael, could I share your weight with the 7-Minute Workout skill?” (or some other wording that makes it feel more Jibo-like)

I know that the current setup doesn’t allow this and you’re actively discussing how to implement it. Hopefully this idea might work to balance out security with utility.


It’s not a bad idea, but my concern about all these approaches is that they will ruin the “Jibo is an entity” feeling. If a user has to start thinking about the fact that Jibo isn’t in fact that small buddy on my desk that knows stuff about me and can help me, but rather a collection of disparate “skills” that don’t talk to each other unless given permission to do so, it will “pull you out of the movie” for lack of a better term.

Honestly, without a complete redo of the basics, where everything is local and thus Jibo can be trusted with all that information, and it would ask you for permission to connect to the internet, I don’t see a solution to the problem. If any skill can fire up an HTTP call, you just can’t share information between them. Or, at least not without ruining the experience. Android has a permission system like you mention, but of course everybody knows and expects the apps not to talk to each other. There is no expectation that Bejeweled is aware of my highscore on Angry Birds.


I too have a concern about Jibo Main Skills verses other skills. It’s not natural to ask, “What’s the weather,” and get the weather, but if someone is interested in the dew-point and a skill exists to provide this because it’s not in the Jibo main skill. Now the user must leave Jibo as the provider of information and must ask Jibo to ask my dew-point skill, what’s the dew-point. This creates a disconnect with the user and the character, since the character is not currently defined to the user as an information provider that must access services to provide some information, but rather, the information provider in the character itself. This changes how users address such a character. This change drastically effects how secondary skills are written to make this seamless. Therefor the knowledge base connection to main skill information and secondary skill access and usage must create this seamlessness. If Jibo could activate our skills in the background to obtain information without the required ask of the skill, it would assist greatly our ability to retain the seamlessness of the character as an information resource. Otherwise, marketing needs to educate the user that like Alexa, Jibo must be asked to ask for something from a skill, making Jibo a little less of the main character and more of an appliance.


Perhaps if we can pass requests that our skill can’t resolve, in the case a main Jibo skill request is requested inside our skill.


Seems to me that setting up what can and cant be shared should be handled when the skill is installed. I am assuming that people only install skills that they trust to begin with. Then if a request of Jibo is made that he does not have permission to do, he can say something like: “Sorry but you asked me not to access that information.” and maybe ask if you’d like to make an acceptation that one time or something like that. Since Jibo knows who he’s talking too, he will know if you are the right person to authorize the change. Otherwise he would say something like: “Sorry, Al asked me not to do that.” I envision a rendition of “I’m sorry but I’m afraid I can’t do that Dave…” to add a little humor to the response. With the appropriate red eye for added affect. :slight_smile:


I must concur with @kc.tom.servo that there are so many crucial questions remaining that, without the actual product, this forum will just go in circles of speculation. If (and that’s sadly still very much the question) Jibo will come together as promised, a lot of the rest will just fall in place. Until then, I feel the probability of skill work being rendered useless by a major shift in approach is too high to put serious effort into it (especially the vast amount of people Andrew was alluding to in the blog that are apparently necessary to do a good job with a skill)