The Design Process Behind Pellets

Will Mundy
RiceApps
Published in
8 min readFeb 8, 2021

The last post covered how I validated the market need for pellets, as well as the three principles it must address to succeed: hyperlocality, ephemerality, and anonymity (together these are known as “situated anonymity”). In this article, I’ll walk through several of the key design decisions behind pellets’ MVP, as well as where we plan to go from here.

After the initial validation of the market need, Cloris and I still had to flesh out several concerns. Chief amongst these was the idea that we were not planning to build yet another YikYak clone, but instead a platform that would deliver on the underlying principles behind YikYak’s success: the aforementioned concept of “situated anonymity”. This might sound like I’m repeating myself, but here’s the difference: rather than copy the product of YikYak feature by feature, we needed to build an entirely new product on top of the principles which YikYak was based on.

Since YikYak’s shuttering, the world has changed tremendously, and the ways in which we communicate on and off campus has shifted. Digital connections form the basis of most of our interactions, with Rice students spread across the globe in over 108 countries as a result of the pandemic. Clearly, pellets would need to find other avenues of hyperlocality to explore within the application beyond just geographical distance. Librex tried to address this by introducing a set of tags to use for filtering and in the posting process — however, their feature suffers from several critical flaws. The most egregious of these is found in the posting process, where their tag selection sits separately from the actual content of the post — demonstrating how they exist purely as an afterthought for the purposes of generic categorization, rather than as a tool for boosting hyperlocal discussions.

Another flaw in YikYak’s original model was the confusing comment structure, as comments were presented in a single-threaded format without space for direct replies to certain comments. Librex attempted to improve on this design by introducing replies, yet their insistence on maintaining a single-threaded comment list still presents a poor user experience as users must continually scroll up and down to follow the complete saga of an (often-confusing) conversation in the comments.

With these shortcomings and the idea of “situated anonymity” fresh in our minds, it was time to become scoping out our product on the digital whiteboard of Figma. Indeed, the solution began without any coding, as any new application must start with design. Using this process, we were able to have a visual understanding of the application before writing a single line of code, ensuring that any critical UI/UX issues could be addressed in the design phase rather than through cumbersome changes to CSS. This led to rapid iterations of both the main “all posts” page and the “individual post” page, the final results of which you can view below. This process allowed us to achieve a consistent form across the application which would have been slower had we started with code.

Login Screen | Onboarding Screen | All Posts (with Hottest Selected)
New Post Screen | Single Post Screen | Filtered Posts Screen

As we designed the product in Figma, we also spent time considering our feature set, specifically in terms of how each emphasized different aspects of “situated anonymity”. Below, I’ll walk through five of the major design decisions we made, as well as the synergies in “situated anonymity” each one utilizes.

Student-Centric and Student-Limited

For a hyperlocal application, one of the first steps is determining who can be part of the community. The challenge here is to spread the net as wide as needed while also keeping it as closed as possible. In our situation, since we sought to build a space for students to communicate both freely and safely, it was important for us to include all Rice students but exclude anyone outside this community. This made the geolocation-based approach used by YikYak as insufficient for our purposes during the pandemic, as it would limit the participation of remote students. Even with the pandemic aside, it would potentially exclude off-campus and commuter students while leaving the door open to potentially malicious actors who happened to be near Rice’s campus. Thus, using geolocation to determine participation in the community was clearly a nonstarter.

We decided on using the Rice login system, as our predecessor BeakSpeak did. However, we went one step further by ensuring that only Rice students can enter the application — not just anyone in the Rice community, like staff members and administrators. While some might question this, I believe this provides an additional layer of security to students in expressing their honest views, as they do not need to worry about the watchful eye of nosy adults. That said, there is no complete panacea to this problem, as screenshots often make their way into the world — but this seems to be the best way to ensure the community is only made up of students, thus increasing the hyperlocality and shared context of the group.

Even with our promise of anonymity, I believe that focusing on the community of Rice students will help cultivate safe and orderly discourse on the platform. By limiting discussion to our small community, we’ll be able to prevent bad actors from tainting discussions with negative or inappropriate content. As this is an assumption, I’ll continue to revisit and monitor this hypothesis periodically after the launch of pellets. Nonetheless, I’m confident that Rice students will uphold our culture of care and promote a comfortable space for students to express their true feelings on the platform.

User-Created Inline Tags

To further expand and diversify the definition of hyperlocal, we introduced another key feature in this area: the idea of user-created inline tags. The beauty of the system is that it is both familiar to most users (see hashtags on Twitter) yet novel in the space of a YikYak-like application. These enable a plethora of opportunities, from the ability of a user to define their own hyperlocal community with a tag (or several) to the potential of discovering other hyperlocal communities to participate in through tags. Furthermore, using inline tags ensures that the tag remains an essential part of the post content rather than a simple means for categorization. This has the added benefit of streamlining the post composition process, as users just need to include an @ symbol to tag, rather than cumbersomely selecting tags afterwriting their post. Beyond just hyperlocality, the inline nature of these tags also benefits the ephemerality of the application, as speeding up the post composition process ensures that content can be rapidly created as the situation calls for it.

Disappearing Posts

Another novel feature that we introduced to pellets is the concept of “disappearing posts”, which is a perfect fit for the transitory nature of the application. This feature enables a user to set a time limit on how long their post will exist on the feed. Until the time limit is crossed, this post will act as a typical post, allowing for upvotes, downvotes, and comments. But after the preset amount of time passes, the post will disappear forever. During development of the application, I saw this as an especially useful feature for announcing sporadic campus events or situations, such as extra food being open for grabs after an event, the spotting of an albino squirrel on campus, or the current location of a campus-wide crawl (pre-pandemic sigh) — but I look forward to seeing the other creative ways that it will be used by the community.

Comment-Reply Threads

Earlier I mentioned the issues related to YikYak and now Librex’s single-threaded comment structures. To avoid these problems, I went with the approach employed by most social networks today, including Instagram, Twitter, and TikTok. In this approach, comments have two levels: top-level comments and their replies. We decided on this format primarily due to its familiarity for the users, as this would further reduce the learning curve necessary for onboarding to pellets, as well as enable us to tap into the psychological benefits of such an approach (given that its common usage must be the result of extensive research validation). This format also factors into the ephemerality of the application, as concise comment-reply threads makes the user experience much more fluid and accessible in regards to joining the discussion of a post.

Avatars, Goofy Names, and Humanity

As with any anonymous application, it is important to be aware of the potential for negative or inappropriate content on the platform. In our research, we found that most inappropriate content on anonymous platforms stems from users “dehumanizing” others. Although we are fully confident in Rice students’ abilities to use pellets in a healthy and respectful manner, any PM worth their salt would go crazy if a feature wasn’t included to at least help mitigate this risk. Thus, we decided to add a simple avatar and a randomly-selected positive-emotions-invoking name next to each comment (my personal favorite is “gummy”). I hope that these two features will help induce further humanization of the other users on the platform in order to avoid inappropriate discourse. Plus, it seems like a fun and playful addition.

Of course, to cover all of our bases, pellets also includes a simple post and comment reporting mechanism to handle the most egregious abuses, which we’d prefer are never needed 😇

Moving Forward

What’s next for pellets? Well… That’s for you to decide 🙂 While I validated pellets as much as it could be, the true validation begins here with Rice students actually using the application. In the coming weeks I hope that it will gain traction and see frequent usage in the Rice community, and along the way I’d love to collect as much feedback as I can: from the problems that students continue to face, as well as what would make them love pellets even more. If you’re interested in providing additional feedback to us, check out this feedback form we’ve created. It’s short, simple, and can be completed by a monkey in under 5 minutes (we checked). Looking forward to seeing what you have to say!

Conclusion

If you’ve made it this far, congratulations! You now have a pretty good understanding behind the end to end process we took in developing pellets, from the initial market validation to our core design decisions, along with the general format of the platform. If you’re a member of the Rice student community, feel free to try it out here. Otherwise, checkout the screenshots above.

Thanks for reading!

--

--