Story Activity: GSoC 2021 Project
Hi Everyone! I’m Saurabh Gupta, a junior at IIT Roorkee and a Google Summer of Code student for the year 2021. This blog summarizes my work on my GSoC 2021 Project — Story Activity with Sugar Labs. I was mentored by Ashish Aggarwal and Lionel Laské.
Project Overview
Story activity allows users to create a story based on random images retrieved from the existing Abecedarium database. They can write their story using WYSIWYG editor, record and play their narration of the story, store the story inside journal for later use, export it in various format and has shared mode to write the story with other users.
Demo
Features
- Toggle Mode: We can toggle between single-mode and grid-mode. In single-mode, we can write a part of the story for each individual image and in grid-mode, we can write the whole story altogether.
- Grid Size: We can update the number of images using the Grid Size Palette. We can switch between 3 (3x1), 6 (3x2), 9(3x3) images.
- Foreground Color and Background Color: We can change the color of the font for our story accordingly.
- Format text: We can format our text with Bold, Italic, and Underline.
- Choose Font: We can update the font from the given 8 categories which include Arial, Comic Sans MS, Times New Roman, Georgia, Lucida Console, Impact, Courier New, Verdana.
- Font Size: We can increase or decrease the font size inside the story activity accordingly.
- Export Story: We can export our written story in TXT, PDF, ODT, and DOC formats along with the images, in both single and grid mode.
- Record: We can record the narration of our story using the record button.
- Play: We can play our recording inside the story using the play button. It will be activated only after you record something for that image.
- Export as Sound: We can also export our recordings to the journal and store them.
- Speak: Text-to-speech using speak button. The button will get activated only if we have something in our editor to speak.
- Shared mode: Allows the user to write stories with other users on the same server.
Changes made by any user inside the editor will be reflected in all editors so that they can create a story together. After writing a story user can export it in different formats. If the host leaves anytime in-between, a new user will be assigned as host and will be notified to everyone using a popup. - Activity is localized, responsive, and has a tutorial that can be viewed using the Help Button.
- The activity supports most browsers including Chrome, Firefox, and Safari, and most platforms like Windows, Linux, macOS, Android, iOS.
- Stop button will store all the data of the activity including images and the story inside the journal, which can be retrieved later.
- Activity can be used without the internet also.
If you want to check more about the code you can check here. Once released in the new version, you will be able to try it at https://try.sugarizer.org/.
My Experience
Overall, GSoC’21 has been a thrilling journey for me. I went from making minor changes in Sugarizer to creating a whole new activity for Sugarizer during my complete journey. I learned to write high-quality code that fulfills all the project’s goals. I tried various new libraries and learned a lot by using them. It’s been an amazing experience to write code that will be used by thousands of people around the world.
Acknowledgment
I would like to thank my mentors and the whole Sugar Labs community for being extremely helpful and supportive throughout this period.
Get Saurabh Gupta’s stories in your inbox
Join Medium for free to get updates from this writer.
I express my sincere gratitude and appreciation to the Google Summer of Code (GSoC) for providing such a wonderful platform for learning and helping me to be an active member of the Open Source Community.
If you’d like to know more about other projects that I have been working on, take a look at my Github profile: @saurabhhere. Also, feel free to reach out to me on LinkedIn.






