Why should we care so much about naming as developers? Code comes and goes, but language prevails. When a team is working on a project, they must develop a shared language on how things work, how they're structured, and how to communicate about them.

Case Study: justshare

I use my project justshare as a case study. Currently using enterprise terminology like "content" and "providers," I recognize this language feels disconnected from user intent. I wanted naming that reflected the core action: "just share" something with others.

Five Key Aspects of the Sharing Experience

  1. Discovery/Creation — Identifying or creating items to share (files, links, notes)
  2. Sharing — Distributing items to others through various channels
  3. Access Control — Managing visibility levels (private, friend groups, public)
  4. Engagement — Tracking interactions (likes, shares, comments, derivatives)
  5. Retrieval — Finding and updating shared items easily

Conclusion

While naming matters significantly for project clarity and team communication, there are no objectively "perfect" names. Success comes from understanding your audience and developing language your team can comprehend and work with effectively.