For those of you visiting this thread as subscribers to utter! you'll know the history well. A promising release, active development and then silence..... Please accept my apologies - if you don't know that 'sometimes life gets in the way' then you are the envy of most.
A bit of history for you...
To cut a half-decade-long story short, the Fragmentation of Android ground this project to a halt. When I first demoed my creation to the world, I had visions of knocking it up on Android and then focusing on how it functioned in the background. I was about to drown myself in machine learning to bring my vision to life. Job done? Well no...
It turned out that developing an app that covered almost every function available on an Android device (I refuse to say 'phone' - it's not 1983!) , was a job for 1,000+ developers, not just a lonesome one such as I, on a 10 year old Dell laptop - and each time a new update to Android was released, I huddled in a corner and wept, as I waited for the crash reports and 1* ratings to roll in.
It turns out that bugs aren't only specific to Android versions. You multiply that by Manufacturers messing with builds - and devices running multiple versions and then even the Locale of the device causing crashes and you end up with 12,000+ supported devices exponentially multiplied by all other eventualities as your user base.
I drowned... And my (in hindsight) naive plans of master AI'ery, whilst users enjoyed playing with it on Android, dropped down to the bottom of my to-do list. Things had to change.
I decided to shut myself away in a dark room to completely rewrite the Android code, so that it was both readable and scalable; despite its complexity. Rumours flew that I had died - and in some ways, I did....
Not really ^ that just felt justifiably dramatic!
So, utter! is reborn as Saiy® and Open Sourced, so it may have a chance of competing with the big boys, before they run away with all of our private data and souls, in order to use their services...
Install Saiy from the Play Store - here
Note - a direct download link will appear here shortly!
You can get involved by checking out the Development Section in the app, or alternatively, if you're a curious Android Developer, check out the base code published on GitHub here
The code base is pretty large, so briefly, there are two major classes in the app, that direct and distribute work elsewhere:
SelfAware is the main Foreground Service, responsible for managing the application state and channelling voice recognition, text to speech and other API requests.
Quantum is the main processing class, where commands are locally resolved (if required), sensibility checked and actioned.
Understanding the above two classes is essential to following the flow of the full application logic.
MyLog is a global verbose logging toggle. When enabled, the output will flow class to class, as well as display durations for time sensitive functions.
The following remains for the sake of me needing some sleep and posterity
About this thread
Firstly, I’d like to thank everyone for the positive feedback and encouragement and the huge amount of messages I’ve received on YouTube, email, twitter, G+ and here on XDA volunteering to be involved in beta testing. It’s very much appreciated and I apologise that I cannot respond to them all. Please take this intro as a thank you.
This thread is for your open discussion about utter! and the features you'd like to see included, so please feel free to throw your ideas back and forth (be nice to each other) and I’ll do my best to keep up with them when I have time.
Unlike other voice applications, utter! will be configurable to the user, enabling you to assign spoken keywords to use the functionality of your favourite applications or make system related changes to your device. There's no cumbersome overlay or launching of another application to use the features, utter! sits in the background ready to be activated, whenever you want, without interrupting whatever you are doing.
Which applications will initially be compatible?
The more interest I can demonstrate in utter! the more likely your favourite application developer will want to make their functionality available to use. The purpose of the YouTube video and this thread is to get their attention and create a more functional first beta release.
I’m a developer and I'd like features of my application to be utter! compatible.
Please contact me to discuss how our applications can work together.