Author Archives: Jackie Wang

Snowball finishes semester strong, sad about saying goodbye


It’s been a long 14 weeks since we started, but we MADE AN APP.

When we first met each other in January, we never imagined we’d be so invested in our product. But through the process of creating our baby, we realized that we had made something we are incredibly proud of. We left Demo Day with three awards — Most Original Idea, Best Presentation and Best Overall App — which is mind-blowing. Congratulations to everyone in this class for doing the damn thing and getting to Demo Day!!

We each thought about the semester, and have come away with a few realizations and messages for each other:

That GIF is me and Eitan dancing to show our excitement, and it’s all too accurate after 14 weeks of bonding and working on this with these great teammates. This class was equal parts challenging and rewarding. There were days when we all grew weary, but in the end this ended up being a project we are all proud of. I’m truly bummed that it is over and we all have to part ways. I had so much fun designing the app and making sure every little aesthetic detail was right (and spelling and grammar — you can take the copy desk chief out of The Daily Texan, but you can’t take the copy editing out of the copy desk chief). When Jackie and I teamed up with Eitan, Jonathan and Mantu at the beginning of the semester, I just knew we would be successful. I am so proud of us, Snowball team! Thank you, Jeff and Quigley, for a great class. Your encouragement pushed us through!

Our team is the best team!! I loved that we all got on the same page quickly, and how we managed to win THREE AWARDS for this app that we hate/love after so many bugs and still not being in the App Store. Thank you guys for trusting in my dumb humor and agreeing to do a skit or write crazy stories on our app. Our design is beautiful thanks to Kailey, and the app itself wouldn’t exist had it not been for our three wonderful developers. Also, shout out to Mantu for being the funniest person on our team and killing it onstage and in our second promo video.

Thank you to Jeff and Quigs for supporting us throughout this process and being the best critics and cheerleaders. Without Quigs, I would have never taken this class. Without Jeff, I would have even less of an idea of how Swift works. Thank you to our friends and family for keeping us sane this semester, and supporting us at Demo Day. Thank you to the Demo Day judges for seeing our passion for this project and getting why we loved it so much.

So nothing I say will live up to Mantu’s speech but here goes. When I first saw this class on the course schedule I was intrigued but I really knew nothing about it. The idea of making an app with journalism students sounded so interesting, a real departure from anything in the CS department. I think until now I didn’t realize what the CS department was missing, but it’s classes like this. I learned more from this class than most others I’ve taken. Teaching myself Swift and iOS development was stressful at first but I feel like I got the hang of it very quickly. I had always wanted to make an app but I never found the motivation, and never had an idea that I cared enough about. This class taught me that apps are fun to make, but honestly extremely difficult. It has taught me to respect apps, and pay attention to the little things. Jeff and Quigley, you guys really do an amazing job and I look forward to seeing what future iterations of this class come up with!

This class really is like no other that I’ve taken. I took an iOS app development class last year, and it doesn’t compare to what I’ve learned or experienced in this class. Diving into creating an app really forces you to learn quickly and more efficiently than a standard lecture. Working in a team environment was the most important takeaway from this class. In my four years at UT, I’ve always hated group projects. It usually seemed that there was always a person who wasn’t committed. I couldn’t ask for better teammates to create Snowball though! Everyone was really passionate about the app, and I couldn’t ask for any more effort than they put in. It’s really great to see that teams really do work before I leave UT and have to work in one in the real world!

There is an end to everything. When I first came to class, I was a bit nervous because I didn’t know anything about iOS development and I thought this is just another iOS class where our professor would teach us how to code. It wasn’t like that. We had to learn and code ourselves. I thought I couldn’t do it. Fortunately, I have awesome teammates who were super helpful and positive. The last time I felt like I didn’t want the class to end and part ways with my classmates was in 12th grade when I was in Vietnam. For seven years I stayed in America, and for all the classes I took in UT, only this time I had that feeling again. With my (poor) observation, every team here was great. They all did great jobs, their hard work showed on Demo Day, but they all lacked something. From discussing their apps in class, or presenting on stage, they lacked something, something that I can only find it in my team. Our team may not be the best at some things, but I know for sure we have the best synergy, energy, and enthusiasm. I felt like we are a family. It’s sad that we all have our paths and we may not be able to see each other again but it’s life. Good luck to them in the future. Love my teammates, also, love Jeff and Quigley as well for the great class. Thank you!


We’ve submitted a refined, updated build to Apple so keep your fingers crossed — we’re shooting for an acceptance this week. Follow us on Facebook and Twitter to stay up to date and find out when you can (finally) download the app from the App Store!


The Snowball team

Snowball team writes story together as Demo Day draws near

As Demo Day approaches, the Snowball team wanted to get in the spirit of the app. So we sat down and wrote our own collaborative story. The prompt (thank you Reddit): “You are a patron saint, but you’ve never been told of what. Now, you’re trying to find out.”

Even as my father told me I could never believe him, I had lived a life that no deity would be proud of, and yet here I am.

I’ve searched so long for my destiny. I know I am a guardian of some, but have never been sure. Do I watch over the wanderers? The fast food addicts? The people who vape and blow the steam into others’ faces?

A part of me has always wondered, but I was too scared to find out. I’m afraid that I can’t live up to the answer. But after what happened, I knew I had to search to find out who I am.

I remembered when I was six years old, I had a toy car. A vampire sat in the driver’s seat. She looked like a toy police officer, but I knew the truth. She was a vampire, the mother of all vampires.

Why is the vampire 6 inches tall you ask? She refused to tell me. Apparently there are quite a few of them scattered around hiding as toys and other small objects sitting around houses.

It’s hard to tell whether what you’re seeing is actually a tiny vampire or just a glass figurine. It can be quite a scare when you pick up a beautiful ornament only for it to wink at you.

However, the scariest of all was none other than Glassferatu. He is a ruthless murderer who lives on people’s countertops waiting for the perfect chance to strike.

Glassferatu and I fought for ten weeks straight in 1997, but I had a lingering suspicion that we were approaching our relationship the wrong way. Even as the vampire slashed at my throat, I wanted to help him.

There’s something so endearing about a bad boy! After all, being a statue must be tough, most people “like” you are soulless pieces of glass, Things were beginning to really look up between Glassferatu and I until my sister came home and accidentally knocked him off of my dresser, and I watched in horror as he began to fall.

“GLASSY, NO,” I shouted as we both dived to catch him from certain death. Our elbows bumped and as we hit the ground, so did Glassferatu. He broke apart with a soft tinkling noise.

 The glass erupted into a pleasant looking snow, almost as serene as the inside of a snow globe. As soon as the shock of the situation wore off we both began to internalize what happened. However, even as we were looking at the tiny pieces of glass falling lightly to the floor, every single one of them spontaneously combusted.

She turned around and looked at me with tears in her eyes. “I’m so sorry, Edward. I know you really liked that toy.” She tried to sweep up the fragments but they all burned cleanly away.

“How dare you?!” Edward screamed at his mom. “You could have saved them!”

“You knew how important they were to me!” In that moment Edward knew what he had to do. He stormed down to the basement in a rage and opened the old trunk his dad had given him.

In the trunk, he found a magic wand his father had left for him. “Only use this in special cases, Edward,” his father had told him. He knew he had to punish his mother for what she had done.

I pulled myself out of my memories. I pulled out the wand. “I won’t forget, Father.” I knew who I was supposed to protect now, what I was patron saint of —

I am the patron saint of Tasty videos.

Thanks for reading! It got a little weird, but that’s the whole point of this app. We hope you had just as much fun reading this as we had writing it.

We also have our final promo video online:

See you all this Saturday at Demo Day!

- Jackie, Kailey, Eitan, Jonathan, Mantu

And On The Third Day, Snowball Was Still Not In The App Store.

Happy Easter!

Us after eating too many Peeps:

Just kidding, instead of munching on Peeps we snacked on some delicious XCode and chomped on some TestFlight runs. How did you guys spend your Easter weekend? We are working away at our app and presentation during the last two weeks left before Demo Day! There’s a lot to do and we’re still not in the App Store, but we can see the light at the end of the tunnel. Here we come, people! So, what did we do during this past week?

We Prepped For Demo Day
This week, we continued to prepare for the upcoming DEMO DAY! We’ve gone through and budgeted how we will spend our 10-minute presentation slot and have brainstormed some ways to make it fun and interactive for attendees! Want to know what we’re doing for Demo Day? You’ll have to come and find out for yourself! But FYI: There might be candy… and stickers! We would love for you to come meet us and see a demo of our app. We are happy to answers any questions you might have about our app. Plus, if you come you can see four other presentations about four other creative apps by our talented colleagues!

We Made Progress In Development
We’ve changed the joining story screen and managing invites screen to look how we want. Our goal is to have the blocking user functionality done early this week.

We have been speaking a lot lately about features that we have been building to make sure that we can get this thing into the App Store as quick as possible, but we have also been making changes to make the app more enjoyable to use. Our invite system is now completely functional, and the profile page is a little more user-friendly so users can easily access and differentiate between completed and ongoing stories.

Our “Completed Stories” also finally has a completed story:

(For reference, the prompt Jackie and Keun-woo went off of was: “So, a guy walks into a bar and realizes that when the joke ends, his hypothetical existence comes to an end.” h/t Reddit.)

As you may have gleaned, Jackie and her wonderful roommate Keun-woo got a little silly with the story, but we hope all of you feel like you can be silly too. This can be used seriously, or just for a fun activity with friends.

We Moved So Close To Submission We Can Almost Taste It
We are moving closer and closer to trying to submit the app again, and we have only one or two small features left before we can submit again. Since last week we have made our app iPad accessible. This was not a particularly important feature for us initially, but in order for an app to be accepted it needs to properly run on all Apple devices. Also, upon thinking about it further we realized that the iPad might actually be a fairly good place for use of our app because typing is actually slightly easier.

The second set of features we are very close to finishing is the features that Apple requires for User-generated content. Apple is very serious about people being able to control the content they see, which makes sense and so we have been busy creating a system which is easy to use and effective in blocking inappropriate users.

We are going to submit to the App Store again tomorrow once we have our blocking functionality working. We hope this time we will get the green light!

And Now, We’re Headed To HEB To Get All That Discount Easter Candy
Don’t forget to follow us Twitter and like us on Facebook! See you guys in the App Store soon!

Wired* sits down with the team behind Snowball for Q&A

Q&A with Snowball – Collaborative Storytelling
Wired* sat down with the folks in Austin behind the coolest new collaborative storytelling game to get a quick update on their progress.

*We wish. This is us asking ourselves questions and us answering them again.

We heard you guys have an exciting announcement!
We do! Big news: Demo Day is in two weeks! We’ve been inviting everyone we know to the Facebook event. We really would love to see you guys there! We are going to show off our app to a panel of judges and the public and then answer any questions you might have. We will briefly explain how we created the app and show you how it works live on one of our phones! We hope to see you there. Invite your friends, your roommates, your classmates, your mom, and anyone else you might think of.

Bigger news: Our third promotional video is live!

OK, so this isn’t really bigger news, since this was a deadline that we had to meet anyway. But this still felt big, because we changed our video style a bit.

How did you do that?
This third video marked the first time we relied entirely on strangers, silent acting and editing to illustrate how Snowball works. From one day at Thunderbird Coffee, we were able to ask enough people to star in our Very Exclusive Promo Video, and also got a few followers through that. (Marketing and audience expansion hack: feature strangers in your campaign, and at least they will pay attention to the app!)

Jackie learned Adobe After Effects for the first time in her life, and though video is still not her strong suit, she’s definitely learning from this experience. We also learned that coming up with stories is really fun and not everyone gets your sense of humor, but that’s why you collaborate with friends on Snowball – Collaborative Storytelling.

So, are you guys in the App Store yet?
No, we still are not officially in the App Store, as we want to avoid another needless rejection and cover all our bases first. This week the app made steps toward much greater usability. A common pitfall in app development we’ve realizes is simulator syndrome.

What is simulator syndrome?
Simulator syndrome is a problem that happens when developers rely too heavily using the simulator at the expense of checking how their app functions on an actual phone. As a writing heavy app, Snowball obviously relies heavily on the iPhone keyboard for much of its content, as that is the only way for people to write down their ideas/entries. Since we suffered from simulator syndrome, we accidentally tested the app far more than we should have on the simulator. So we did not take into account the software keyboard and are now paying for that mistake. We have been going through the app and writing code to move the screen up and down to avoid being blocked by the keyboard and make the writing experience much smoother.

What else have you guys done?
We’ve also made steps in adding one of our final features. Users can now manage their invites to join stories through the profile tab. On the “manage invites” screen, users are presented with a list of invites with an option to accept or decline them. This invite feature essentially gives our app a social networking aspect to it as friends can now have a direct way connecting with each other. For an even further exclusive experience amongst friends, authors of stories could have an option to mark stories as private upon creation and others could only join by invite.

We also polished some of the screen on the profile. A new custom segmented control shows user’s stories that fit the app’s theme. The profile screen now shows a brief first few sentences of every stories regardless of user’s choice of using precoded prompt or not (before it only shows if user uses a precoded prompt, but not their own story). We enhance user’s profile picture with more accurate scale, but it’s still not perfect. The bug in the “all,” “complete” and “incomplete” sections of the profile page we discussed last week was also fixed, and we rescaled the measurement of all the tables and cells to enhance readability and clarity.

We can’t wait to see you at Demo Day when we, the people of Wired, will totally, for sure be there!
Thanks! We can’t wait to show you all our app!

The Snowball team tell scary stories around a campfire

Writing prompt: Five students — of which three study computer science, and two study journalism — gather around the campfire to tell scary stories.

Eitan loomed over four other students and shined a flashlight under his chin. His eyelashes cast shadows across his eyebrows, which were furrowed.

“In an old, haunted coffeeshop, a boy opened his laptop to buy an Apple Developer’s license,” he intoned. “He slowly pulled out his credit card and turned the silver numbers embossed on the front toward the light, copying the numbers one by one into the waiting text field. ‘Five seven three two….’”

Eitan pulled open his laptop to mimic the actions, using this chance to tweak some code for the app he was working on: Snowball – Collaborative Storytelling. He poked Jonathan and whispered “Hey, will you join a story so we can test something?”

Jonathan shrugged and opened his phone, where a TestFlight version of Snowball lay waiting. He opened the app and signed in through Facebook, then clicked a random story entry named “bxjskd” and typed a few words into the text box. He hit “End Turn.” Eitan’s phone screen lit up with a ping and he smiled.

“I can’t believe the push notifications work, holy shit.” He and Jonathan high-fived.

Jackie tapped the edge of the laptop screen. “Then what happened? Did he buy the developer’s license?”

“Yes,” Eitan said. “And then he uploaded the first build of ‘Snowball – Collaborative Storytelling’ onto iTunes Connect, where he invited everyone in the group to the iTunes Connect account and download TestFlight to start sharing the app with their friends.”

Mantu opened his laptop. “I don’t see an invitation.”

“I just sent them, give it a minute. We’re sitting around a campfire, so clearly we’re somewhere outdoors and possibly with very bad signal.”

Kailey raised her hand. “It’s not working on my phone.”

“I got it,” Jonathan said. “Oh, and adding to the scary story: ‘Snowball – Collaborative Storytelling’ can now share finished content on Facebook. We still need to implement accepting invites from Facebook, but that shouldn’t be hard.”

Jackie chose a story named “test 2” and clicked “Begin Turn.” Eitan’s phone pinged again.

“Tacos ARE very important,” he said after reading it. “But can I finish my story?”

Everyone nodded, their marshmallows starting to burn at the tips.

“He bought the App Developer License, and requested money from the other group members to cover the cost,” Eitan continued. “But after he tried to upload his app, he realized — ‘Snowball’ was already taken as a name!”

“AHHH,” screamed Kailey and Jackie. Mantu and Jonathan hid behind their marshmallows, scared out of their wits. The campfire suddenly whooshed out and Eitan dropped his flashlight, and it made a soft thwomp as it fell at his feet.

The End


In case you didn’t figure it out, the above story was only based on true events. None of us huddled around a campfire (at least not as a group); we chose instead to meet at the Union and hash things out next to Panda Express. Also, those digits definitely are not part of anyone’s real credit card number.

Yes, Snowball was taken as a name on iTunes Connect. (The App Store had no such app.) But we added “Collaborative Storytelling” to the end of the official name and it all worked out.

After a little bit of struggle, push notifications started working. Eitan’s face when he realized they were working:

And all of us when we saw the app as a beta version on our phones:

With TestFlight up and running, we’re ready to get into crunch mode and take Version 0.1 to the streets (aka our friends and classmates — get ready to be creative in a short period of time).

As always, don’t forget to follow us on Facebook and Twitter!

See you guys soon in the App Store!

The Snowball team

The One Where Snowball Starts To Look Awesome

We’re less than a month away from App Store Submission Day! And we’re going through the four stages of getting close to the end of our app development.

First stage: Realization that this has to be done by April 3.


Second stage: Fear that the whole thing will break in the end.


Third stage: Acceptance that we will have to get through this, no matter what.


Fourth stage: Excitement that Snowball is so close to becoming a real thing people can download and use.


And now that we’ve been through a roller coaster of emotions, we’re so blessed and happy to share that Snowball is a working app, with the basic functions we prayed for all in the right places.

Our baby has been through a lot of poking and prodding and yelling, but after a week of some mad coding, we have almost all pages planned and running.

We have a login page, with a beautiful animation coded by Eitan. We have a timer on the writing page. We have a “join story” page that appears after clicking on a preview from the home page. And when you join a story, it updates the preview page to reflect the latest contribution to a story.

Every page uses the same color scheme, and with Kailey’s design vision aided by very capable computer science students, the function and the look are melding together to make Snowball.

One of the biggest struggles came from referencing objects that did not exist in the app’s folder. Imagine having a story with a property that keeps track of what users are joining and have joined, and another story’s data didn’t have that. Our app kept breaking because it was trying to parse out two separate objects. That took a lot of debugging; since XCode gives you the line where it breaks, there was a lot of guesswork after finding each break in the code. Sometimes it would say, “The thing you’re trying to access is empty” — because we didn’t updated the data model to solve the problem.

And the data model has been problematic; our data model has not been finalized yet, since working remotely on different parts of the app gives everyone different ideas on what the data model needs. As the app is built, we learn more about what the data model needs.

As the trial period for Sketch runs out, Kailey raced against the clock to finish designing the last few pages Snowball needs AND FINISHED. We now have mockups of every page, and most recently, the profile page and what a story (after being completed) looks like:

Screen Shot 2017-03-05 at 2.26.24 PMScreen Shot 2017-03-05 at 2.28.02 PM

Lastly, our social media presence is up (thanks to everyone that followed!) but testing has proved to be incredibly difficult. As soon as people see a Google Form that asks for anything other than a multiple choice question, they balk. We’ve made our way through our social circles pleading for help, and it’s been about a 15 percent success rate. We’ve been ignored, vilified, laughed at, and pitied. Nevertheless, we persisted.

We start our third sprint on Monday, bringing us another sprint closer to the finish line. Keep following us here and on Facebook and Twitter to stay in the loop with Snowball!

Snowball on the road to function AND fashion

First things first: Follow Snowball on Facebook and Twitter!

Second, take our survey. We want to hear from you on how useable our ideas are. It’s a Google form, so no excuses about not being able to open it.

Third, we’re slowly but surely realizing our goal of having Snowball be a real, functioning app. Which sounds like a “duh, isn’t that the whole point of taking this apps class?” Yes, it is. But to group of young, scrappy and hungry computer science and journalism majors who have zero to little iOS experience, this is very exciting. You might say we’re not throwing away our shot.


After a productive session where we drew our ideas down on paper with pen (I know, how archaic), we found that editing is one of the most important things in this process. The smallest change to our tab bar (going from four to three buttons) streamlined Snowball’s usability, even if that wasn’t the original plan.

We also started mapping out different screens. Again, one of the most challenging aspects of design was our ability to edit — we kept coming up with different ideas to enhance user experience, but realized that some things just weren’t necessary for a functional app and would hinder our development.

Our current story screen mockup:

Screen Shot 2017-02-25 at 9.30.20 PM

We also put out our first video of the semester in which Jackie struggled to have friends help her achieve her artistic vision, but discovered that sometimes the spirit is willing, but the skill is nil. Nevertheless, she powered through and even made an (extremely rudimentary) animation of a snowball rolling across the screen.

As far as development goes, the app is moving along faster than ever. We have a working login screen, with a delightful animation that pushes buttons below the two text fields to the side after a user clicks “Create an account” to reveal two more text fields.

Screen Shot 2017-02-26 at 9.25.01 PMScreen Shot 2017-02-26 at 10.42.21 PM

Earlier in the week we figured out a way to increase our team productivity by quite a lot by separating the storyboard files thereby allowing all three of us to work on different parts of the app simultaneously. The other big thing in development is the beginning of the inclusion of animations, like the one on the login screen. The functionality is coming along faster than we would have thought which means that we have room to really make it look and feel as unique as possible.

Developing an app is an extremely rewarding activity, but on the other hand, it can be very difficult. It seems that the most important part of app development is to think about all of the progress that has been made up until this point, rather than the amount of work that still needs to be done. As a group we have truly accomplished a lot in a VERY small amount of time and I think that the most important thing we can do is to always keep that in mind.  Amazing apps take an amazing amount of time and although our app is looking great, it still has plenty of room to go!

We also had some fun exploring Snapchat filters:


(We are all princesses even if Snapchat only crowned Jonathan.)

See you guys next week!

— Jackie, Kailey, Eitan, Jonathan and Mantu

When you change your outfit but you’re the same wonderful app-in-progress

We’re one week in!

…and have already gone in a different creative direction.

Collab has transformed into Snowball, with the same premise: a storytelling game where the story can go in any imaginable direction with each new author (get it? Snowball?). But after receiving feedback from our esteemed professor Robert Quigley, we decided to change the name to be more “fun.” (Unfortunately, the name Plot Twist has already been taken.) But the development process, thankfully, has stayed on track. We had a lot of goals for our first sprint, but are working at a good pace.

When we first met, we showed you our first-draft design for Collab. We still like the general layout, but are toying with color schemes and fonts. Our name also gave us new life in terms of a logo, and a very, very basic idea so far:


Screen Shot 2017-02-12 at 9.07.14 PM.png

It feels a little too literal, but we’re a work in progress.


We tested the basic idea of the app using the Notes app already loaded onto iPhones. Some testers started with a writing prompt and a character, while the others were given three characters with a job and a setting. Here’s what a few of our testers had to say:

  • The characters were okay, but the setting may have been too basic. A more specific scenario would have been interesting.

  • One character is enough to build a story on.

  • College-aged users found typing on a phone for 5 minutes to be reasonable

  • From one tester: “If I’m looking at this in terms of a game, I like having vague details about characters since it leaves a lot to the imagination. Setting might have been a little too basic but I also like that it makes you be creative.”

After weighing out the benefits between writing our own server and using an established BaaS(backend-as-a-service) provider, we decided to settle on using Firebase. We chose not to write our own server due to time constraints and the complexity that comes with it. Also, we would most likely have a smoother experience using Firebase since one of our team members has had experience using it. After thinking more about exactly what we need our server to do, and from an authentication point of view, from a data storage point of view, and from an ease of use point of view, Firebase seems like by far the best option.

For the actual development:

1. We have set up our initial app that is connected to Firebase

  • So far, we have authentication through email/password through Firebase’s authentication services

Screen Shot 2017-02-12 at 10.50.27 AM.png

  1. Created a view for the user registration

    • This view is in no way permanent. It was just used to test out to see if our email/password user registration system worked.

Screen Shot 2017-02-12 at 10.37.56 AM.png

  1. Added basic Facebook integration into login screen

    • Allows for login using normal registration or facebook to improve social aspect

We still have more steps to complete for development before we’re done with Sprint 1:

  1. Solidify the UI for login/registration
  2. Create a tentative data model for users in Firebase
  3. Create a connected home screen after user logins

Check back with us next week to get to know us a little better!

— Jackie, Kailey, Eitan, Jonathan, Mantu