GSOC '16

Brief report of my work in GSOC 2016

In this course of GSOC I did many changes in the Zulip-Android Project

  • Changed the UI of the app
  • Changed the login flow of the app, now this shows all the possible backends for any server.
  • Changed the network connectivity libraries to a much faster, better, efficient library
  • Implemented a widget for the homescreen to read messages, Currently unmerged, but under review process
  • Implemented a chatBox to easily send messages
  • Implemented a multi login system to allow zulip app to be logged in two or more accounts simultaneously Currently unmerged, but under review process
  • Implemented suggestions for emoticons as we type in the message Box
  • Implemented to show the number of unread messages counts Currently unmerged, but under review process
  • Fixed a bug which was sometimes flooding the server
  • Implemented a Authentication system (DevAuthBackend) which was previously supported only by the web App
    • Much more

You can see the full commit list here

A total of 6,937 ++ line additions and 3,137 line deletions by my commits!

And here is the list of all the features/Pull Request’s, they can also be viewed in github

Updated Readme

Create JavaDocs for classes and methods

Implemented swipe to remove chatBox

Fixes #131: Wrong messages order

Espresso Test

Fixes: #132 Show Title and name in header if narrowed to self PM’s

Fixes: #136 Narrow by stream on click

Implemented a Widget for reading messages

Fix: multiple asyncGetEvents

Fix on narrow to private message

Show unread counts in the stream drawer

Create blank drawable if no emoji present

Do not open keyboard on narrowing

Fixes: Clear topic expansion in streams drawer when unnarrowing/renarrowing

Fixed: Custom zulip server defaults to http

Fixed Many lint bugs

Save Client ID for registering GCM to that client

Add User-Agent header to HTTPRequest

Switch DayNight theme (Light <—> Dark Theme)

Make it easy to compose messages with mentions, emoji, etc.

Show Error Message if no messages present in current list

Better Login Flow

Added Clickable Links to narrow for user!

Removed Use checkbox

Fixup: error handling of bad event queue id

Hide soft keyboard when LoginActivity starts

Implemented Expandable ListView in the streamsDrawer

Added Loading dialog for devAuth

AppCompatActivity and Toolbar AppCompatChanges

Implemented RecyclerView inplace of ListView + UI updated

Fix the previous chatBox espresso test’s

Allow installs to login via Google Auth

Replaced Old Apache HTTP Libraries with OkHttpClient

Developed Login for DevAuthBackEnd #48

Switch/Add servers without logging in/out

Implemented chatBox to directly reply.

Implement Mute topics

Added Codestyle instructions to the Readme

Added Material design

Migrated To Gradle

And in the Zulip Server project I did some small code changes in these Pull Request’s-

Login API’s for DevAuthBackEnd for Android project

Fixed Correct version in commands

Some screenshots of the features which I loved to built the most.


Implemented a widget for easy messages view.

Currently unmerged, hopefully will be merged soon!

White/Dark Theme

This allowed switching between dark/light theme.


A new layout for the list containing the messages.