Progress Update on Survey Sidekick
In the past three weeks, I've been working closely with Daniel and Manav to implement the new UI design for Survey Sidekick. This is a very exciting moment as the page is getting more and more beautiful and user friendly. Below are some things I would love to share with you guys about the progress I've made on for Survey Sidekick.
3. Boosted the performance of the question-editing box. In the legacy version of Survey Sidekick, the actions inside of the question-editing box is a very slow horse, which has a lot of spaces to be improved. The reason for this to be so slow is that every action on the question-editing box will have to call the ajax request and fetch the data from back-end to refresh the page. This kind of frequent communication between back and front will cause a burden on the server and sometimes cause the big delay and thus question-editing module respond slowly. The solution I came up with to tackle that problem is to eliminate the times to refreshing all of the data on the front-end in the biggest extent, and instead create a group of API on the front-end to update the target data we are interested without communicating with backend. For example, if we add, delete or edit a fix response on a "likert" question, the change will instantly and consistently be made on the skip logic module through calling front-end API instead of refreshing whole page while the back-end database is also real-time updated. This solution will save a lot of time on the operation of this module, and also reduce the task burden when you try to save and close the question-edit module.
4. Finished the Cron script to check the pending message that is waiting to be sent by email to target respondents of the survey. This script will automatically check the survey launch date, close date, and people's response, and thus update the pending message queue in the backend. I already finished and tested the functions, and the next step is to set up a local mail server for Survey Sidekick to send email.