Default Intent Evolution Idea: Sentence

Hey guys, random thoughts/rant for a software idea.

I was thinking of the next evolution of the Intent system on Android. I always thought OSs seemed to spend almost no effort on integrating softwares on it. It was almost like an afterthought every time. Android was a huge step in the right direction. The next step would have to be very definitive, and backwards comparable of course. It would have to be something users want, and make it easier on the developers as well.

This system would be called something along the lines of 'Sentence'. It evolves with developer and end-user choices and, if I'm right (here's the big pitch, would have the potential to make software measurably more stable, secure, efficient, and user-oriented without really changing any behavior on the developer's side. Of course it has the same potential to be stagnant, but I think the users would punish (unwittingly) developers who lagged behind or didn't put in the effort.

The sentence system allows a user to build a sentence to discover not only the correct application, but an infinitely specific task before ever encountering UI. It is reminiscent of auto-completing sentences in Google Search. An example is the quickest way of demonstrating. The [] specify user interaction and ** specify user choice (probably a button press):

I would like to
[*send*] [search] [open][...
[a(n)][*multiple*][...
[2][*3*][4][5][CUSTOM][UNTIL...
[files][emails][smss][*pictures*][...
[*to*][GO][...
[emily][drake][*george*][...
[*and*][GO][with message][...
[emily][*drake*][george][...
[and][GO][*with message*][...
[CUSTOM][*check this out*][...
[*GO*][and]

this immediately opens the camera app for exactly 3 pictures. Once the 3rd picture is taken, the UI informs the user that the next action is about to take place. After a short time out, the 3 pictures are sent to George and Drake. After the first shot, the user can shut off the screen or pocket the device knowing the timeout will occur and then the task will continue. Being an OS-level function, the user can trust it regardless of the app.

Unless the app task fails. If Apps that use this system can't provide tasks that don't fail, they will become unpopular far quicker than the tasks that do fail that users just deal with anyway.

Furthermore, many apps can be published virtually without any UI at all, significantly cutting down on development time and allowing the dev to focus on the task and functionality.

This could turn around voice activation as well, since the user quickly understands the routine task format to get the best results, and would be more confident to provide far more complex long-winded sentences that the OS could understand perfectly to the detail.

While some sentence lines will be defined by the OS, the developers and users alike will be able to define the evolution of the sentence tree. Developers will make the smart decisions, while the users will crowd-source the popularity of each possible route. The most logical and/or common sentences would quickly be the norm. If the OS prioritizes specific routes over general ones, then developers will be incentivised to make their apps as task-specific as possible as well as as task-plentiful as possible.

The losers in this quickly become apps that use ads, apps that rely on 'convincing' the user of something with UI, and of course utility apps. Of course, this brings back the main reason for 'pro' apps: functionality. The pro version will have these features. The free version will only have these.

There wouldn't be a way to exploit the system or flood it. If the functionality doesn't work, the app becomes not only intrusive and annoying, but offensive to the user as it promised a specific task and performed something else entirely. Those apps simply wouldn't survive.

Of course, application for this kind of thing would have to be imposed by Google et all for it to exist, but there is another way. It can be implemented as a shared library that provides the necessary interfaces and cache all the necessary information for other compatible apps. That would work for a full implementation, and I can't see any features that would be missing. Backwards compatibility would still work just fine, as the app would simply fit existing intents into this sentence tree as well as it can. The sentences would simply end up being smaller. The best part is that with the right effort, this sentence tree could act as an 'Intent builder' for existing android apps. I bet I could build a handler for the tree that would get me through the above demonstration with the standard Gmail app using known intents. See where I'm going with that?

I would build it myself if I had more time, but I'm def interested in helping (or instructing) anyone who would like to take a crack at it. I think if someone got this idea into Cyanogenmod, we'd have a pretty huge win, and Cyanogenmod would have an incredibly unique UI gem to show off to stock users.

Honestly, I see no way that a system similar to this won't be built and become the standard within a decade. It would be trivially easy to build as well although some of the decisions to be made might not be so easy. So yeah, that's it. Rant over.