Posted
by
timothy
on Thursday February 25, 2010 @06:08PM
from the no-man-it's-everywhere dept.

darthcamaro writes "Remember Mozilla Ubiquity? It was an effort to bring natural language commands to the Firefox browser. Now after almost two years of development and a half million downloads, the project is no longer being actively developed. Project founder Aza Raskin is now working on other projects, including Mozilla Jetpack, so Ubiquity is on the back burner. '"There is huge demand for being able to connect the Web with language — to not have to move from one site to another to complete your daily tasks," Raskin said. "And there is huge demand for anyone to be able to write small snippets of code that lets them command the Web the way they want. Ubiquity gave everyday developers a voice with how the browser and the Web works."'"

It happens to a lot of OSS projects. Suddenly the developers interest just dies and they start doing something else. Just like in our childhood we coded some funny little game for a day (not that I didn't make some cool stuff back then:) and then started on an another project. It needs more motivation to continue some project past the starting interesting.

With closed source/proprietary projects it usually happens for different reasons, mostly income being the reason. With proprietary projects there will always be coders, and the existing coders will stay coding, because there is income involved with that. Money is a good motivator to continue doing projects you otherwise would had lost interest on.

Great example of this is really the games. Gaming industry develops some really stunning games, and theres big corporations like EA, Activision Blizzard and Ubisoft and then theres the small indie developers and everything in between. But what about open source games? They're mediocre at best, almost always unfinished, and otherwise pretty much shitty. These are long projects, taking up to 500-2000+ men work years to finish, and the quality difference in that comes from the fact that the developers are paid to have the interest to finish the product instead of jumping to their latest new idea.

Like, have you seen the graphics man? You'd never be able to sell that nowadays! No one cares about all that strategy shit anymore, that's soo last decade, we're sophisticated now and demand photorealistic graphics!~

But has there been any open source games that are good at story, art, animation, music, dialog and vocal performance? Those are actually the things that are missing in them most of all. As someone here points out [slashdot.org], there's technical problems like path finding etc too, but some of the games are technically ok (like nethack, as the previous poster mentioned). But they all lack that polished art, music and story even more.

Polished art, story and music Battle for Wesnoth, and to top it off it's the best turn-based tactical game ever (HoMM? bleh. KB? good, but Wesnoth is better).

But there are huge problems towards developing story-based open source games, which Wesnoth averts mostly by making it extremely easy for a single man to create a campaign of his own: single-player games you usually play once, twice at most. Hard to keep interested in improving a game when you've already played through it a dozen times, and you know yo

No, it looks like somebody tried to rip-off Team Fortress 2 in the Unreal 1 engine. If your engine can't do curved surfaces properly, they could at least not make map designs that rely on them. (Look at the curved pipes, and the undoubtedly-supposed-to-be-round badge on the back wall.)

Why? Modding already exists for that purpose. The game industry has already solved that problem on their own, they don't need open source to come up with an alternate, shittier solution.

For one thing, modding lets artists and designers work with finished, modern games engines. Whereas your open source solution would involve them digging around in source code for months or years before they could even start on the actual game.

Who's more valuable to a games developer? Someone with an intimate knowledge of the

They're mediocre at best, almost always unfinished, and otherwise pretty much shitty.

That's probably because they don't have code monkeys to whip into 100+ hour weeks before the holidays. Also those games aren't exactly declared "complete".

hese are long projects, taking up to 500-2000+ men work years to finish, and the quality difference in that comes from the fact that the developers are paid to have the interest to finish the product instead of jumping to their latest new idea.

Keyword: finish. Most open source games are so huge in scope/vision that most would-be developers looking at it are scared away for good. Compare the Linux kernel: when it started out, its main feature was that it booted, and Linus explicitly stated in the announcement that it "won't become big like HURD or Minix".

With proprietary projects there will always be coders, and the existing coders will stay coding, because there is income involved with that.

Actually, proprietary projects often die because of lack of income involved in them. Just because something is proprietary doesn't mean it is bringing in money to support continued development (contrariwise, just because something is open source doesn't mean its not bringing in money.) "Open source" doesn't mean "not profitable", and "proprietary" doesn't mean "profita

It happens all the time in closed source projects too, you just never hear about them

If a tree falls in the woods and I don't hear it, do I care? No. Open source is generally publicly known, especially if it is a large project, so I do feel a bit of remorse when I know a project has been abandoned by its lead.

Yes but the difference between OSS and proprietary software is that if the main OSS developers just lose interest in the project, the project can be forked/development work taken over by another part of the OSS community. The question is whether there is enough interest in the OSS community to resurrect Ubiquity.

Yes but the difference between OSS and proprietary software is that if the main OSS developers just lose interest in the project, the project can be forked/development work taken over by another part of the OSS community.

Sure in an ideal world. In the real world, though, it just means the project stagnates and dies.

If the product stagnates and dies it means no one cares about it enough to put in the effort it takes to fork and actively lead a FOSS project. Personally, I think that's a good thing because it means most FOSS is either well supported by some sort of community or else it is too marginal to bother with. It means the community serves as a litmus test for quality. If there are three active developers then maybe it won't be as good as if there are 300. Also, bear in mind that FOSS is a volunteer effort. T

You have forgotten that what developers are willing to invest time in is a form of artificial selection that does not reflect what the market-at-large wants or needs.

Developers are a breed unto themselves and you can plainly see the effect that this has on (for example) GIMP, where there is a very big market for a decent photo editing and manipulation package (as Photoshop will attest), but GIMP falls way short on the usability/accessibility department. It is because GIMP is written FOR developers, rather

It happens a lot to closed source projects, too, though since it is more likely (in either project) to happen when a project is in a state before it is consider "ready for prime time", its a lot less visible in closed source projects, since they aren't as likely to be widely available at that stage.

I just watched the Ubiquity video again for the first time in years to refresh my memory. It's pretty awesome. But it's also a pretty major project that Mozilla can't really do themselves. Web sites need to implement "verbs" for it to work. And browsers other than Mozilla need to implement it too.

That said, I hope it comes back to life and improves. Hey, maybe this/. post will entice some readers to become Ubiquity developers. Maybe Google can help too and bring it to Chrome - and I don't mean as an extens

You might also say that Raskin works from a different definition of "Huge Demand" than the rest of us.

"There is huge demand for being able to connect the Web with language — to not have to move from one site to another to complete your daily tasks,"

Ah, no, Raskin, there isn't a huge demand for this. I don't want to deal with my bank account while logged into Google, and I don't want to have every thing I do on the web done from one place.

"And there is huge demand for anyone to be able to write small snippets of code that lets them command the Web the way they want.

Again Wrong Wrong Wrong. Less than.002 percent of web users have even the slightest desire to command the web the way they want, and even fewer want to "write snippets of code". Its time to expand your world view beyond your hacker-cave.

Ubiquity gave everyday developers a voice with how the browser and the Web works."

"Everyday developers"? WTF? So finally at the end of the quote it becomes clear he was talking about 1/1000th of web users, the people who use the web for development daily, who probably managed just fine without Ubiquity.

Exactly. And further, people that tend to make grandiose proclamations like this frequently and conveniently neglect the technical "how", which often ends up being a huge amount of work if not virtually impossible. I've seen the pattern many times in the context of big data warehousing projects that are supposed to magically unify all knowledge in the company and make everything better. They never do. This smells like the same kind of "if we wish hard enough, it will happen" project.

"Everyday developers"? WTF? So finally at the end of the quote it becomes clear he was talking about 1/1000th of web users, the people who use the web for development daily, who probably managed just fine without Ubiquity.

This project deserved to die.

I agree. I was one of those "everyday developers", and one afternoon quickly put together the first ROT-13 encoder for Ubiquity 0.1 (link [me.com]) (probably one of the first 20 Ubiquity plug-ins). I added it to their Wiki, and registered it with Ubiquity Herd. I watched it for some time to see the number of people who were using it, and was happy to see a variety of people doing so. It was simple, well debugged, and worked as expected.

Some time later, they upgraded Ubiquity, and required all of the plug-ins to

Half a million downloads may be a lot, but lets put that in perspective. From addons.mozilla.org: over 1.8 bln downloads for 109 mln add-ons in use. That means 17 downloads for one use. Or only about 30,000 users for Ubiquity. AdBlockPlus, the most popular add-on, clocks almost 900,000 downloads weekly, for a total of over 72 mln downloads now. Even geeky NoScript is doing almost 400,000 a week.

If there were really great demand, then someone would have stepped in and continued develo

Well I do, and I hope it stays at least supported. The shortcuts for mapping, mailing, and translating are very handy. I also frequently use the 'define' command when reading. I generally have 60+ tabs open, and use the tab selection command. When someone asks "just how many freakin' tabs do you have open?", I use the 'count-tabs' command.

Its not popular, because it makes already simple tasks, slightly simpler after a gentle learning curve. However those new skills are not portable to other browsers or applications. I said the same thing when it was introduced, and it looks like I've been proved right.

yes in theory. in practice, this what i've seen. even in a corporate environment where people are paid to maintain and enhance the old code, the new developers never quite "get it". they are able to fix bugs and add features all right, but it's done with without a vision of the overall project. the result is the code slowly loses maintainability and eventually needs to be re-written (or tossed).

maybe this is poor engineering, but it could also just be physiological. developers are less interested in code when they do not feel ownership. coming in and learning someone else's methodology that you probably don't agree with or even like is just not fun. when developers are paid to do it, they get the job done but don't follow through with the care they would otherwise have if they wrote the code from scratch.

Indeed. The healthiest open-source model seems to be to have different programmers on the development team who differ a great deal; if one has to leave, the other could take over, so that the project could be sustained through introducing new developers. But a single programmer picking up old code and trying to work through it by himself, especially something that would be as tangled a mess as this probably is.

Sir, while I appreciate your insight, I believe your entire post is as unmaintainable as the code that you are discussing would become.
You lack any proper sentence structure making it very difficult to understand what you are trying to do. I recommend, as a start, that you should use some capital letters at the beginning of a sentence; and, read up on proper comma use.

Lesson to be learned: do not only document code, but also project vision, in an inspiring way which does not only reach peoples minds, but their harts as well. Make percieved project ownership viral in some way

Not just decent comments on all functions, but a separate document that binds it all together, explaining bigger image of things: the architecture of the project, its flavors, design patterns used (where, why and how), things missing or that could be done better, caveats of "touching this innocent-looking thing will break X", and so on. But above all, the big image of things.

Every sensibly done project is usually up to ten big modules strung together in

Seems a bit counterintuitive, doesn't it? If I'm putting code with my name on it out there for everybody to see, I'm probably going to do my best to make it all purdy-like. OTOH, I've seen more than one corporate environment where upper management cares about nothing beyond "can we ship it?".

Your closed code may indeed be meticulously designed and documented, but unless we can see it we'll just have to take your word for it.

Ignoring whether or not it being free software makes a difference - every software company tried its hand at it in the 90s. Their main justification for dropping it was that "the technology isn't advanced enough". It all seems to be part of an attempt to copy Star Trek's tech and use voice commands for computers. In reality, voice commands are incredibly inefficient and imprecise, and it's virtually impossible for a piece of software to try and sort through accents, dialects, and mumbling to guess at the true intent.

Not trying to be an annoying "see, I knew this" jerk, but really, this project was so far reaching and poorly defined in how much it should cover, that it was hard to even grasp what the end result should be, and thus also how to support the project. I'm not sure about others, but I have a much easier time building excitement for a project I know what the end result is supposed to be like, than something where the focus is on writing abstract documents on how the browser should more easily be able to be told what you want, and better ignore technical URL's... or something.

Well, yeah, that's an awesome idea, and so is being able to speak to an OS in a few words, and not have to go through the annoying process of clicking on five different icons and buttons to get there.

But it's also far reaching in scope, and not enough narrowed down. There were some concrete stuff done in it, but it felt like features sprawling in different directions, with no sense of direction. Being able to surf to Google Maps more easily, etc, but really with the extension wanting to do more. Hmm.. The article goes on with this

While conceptually, Taskfox and Ubiquity might seem similar, Raskin noted that Taskfox is actually quite different than Ubiquity.

"Taskfox is integrated directly into the URL bar and has a simplified grammar," Raskin said. "It's more accurate to think of Taskfox as a separate product which is Ubiquity-inspired, which has the potential to evolve towards a richer, more Ubiquity-like interface."

Rephrased, I think Taskfox has the right idea here. Software sometimes need to evolve from something more simple, but with a well-defined feature set, and *then* into something more advanced. Or you'll get software with ill defined scope in terms of features in practice, with less motivated developers behind it. Like Windows Longhorn. Or Ubiquity.

Mozilla Labs has started out on some great projects but they don't seem able to make it out into wider use. What happened to Weave, it's been kicking around for years? Ubiquity, a great start with developer/hacker interest, but the ball dropped.

I'm worried for how able Mozilla is to compete against the threat coming from Google and Chrome at the moment. Their core browser is falling behind on speed and stability and I think they'll find it hard to catch up given the size/age/complexity of the Firefox cod

I'm worried for how able Mozilla is to compete against the threat coming from Google and Chrome at the moment. Their core browser is falling behind on speed and stability and I think they'll find it hard to catch up given the size/age/complexity of the Firefox codebase compared to Chrome. Google had the opportunity to start from scratch with the knowledge of all the browser vulnerabilities in the last decade and have a much better architecture for security and stability. It's almost unfeasible for Mozilla to refactor firefox to match.

I'm not too worried about convergence or competition between Firefox and Chromium. The way I see it, someone can only switch from Firefox if they either (a) don't use add-ons, (b) can part with the add-ons that they do use, or (c) can find equivalent add-ons in Chromium's library. So, Firefox is going to be for those who need the all-in-one browser that will make a sandwich for you while a javascript/flash-ridden page loads (provided you install the add-on), and Chromium* is going to be for people who jus

Mozilla Labs has started out on some great projects but they don't seem able to make it out into wider use. What happened to Weave, it's been kicking around for years? Ubiquity, a great start with developer/hacker interest, but the ball dropped.

Sometimes the idea of a "Labs" is to generate new ideas, but not all those ideas are really something that can be productized.

In the case of Ubiquity, it was a great idea at the time (2008) but not well-defined. As a result, I think it wasn't something that (as defined) could be easily integrated into Mozilla.

Google took a much simpler approach ("Let's present context-sensitive links for a user's email, for things we can recognize") and integrated it into the GMail web experience. Interestingly, GMail's we

It's actually been updated recently; it's at the 1.01 release, but they've changed a lot of the options to customize it or at least access them. I even ditched Xmarks in favor of it because of the tab and history sync, and they're looking to add extensions in future releases.. https://mozillalabs.com/weave/ [mozillalabs.com]

Ha. I just went and read about this myself.
Personally I found ubiquity really useful. I loved the way I could select a postcode, press a keyboard combo and then just type "map" to get an interactive Google Map. I especially liked the way I could subscribe to feeds of commands, most of which had a whole host of handy options. The natural language process part of it was simple, but easily good enough for the intended purpose.

The reason I stopped using it was because new versions weren't backwards compatible

I use a bookmarklet with a keyword for the map function. I just type in "gm 31071" and it jumps to http://maps.google.com/maps?q=31071 [google.com], and it worked for directions as well. I have a number of others including for dictionaries, synonyms, and one that used to work on CFR lookups, but broke at some point in the past and which I haven't fixed.

Maybe I'm missing something in Ubiquity's capabilities, but as others have said, I don't know that people are really screaming out for such things, especially if even t

Natural language has been pretty popular for longer than all of recorded history, so its clearly not a fad.

Its also been pretty constantly a goal, for quite some time, to get computers to understand something approximating it for human interactions. For pretty obvious reasons -- its certainly a manner in which humans are generally pretty comfortable interacting.

It never occurs to you twits that if you feel a need to state the obvious, it's because you missed the point. I know, such considerations detract from feeling that the obvious is obvious only to you because you're special just like Mama always said you were.

Natural language (AS INPUT TO A COMPUTER) has always been a fad. That was the context of the statement. Any statements about humans who use natural language to communicate directly with other humans are completely irrelevant, Sparky.

Its been a continuous area of research that has been regularly producing new products and offerings for several decades. There are certainly monents in times where particular approaches or areas of application are transitorily popular and might be remotely fairly described as "fads", but the broad subject itself is very much not a fad, and never has been.

Just to clarify, that's 0.1.9.1, not 1.9 - if you're happy with 0.5 it may be worth considering sticking with Firefox 3.5. I stuck with 0.1 because I found the new command structure annoying (I could have learned to live with it, but ultimately I'd prefer Firefox to be up to date more than I'd prefer the latest and greatest Ubiq;-)

I use Ubiquity all the time for text translation. You just highlight the text, bring up Ubiquity and type translate. IMO this is where ubiquity shines; its hardly bolted on, its a really natural way of instructing the browser to work with the page I have open. Its way more convenient than any other option since I don't have to switch pages/tabs.

Basically, Firefox with Ubiquity had at least 3 things, to do the exact same thing:1. The search input field (top right): Choose a search and enter the query.2. The keyword search (URL field): Enter the keyword (e.g. dict), followed by the query.3. Use Ubiquity, enter the keyword, and the parameters/query.

Of course, Ubiquity was more. Because it was a generalization of [1] and [2] to GET/POSTs with multiple fields.But that could have easily

Can't say I am surprised. I had never heard of it before, so I diligently clicked all the links in TFA. Yet, within a couple of minutes I still wasn't able to figure out what it was.
There were not very useful comparisons with "Launchy", which I haven't heard of either.
May be I need to see a live demo to "get it", or may be it is too ahead of its time, or may be it is just garbage. I really don't know, but either way it isn't surprising that it hasn't caught on.