DEV Community

Cover image for Introducing ProGram: An Open-Source, Self-Hosted Instagram

Introducing ProGram: An Open-Source, Self-Hosted Instagram

Sarthak Sharma on June 30, 2019

Hello folks! Keeping up with the tradition, it's time for our monthly product release. This month, we've been working on another cool open-source p...
Collapse
 
prahladyeri profile image
Prahlad Yeri • Edited

As you said, the plebeians of the world (including myself!) are going to take the path of least resistance. The problem is that Google has intruded just too far into our lives. We use GMail for sending emails, GMaps for navigation and knowing traffic friendly routes (Ola, Uber, etc. they all use, so we depend on it indirectly), GDrive for sharing files at workplaces, etc. Heck, we even use Android, the very OS that sits inside our smart phones!

There is no dearth of creative solutions, there is mastodon.social for example, which is a twitter alternative. But how many people use that? Hardly 0.1% in comparison to twitter! And suppose they start using it, then what? Do Mastodon or ProGram (those who'll self-host this) have enough resources to handle millions of requests?

No. Its simply impossible for us plebeians to compete with large tech companies like Google. What we can do, however, is to increase competition by giving a chance to other tech companies. Ditch GMail for a while and start using Hotmail, use Bing instead of Google search. Instead of GDrive, start using Dropbox and Microsoft's cloud platform. Thus, we can ensure some competition to the limited extent that we can.

Collapse
 
biros profile image
Boris Jamot ✊ /

I don't think that replacing Google's apps by Microsoft's is the solution. What's the difference between them, except that Google's ones are more popular ? None. Both sells our data for some ads, none of them respect our privacy, and both want to kill alternatives.
You should have a look at mastodon again, it's very dynamic and more user friendly than Twitter. Pixelfed is also a very credible Instagram alternative.
The whole fediverse is just awesome !

Collapse
 
_nicovillanueva profile image
Nico

There are great competitors in the "day to day internet usage" world, without even looking back again at major players. For instance, I've switched from Google to DuckDuckGo, -progressively- from GMail to ProtonMail, GChrome to Firefox, etc. Selfhosting carries it's own share of responsability, but ownCloud is a fantastic open source service in the same vein as GDrive.

Playing the revolutionary game and ditching big soul-sucking capitalist companies is, for now, a lone game. As you mentioned, almost no one uses Mastodon and those who do are likely to be ridiculously foreign for oneself (everytime I visit Mastodon.social it's all asian postings which I understand absolutely none of). Changing one's habits, when these are simply "single-player" tools is not that hard, but asking people to change their virtual social circle is tough.
Of course competition in this field is necessary too. I'll be damned the day I stop kicking people in the shin trying to convince them to switch from WhatsApp to Telegram. But switching from Facebook to Diaspora is all kinds of a different undertaking. The bigger the participants' sphere of influence (?), the tougher to migrate them; and the problem is that, for some, their social network of choice, is their whole sphere.

Collapse
 
utkarsh profile image
Utkarsh Talwar

Precisely. You put it together nicely, Nico.

Collapse
 
nickdex profile image
Nikhil Warke

Good point. Maybe decentralized tech can help tackle that problem.
Eg IPFS (for storage), scuttlebutt (SNS), matrix (IM) etc

Collapse
 
hamatti profile image
Juha-Matti Santala

Congrats on launching a great product!

The project looks nice and I do agree that the monopoly that the large tech giants are building is alarming. However, I think there's one aspect for the motivation to use Instagram that you're kind of missing:

Discoverability

It's not just a dopamine rush or social validation that drives people to use these social platforms (Instagram, Twitter, Facebook, Whatsapp, or even DEV) but the fact that other people are there. I share pictures of my life on Instagram because I know that my friends and my family use it and so I can share my pics to them on one click and I can see what they are doing in their lives on a scroll of the front page.

The usefulness of social media is only as weak or strong as the amount of people in your social circles using them.

Collapse
 
utkarsh profile image
Utkarsh Talwar

I agree, Juha. But the key difference here is that we don't want it to be a full-fledged social media profile. We just wanted it to be a snapshot of your life with an aesthetic similar to Instagram. Hence, no social features, at least for now. BUT... depending on the usage, we might just add them in the future. And if you feel like helping us build new features, it's highly encouraged!

In any case, thanks for your thoughts!

Collapse
 
matthieu_rolland profile image
Matthieu Rolland

It would be awesome if besides pictures, proGram would also make it possible to store a file or expose an API with a list of other proGram users one follows, then making it possible to have some discoverability features without a centralised platform.
Some sort of social oriented API, but decentralised. That would be very indieweb compatible.

This is much easier said than done I admit haha. Kudos for what you did so far anyway, I'll definitely check it out when I'm home !

Collapse
 
hamatti profile image
Juha-Matti Santala

Yeah, I totally get that. But in your post, you do present ProGram as a self-hosted alternative to Instagram and what's basically keeping me from jumping on board with that is that people wouldn't really see those pictures and what's going on in my life.

I would be back in situation where I send my friends and family a message of "Hey, I posted new photos, go take a look" instead of them seeing that I have from the app that they are already using.

I have no objection to this alternative, I welcome it with open arms and it's wonderful to have options. I just wanted to highlight that in your list of things why people stick to existing social medias, the discoverability is the biggest factor in my books and the reason why I'm not abandoning those platforms.

Collapse
 
ben profile image
Ben Halpern

Definitely checking this out when I get back to my computer!

Collapse
 
utkarsh profile image
Utkarsh Talwar

Collapse
 
sarthology profile image
Sarthak Sharma

Can't wait for feedback. 😊

Collapse
 
dukeofetiquette profile image
Adam DuQuette

"Big tech giants take advantage of our need for external validation, and when we don't get it, we feel miserable. Break the cycle. Don't be miserable. Hold yourself to a higher standard. That is the only way to lead a happy life, my friends."

Came for the tech, left with enlightenment (...and tech).

Thanks not only for the project, but explaining your philosophy behind it!

Collapse
 
sarthology profile image
Sarthak Sharma

Thanks, Adam.

All I want is contributors to take this project forward and for that, I needed to talk from the heart.

Collapse
 
andrewbrooks profile image
Andrew Brooks 👨‍💻

I'll definitely be setting this up. Such a cool concept and tool. Thanks for building it!

Collapse
 
sarthology profile image
Sarthak Sharma

Thanks Andrew. 😊

Collapse
 
rossijonas profile image
Jonas B. R. • Edited

Hi Sarthak and all the team envolved on the app. It does look great, and it's awesome to have this kind of initiatives that promotes awareness against data colection, and offers an option.

I just would say that, as a CLI freak, I found the title image description a little disappointing. It says it's a CLI based app , but actually it's a GUI, electron based app. Seems like a click bait for me. I'd remove it...

Anyways... Congratulations for the app and the effort !

Collapse
 
utkarsh profile image
Utkarsh Talwar

Hey Jonas, thanks for the kind words.

About the CLI thing, we did just talk about it, actually. We might remove it (or we might just add lots of CLI based functionality) haha. Sorry about the clickbait!

Collapse
 
emeraldzephyr profile image
EmeraldZephyr

This is great! I just joined the dev community and I'm looking forward to collaborating with folks like you!

Collapse
 
sarthology profile image
Sarthak Sharma • Edited

Welcome aboard 💪🏼😎

Collapse
 
utkarsh profile image
Utkarsh Talwar

UPDATE! PRODUCTHUNT JUST MOVED PROGRAM TO TODAY AND IT'S #1 RIGHT NOW!

Collapse
 
sharmarajat01 profile image
sharmarajat01

yeahhh !! Great and appreciated work done by your team ! .

Collapse
 
tailorvj profile image
Tailor Vijay

This is a great idea with a wonderful motivation, but I think you are missing out on the importance of networks in your perception of virtual space and people's motivations in it. I would suggest adding a p2p network of some sort into the mix, so users could search across the net for similar hashtags and like or comment with a linkable profile. Cheers, Tailor

Collapse
 
sarthology profile image
Sarthak Sharma

We have a roadmap. Will add this in that thanks. 😊

Collapse
 
ondrejjombik profile image
Ondrej Jombík

Is it possible to see any demo or screenshots of this promising application?

Homepage does have a nice video, but no example of actual gallery. Also the same video is on npmjs.com.

Not sure where else I should look at. Thanks!

Collapse
 
utkarsh profile image
Utkarsh Talwar

Check this out.

youuteee.github.io/

Collapse
 
ondrejjombik profile image
Ondrej Jombík

Thanks, it looks really slick!

However I noticed that page is kind of slow to load. The reason is that images are downloaded in full-size. Then they are resized by the browser not server-side.

Is this a bug or a desirable feature? Is there an option for resizing images displayed on the index page to a lower quality? My impatient friends would not wait this long for my proGram page to load:)

Thread Thread
 
utkarsh profile image
Utkarsh Talwar

Yeah, I get you! We need to work on implementing a good compression algo. You're welcome to help! 😀

Collapse
 
sharmarajat01 profile image
sharmarajat01

Your work as usual , make me to look at my DEV profile regularly !! You're doing great work , Keep it smooth <3

Collapse
 
sarthology profile image
Sarthak Sharma

Thanks Rajat

Collapse
 
ginsburgnm profile image
Noah Ginsburg

I don't really use Instagram for a variety of reasons, data is a big one. But a profile I can self host sounds like something I might use. Definitely a cool idea, I'll be checking this out!

Collapse
 
sarthology profile image
Sarthak Sharma

Thanks noah !! 😊

Collapse
 
goodevilgenius profile image
Dan Jones

When I saw the title, I hoped it was a CLI interface for Pixelfed. Too bad.

Collapse
 
sarthology profile image
Sarthak Sharma

Glad you liked it.

Collapse
 
quinncuatro profile image
Henry Quinn

How long until this is containerized? ;)