We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3749
    • 24,544 Posts
    I rant more about everything being "dumbed down" than anyone I know, but how successful would a consumer product be it it used terms like "amplitude" or "attenuation" instead of "volume" and "high-frequency gain" instead of "treble" ?

    In MODx, we’re faced with a lot of situations where there *is* no existing word for what’s been created. No name existed for snippets until we decided to call them that. Even the MODx lexicon is, if you really look at it, a unique entity that didn’t exist until the developers created it.

    In these situations, you first have to decide whether to make up an entirely new word (e.g. scuba, quark, or transistor) or to "borrow" an existing word (e.g. black hole, mouse). Either way, you have to weigh several factors, among them:

    1. The technical accuracy of the term
    2. How well it conveys the meaning
    3. How comfortable users will be with it
    4. How familiar users will be with it
    5. How easy is it to spell, type, and pronounce
    6. How easy is it to remember

    The weighting is subjective so some people favor "lexicon" based on 1, 2, and 5 and others favor "dictionary" based on 3, 4, and 6. Hard-core developers will tend to favor 1 and 2, naive users will favor 3-6 (especially 3). And the rest of us will each have our own weightings.

    Notice that "mouse" in the computer lexicon is terrible with respect to 1 and 2. "Cursor" (from the Latin word for runner) is even worse -- doing pretty badly on all criteria. Still, we use both every day with little trouble.

    I don’t think "resolver" does very well on any of the criteria (not everyone agrees), but given the MODx policy of using single words to describe entities, I’m not sure there’s anything better and I’m sure people who need to use resolvers will get comfortable with the term over time. As an alternative "passenger" is much better on 3-6, but probably not as good on 1, with 2 open to argument.

    If you can get 3-6 without significantly sacrificing 1 and 2 (as I think we did by replacing "foci" with "topics") I don’t think it’s fair to call it "dumming things down." I think "passenger" might fall into this category too, but it’s a close call.

    Far worse than "dumming down," IMO, is the use of technical jargon when it’s unnecessary. I’ve seen both math and computer books that use the terms "ancestor" and "descendant" when "parent" and "child" would actually be more accurate and I think the developers of MODx made a wise choice in using "parent" and "child" to describe document relationships. I’ve always disliked the convention of always using "let x =" when "If x is" would be clearer. And, even after all these years, I’m still annoyed at "foo" and "bar" in explanations where other terms would make the point easier to understand.






      Did I help you? Buy me a beer
      Get my Book: MODX:The Official Guide
      MODX info for everyone: http://bobsguides.com/modx.html
      My MODX Extras
      Bob's Guides is now hosted at A2 MODX Hosting
    • What about pre-processors and post-processors for validators/resolvers? They can certainly resolve and validate things, and it sure sounds like lots of pre/post processing of different flavors can go on in each step.
        Ryan Thrash, MODX Co-Founder
        Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
        • 28215
        • 4,149 Posts
        Quote from: rthrash at Oct 07, 2008, 07:55 PM

        What about pre-processors and post-processors for validators/resolvers? They can certainly resolve and validate things, and it sure sounds like lots of pre/post processing of different flavors can go on in each step.
        A few things come to mind:


        • We’ve already got ’processors’ in the manager context, being the files AJAX calls connect to.
        • Validators/Resolvers have different functionality - if a validator returns false, the object wont install - it validates. I could see that also applying to pre-processor, but it’s not inherent in the name.
          shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com
          • 3749
          • 24,544 Posts
          "Processor" is a pretty general term (more so than validator) and validators have a very specific function.

          The term for validators could be more descriptive though, since conceptually you could validate something after you install it, but I don’t like the alternatives I’ve been able to think of (authorizers, checkers, pre-checkers, gatekeepers, aborters). Aborters is the best from a purely technical standpoint, because they literally abort the install, but it’s out of the question, IMO. The only synonym listed for "abort" is "miscarry" but I don’t think "miscarriers" would work. wink

          Resolvers really are post-processors (at least I think they are), though, so that could work and I don’t think post-processor would be confused with the existing processors. It certainly doesn’t throw up the conceptual block for me that "resolver" does.
            Did I help you? Buy me a beer
            Get my Book: MODX:The Official Guide
            MODX info for everyone: http://bobsguides.com/modx.html
            My MODX Extras
            Bob's Guides is now hosted at A2 MODX Hosting
          • Quote from: smashingred at Oct 07, 2008, 05:51 PM

            Sometimes a simpler term conveys meaning of a concept faster despite its fuzziness because of convention. Engine vs. Combustion Turbine. Engine is fuzzy and vague but it means more to people than the latter.
            Sorry, this is where I suppose I get finicky smiley A combustion turbine does not equal an engine (in aerospace terms, at least) If an engine has any worth, it’ll have a compressor before the combustor and the engine. That’s why I think the terms that have been chosen for Revolution are apt, whilst it’s possible to substitute any number of terms in for what’s been chosen, I just think some of the definition/meaning is lost when it happens.
              Garry Nutting
              Senior Developer
              MODX, LLC

              Email: [email protected]
              Twitter: @garryn
              Web: modx.com
            • Quote from: garryn at Oct 07, 2008, 11:43 PM

              A combustion turbine does not equal an engine (in aerospace terms, at least) If an engine has any worth, it’ll have a compressor before the combustor and the engine.
              @garryn You’re right but when you add context a jet engine is a jet engine and a car engine (was for many years a car engine). Even the new hybrid gas electrics are still an engine and I don’t even entirely know how they work. They work.

              In addition our common use of engine allows for understanding on a gradient. A driver needs only know that the car is powered by an engine. An enthusiast or someone looking for deeper understanding might want to know what type be it diesel, petrol or ethanol powered. A tech will want to know even more detail and want/need more accuracy in definition.

              We all start out with an engine and some will never need to move beyond the simple. In other parts of life we are surrounded by simple names for things for broader reference but specific names for deeper understanding, clarification and specificity.

              Animals: Ape, chimpanzee, Pan troglodytes

              In this example ape is a broad vague term but holds meaning. This could be Gorillas, Chimps or humans but doesn’t mean monkey, fish or car. Lots of people have a basic concept of an ape so they’ll get when we say ape.

              Chimpanzee further defines and offers more specificity ruling out all other apes while still being an ape. People will still get it but some people don’t the difference between chimps and gorillas or chimps and orang utans.

              Finally we have the scientific classification name for a species of chimpanzee Pan troglodytes. Its more specific and even more accurate but fewer people actually know what it means, haven’t even a vague concept of the thing. A few specialists, primatologists, zoologists and other -ologists might know what it is.

              It makes sense then to use the least specific term required to make it clear to the intended audiences and layer detail and clarification through definition as opposed to using the highest level term and decrease the detail through definition.
                Author of zero books. Formerly of many strange things. Pairs well with meats. Conversations are magical experiences. He's dangerous around code but a markup magician. BlogTwitterLinkedInGitHub
                • 4018
                • 1,131 Posts
                Quote from: sottwell at Oct 07, 2008, 05:39 PM

                They ended up resisting anything more advanced than "grapic novels", which in my day were called "comic books", and were just for fun. I would hate to see MODx turned into a comic book system.

                Being that I am a comic book collector, that’s a good analogy. Why does a movie like Iron Man always have to be "based on the graphic novel". It’s a comic book character! The only time I ever refer to any comic as a "graphic novel" is when it’s a stand-alone, one-shot comic that deserves to be described as such. It usually ends up being something that is a little more sophisticated than a serialized comic. So, in some respects you could say that MODx is a "graphic novel". Although at it’s core it’s a "comic book" it can be more sophisticated than just a "comic book" depending on who picks it up.

                Some good points have been made. I’m not entirely against the term "lexicon" being used or any other somewhat abstract term. However, we do need to be sure that these concepts are highly documented and explained when we summarize and describe what MODx is. That way everyone coming to the table for the first time will have already been introduced to the high-level basic terminology they will see in MODx. smiley


                  Jeff Whitfield

                  "I like my coffee hot and strong, like I like my women, hot and strong... with a spoon in them."
                  • 20765
                  • 90 Posts
                  myfriendscallmebill Reply #18, 15 years, 7 months ago
                  I’m joining the game a bit late, and I’ve only spent several hours poring over the Revolution docs and discussions, so I may be missing some critical aspect that forces the use of a special, abstract term (such as "lexicon"), but so far I haven’t found any compelling need for that would prevent us from using the term "language" and the abbreviation "lang" instead of "lexicon".

                  Here’s what I’ve found so far:

                  () The core directory named "lexicon" contains a bunch of files that provide text strings in designated languages. This directory is in parallel with (among others) some directories named "config" and "docs" which are commonly used and understood abbreviations, and their contents seem to be what I’d expect, and since the "lexicon" directory contains what I consider a bunch of "language files", why not just call that directory "lang"?

                  () The Manager has a section called "Lexicon Management", but it would be perfectly accurate, understandable and reasonably intuitive if it were titled "Language Management".

                  () The description in small text under that title is "Here you can manage all the lexicon strings across namespaces in their respective topics." I think that if we substituted "language strings" for "lexicon strings" it would, again, be perfectly understandable and, as far as I can tell, accurate.

                  So what am I missing that is forcing us away from using the common, understandable(?) and apparently accurate term "language" and searching for something special such as "lexicon"?

                  If the driving force is the need in the operational code to reference ’the machine that performs language-based text string retrieval’, maybe as the name of a special object or block of code, why can’t we use a term such as "langMgr" (short for ’language manager’), or "langTrans" (short for ’language translator’), etc., rather than "lexicon"?

                  On the other hand, if there really is a compelling reason to adopt a special term, I do find "lexicon" much more pleasing than: dictionary, glossary, jargon, lingo, etc.

                  FWIW, Bill

                  • Good points Bill.  More and more I’m leaning toward providing a layer of easy to understand names for features on the marketing end to related to the technical names of the classes that developers need to be able to easily relate to the interfaces and components they’ll be building.  For instance, the MODx Lexicon is a part of the Internationalization (i18n) Features of MODx, commonly known as Language Strings.  For the users and designers, they know that they go to the Internationalization menu and select Language Strings (or Culture Strings, my preference, i.e. en-uk, en-us, etc.).  The developers will be the only ones who need to understand that this Internationalization feature is realized using the modLexicon class, which provides a lexicon to store these Language Strings in by language/culture code and the functionality to efficiently include them, by topic, as/where needed.
                      • 3749
                      • 24,544 Posts
                      It’s interesting to find myself on the other side of this issue, for a change. wink

                      I much prefer "lexicon." The thing is, that MODx is, as much as possible, object oriented and the collection of phrases we use to communicate with the user in a particular language is an object (not a function or procedure) and that object is not really a language. It is, in fact, a lexicon, which is a sub-set of words in a language used for a particular purpose.

                      A language has a grammar and syntax rules and a bunch of other stuff the MODx lexicon doesn’t have, in any real sense. Which term to use is a complicated issue, though, because I’ve been familiar with the word "lexicon" for years and, obviously, a lot of people haven’t. That said, if we had used the term "language" for the MODx lexicon, it would have confused me and made it harder to understand what it was and how it worked. It’s true that many people will have to find out what a "lexicon" is but, once they do, I think they’ll have a clearer understanding of the "lexicon" object than they would if we called it the "language" object.
                        Did I help you? Buy me a beer
                        Get my Book: MODX:The Official Guide
                        MODX info for everyone: http://bobsguides.com/modx.html
                        My MODX Extras
                        Bob's Guides is now hosted at A2 MODX Hosting