Here’s a simple project idea for programming enthusiasts.
Inspiration
I’ve been pondering on a story about “Naranath Pranthan” (Madman of Naranam), who would, with much hardness, push a big stone up a hill, and let it roll down freely. When it’s rolling down, he would clap and jump in joy. He would then walk down, push the stone up again.
The moral of the story, as I was told is that it’s hard to build anything to perfection, and to destroy it, it would take only a second.
I was excited by the thought of “building something to imperfection”. I found that it takes much more effort to build something consciously imperfect to the detail, much more than perfection. Just when I came across the idea of Useless Machine when reading about Claude Shannon.
A study on features of chat apps I did in past, the amount of emphasis on security given to it.
Put Useless Machine, Imperfection, Security in Chat apps and a way to find pen-friends into the cauldron, and this idea popped up. I thought I will develop it some day as a pet project, but looks like that day will never come.
Please feel free to use the idea, develop on it. I’d be grateful if you can leave a message here, if you’re going to develop it further – would encourage me to post ideas like this in future, and see it action once you’re done!
Idea Outline
What are we making?
What makes a chat reliable? It delivers your message to the mentioned recipient, and also assures that a third person doesn’t get to read it, without our permission.
What if we build a chat app, which assures that it delivers the message wrong? That’s kinda boring, you have many anonymous chat apps for that. So, the equation gets a bit more complicated here.
Possible uses is the fun of mixing up – and feasibility of making new friends, around the globe. Imagine the adrenaline rush of involving a factor of your friend about whom you’re gossiping, getting the message you sent to someone else?
It can also be used as a trust building tool for training sessions, or student camps.
Possible Implementations
Mode 1
User here gets to opt in to sending message to/receive messsages from public userbase who chooses to opt in to the same option. So, they get to send a message to some, and if it misses the mark, it gets send to some random user who has agreed to receive messages from strangers.
Always missing the mark always might not be fun. The keyword here is uncertainty. Thinking through, I came up with a Seventy-Thirty ratio: 70% chance that the right person gets the message, a 30% chance that it might miss the mark and get delivered to someone else.
Mode 2
It’s totally unsafe and might not be appreciated by the majority if some messages are being delivered to a complete stranger.
User A can choose to chat with their contact list alone or the contacts they choose – making it a closed circle, possibly for fun among friend gangs.
Safety and Security
Obviously, the user must be a crack to signup for such an atrocity, but fact that the app is meant for fun, and maybe a trust-building exercise/tool for trainers – some safety is necessary.
Mode 2 gives feasibility to keep messages in a closed circle, and not be sent outside to anyone else. There can be an option to block out a certain contact (trust me, pervs, pervs, pervy pervs can always misuse it – take any anon chats for example!) Fun apart, there can be a feature to tweak the uncertainty levels – ranging from 0 to 100. Picking 0-100 delivers it wrongly, always, while 100-0 assures that it is delivered correctly always. Defeats the purpose of the app, but the user’s choice.
Optionally, there can be a setting to enable the delivery report to include details like if it was delivered correctly or missed the target, and a step ahead, to see who it was delivered to.
Receiver can also get a notification if a message aimed at them was delivered wrongly.
There can be an option to hide permanent contact unless the user explicitly consents to share it with the other user.
If you plan on developing it, even as a pet-project, guard yourself with a strong notice denying responsibility for any damage done due to misdelivery of the messages!
Optional Extensions
If it is to be used as a training tool, it might be better if the messages don’t go out of the room – what I mean is, the ability to run the server locally. If it’s a web-app, we can avoid hassles of installs, since it’s a temporary training tool.
Addendum
Jocelyn, one of my students suggested a milder version, which simplifies the app to randomly pick user before sending the message.
I could also think of a possible application in teaching. Group students and give each groups a set of problems. They can solve and send solutions to the teacher – but with a probability of their solution being delivered wrongly to an opposing group member.
Conclusion
It takes a lot of planning to be imprecise, yet enjoy it. That’s all I can think of. Leaving a note here, hoping it might benefit someone, sometime.
In case you’re planning to develop it further, please do leave a word. I would love to brainstorm with you/try out your final product/brag about it to my friends!