Friday, 23 October 2015

Re: Mycroft integration with Unity 8

Thank you all for the replies, that's really important for us. 

For integration I mean to be able to run a background process just after Ubuntu is started and to launch an UI as soon as someone start interacting with Mycroft. We could imagine the follwing steps:
1. Turn on your Ubuntu device and login
2. Say, for instance: "Hey Mycroft, what's my schedule for today?"
3. Mycroft speaks it out and at the same time Mycroft UI is launched showing you the schedule.

So, if I well understood we can use Upstart to autostart Mycroft as soon as Ubuntu is started. We also could develop a Scope or QML App to be the Mycroft UI.

Supposing we would communicate between Mycroft background process and a QML UI we could use PyOtherSide. However, I'm not sure how it'd work for a Scope UI instead (Scopes are developed in C++ or GO, right?).

I'm a little bit confused about Python support. That's a crucial point for us to know. 

By default Ubuntu won't have any Python dependencies. Hence, in order to solve those we would ship Mycroft in a .deb and solve all needed dependencies. 

Will only Python 3 be available or Python 2.x would be installable as well ?

Supposing we use Snappy, if I well understood, Mycroft would be shipped in a container and then its environment would be isolated from everything outside that. Then, inside Mycroft container we could solve all dependencies including Python etc. However, I didn't understand what you mean by: "The difficult part here is that the interfaces may not have Python libraries to access them". 

Do you mean that applications from another Snappy container could not be able to communicate with Mycroft? 

Finally, are my assumptions correct? Is there any point you could elaborate more if needed?

Again, we are really grateful for your support,

On 23 October 2015 at 13:05, Ted Gould <[email protected]> wrote:
On Fri, 2015-10-23 at 15:05 +0200, Michał Sawicz wrote:
> As Mycroft client is in Python it'd be important for us to run it  > natively in mobiles.  > 2. Anyone knows if Python will be natively supported for Ubuntu mobiles  > versions? Are there any restrictions or particularities for that to  > happen?    AFAICT there's no plans to support Python as a developer language for  the platform, mostly because of resource considerations. Python (only  version 3), however, is available on the device today, so if Mycroft  became part of the platform, shipped on the devices, it'd need to be  packaged as a .deb with appropriate dependencies. Note that, without  knowing how you want to integrate, I can't comment on whether it's even  a possibility for the products.  

As we move to a Snappy based system apps will be able to include the interpreter of their choice. So if, for instance the Mycroft developers wanted to include Python3 they could and Snapcraft makes that pretty easy. The difficult part here is that the interfaces may not have Python libraries to access them, which is where choosing a different language could become tricky.

It is important to note that in a Snappy world the base system doesn't have an accessible Python3 interpreter. And I don't believe anything that would be shipped as part of a Unity8 framework would ship it.


Jonathan D'Orleans