Alion3064492356 / Sensors-for-RaspberryPi

This repository contains some resources about sensors for RaspberryPi
0 stars 0 forks source link

Nick's proposals for renaming and reordering things #13

Closed njackiw closed 6 years ago

njackiw commented 6 years ago

Nick would like to make some changes to the sensor folder order and document names to improve clarity and easy of use. Please discuss and add COMMENTS to this issue letting me know whether Kuman is okay with me making these changes. (You can approve or reject changes individually.) I would like to make them all in one pass, near the end of the process, so I can update various pieces that depend on them at the same time.

A. Rename 3ColorLED to either RGB_SMD_LED or miniRGB_LED.

Reason: consistency. The 3ColorLED is the same thing as the RGB_LED, just smaller. It is NOT like the 2ColorLED or 7ColorLED -- which meaningfully produce only two or seven colors --- instead it is meant to produce many colors out of R, G, B combinations. Renaming it to RGB_SMD_LED correctly describes it as like the RGB_LED but different by virtue of SMD packaging; renaming it to miniRGB_LED correctly describes it as like the RBG_LED but different by virtue of being smaller. (Both are true. We elsewhere already use the XXX and miniXXX naming convention with reed switches.)

B. Rename Read Me First.xt as 00_ReadMe.txt.

Rationale: this way it will appear before all sensor folders in any alphabetized list.

Afterwards, scan documents to make sure no one mentions ReadMeFirst.txt

C. Exchange reedSwitch with miniReedSwitch in numeric folder order. The mini-reed switch is the easiest (most understandable) magnetic sensor to start with; users should encounter it before the non-mini one. (Even better would be to rename miniReedSwitch as simply reedSwitch, and rename the old reedSwitch as compoundReedSwitch or analogReedSwitch once I understand what it is----see #12!)

D. Rename analogTempSensor, digitalTempSensor, and ds18b20 to three names that make sense together, and reorder folders so that all three are located together.

Rationale: All three are temperature sensors; we should group them together for better user understanding. Current names are confusing --- what is ds18b20? --- and not very accurate. The analogTempSensor is clearly analog: it provides analog output, not digital output. The ds18b20 is clearly digital: it provides digital output, not analog output. The one currently called digitalTempSensor is confusing; it provides both analog and digital inputs, but its current description gives no context for what the meaning of the digital signal might be or when temperature can be said to have "flipped."

E. Rename DHT11 to tempHumiditySensor and reorder so its folder is located next to the temperature sensors, above.

Rationale: All our other folder names are named descriptively, rather than by component identification codes. This is a temperature and humidity sensor and could be called such.

F. Rename things for consistent capitalization and punctuation.

Most of our folder and document names use mixed camelCase, without spaces or underscores, with an exception for the two-digit sensor folder index number, which is separated from the sensor name by an underscore. Thus 06_buttonSwitch or 17_photoResistor are correct examples. Exceptions include acronyms (which should be all caps, like RGB or LED).

Examples of things we'd rename for consistency here: 15_8segment_digital_tube -> 15_8segmentDigitalTube; 19_TouchSensor -> 19_touchSensor; etc.

Alion3064492356 commented 6 years ago

A. Okay, I agree to rename 3ColorLED to RGB_SMD_LED, but I think it is better to add (3colorLed) after RGB_SMD_LED like RGB_SMD_LED(3colorLed), for the reason that this module's name is 3colorLed in our product list, and It will not be modified for the moment. B. It's ok to rename Read Me First.xt as 00_ReadMe.txt. C.It's better to exchange reedSwitch with miniReedSwitch in numeric folder order. D.I think we could locate analogTempSensor, digitalTempSensor, ds18b20 and DHT11 together and put them to the end for the reason that ds18b20 and DHT11 are much hard to learn. E.We could rename DHT11 to tempHumiditySensor as the way to rename 3ColorLED . F.I absolutely agree your suggestions.

njackiw commented 6 years ago

Reassigned to Nick until he actually makes these changes, but no further questions on this.

njackiw commented 6 years ago

For the record, here's a note Leng made in another (closed) issue that's relevant to our thinking here:

-I have rename TwoColorLed to 2colorLED. -[also, "microphone" to ""bigSoundSensor"] bigSoundSensor is much more sensitive to sound than smallSoundSensor.

Important: We would better to try to name these modules refer to the product list. I am going to send you this list via email later. Customers might be confused about the differences between experiment name and name in list. They may have a question"Which experiment is associated to the module in my hand?", and if there are very huge differences, they might feel annoyed.Even though we add some words to describe this difference in README.txt, we still worry about that not all customers would read this file at first. That is the key reason we insist not to change these names too much.

njackiw commented 6 years ago

I want to come back to module names once I've finished the first English pass through all experiments -- that should be our biggest priority now for schedule.

I understand we want to preserve old names---which I have been calling in the experiment "conventional names"----as much as possible (for marketing and internet-reference), while trying to introduce better names where they are useful, and that we'll have a section in READ_ME sorting some of this out.

In this Open Issue, though, I want to continue to track names in our experiments and Kuman product lists that are really terrible in English, so that all three of us can use that information to help make and understand decisions about how we talk about them inside README or *.DOCX, and maybe about how relatively important or unimportant it might be, to try to change them someday "outside" K47 too (e.g. in Kuman product lists).

When I say "really terrible in English" I am not trying to insult anyone! I'm just trying to point out that some of these names are not only unhelpful, they're technically or factually wrong.

So, for example, to call a 4digit-LED controller a "4-bit tube" is technically wrong in two different ways.

1) The word "bit" ("4-bit") refers to a binary digits (0 or 1). A decimal digit (0..9) is called in English a "digit" or even a "decimal digit", never a "bit." The module is a decimal digit display, not a binary digit display! So "4-bit" is a wrong name.

2) The word "tube" refers, in English electronics, refers to devices that conduct current in a vacuum. You find tubes in old (pre-solid-state) amplifiers and old TVs (cathode ray tubes). But an LED is simply not a tube---it was a revolution that replaced tubes! So "tube" is a wrong name.

As I say, let's come back to this in a few days when we can look at everything together and see what improvements are possible NOW that do not conflict with "conventional names" and Kuman's desire to keep those visible, as well as organize the list of improvements we would like to make "someday" just so that knowledge exists in Kuman as a way forward, in moments where it becomes possible to introduce new language alongside old, less effective, words and names.

njackiw commented 6 years ago

oops closed by accident, reopening

njackiw commented 6 years ago

Nick's Proposed Ordering & Grouping

Separate from ReadMe.txt I am hoping to have an Overview or Introduction-to-Sensors Word file designed for the new user. In this document, I have several goals, including introducing each of the sensors very briefly (one line description), and presenting them in "groups" of related functionality. I propose that folder-order in the file directory follow this same order, i.e. that are folders are numbered so that all experiments within a group appear numerically together, and that the numerical series within a single group should move from the "conceptually simplest" sensor in that group to that weirdest, most complicated, or least useful. So in this proposal "by group" is the major ordering principle, and "by complexity" is the minor ordering principle.

This document is also the place where I will address two other important points for thinking about the collection of sensors:

Before I write this Overview, I want to settle on the groups and ordering principle. The following table has my proposal. Please pay most attention to the left two columns: the first is the group, the second is the sensor. So the second column is in the same order I propose we use for our folders. When reviewing this proposal, please ask yourself the following questions

Q1. do these groups make sense? Q2. does each sensor belong in the group Nick's put it in? Q3. does the order through sensors within a specific group make sense, as a progression from "easy" to "hard?"

If the answer is ever no please add a comment here! I'd like to try to finalize this quick so I can rename the folders and write the Overview.

As you come to understand the group concept, I have another question about actual folder names on disk. Right now our collection consists of thirty-eight (or 37) different experiment folders, named like this:

We could keep this structure using the order in column 2 of the table below, or we could introduce "group folders" at the top level, like this:

So, the remaining question is,

Q4. Should we introduce Group Folders like in the above? Or keep it one flat list of folders for all sensors?

Here is the proposed ordering, for your consideration.

group folder (conventional) name "better" name design type
sound & light displays (outputs)      
  2colorLED   output
  RGB_LED   output
  RGB_SMD_LED(3colorLED)   output
  7colorLED   output
  activeBuzzer   output
  passiveBuzzer   output
  laser   output
  8segment_digital_tube 1digitLEDdisplay output
  4bit_digital_tube 4digitLEDdisplay output
light & infrared sensors      
  photoResistor   analog input
  infraredEmitter   output
  infraredReceiver   digital input
  lightBlock   digital input
  flameSensor   hybrid input
  obstacleAvoidance   digital input
  trackingSensor   digital input
touch & impact sensors      
  buttonSwitch   digital input
  touchSensor   digital input
  tiltSwitch   digital input
  metalTouchSensor   hybrid input
  knockSwitch   digital input
  shockSwitch   digital input
  joystick   analog input (x + y) + digital input (button)
sound sensors      
  bigSoundSensor   hybrid input
  smallSoundSensor   hybrid input
magnetic sensors      
  miniReedSwitch reedSwitch digital input
  reedSwitch hybridReedSwitch hybrid input
  analogHall analog input
  HallMagnetic digitalHall digital input
  linearHall hybridHall hybrid input
temperature sensors      
  analogTempSensor   analog input
  hybridTempSensor   hybrid input
  digitalTempSensor(DS18B20)   digital input
  tempHumiditySensor(DHT11)   digital input
       
miscellany      
  smokeSensor   digital input
  rotaryEncoder   digital input
  relay   controller
Alion3064492356 commented 6 years ago

Thank you, Nick! First of all, I completely agree to regroup and sort folders. Secondly, the classification list you provided is exciting.I suggest to put this table below the top level folder, then the corresponding information of the old and new file names in the table. Thirdly, There is a type error in the new names of both 4bit_digital_tube and 8segment_digital_tube. And I suggest not to change reedSwitch because we have no idea about its new name. Finally, we could rename these experiment but we have to keep their old name in this table.

njackiw commented 6 years ago

Hi Leng!

First of all, I completely agree to regroup and sort folders.

Okay, will do this today.

Secondly, the classification list you provided is exciting.I suggest to put this table below the top level folder, then the corresponding information of the old and new file names in the table.

Okay, will do this, including the table in my Introduction doc.

Thirdly, There is a type error in the new names of both 4bit_digital_tube and 8segment_digital_tube.

Fixed (in the table above, which should now be correct).

And I suggest not to change reedSwitch because we have no idea about its new name.

Okay, so we'll keep the "conventional" names here: "miniReedSwitch" (the sensible one) and "reed switch" (the not-so-sensible one :-)).

Finally, we could rename these experiment but we have to keep their old name in this table.

Okay, really? I had thought we'd decided the opposite earlier (don't rename experiments, but put NEW name in their Description DOCX). I'm happy to rename and put old names in table AND in Description DOCX, but please confirm I am understanding you correctly. If so, I will rename folders, files, and contents of Description to use the six "better names" listed in the table above, while making sure that those six experiments mention their "conventional name" both in the Overview table and in the experiment-specific Description.

Alion3064492356 commented 6 years ago

Yes, we can rename modules. However, one principle should be adhered to that only the very unreasonable name should be modified and then be mapped in the table. Thanks!

njackiw commented 6 years ago

Okay, introduction_to_sensors.docx now has proposed text for the introduction. Please read and send me your comments!

Also, pull request #58 takes care of "Yes, we can rename modules. However ... only the very unreasonable name should be modified and then be mapped in the table." That is done, and the unreasonable name is also mapped in the .docx file for those (now reasonably renamed) experiments.

I think this Issue can be closed if you both are relatively happy with introduction_to_sensors.docx.

njackiw commented 6 years ago

introduction_to_sensors has been reviewed and feedback incorporated into a final version. We can close this one!