Hacker News new | ask | show | jobs
by DarwinMailApp 2502 days ago
Hello Dang,

Thank you so much for taking the time to clarify this.

I would like to explain in detail what has been changes have been made in DarwinMail since the previous discussion [1]

Browser Support - For several desktop and mobile browsers, DarwinMail was not loading. This was because many of the code level functions being used were not compatible with all major browsers. This required a significant overhaul of the existing codebase, removing all of the logic that was not incompatible with some browsers and finding new ways to accomplish the same actions in our codebase.

Bundles - Bundles were the most requested feature since the beginning of DarwinMail. As such, I spend a substantial amount of time designing how bundles would work for DarwinMail. After several failed attempts I finally found a way to replicate the bundling behavior that was once in Google Inbox into DarwinMail. I have also added the system bundles Social, Updates, Forums, Promotions.

Website Redesign - Mobile apps were the second most requested addition to the DarwinMail toolset. However, this request was in no way taken lightly. DarwinMail had previously been designed for desktop. A redesign of the entire website was needed to allow the user to operate on mobile. Every view, modal, menu, email, heading and more had to be redesigned to fit on mobile as it was previously broken and largely incompatible on mobile.

Progressive Web App - Furthermore, DarwinMail was converted into a progressive web app. This required over 30 steps (many complex and time consuming) to be completed in order to satisfy the requirements specified here: https://developers.google.com/web/progressive-web-apps/check...

Speed Enhancements - DarwinMail was terribly slow and oftentimes inoperable when it was launched. As a result, many changes had to be made in order to create a smooth experience for users. JS & CSS files needed to be cached & minified. All external scripts needed to be stored locally & minified or used via a CDN. Many exhaustive blocks of the logic needed to be cut down to reduce page execution times. Page load speeds were increased by cutting down image sizes and resolutions.

Server Improvements & Security - Much work was needed to be done to our server in order to ensure the security of the website. There was a lot of user input sanitization carried out on all forms of user input. Countless mods were researched for our server and several were added to our server. The server was also upgraded. This required substantial work as much of DarwinMails underlying infrastructure broke after the upgrade.

Largescale Code Changes - A large amount of DarwinMails code was developed in a rush to create a product that users would like to use. As a result, a code cleanup & change overhaul was needed to move forward. Thousands of lines of code needed to be changed in order to facilitate this move forward.

Referral System - A referral system was developed so that users can earn a fee for any friends they referred. This referral system required countless paper prototypes and redesigns.

User Testing & Bug Fixing - There have been hundreds of bug fixes in the last three months. This is largely due to the generous feedback received from our users. Bug fixes for all manner of issues have been completed such as broken nav bars, emails not appearing properly, menus not working, signatures not loading, broken modals, etc.

Keyboard Shortcuts - DarwinMails keyboard shortcuts were mapped to work the same way Gmails keyboard shortcuts work. This required substantial investigation to ensure a 1:1 mapping.

Swipe Functionality - In order for users to achive increased levels of productivity while dealing with their emails, swipe functionality was added to DarwinMail. This allows users to swipe left or right to carry out actions such as pinning, starring and deleting their emails.

Bulk Actions - There is nothing worse than having to deal with a block of emails one by one, so one of the major features developed for DarwinMail was bulk actions. This allows a user to apply an action such as archiving, deleting, starring or pinning on a large group of emails in one click.

I strongly believe DarwinMail has been vastly changed since the initial launch [1]. I have made many changes, serious bug fixes, website upgrades, huge code changes, redesigns and implemented numerous features.

The above is the result of many late nights, early hours before work and weekend coding sessions. In fact, my girlfriend almost broke up with me I spent so much time coding DarwinMail.

I hope the above are detail enough to warrant this new post.

Please let me know if you have any questions as it will be my pleasure to answer them.

[1] https://news.ycombinator.com/item?id=19705440