Hacker News new | ask | show | jobs
by adminm 457 days ago
I'm curious how you came to the conclusion that naming it 'screen' was the best thing for your project?

It's unusual to see so many negative comments on a new project announcement and yet you persist and even double down with a sarcastic "thanks for your feedback" reply.

1 comments

Sure I can explain it a bit.

I named it screen because the main class is called screen. It was extracted from another library to make maintenance easier. It's not a tool that can ever be used outside of a PHP project, and it has no binary. It's namespaced under SoloTerm.

A nice analogy would be a package named @clerk/auth and then everyone complaining about the package being named auth. I mean it is... but that's not really the full name or how anyone would refer to it.

Most commenters didn't understand any of that nuance and got hung up on a surface level thing that didn't really matter. It was clear to me that the suggestion didn't apply in this case so I thanked them for the feedback. I don't have to take the feedback!

Several other folks commented that it's not really an emulator but rather a renderer. I thought that was a pretty good point and something I was wrong about. So I changed the readme! I thanked them for their feedback as well.

It's no secret that HN commenters lean cynical and can miss the majors for the minors. I just don't want to fight with them! I'm grateful for feedback. Some of it I take and some I completely ignore. As everyone should!

> Most commenters didn't understand any of that nuance and got hung up on a surface level thing that didn't really matter. It was clear to me that the suggestion didn't apply in this case so I thanked them for the feedback.

It's more nuanced than just that.

From your README:

> Solo provides a TUI (Text User Interface) that runs multiple processes simultaneously in separate panels, similar to tmux.

You already provide a tool similar to screen. You even call out one of its alternatives! This will lead to confusion.

Further, from another of your comments [0]:

> I use GNU Screen in Solo, where I also use Solo Screen, so I am aware of it.

combined with

> It was extracted from another library to make maintenance easier.

Looking at the code, Solo is the library you extracted it from. You built a technology on top of an existing, well-known project. Then, you extracted some of your code from it and reused the project's name that your tool leverages in that related library.

This is the first way in which your analogy is not sufficient to support your position.

The second is there is no common, well-known, age-old utility called auth in the auth space for people to co-opt.

To quote duskwuff [1] again [2]:

> They're both pieces of software which implement or interact with terminal emulators; I think some deconfliction is warranted here.

Given the context, I don't think namespacing it is a sufficient approach to reducing ambiguity. Especially since screen is often referred to without GNU.

As for this reason:

> I named it screen because the main class is called screen.

Saying you named it screen because the main class was called that isn’t really a justification - especially when you named the class in the first place.

The willful reuse of the utility's name that powers your code and pithy gratitudes all over this thread, to me, send a message of disrespect for the community at large.

[0]: https://news.ycombinator.com/item?id=43439646 [1]: https://news.ycombinator.com/item?id=43439429 [2]: https://news.ycombinator.com/item?id=43439748

I'm sorry you feel that way.
Kudos to you for taking all the heat and handling it gracefully.

Perhaps adding a screenshot or video to the README.md showing what it does could help people understand it better.

Thanks! I know it's probably bizarre behavior to not debate at all in the comments, but man, life is short.

Good note on the screenshot. There are some code samples but I'll think if there's a way to add a visual. It's tough cause it's just a library that you consume in PHP! But I'll noodle nonetheless.