Many Roads, One Destination

Originally published at:

When working with a group, it is important to make sure everyone is pulling towards a common goal. Exploring different routes is great, but if groups are traveling to different destinations, collaboration breaks down and becomes counterproductive.

Documents known as Roadmaps help communicate the destination of development, along with expected milestones on the journey. They are also good at communicating the progress made so far. On a long road it is easy to forget all the ground that has been covered when anxious to get to the final destination.

Roadmap of Roadmaps

Mycroft is a particularly difficult project to roadmap because of the breadth of the technologies involved, the rapid development in the state of the art for these technologies, and the intentionally decentralized approach we are taking. I’ve settled on a slightly unusual approach: I’m publishing a master Roadmap that in turn refers to many independent Roadmaps. This helps organize it all in an easier to consume way.

I’ve broken the near-term goals into seven independent categories. Although there is some interdependence, progress can largely be made in each category at its own pace.

Roadmap: Marketplace

This goal has been a long time in the making. We have been building the decentralized Skill development mechanism for some time. The mycroft-skills repo was the first step in allowing coordination between independent Skill Authors and easy Skill discovery for users.

You can see a preview of a Skill List automatically generated from the files for Skills that are registered at the mycroft-skills repo. Jumping from this to being able to browse and install Skills in a store is pretty straightforward. Look for a more polished Marketplace soon, bringing together Skill Authors and users.

Roadmap: Text to Speech

In the last few months we’ve made some exciting progress implementing Mimic2, a machine learning based Text to Speech engine. We’ve also created tools to assist in creating new voices, soon making it possible for non-specialists to create a voice.

The ability to use Mimic2 on your Mycroft devices is coming very soon - stay tuned.

Roadmap: Speech to Text

Since last summer we have been building the relationship and infrastructure (technical and legal) to provide the Mozilla DeepSpeech team with real-world recordings for training their open Speech to Text model for English. Mycroft community members have been able to use DeepSpecch for Mycroft since March.

Roadmap: Wake Word

The Precise wake word engine has been under development since last fall, with a large effort by both the developers and the community to gather and tag utterances necessary to generate the first wake word model -- Hey Mycroft. As we make the last push in gathering the data we anticipated for the machine learning model, we can generalize some lessons from insights that can be applied to new wake words.

Roadmap: Framework (mycroft-core)

The framework that connects all of the above pieces, Mycroft Core, continues to mature and expand to make development quicker and easier.

Roadmap: Language Support

One of the most exciting things about all of the core technologies that we are pursuing is that we can transfer the machine learning techniques directly to most new languages. I expect there will be some unanticipated challenges, but many of the barriers that used to exist -- previously requiring highly trained specialists to overcome -- have fallen away.

Tools will be made available to start this work in August, and work on a Welsh voice will begin very soon - Rhagorol!!

Roadmap: Personal Server

One of the goals of Mycroft has always been creating a technology that is usable in all sorts of situations. Our architecture severs the necessity for centralization on cloud servers. However, the computational load does call for access to equipment such as GPUs. Enabling a Personal Server which can run on a “low hanging cloud” within a user’s home remains a goal of the project and the community.

Feedback Loop!

Like any good learning system, Mycroft gets better with more data. (Don't forget, the easiest ways to help Mycroft is to Opt-In to the Open Dataset and use Mycroft every day!)

I’m publishing all of these roadmaps with Comment permission so that we can hear back from you. Select areas of the roadmaps and click on the comment icon to the right side to add your input.

Additionally, these are living documents and will continue to be updated as we take this journey together. Come along with us!