9 min read

✨Avicenna November Update: ISO 27001:2022 Certification

In November 2024, we earned an important security certification, and as usual, there are many improvements and bug fixes.
✨Avicenna November Update: ISO 27001:2022 Certification

Hello Avicenna Community,

As 2024 comes to an end, we've been sharing these monthly updates for over a year now. It's amazing how fast time flies, but we are flying with it!

This update is probably one of the sweetest I’ve written. I want to thank all my coworkers who worked incredibly hard—literally day and night, and sometimes even on weekends—to make this happen.

In November, besides the many improvements and bug fixes we've made this time, we also earned an important certification for complying with security standards. This accomplishment certainly wasn't easy! On the other hand, we removed a deprecated feature too.

I must add that bugs are certainly not sweet, based on my accidental experiences as a kid. While part of the high number of bug fixes is due to our shift in focus over the past two months, and not all these bugs are of the same importance, we have nonetheless started revisiting our automated and manual testing workflows. We are hopeful that in future release notes, you’ll notice fewer bug fixes, especially for obvious issues.

Here's what we've achieved in November:


🔒 Security Updates

  • ISO 27001:2022 certification
    We are proud to announce that we have achieved ISO 27001:2022 certification, reflecting our commitment to robust information security management. This certification ensures that our systems and processes adhere to high-security standards, protecting your data and its integrity. For more details, please refer to our Learn website.

🌟 Improvements

  • Showing participants’ PII
    Study owners can now directly enable or disable Personally Identifiable Information (PII) access for their studies. Previously, this required contacting support. For more details, please refer to our Learn website.
  • Placeholders in Page activity URLs
    You can now use placeholders (only {{participant_id}} for now) in the URL of a Page activity to display different web pages to participants based on their context. For more details, please refer to our Learn website.
  • Exporting survey media-based responses
    You can now export survey responses as a ZIP file, which includes both textual data and media-based files (images, audios, and videos), if any. For more details, please refer to our Learn website.
  • More details for sessions
    We improved the Activity Sessions page by adding new items to each session’s metadata dropdown: Triggering Logic ID, Triggering Logic Type, and Status.
  • Warning for session-based activities without expiry time
    We added a warning under the Publish tab of the activity editor for session-based activities (excluding Time Use, Eligibility, and Dropout) that don’t have an expiry time set. This notice warns researchers that lacking an expiry could block new sessions, aiding better session management.
  • Restriction on changing the participant type
    We changed the system to prevent researchers from changing a participant’s type to Test if more than 3 days have passed since their registration. This enhancement aims to maintain the integrity of our upcoming quota calculation feature.
  • Criteria evaluation and caching
    We implemented caching for criteria evaluation on our server, allowing the questions’ latest responses to be fetched once for all the current sessions of the same activity. This reduces unnecessary queries and prevents timeouts in some edge cases.
  • In-app notification status update flow
    We optimized the in-app notification status update flow on our server to reduce CPU usage and handle batch operations more efficiently. This included eliminating redundant updates too.
  • Performance optimization for activity response submission
    We enhanced system performance by streamlining the activity response submission process, which has reduced processing time.

🐞 Bug Fixes

  • Error handling for non-existing email address during password reset
    We fixed an issue in the web app where users requesting a password reset with a non-existing email address were not informed that no account exists with that email address.
  • Notification for manually-released activities
    We resolved an issue where notifications set to trigger on “Session Released” were not sent via email or SMS, and did not appear in the notifications list when the corresponding activities were manually released via the researcher dashboard.
  • Unknown user ID for some audit logs
    We fixed a bug where sometimes the audit trail failed to identify the user, particularly in events like opening activities and updating the notification status.
  • Evaluating session criteria with _since_reg_ tokens
    We fixed an issue in participant Android and iOS apps where sessions using criteria based on _since_reg_ tokens (e.g., _days_since_reg_date == 2) were not displayed even if the criteria was supposed to be true.
  • Dependent criteria re-evaluation for past sessions
    Related to the previous issue, we also resolved a bug in participant Android and iOS apps where activity and triggering-logic criteria re-evaluation considered sessions scheduled in the past when a survey was submitted. Now, only sessions scheduled after a re-evaluation-triggering event are considered, ensuring accurate session handling.
  • Expiry time handling for Time Use activities
    We addressed a bug in the participant Android and iOS apps where the expiry time set for Time Use activities was not being respected, causing sessions to display for longer than the intended 24 hours if no expiry time was set.
  • Creating diary events in Time Use activities
    We fixed a bug in the participant iOS app where the users encountered a “Something went wrong” error when attempting to create diary events in Time Use activities.
  • Dropout survey
    We resolved an issue in the participant iOS app where the dropout survey was not displaying when participants attempted to drop out of a study that included a Dropout survey.
  • Existing-account error during signup
    We fixed an issue in our web app where users attempting to sign up as a researcher or participant with an already registered email address received a generic “Something went wrong” error instead of an error indicating that the email address was already taken.
  • Mandatory question validation
    We addressed a bug in the researcher dashboard where researchers could save or submit sessions without answering mandatory questions, including in researcher-responded sessions.
  • Email address verification
    We fixed a bug in the participant web app where participants were not prompted for password verification during the email address verification process.
  • Validation of number-based survey questions
    We addressed a bug in the participant web app where participants could proceed to the next question in surveys despite entering an invalid number that didn’t meet the set maximum and minimum properties.
  • Signup without setting the Organization
    We fixed a bug in our web app where researchers signing up without filling in the optional Organization field encountered an error.
  • Persistent “Application is paused” notification
    We partially addressed an issue on the iOS app where some participants persistently received the “Application is paused” notification. This caused background crashes and disrupted the data collection process. Plans are underway to enhance the flow and fully resolve the issue in the future.
  • Filter condition value reset
    We fixed a bug where the selected value in a filter condition within the data filtering dialogs was reset when changing the operator.
  • Study background image disappearance
    We fixed a bug where the study background image disappeared on the Basics page in the researcher dashboard after saving changes in the Edit Study dialog.
  • Push notifications for Televisit
    We fixed an issue in our web apps where push notifications for Televisit messages and calls did not appear for any browser. Additionally, we addressed a related issue where notifications were not delivered to participants on mobile apps.
  • Study background display
    We fixed an issue in the participant web app where the study background was not displaying as intended.
  • Activity editor page error
    We addressed an issue where switching between activities and reopening them multiple times could result in a “Something went wrong” error on the activity editor page of the researcher dashboard.
  • “Last response” for questions in looped sections
    We fixed a bug affecting both Android and iOS apps where, if a question was skipped in the last loop iteration of a survey section, previous responses (if any) to that question in earlier iterations of the same loop were not considered as the “last response”. This fix ensures accurate criteria evaluation and proper use of survey question placeholders or other relevant placeholders.
  • Accessing the eligibility survey
    We fixed an issue in the participant web app where non-registered participants attempting to join a study with an eligibility survey encountered an error, preventing the survey from being displayed.
  • Inconsistent session status colors
    We updated session status colors on the Activity Sessions page of the researcher dashboard to match the Participation and Activity Responses pages.
  • Incorrect error message for incorrect current password
    We fixed an issue where participants attempting to change their password received a generic “Something went wrong” error when entering a wrong current password.
  • Hint text in Audio/Text questions
    We fixed a bug in the participant web app where the hint text for the text input of the Audio/Text questions was not displayed to participants while responding to the survey.
  • Multiline text in Audio/Text questions
    We resolved an issue in the participant web app where the text field for Audio/Text questions was incorrectly displayed as multiline, irrespective of the question’s Type property.
  • Visibility of default value in Number, Length, and Mass questions
    We fixed a bug in the participant web app where the default value for Number, Length, and Mass questions were visible to participants while taking the survey.
  • Creating multiple User triggering logics
    We addressed an issue where researchers could create more than one User triggering logic in an activity.
  • Save button for User and Proximity triggering logics
    We resolved an issue with the Save button not functioning correctly when creating or editing User and Proximity triggering logics in an activity editor.
  • RSSI filter activation in Proximity triggering logics
    We fixed a bug where creating or editing a Proximity triggering logic with the RSSI filter enabled and the minimum RSSI value set to default (-512) resulted in the filter not being activated. As part of this, we changed the flow and now, the number input for the minimum RSSI value is mandatory and there’s no toggle to enable/disable it.
  • Session button caption placeholder in in-app notifications
    We resolved an issue in participant Android and iOS apps where the “Session Button Caption” placeholder in in-app notifications displayed the study name instead of the intended button caption.
  • Duplicate status updates for in-app notifications
    Related to one of our improvements above, we resolved an issue in Android and iOS apps where reloading studies (for any reason) caused repeated status updates for in-app notifications. Reloading cleared the app data, leading to unnecessary recreation and rescheduling of notifications, even for unchanged sessions, hence redundant status updates.
  • Unintended researcher selection
    We fixed a bug on the researcher dashboard where, after selecting and removing a researcher, another unselected researcher was automatically selected. We also checked this issue across other tables under the dashboard.
  • Sorting issue in Televisit recordings
    We resolved a minor bug on the Recordings page where attempting to sort the table by the Recipient column only considered the full name of call recipients while the recipients can be participants and we show their ID/label if PII is disabled for the study.
  • Missing Previous button
    We addressed an important issue in older surveys when accessed via the participant web app. The app did not consider the default visibility setting (which is “visible”) for the “Previous” button when this setting was not specified, which affected surveys created before we released the option last month.
  • Multiple-answer question responses and section flow
    We fixed a bug in the participant web app where the flow of survey sections was not influenced by the selected answer(s) in Multiple Answer questions when the “Next Section” property was configured for the answer(s).
  • Device ID changes
    We fixed an issue where, in rare cases, the Device ID on the participant iOS app would change, causing study registration failures.
  • Evaluation of question criteria referring to other surveys’ questions
    We fixed a bug in the participant web app where question criteria referring to other surveys’ questions weren’t evaluated correctly during navigation, such as when clicking the “Next” button. The issue stemmed from criteria being evaluated only upon answering or updating responses. Now, the criteria is correctly assessed during all navigation flows, even if the previous question doesn’t have any response.
  • Criteria evaluation for the first question of survey
    Related to the previous fix, we also resolved a bug where the criteria of the first question of surveys were not applied in the participant web app.

❌ Removals

  • Text input’s height lines property
    We removed the deprecated “height of the text box (in lines)” property of Text or Audio/Text questions from survey definition files (JSONs). Now, multiline text inputs will consistently display as 5 lines, though this does not limit the number of characters that can be entered.

🔍 Reflecting on the Impact

Your experience with Avicenna is crucial to our growth. Each update aims to streamline your research, focusing on usability and efficiency. We strive to support your research effectively.

📣 We Value Your Feedback – And Your Stories

Have the updates improved your research? We encourage sharing your experiences on our Community Forum or via email. Your feedback helps shape our future updates and motivates the Avicenna community.

⭐ What's Next?

We remain dedicated to improving Avicenna. New features are in the pipeline, aiming to further enhance your research workflow. To name a few upcoming features, we're introducing:

  • Reset Participation: As a next step to the Test Participants feature we introduced before, test participants will be able to reset their participation and start as new participants in the study right within the app.
  • Working Memory Updating Task: The introduction of this new cognitive task will enable you to add another layer of activity to your study, providing participants with engaging tasks while you gain valuable insights from their performance.
  • Device Lock/Unlock State: As part of the Screen State data source, you will be able to track when participants lock or unlock their devices, adding a new dimension for understanding participant behavior.
  • Matrix Question Type: You asked. We responded. You will be able to ask Matrix questions in your surveys to better capture nuanced answers and improve the depth of data collected from participants.
  • Surveys Form Mode: Ever wanted to show a whole survey section instead of one question per page? You will see the option in your survey editor soon.
  • And more: Stay tuned for additional features and improvements as we continue our mission to optimize your research experience.

Avicenna is about to get even better, and we're excited to reveal all the improvements to you.

Let's keep pushing the boundaries of research together.