Amr Shawky's Blog

Making a better Social Media

Introduction

What is a ‘better’ social media? My last post on recreating old Facebook made it to the front page of Hacker News, so it’s safe to assume there’s some interest, or nostalgia, for something in the social space that perhaps existed or could exist, but doesn’t.

Like many, I love the internet but dislike modern social media. I’ve basically spent the last year obsessively wondering what I would want from an ideal social platform, how it would work, how it would make money, etc.

PicPocket.io is my attempt at this. The project is far from complete, and the UX is very much a mess. The following is a summary of development decisions I’ve made so far.

There is a blurry line between instant messaging and social apps

WhatsApp has effectively replaced Facebook in most countries, despite the former being an instant messaging app. People who dislike modern social apps are perfectly willing to delete TikTok, Instagram, etc., but not instant messaging, because this would essentially mean becoming digitally isolated from everyone you know.

In fact, I often find I’m mostly reluctant to delete Instagram not because I would miss its content, but because its messenger is a great way of staying in touch with people by sending them memes.

But if WhatsApp already does messages, why does everyone also use the separate, Instagram messenger? Two reasons:

The first is obvious; WhatsApp (despite being the same company) doesn’t allow you to view Instagram posts within the app. They need to suck you in to the content discovery to serve you ads.

The second, and what I believe to be more important, is the notification. The messaging app’s notification sound is well-known, and hearing it means it could be something important, so you’ll always look at your phone to determine the sender/content. This is why almost always, large WhatsApp groups are silenced immediately. Being sent the same notification sound for potentially important messages, as well as moderately interesting content very quickly discourages both the sender and receiver. Whereas, a distinct instagram notification can be safely ignored for later consumption.

What instant messaging does that social apps don’t

Instant messaging apps also exist as a shared space for mass photo sharing, which is a function social apps don’t do well, if at all. Even Facebook, in its desktop form, would allow the user to create an album and ’tag’ users in photos but others couldn’t contribute to it.

The typical solution to this problem is for a group to take photos together and dump them into a group chat.

Another convenience of the messaging app is that after all the photos are shared between the group, its common for people to then re-share on the same messaging app. E.g., you want to show your family some of the photos from your weekend trip with friends.

Two birds, one app

The solution (according to yours truly) is an instant messenger with both a feed and a gallery.

PicPocket.io’s chat, albums and feed interfaces
PicPocket.io’s chat, albums and feed interfaces

Feed

The feed acts as a way to share things with a distinct (or no) notification. Each user gets a unified feed to view things that were shared with them either directly, as part of a group, or shared with everyone.

Restricting the audience

One of the issues that plagued later-stage Facebook was that, once your family joined the platform too, you had to moderate your posts to account for this. Here, posts are scoped either by sharing with everyone you know, or by specifically selecting groups/individuals who’s feed the post appears in. Since we conveniently have the user-defined groups and 1-on-1’s from chats, this becomes very similar to how most people already share content on Instagram, and also how photos are shared on messaging apps with multiple people.

PicPocket.io’s audience restriction interface
PicPocket.io’s audience restriction interface

Content discovery

This part is very tricky. Its a fine line when it comes to discovery between, “I want to give my users content” and, “We’ve become another Instagram clone.”

I should preface this by saying I’m reluctant to implement any content discovery. Of the current user-base, the feed is used 2-3 times a week on average per user, despite the lack of content discovery. Not a lot, but used nonetheless. There are however, two possible solutions I have in mind:

Solution 1: Allow the creation of public and broadcast groups, and everything remains on the same feed. Public groups would act like something in-between a subreddit and a Facebook group; topic-based, and anyone who is a member can post. This very much mirrors how large WhatsApp groups work, but moves discussions to a feed instead. Broadcast groups are like Telegram channels with the same concept applied, everything moves to the feed instead.

Solution 2: A separate, city-wide feed that users can ‘subscribe’ to. This has been done before, and might be a decent solution to see content that’s still relevant to you. It would also allow small businesses to advertise exclusively here, which would solve the business problem, but is a less attractive solution to me.

Playing it by ear for now.

To address the latter feature where instant messaging excels (i.e., direct photo sharing), the app has a dedicated ‘Gallery’ where a user can create an album and add others directly to it.

PicPocket.io’s gallery/album interface
PicPocket.io’s gallery/album interface

Adding another user to an album is essentially handing them a ‘copy’ of it. This opens a whole can of worms in terms of permissions and rights, and a big bulk of time was spent figuring this part out. Some highlights:

There are a lot of edge-cases that had to be considered. Needless to say it was a PITA.

Sharing

Most of the time, when photos are shared with me that I was not a part of, while I’m grateful to see them, I don’t necessarily want to keep them forever. A feed system here makes a lot more sense to me for photo sharing. Once I have the album and all involved members have made their contributions, I can select the ones I’d like to share (or the whole album) and post it either to everyone’s feeds, or to a specific group or individual.

Album shared on the feed
Album shared on the feed

Placeholders

Placeholders can be added to albums and assigned to real users later. For example, a friend of mine created a placeholder for his 1-year-old and is adding it to albums as he creates them. Eventually, he’ll be able to assign the placeholder to his son’s account and, upon accepting the request, his son will inherit into his own gallery all albums where the placeholder was a member.

Placeholders can also be assigned to phone numbers to make the ‘request’ part automatic.

Additionally, you can send the placeholder posts on its feed to be inherited later. For all intents and purposes, a placeholder is a real user in waiting.

PicPocket.io’s placeholder creation interface
PicPocket.io’s placeholder creation interface

Chat

Direct messaging isn’t implemented yet. The plan is to add all standard chat features with a couple of small extras that are specific to the feed/gallery.

‘Shared albums’ are currently the default behavior when a ‘chat’ is opened. It simply shows you all albums where the member(s) of the chat are a subset of album members - i.e., a chronological history of your shared memories with this person/group.

Screenshot of shared albums inside a chat
Screenshot of shared albums inside a chat

Results so far

The feed isn’t addictive but still moderately fun. I ended up sharing recommendations to friends on their feeds whenever I found something mildly interesting, but not quite message-worthy. While this isn’t a daily occurence, its nice to have a place to share/receive these. This is especially true for YouTube videos, Reddit posts and articles, as there’s not really a way to otherwise share these without a direct message.

I’ve also had friends dump entire albums onto my feed of photos of their kids or personal projects, which would have been very annoying as a message, and they probably would not have shared them. This was fun to see when I was bored and scrolling my own feed, and very reminiscient of old Facebook.

Nevertheless, it seems like its going to need some kind of wider content-delivery net to keep it engaging enough to be remembered in the long-term.

The gallery is useful but, despite my best efforts, most people don’t want to retroactively organize their existing photos into albums on the platform, and would rather use it for newer photos.

There’s still a lot of work to be done.

PicPocket.io is available as an iOS App and as a web app.

I made the decision early-on that to survive as a messaging app, it would need to be native, and figured Android could be built later if/when we saw success on iOS. A decision I now sorely regret, as I’ve basically shot myself in the foot when it comes to the network effect. Users who really like the app and want to get their friends on Android to join, can’t.