Hacker News new | past | comments | ask | show | jobs | submit login
Interface Ideas for Chat Apps (prabros.com)
133 points by prathyvsh on Dec 2, 2022 | hide | past | favorite | 64 comments



I'm a little confused... I feel like most of these exist in some form already? I've seen chat likes, message indicators, notification reply, homescreen before.

Tagging in a chat app seems like it's trying to make a chat app be something it's not. Unless I'm wildly unfamiliar with how many people use chatting. (totally possible!)

That said, the timeline jump is the idea in here that made me say, "ok that is slick" I feel like I sometimes want to go back and find a photo someone sent me several days ago and I, well, don't even bother because I won't even remember exactly WHEN it was sent.


Telegram supports Tags by using Hashtags which are linked an can be clicked on. When clicked, it just invokes the normal search. I mostly use it with the "Notes to myself" feature, where I can write down a quick note.

Telegram also has some form of the timeline view [1] . When tapping a date in the chat, you get a calendar in a month view. If you've sent a photo to that person on a day, that day will have a thumbnail of that photo as a background. It's a pretty hidden feature but I regularly use it to look for messages.

[1]: https://telegram.org/blog/shared-media-scrolling-calendar-jo...


In iOS Messages, if you tap on the icon at the top of the chat, one of the things that gets displayed is a list of all the photos, links and locations from that chat. So as long as you remember who sent you the photo, it should be pretty easy to find.


Except a lot of the pictures aren’t there in my experience. It’s a nice feature in theory, though.


Scroll to the bottom of that slide-up. There may be something that says "X images in iCloud". You can tap "Download" to download them all.

Also: Settings > Messages > Keep Messages > Forever


And, on that note, Settings > [Your name] > iCloud > Messages, too.


I don't now how iOS caches or retrieves that content, but I find it's not super reliable if the messages were more than a few days/weeks ago. When it works it's great, though.


You literally described a use case for tagging in your message when you said “find a photo”


The phone mock they used seems really outdated. Maybe this article is a few years old?


Or as app designers they're designing for devices people use in the real world...


I would love tagging in chat. People send each other helpful or entertaining things all the time, then 6 months later you're trying to find it and you can't remember when they sent it to you.


There's something about read indicators that always gets under my skin, and I'm not entirely why. Partly it's because it works against the idea that chat messages should be treated asynchronously, but It also feels kind of invasive? Like my device is tell on me for being indecisive or anxious about responding. Maybe I'm just weird but I've alway been curious how others feel about that. The snapchat style "currently viewing" indicator makes that even worse.

That said, the timeline and quick switching ideas are very cool. So many chat apps implement a text search and stop there, this is a clever way to find a specific point in time, or find specific non-text content.


Chat isn’t asynchronous. It’s semi-synchronous. It’s hard to have a conversation with someone who is not entirely “there”, and so read indicators give you some hints as to their current level of presence.


Before everyone seemed to migrate to txt messages and iMessage style apps like WhatsApp the only chat app that had a pounce feature for someone offline was ICQ. The paradise of messaging mail was incorporated with chats and thus a common saved history retrieved from a server was normalized. Chat from the IRC days was seen as more of a p2p application with a relay in between. If a user node didn’t exist the user object couldn’t receive messages


That's very true, asynchronous isn't a fair way to describe things.

But given a hint about their level of presence, what are you doing with that information? What can you do after sending the message you were already going to send? Worst case it makes people send "???" as a follow up because they can see I'm coherent enough to tap a notification and assume that means I'm available for a full conversation. The opposite example is the typing indicator, which acts as a useful mechanism to keep a conversation ordered and flowing once it's started. Maybe an argument could be made for the "currently viewing" indicator being more useful, since it solves the problem of indicating I'm available for a conversation better than just "read y/n".


1. Dismiss the notification instead of opening it.

2. Before read receipts, I used to get very anxious about whether I was being ignored, now I can see that the other person simply hasn’t seen the message. Was that a personal problem? Yes, and frankly it probably would be significantly less of an issue now that I’m older.


receipts are nice. they add presence. there are a very narrow set of reasons you'd want to disable receipts; most people will happily admit they've disabled receipts so it's easier to avoid people. i sure have


I find there’s a very narrow set of reasons to enable receipts. I don’t like it when products snitch on me for viewing something, or for being currently active.


Here's an interface idea for a feature I miss in the chat app I use the most (Signal): yelling.

It would be great if the app detected that (for instance) something is said in ALL CAPS (or with an exclamation point, or perhaps some more indirect, non-text-dependent, flag set but that sounds annoying) and _changed the notification sound_.

It would be great to signal that I need to e.g. stop cooking and look at the phone now, because something is happening elsewhere in the house, for instance.


This also fills the rift between calls and text.

I argue that calls shouldn't have to be synchronously initiated, e.g. I should be able to join a voice channel once I'm available and the other person should be able to join whenever they're available. This saves a lot of pointless back and forth (can you believe some platforms still don't directly connect people that are calling each other, instead falling both attempts?!).

An easy response to that would be "but I want to be able to send the other person a strong message they have to act on so that we can synchronize". This is an important use case, but you see, it doesn't just apply to voice calls! Why shouldn't I be able to demand someone's immediate attention to a text message?

If I was implementing this feature, I'd probably use the phone's voice call API for the notification.


At the beginning of the century, the Microsoft IM platform "MSN Messenger" had an elevated notification system called "wizz" that would literally make the interlocutor's window shake to attract their attention.

Video (in French but pretty clear visually): https://www.youtube.com/watch?v=LMaiUS6jkn0

I agree this could be useful in some cases.


It was "nudge" in English (en_GB at least), "wizz" means something different over here :P


Oh interesting! explains why I could only find videos in French


You used to be able to buzz the other person in Yahoo Chat


If someone needed your attention, wouldn't they just call you? Or walk in to the kitchen?


They are typically busy occupying our two kids, so chatting (which is more or less constantly on-going) is way more practical and faster.

Writing "COME NOW!" takes two-three seconds, calling is nowhere near that.


Can confirm. In particular, when lulling a child to sleep, an IM sent from a phone is about the only way of communicating that won't wake the kid up.


Some people actually type like this regularly though so I could also see this being annoying


Product managers who exclaim everything they write to instil a (cringy) sense of excitement and presence.


Yes, the feature should only be active on designated people. I would only enable it for my partner.


Anecdotally, my own current UI gripe in iOS messages is identifying different variations of groups containing mostly the same people.

- My family - My wife's family - Both of our families - My family but only those nearby - My family but only those attending a specific event - My family but minus one person

The current "facepile" approach really fails in distinguishing them... we've all been making mistakes sending messages to the wrong subsets.

I know that it's possible to name groups, but it's not something that I always remember to do (or care to do, for a transient conversation)


All chat apps (that I've seen) are such a huge step back in usability from email. It drives me crazy that I can't selectively mark messages are read/unread. Or that there's no threading. Or that I can't filter based on my criteria into different folders.

And since these are proprietary apps mostly on proprietary protocols I also can't hook my own code into it to fix the problems.


Threading: You're right. But I tend to find the UX around grouping to be confusing and hate the cruft of signatures. Besides, why do seemingly all E-Mail clients want to show the text at full width? That turns the majority of E-Mails into one very wide line. Not only does that look dumb, it's also very far from the optimal reading width.

It may be "outdated" or whatever, but adoption wise E-Mail is an amazing protocol. But show me a client that doesn't suck (my current favorite is mailbox.org (io/ox) with some customizations (https://gist.github.com/solarkraft/6afcfff8d5283cefad40695c9...) but that too is far from perfect).


> But show me a client that doesn't suck

mutt ("All mail clients suck. This one just sucks less.")

Yes, it's text. It's also extremely customizable, the polar opposite of the current fashion of locked-down proprietary clients where nothing at all is customizable. Mutt is amazing.


> And since these are proprietary apps mostly on proprietary protocols I also can't hook my own code into it to fix the problems.

I think Apple lets you leverage their Messages API (Disclaimer: I have not done so).

https://developer.apple.com/documentation/messages


This wouldn't work for, say, programatically marking messages read or unread.


Maybe you should just stick to email then.


It's unfortunate that this focuses on mobile. Messaging on mobile is a solved problem mostly. It's the desktop that stopped getting its unique treatment 10 years ago. At this point every single desktop IM app looks like a tablet app in a window. And it's always a single window, too.


Discord, discord, discord, discord. But for real though it's the only app doing any kind of innovation in the space. My friends and I switched to it from GroupMe and by god the absolute power. Channels, per channel notifications, sane mentions, reactions that aren't awkward, threads, actually useful bots, screen sharing, voice chatrooms that don't suck, spoilers, embeds, nsfw tagged channels, real formatting, really fast search, channel topics, pinned messages.


I use it to rate limit myself to not flood someone with texts.


> Messaging on mobile is a solved problem mostly.

It's obviously improvable. My chat apps (whatsapp, telegram, element) on my iPhone only have a few of the exposed features.


> it's always a single window, too

What do you mean... you want a separate window for the list of contacts, or a separate window for each chat, etc?


Yes, I want a separate window for the chat/contact list, and I want a tabbed chat window so I could keep the chats I'm actively engaged with at the moment open and easily accessible instead of having to hunt them down in the chat list every time I switch between them. Seemingly every desktop IM app in the 00s did implement some form of this, but then touchscreen phones and tablets happened.

I also want things that don't have to be modals, like profiles, to not be modals. Again, this ain't a phone where you can only have one view controller on the screen at a time. I also want the media viewer to not take over my entire screen but be a regular window that plays nicely with the rest of my desktop.


I just want to be able to tag an outgoing message with #silent to signal to the receiving device that I do NOT want to notify the recipient with a sound (for people or houses with babies that may be sleeping).


telegram has a silent message option


I love the tagging (bookmarking) of specific messages. For example, sometimes on Whatsapp I talk with people who have used some of my products and they give some stellar testimonials and would love to bookmark them and view them across the chats. But can see this helping me in many ways.

Also like the locking of specific messages. And the timeline.


How old is this?

> Prototypes shown above are fully programmed in Quartz Composer by Apple.

> The bouncy animations in the interfaces are powered by Origami, A Quartz Composer plugin from Facebook.

Quartz Composer has been deprecated for years now and Origami is now a standalone piece of software.


Their recent tweets suggest this post is fresh. Happy to see people still using Quartz Composer, that software was very innovative for its time.


I love those recall features (tagging and timeline). Too many chat apps are built for fire & forget messaging, with finding older messages as an afterthought (or not present at all).

Case in point, I was trying to find a message in my Google Hangouts chatting history today, and I just found out that it's now split between "chats", "spaces", and "legacy hangouts". Chats that I've made from (what appears to me as) the same place seem randomly spread between those three. What a pain if I need to try a few different keywords.


Yeah, the timeline feature is a really nice solution compared to the kitchen sink of images that most chat apps do.


I like the timeline view. Generally speaking iMessage searching is absolutely awful. Good luck scrolling back a year in a chat with someone you message frequently (in my case, my girlfriend). Literally took me over 2 hours to go back 11 months. All because some of the words weren’t properly searchable.

And don’t even think about looking for previous pictures in the conversation “info” view. Most of them aren’t there.


If you want to query your iMessages, you could make an unencrypted backup to your Mac, inside which exists a SQLite db of all your chats.


I hope more people start using the matrix.org protocol so we can all start benefitting from being able to implement and use such features easily!


I'll share my idea, for Messages in iOS.

When you long press a message, you get a menu with Reply, Copy, Translate. I'd like to add "bookmark" to that list.

How to then access that list of bookmarked messages? When you click on the search bar of all messages, there are sections for links, photos, etc. I'd like there to be a section there with all bookmarked messages.


I'd like to support ID verification of the person you're chatting with.

If I want to chat with someone from FB marketplace (or a girl from a dating app), there is very little tooling available to verify they are who they say they are and not a collection of fake scam profiles.

Zalo has a neat feature that lets you "search" through contacts and messages, but if you search a magic pin code, it shows you hidden conversation views that don't show up in the regular search / recent conversations list.

If anyone is interested in building something to help with the identify issue, hit me up!


> We chose to use TouchID here to unlock the messages. One could also use a passcode or a FaceID instead.

I can visualize the painful security discussion with the PM/UX there. Sends me shivers.

"just use the thumbprint to protect it!"


Grouping bubbles is such low hanging fruit and makes scanning so much more simple, love it!

Tagging is great. I feel like being able to great your own graph of data from any app on your phone would be a cool api.


These are not "interface ideas", it's just a description of the telegram phone app.


How do I access that timeline feature in telegram? That's really slick!


There's no specific "timeline". In channels, once you reach the end of posts, swipe and pull up, and you are taken to the next channel. Channels work as broadcast lists (with unlimited subscribers). This is not determined by algorithms. You manually have to subscribe to a channel.


An exploration of interface design ideas for chat applications.


Could someone please explain what Rationale is supposed to mean in this context? Why is it under every interface idea?


It’s the explanation of why the author wants the feature to exist.


Really pretty!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: