1,007
edits
(Created page with ' = Ubiquity 0.5 = The big news here is the new parser, which supports internationalization. We took everything we learned from writing the original parser and used it to create...') |
No edit summary |
||
| Line 1: | Line 1: | ||
= The Purpose of the Ubiquity experiment = | |||
= Ubiquity 0.5 = | |||
Ubiquity is really two experiments in one. | |||
== Pseudo-Natural Language == | |||
The first is an attempt to build a practical, learnable, efficient user-interface using pseudo-natural-language parsing. Parsing and understanding the semantics of natural language in the general case is extremely difficult, maybe even impossible, and IMHO best left to academic A.I. researchers. But maybe it's possible to make an interface which is similar enough to a limited subset of natural language that the user's linguistic instincts will make it easier to learn and use. That's what we're exploring. | |||
== Verbing the web == | |||
The second experiment has to do with the "verbification" of the web. Traditionally the web has been made of "locations", i.e. pages, that you "go" to using a browser. But as more and more of those locations become interactive and offer useful services, maybe it makes more sense to treat those services as things you can "pick up" and "take with you" to use elsewhere, instead of treating them as locations. These chunks of code become '''commands''', the "verbs" of the web, as opposed to the "nouns" that are content-oriented websites. | |||
=== Security plus generativity === | |||
To make this work, we need to solve the problems of how discrete chunks of code can be written and shared (as easily as web pages can) in a way that offers protection from malicious code without sacrificing generativity. Security and generativity are often at odds (c.f. "The Future of the Internet and How to Stop It" by Jonathan Zittrain) so to resolve the paradox we explore new and untested security models such as the proposed "web of trust". If we can find something that works, it could be applied to many other projects as well. | |||
== The benefit for the user is efficiency == | |||
Natural language and generativity are of interest mainly to developers. For the end-user, the benefit of installing Ubiquity is that it gives a faster way to do common web tasks. With the appropriate command installed, you can accomplish something by simply selecting text on a page and invoking a command, as opposed to copying text, going to a different website, pasting it into a form, etc. For all of the complexity going on under the surface, this efficiency boost is the reason people use Ubiquity. To drive more uptake, we should look for more opportunities to write commands that streamline repetitive tasks. | |||
Although there are a nearly infinite number of cool new features that can be proposed for Ubiquity, we should try to stay focused on these three areas: natural language interface, verbifying the web, and increasing the efficiency of the user's internet tasks. Things that aren't closely related to one of these should be considered out-of-scope for the project. | |||
= Planned Upcoming Releases = | |||
== Ubiquity 0.5 == | |||
The big news here is the new parser, which supports internationalization. We took everything we learned from writing the original parser and used it to create a much more robust and expandable basis for future development of multiple-language pseudo-natural-language input. | The big news here is the new parser, which supports internationalization. We took everything we learned from writing the original parser and used it to create a much more robust and expandable basis for future development of multiple-language pseudo-natural-language input. | ||
| Line 19: | Line 44: | ||
* Supports multiple languages: English, Japanese, and Danish at launch; more later. | * Supports multiple languages: English, Japanese, and Danish at launch; more later. | ||
== Community building after 0.5: == | === Community building after 0.5: === | ||
* New command developer documentation | * New command developer documentation | ||
| Line 27: | Line 52: | ||
* Outreach to localization community, to solicit the help of localizers to get Ubiquity working in more languages. | * Outreach to localization community, to solicit the help of localizers to get Ubiquity working in more languages. | ||
= Ubiquity 0.5.1 = | == Ubiquity 0.5.1 == | ||
A few features that didn't make it into 0.5, along with fixes for whatever the biggest bugs are that we discover after 0.5. Notable features (which are almost done, but didn't get in to 0.5 before feature freeze) are: | A few features that didn't make it into 0.5, along with fixes for whatever the biggest bugs are that we discover after 0.5. Notable features (which are almost done, but didn't get in to 0.5 before feature freeze) are: | ||
| Line 34: | Line 59: | ||
* Suggestion memory in parser 2 | * Suggestion memory in parser 2 | ||
= Ubiquity 0.6 = | == Ubiquity 0.6 == | ||
0.6 will be a polish release. After the deep infrastructure work of 0.5, we need to focus on turning the new power of the platform into tangible benefits for the end-user. That means improving the implementation of the standard feed commands for better stability and functionality. | 0.6 will be a polish release. After the deep infrastructure work of 0.5, we need to focus on turning the new power of the platform into tangible benefits for the end-user. That means improving the implementation of the standard feed commands for better stability and functionality. | ||
| Line 46: | Line 71: | ||
* User-defined command aliases | * User-defined command aliases | ||
= Community Building after 0.6 = | === Community Building after 0.6 === | ||
We should have a contest to write the best Ubiquity command -- the most useful, most innovative, and best implemented commands that conform to our human interface guidelines will be rewarded with publicity, swag, and possible uplift into standard feeds to be included by default with future versions. | We should have a contest to write the best Ubiquity command -- the most useful, most innovative, and best implemented commands that conform to our human interface guidelines will be rewarded with publicity, swag, and possible uplift into standard feeds to be included by default with future versions. | ||
= Ubiquity 0.6.1 = | == Ubiquity 0.6.1 == | ||
A few features that didn't make it into 0.6, along with fixes for whatever the biggest bugs are that we discover after 0.6. | A few features that didn't make it into 0.6, along with fixes for whatever the biggest bugs are that we discover after 0.6. | ||
= Ubiquity 0.7 = | == Ubiquity 0.7 == | ||
= Ubiquity 0.7.1 = | == Ubiquity 0.7.1 == | ||
A few features that didn't make it into 0.7, along with fixes for whatever the biggest bugs are that we discover after 0.7. | A few features that didn't make it into 0.7, along with fixes for whatever the biggest bugs are that we discover after 0.7. | ||
= Ubiquity 1.0 = | == Ubiquity 1.0 == | ||
A Ubiquity worthy of being called 1.0 must have: | A Ubiquity worthy of being called 1.0 must have: | ||
edits