Fabian Guisset wrote:
> 
> "A technology is an API that can be used as the basis for building other
> technologies, and, when combined with other technologies, makes a
> product. A technology alone is useless. It has to be embedded into a
> larger structure to be of any use."
>
> Under this definition fall the following "technologies":
<snip>

You're mixing up two things here. One is the API. The other
is the software that implements it. XUL is an interface. It
needs software to implement the backend. JavaScript is an
interface, but it's useless if you don't have a js engine.

Have a look at layout's outdated docs; it's documenting the
software's internals--stuff that doesn't apply to Gecko's
interaction with other software. I'm not saying that APIs
should be separated from internal docs by a high-level
categorization, but notice that it's not just documentation
of APIs you've put in tech/.

"Technology", as I understand from various discussions here,
is the brick and mortar of applications; "technologies" are
combined to form an application just as brick and mortar are
combined to build a house.

So, how does it hold up in the real world?

> The only exception I can see is XSLT, since it can be build
> as "Standalone", i.e. separately from Mozilla-the-software.
> Not sure what to do about that one. I'd still put it in /tech.

Bending the rules a bit, but not too badly.

Here's a challenge:

Place editor.
http://mozilla.org/editor/
No arbitrary decisions here--defend your placement with logic.
Notice that the editor can be embedded and is used to implement
text widgets--but it can also be used as a standalone application
with an XUL-based UI.

If the structure of /dev cannot handle this gracefully, then it
needs rework. (One option is to flatten the projects in the URI
and categorize with HTML. Then projects can easily change
categorization and even be in two groups at once.)

> Here is my definition of "product"
> "A product is based on, and implements a mix of technologies to form a
> usable "software" on its own. Different products can have different
> implementations for the same technologies." For instance, XBL is a
> technology, but Mozilla implements it and combines it with other
> technologies to form a usable software.

The word you're looking for here is "application", not "product".
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?application+program

As I see it, Gecko is also a product. It is not, however, an application.

> - User Interface docs (specs, ...)
User Interface specs go with their respective application's directory.
It's the software's interface, is it not?

Reply via email to