DHH vs. WHY style


#1

Like to know others general opinions on having a comprehensive library
vs. independent libraries.

In my quest to make Facets’ functionality available in some smaller
parts, I am left with hard choice. I think of it as the DHH vs. WHY
style question, b/c these two well known developers most clearly
reflect the approaches in their work. For DHH (ie. Rails) we have a
number of libs with closely labeled packages: ActionPack,
ActionMailer, ActiveSupport, ActiveRecord, etc. While _why’s libs all
have highly independent packaging with clever names: Markaby, Hpricot,
Syck, etc. Now, I realize that different circumstances have certainly
led to this, eg. Rails is meant as a single comprehensive web-
framework, while Why’s packages are more unique and reflect his
exceptional creatively, but either could have taken the other approach
if they so wished. And in my case (and surely some other large
projects as well), the distinction is not as straight forward.

So my question is, which is preferable? What criteria should one base
this decision on?

To clarify here is my specific scenario. I’ve narrowed it down, more-
or-less, to these Whyish vs. DHHish possibilities:

Aces Facets/CORE
Jacks Facets/BASE
Tapestry Facets/AOP
Comrade Facets/CLI
Fileside Facets/FS
Annote Facets/ANN

A couple of the names I’m not 100% sure about yet, but you get the
idea. I’ve been thinking about this a long time and haven’t been able
to decide what direction to take for future development. It’s most
significant impact, I suppose, is to the require namespaces (‘facets/
aop/’ vs. ‘tapestry/’ for example). The only other solid difference I
have found between them is that some libs don’t mesh well with the DHH
style so those need to be completely separate anyway (for instance, my
modified redistribution of HTTPAccess2).

Thanks for any insights,
T.


#2

Trans wrote:

To clarify here is my specific scenario. I’ve narrowed it down, more-
or-less, to these Whyish vs. DHHish possibilities:

Aces Facets/CORE
Jacks Facets/BASE
Tapestry Facets/AOP
Comrade Facets/CLI
Fileside Facets/FS
Annote Facets/ANN

FacetsCore
FacetsBase
FacetsAOP #(if that is an acronym)
FactesFileside
FacetsAnnote

or turn that around:
CoreFacets
BaseFacets
AOPFacets
FilesideFacets
AnnotateFacets

This seems to be the most pronounceable to me, and leaves room for
others. You should go with the Rails way, as you have a common framework
already (facets) in use, and keeping the name facets makes transition
easier for the existing user base.

My 0.02EUR


Phillip “CynicalRyan” Gawlowski
http://cynicalryan.110mb.com/
http://clothred.rubyforge.org

Rule of Open-Source Programming #5:

A project is never finished.


#3

On Thu, 26 Apr 2007 03:16:52 +0900, Trans removed_email_address@domain.invalid wrote:

So my question is, which is preferable? What criteria should one base
this decision on?

For me, the main criteria when deciding whether to give packages related
names is the level of interdependence between them. If they’re mostly
all usable in isolation, there’s no reason to give them related names.

-mental


#4

What are people “buying” so to speak?

Do I want a “Facets”, or an AOP framework? If I want AOP and CLI, do I
want
them bundled, or separate? What do I get for them being together? What
does
Facets add to them?

Also, consider branding/marketing considerations. Publicity requires
naming
that enables discussion and clarity of what you are discussing. What is
Facets? What kind of publicity (market discussion and understanding)
does it
generate? What is Facets/CLI? Can a name like that generate publicity?

Comrade, a CLI framework for building command-line tools, is an
interesting
discussion. Now what does Facets add to the discussion?

Facets/CLI ties CLI to a meta-brand, but what does the meta-brand mean?
Does
it strengthen the position of CLI (interoperability?, a common
extensions
meta-programming model? ), or weaken it (a partial CLI, rather then a
full-fledged CLI framework).

ActiveRecord actually has a brand separate from Rails because of the
name,
and the high-level of publicity regarding it’s model for ORM. The
separate
name helped- people talked at length about ActiveRecord, separate of
considerations of Rails. This helped strengthen the Rails brand
(full-stack

  • ActiveRecord= fast development).

Then there are the use-cases regarding library usage. Do the components
work
together? Is this valuable? Is this their purpose? Are the components
supposed to be best-in-class, or convenience items by virtue of
bundling.

I don’t know much about Facets, but my question is what value Facets
adds to
CLI and AOP in the users mind.

On comprehensive libraries in general, what makes it worthwhile? What
kind
of thematic or practical bundling adds value?

To me, comparing Rails to Why’s packages seems to be the wrong approach.
You
want to look across broader vistas for similar packaging of disparate
features. What Unix equivalents are there, and what drove the bundling?

Cheers,
Nick


#5

On Thu, 26 Apr 2007, Trans wrote:

To clarify here is my specific scenario. I’ve narrowed it down, more-
or-less, to these Whyish vs. DHHish possibilities:

Aces Facets/CORE
Jacks Facets/BASE
Tapestry Facets/AOP
Comrade Facets/CLI
Fileside Facets/FS
Annote Facets/ANN

For Facets, something out of the second column. If I see a discussion
about Jacks, I may not know what in the heck it is, but if I see
Facets/BASE, I’ll have some useful information.

Kirk H.


#6

On Thu, 26 Apr 2007, Trans wrote:

Syck, etc. Now, I realize that different circumstances have certainly
or-less, to these Whyish vs. DHHish possibilities:

Aces Facets/CORE
Jacks Facets/BASE
Tapestry Facets/AOP
Comrade Facets/CLI
Fileside Facets/FS
Annote Facets/ANN

Well, the names first column are library names that don’t have any
imediate meaning to me and moreover overlap with other libraries’ names
(Aces (distributed programming c-lib), Jacks (sound system), Tapestry
(java-lib?)), so they might be funny and clever but not helpful.

The second column pretty clearly says what a library is about.

So I’d prefer use/helpful to funny/clever.
*t


#7

On Apr 25, 2007, at 6:47 PM, James B. wrote:

What is
Facets? What kind of publicity (market discussion and
understanding) does it
generate? What is Facets/CLI? Can a name like that generate
publicity?

WWSGD?

(What would Seth Godin do?)

EWHWDO

(Exactly What He Would Do Otherwise)

Don’t pick a weird name like Amerthrall (I just made that up). A good
bet is always something simple. For instance, CitiBank doesn’t
really generate conversations like OOTS generates laughs, but it
sticks with people and is easy to remember.

JMT
~ Ari
English is like a pseudo-random number generator - there are a
bajillion rules to it, but nobody cares.


#8

Tomas P.'s Mailing L. wrote:

Tapestry Facets/AOP

So I’d prefer use/helpful to funny/clever.
*t
+1.


#9

Nicholas Van W. wrote:

does it
generate? What is Facets/CLI? Can a name like that generate publicity?

WWSGD?

(What would Seth Godin do?)


James B.

“The use of anthropomorphic terminology when dealing with
computing systems is a symptom of professional immaturity.”

  • Edsger W. Dijkstra

#10

Tomas P.'s Mailing L. wrote, On 4/25/2007 4:39 PM:

ActionMailer, ActiveSupport, ActiveRecord, etc. While _why’s libs all

Well, the names first column are library names that don’t have any
imediate meaning to me and moreover overlap with other libraries’
names (Aces (distributed programming c-lib), Jacks (sound system),
Tapestry (java-lib?)), so they might be funny and clever but not helpful.

The second column pretty clearly says what a library is about.

So I’d prefer use/helpful to funny/clever.

+1


#11

On 4/25/07, Trans removed_email_address@domain.invalid wrote:

To clarify here is my specific scenario. I’ve narrowed it down, more-
or-less, to these Whyish vs. DHHish possibilities:

Aces Facets/CORE
Jacks Facets/BASE
Tapestry Facets/AOP
Comrade Facets/CLI
Fileside Facets/FS
Annote Facets/ANN

After thinking about this for about 3 seconds, I like the whimsical
names. _why is cool.


#12

On Apr 26, 2007, at 8:12 AM, Bob S. wrote:

After thinking about this for about 3 seconds, I like the whimsical
names. _why is cool.

It has been interesting hearing everyone say that the right side is
so much more helpful. I have heard Facets is a collection of
extensions and I’ll assume CORE means extensions to Ruby’s core, so
maybe I get the first one. The second one means nothing to me though.

I also don’t think whimsical names have to be unhelpful. When I
ported File::ReadBackwards from Perl, I named my version Elif. I
guess you have to “get that” before it helps, but I had to know what
Facets was to even make guesses about the more helpful names. Seems
pretty comparable to me.

So, I guess I’m a rebel: I like cool names.

James Edward G. II


#13

On 4/25/07, James B. removed_email_address@domain.invalid wrote:

Also, consider branding/marketing considerations. Publicity requires

There you go! Trans- it doesn’t matter, just make sure you have a PURPLE
COW!

Or go more old school- WWRATD? (What would Ries and Trout do)

Trans- it doesn’t matter, just make sure you invent or segment a
category
and own a word in the customers mind! It’s all about positioning-
Differentiate or die!

Or WWYD (what would Yoda do)?
The words you chose, important they will become. Power, words have.

Cheers,
Nick


#14

On Thu, 2007-04-26 at 22:12 +0900, Bob S. wrote:

_why is cool.

That goes without saying.


#15

On Thu, 2007-04-26 at 06:39 +0900, Tomas P.'s Mailing L. wrote:

ActionMailer, ActiveSupport, ActiveRecord, etc. While _why’s libs all

Well, the names first column are library names that don’t have any
imediate meaning to me and moreover overlap with other libraries’ names
(Aces (distributed programming c-lib), Jacks (sound system), Tapestry
(java-lib?)), so they might be funny and clever but not helpful.

The second column pretty clearly says what a library is about.

So I’d prefer use/helpful to funny/clever.
*t

-1. I’d prefer the distinguished libraries to have their own brands, so
that they can be more easily discussed in isolation. Standard libraries,
on the other hand, ought to have descriptive names.

Cheers,
Daniel


#16

On Apr 25, 12:16 pm, Trans removed_email_address@domain.invalid wrote:

Like to know others general opinions on having a comprehensive library
vs. independent libraries.

I’m confused as to what you’re asking about - using a common naming
scheme, or having monolithic libraries versus smaller ones?

(The above bit I quoted would make the answer seem clear, but the rest
of the message seems to be about names.)


#17

James Edward G. II wrote:

I also don’t think whimsical names have to be unhelpful. When I ported
File::ReadBackwards from Perl, I named my version Elif. I guess you
have to “get that” before it helps, but I had to know what Facets was to
even make guesses about the more helpful names. Seems pretty comparable
to me.

So, I guess I’m a rebel: I like cool names.

I stand with you! Raise the black flag!

My main concern with purely descriptive names are that they may not pass
the Google test. That is, if someone mentions it in a post and I want
to learn more, a reasonable search (e.g., ruby+code-name on Google)
should bring it up in the top 10.

I’m not advocating the use of stereotypical Web 2.0 -style names, but
they need not be dry and lifeless.


James B.

“In physics the truth is rarely perfectly clear, and that is certainly
universally the case in human affairs. Hence, what is not surrounded
by
uncertainty cannot be the truth.”

  • R. Feynman

#18

James B. wrote:

I stand with you! Raise the black flag!

My main concern with purely descriptive names are that they may not
pass the Google test. That is, if someone mentions it in a post and I
want to learn more, a reasonable search (e.g., ruby+code-name on
Google) should bring it up in the top 10.

I’m not advocating the use of stereotypical Web 2.0 -style names, but
they need not be dry and lifeless.

+1 for whimsical names.

For the past few years I have participated in a charity volleyball
tournament. Being that my vertical jump can only be measured by an
electron microscope, my chief contribution to our volleyball team has
been coming up with colorful team names. So, in the past few years, we
have proudly battled as:

  • The Ruptured Spleens

  • The Irritable Bowels

and the ever popular

  • The Loose Stools

Now, aren’t those name much more fun than the more descriptive:

  • Six Old Farts Who Can Barely Walk, Much Less Jump And Therefore Should
    Not Be Out Here Playing Volleyball

Jamey


#19

Sammy L. wrote:

  • The Loose Stools

On the whole, were you all a pretty crappy team?

Well, we didn’t have a lot of time to practice together, so I guess you
could say we lacked consistency. :wink:

Jamey


#20

Jamey C. wrote, On 4/26/2007 10:32 AM:

For the past few years I have participated in a charity volleyball
tournament. Being that my vertical jump can only be measured by an
electron microscope, my chief contribution to our volleyball team has
been coming up with colorful team names. So, in the past few years,
we have proudly battled as:

  • The Loose Stools

On the whole, were you all a pretty crappy team?