Into the Nitty Gritty: the Tech Side of Doing Good

Posted on in AIM Newsroom, Community, Tech Education

Today, Silicon Prairie News published an in-depth look at “app-tivism,” the rise of mobile apps and social media platforms designed to help users take meaningful action to improve the world, and not just add more well-meaning noise to the so-called echo chambers of the web.

To those who might not think a career in tech could also mean a career in giving back, consider how technology has been used to address social issues in recent years.

Trendy eyeglasses retailer Warby Parker began online in 2010 with a buy-one-give-one social entrepreneurship model that provides a free pair of glasses for every pair the company sells.

That same year saw GoFundMe debut as a crowdfunding platform that is now widely used to help individuals and families, who in an era when wages have fallen behind the cost-of-living, carry the financial burden of necessities like unexpected medical costs and groceries.

Today, social media sites like Facebook have built charitable giving opportunities into their UX. Many users take advantage of Facebook’s birthday fundraisers to support causes they care about. (In 2017-2018, the feature raised $300 million for charitable causes.)

And now, apps like Samaritan—which facilitates direct donations and positive messages from the user to their unhoused neighbors—as well as the still-in-development Sojourn—which gamma-waved from the minds of three tech-savvy, Samaritan-inspired UNO students into a prototype that facilitates direct action and curates empathy through stories that move the human spirit—have altruism built into their API.

We spoke with the engineering minds behind Samaritan and Sojourn to learn the hard technical considerations that figure into apps designed to ply the human heart with kindness and compassion, ethereal qualities that may be more difficult to measure than compile-times, but which are necessary for the technology to succeed.

Samaritan: more research brings more headaches but gives a satisfying UX in the end

Samaritan UX Manager Christopher Sun said the team did a lot of research into the lives of those who would benefit from Samaritan, to find out their goals and how the app could help them succeed. Sun said it was hard to integrate all that field research with the feedback they got from potential users to design meaningful technology improvements.

“As difficult a process as that was, overcoming those hurdles meant moving closer to our desire to be a helpful tool for nonprofits in walking with their unhoused clients towards housing and better health,” Sun said.

Languages Samaritan was built with include:

Android app: Kotlin, Java, XML

iOS app: Swift, Objective C

Backend (database): Ruby, PostgreSQL, Ruby on Rails, React JS

Sojourn: telling genre-crossing stories with platform-crossing technology

Like the Samaritan team, UNO computer science major Michael Feldmann and his colleagues conducted in-depth interviews with several people whose stories are poised to uplift and inspire the prototype’s target audience to take meaningful action, such as by donating money to a struggling family or volunteering to deliver groceries to an elderly person.

“We are currently taking the content of those interviews and translating them into the content we are putting in the app, so we will be able to get our prototype in the hands of users,” Feldmann said.

At first, the team began writing the app with XCode/Swift. Then they switched to Flutter/Dart for the sake of efficiency.

“We chose Flutter/Dart because you write your code once and then can run your app on iOS devices as well as Android devices,” he said.

Had they stuck with XCode/Swift, the team would’ve built a fully functioning app that only worked on iOS. A single-platform mobile app would narrow Sojourn’s market penetration and undermine the scope of the vision. Plus, Feldmann and co. didn’t want to rewrite the app from scratch for Android. They’d rather spend their summer quarantine fine-tuning the virality of the user interface, not duplicating work they’d already done.

“Also, a lot of things with Flutter/Dart have been easier to learn and work with than with XCode/Swift, which is definitely a plus,” Feldmann added.

We don’t know many developers who wouldn’t consider that a win.