top of page
Search

Socialite

  • Writer: pinnintimohit
    pinnintimohit
  • Dec 5, 2021
  • 3 min read

So I got quite bored over the summer and decided that I should build an app of my own to get more comfortable with Flutter. While I originally wanted to start with something more like Snapchat, I realized that I never really liked the way messaging worked in Snapchat - because no one used messages to communicate. It was all about sending pictures that disappeared once viewed. In fact, these two factors (the absurd frequency of sending pictures of nothing, and the fact that everything always disappeared constantly unless specifically set otherwise) were what infuriated me and prevented me from becoming a recurring user of the app.


However, the map feature on the app seemed to be quite useful - because it was so easy to see where your friends were without bothering them - so I stole this bit from Snapchat. I originally wanted this to be the crux of my app, where group chats of different friend groups could be made and tapped to show where only those people were on the map. However, due to the vast, interconnected web of social connections that defines friends and friend groups, I decided against my original plan of trying to integrate friend groups into the app. Instead, I noticed how much I liked the format of posting pictures on Instagram and tweets on Twitter, and decided to integrate those into my app as the primary method of contacting other people.

Much of the core functionality was not particularly quick. For example, loading a map was easy, especially using the google map plugin, but understanding the plugin well enough to add map markers, and times when people were last seen was a huge headache. Storing data was also extremely annoying at first. Although I had played around with Firebase before, storing and retrieving so much data about each individual in a NoSQL database on Firebase took much more time than I originally expected. Working on the backend and the APIs at the same time as the UI seemed extremely slow, because most of this progress couldn't be seen until the corresponding front-end feature was at least somewhat working.



While I expected the core functionality to take a long time, I was somewhat surprised at how long it took to make small quality-of-life improvements. Things like centering the map on the user when they load up the app or adding like buttons on posts or the ability to log out and log in to another account for testing purposes or an address book for quick contact took quite a lot longer than I originally thought. And don't even get me started on things like profile pages and photos. It was a rude awakening when I learned that the Android emulator camera did not map to the webcam on my computer, and I ended up having to make my profile photo the sheep that showed up whenever you launched the camera on the emulator. You know how hard it is to test changing a profile picture when the old photo is the same as the new photo?



Anyway, while I still don't have a finished product, and I probably never will (let's be real, no one needs another social media app), I really enjoyed my deep dive into Flutter (mostly), and feel confident that if I am ever asked to use it for app development, I could do so with ease.


Note: Source code can be found on GitHub: https://github.com/mohitpinninti/SociaLite

 
 
 

Kommentare


  • Instagram

©2021 by mohitpinninti

bottom of page