Skip to content

Instantly share code, notes, and snippets.

@majordwarf
Created August 31, 2020 10:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save majordwarf/6ffdb3a0ef89c14aac2294a6c2f7cd7b to your computer and use it in GitHub Desktop.
Save majordwarf/6ffdb3a0ef89c14aac2294a6c2f7cd7b to your computer and use it in GitHub Desktop.

Work Product: Google Summer of Code 2020 with Zulip

I would like to thank my mentors, Zulip community and Google for providing an platform to learn in an professional environment. Over the summer, I worked on Zulip's web application adding more features and improving and optimizing the existing system.

Project Description

Title

Zulip’s Onboarding UX Overhaul

Abstract

The project mainly focuses on the overhaul of the onboarding user experience. It’ll include working on the backend to implement new features to ease the sign-up process and initial Zulip experience. It’ll also focus on tweaking the frontend user interface for both admin and user views to improve the overall user experience. The changes will focus more on usability and ease of access to seem more user-friendly to a new user.

Mentors

  • Yash Rathore
  • Vaibhav Rabber

Repository

zulip/zulip

Pull Requests

Refactoring Old Stylesheets

Zulip uses SCSS to write their style sheets, while SCSS provides a cleaner and efficient way to write style sheets, most of old ones were following the vanilla CSS approach. The task included to reorganize the selectors to reduce the filesize and make it efficient to edit reducing redundancy breaking down each change per commit.

#14948 | settings.scss

#15026 | zulip.scss

#15258 | right-sidebar.scss

Fixing and Implementing New Features

#15193 Fixing Navbar Search Input Margin

The seach bar used to react differently in day as well as night-mode. The fix was to override a value of css selector to match that of the day mode.

#15796 Migrate From Spectrum To HTML5 Based Color Selector

Zulip uses "spectrum" a jQuery based color selector, while it did fulfilled the needs there were some inconsistencies matching it with the app. Also spectrum's development being dormat, it was necessary to look for alternative. The following PR added HTML5 based color selector while removing spectrum as a dependency.

#15190 Added feature to skip the intoduction tour

Every new user gets greeted with an introduction tour when on-boarding Zulip, this can be a bit repeatitive for an existing user coming back or joing a new organization. The following PR adds an option to skip onboarding tour allowing advance user to get settled in quickly.

#14515 Added documentation to request integrations

Earlier there was no proper documentation of how a Zulip user can request an extenstion. While Zulip provides more than 110 integrations, there can be chances where an integration in need isn't supported. The following PR adds a documentation page that guides an user can request an integrations.

#14010 Improve find-account page

Earlier there was no proper sanitization of email ids, the task of the following PR was to do both back-end and front-end sanitization of email/s that are supplied by the find account page and only send emails to the one whose account exist on Zulip.

#15809 Added user status on PM screen

The following feature displays a user's status on private messages screen making the other user aware of his current status without going through their profile.

#15936 Unify commands to switch theme

Earlier it used to be two different command to switch the theme via message. This cause inconsistency in the commands, the following PR merges the two command and adds support for auto-mode for theme.

#16073 Add options to list realms publicly

The following PR added option to allow sponsored open-source organization to be listed publicly for people to join them directly. Zulip is built upon using various open-source frameworks and providing a way for other open-source organizations using Zulip to reach more would be a way to give back to the community.

Rejected PRs

5xx Error Page

Settings Menu UI Update

Future Work

While I tried to maintain a timeline but as health issues arose at home due to COVID-19 I missed some of my goals, my next task would be to continue working with Zuilp and completeing the goals and doing further improvements to it. I have some improvement in mind regarding Zulip's web and mobile application, it'd be my goal to work closely with the community after the Summer of Code ends.

Closing Notes

I have learned a from other people's work, writing clean code and writing proper documentation, and putting up comprehensible pull requests in the past few months.

I always had a huge interest in web development and working with Zulip I learnt more than just web development. I great to see you work reflecting in a product being used by thousands of people and helping them in a positive way. I'd keep working and contributing to the project while helping to newcomers as much as I can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment