5 ms·
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface
by lambdaba 5y ago
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
; basically.
(https://en.wikipedia.org/wiki/Unix_philosophy https://en.wikipedia.org/wiki/Unix_philosophy)
- alkonaut 5y agoWhile some of those guidelines offer some value still, end-user programs dealing with text just aren’t ever going to be a thing. People expect to be able to paste a photo or screenshot just as easily as they post a sentence. Requiring a second app to do it (posting a link) isn’t nearly as good a UX as simply pasting in pictures.
- lambdaba 5y agoWell, in practice you can have binary input, as many programs do, but human-readable free-form text is the simplest interface there is. We just need more modern terminals that can handle that.
- yjftsjthsd-h 5y agoThen have the chat client automatically upload to a service and generate a link behind the scenes.
- alkonaut 5y agoThat’s what any client does of course. But the default should be to also display the images (or clickable miniatures). Nothing that can’t be solved in any protocol - but you are both having to duct tape several services (a poor UX for the maintainer of the service) and what you are creating is basically converging on any of the modern alternatives.
- yjftsjthsd-h 5y agoI mean, yes, the idea is to recreate the same-ish experience as the alternatives, but in a modular way; the point is to make it flexible and expose the absolute maximum API surface.
- u801e 5y ago> Requiring a second app to do it (posting a link) isn’t nearly as good a UX as simply pasting in pictures. But what about the UX of other people in the channel? Someone posts an image and the previous text is moved off screen. Now they have to scroll up to read what they were just reading. What about the case where someone posts an animated gif which becomes a distraction that requires you to stop the animation or hide it? What about the case where multiple animated images are posted which forces your client to use a lot of CPU resources to render them[1]? [1] https://mobile.twitter.com/slackhq/status/879755518843252736 https://mobile.twitter.com/slackhq/status/879755518843252736
- alkonaut 5y agoAuto playing animation can be a client setting. As can rendering pictures at all. Regardless, the UX of slack, discord, teams etc. is different from IRC because it’s what people expect from an IM client
- u801e 5y agoThat may be true for personal use, but not necessarily true for business related use. That's because the former case is limited to users who want to use the product precisely because of its features. In the latter case, users are required to use the product as part of their job. Given that, the ideal case would be to not introduce features that lead to a negative user experience.
- alkonaut 5y agoThe same people who use smartphone IM apps in their free time are using corporate IM clients at work. I can't see why business users would be any different. I expect my app at work to be able to do what my at-home IM client does. It could even be the same one. > features that lead to a negative user experience. Any feature can be a negative user experience. There is only one way to see what a majority of users are "expecting" and that is to open the mainstream IM apps in default configuration. The worst case of poor user experience is breaking the expectation that it works exactly like that.