An Android application for easier Instagram browsing.
The app has its own web site at https://bettersocial.app. Points to Play Store, where the app can be downloaded.
Implementation Details and Challenges
Custom Touch Gestures
The BetterSocialFeed app shows Instagram posts in a grid. To select more posts at once, the user can touch one post and subsequently drag through some other posts.
This has been implemented as a custom
View.OnTouchListener which watches the events, registers the path and calculates whether to add some post to the selection. It of course has to play well with scrolling and the “swipe down to refresh” functionality.
Casting and External Displays
The app contains Presentation mode which can show Instagram posts (images or videos):
- on the main phone/tablet display (of course)
- using casting e.g. to Chromecast (by sending URL of the item using
- on a secondary display, if connected (the post is shown without any other UI controls there)
- actually, as I observed, this functionality can be used to show items on Chromecast, too, when “Cast my screen” is used in the “Home” app (this obviously creates a secondary display and actually casts that display)
- the app alone can be used on Android TV, too
What it looks like:
Previously, there were 3 separate apps (Feed, Follow and View) built from one project (that project had 3 build variants). I heavily use productFlavors in build.gradle, where each of them contains different settings and a different combination of files (specified in sourceSets).
I was preparing BetterSocialStat application, which could show statistics about:
- lost followers, latest followers, followers you don’t follow
- recently followed users, unfollowed users
- most popular followers and followed users (based on their followers, followed users and posts counts)
- your posting times (hours, dates, weekdays, months, years)
- your post descriptions (most used words, tags, top mentioned users)
- post types (videos, dimensions)
- most/least liked and self-liked posts
- most/least commented posts and posts with disabled comments
Because of some changes at Instagram (they suddenly implemented more strict limits for retrieving of some data, and some data additionally could not be retrieved at all (or not so conveniently)), I abandoned the development of that application. A subset of its functionality (only the information about followers) was then incorporated into the final BetterSocialFeed app.
Here are some screenshots showing what that application looked like: