Red Shift

The official Infinite Red publication for React Native design & development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world.

Follow publication

Making the React Native Conference App in React Native

Gant Laborde
Red Shift
Published in
4 min readJun 28, 2017

--

We’ve got a design team… wait… reset. We’ve got a great design team. A few months before the Chain React Conference, we were ready to “bust out” a conference app. Rushed to start and were instantly told to stop. Our design team pulled a virtual fire alarm.

“You know you can’t half-tell a story, and expect people to be happy” — Everyone who ever watched the TV Show “Lost”

They were right. We decided to do our client process, but this time for ourselves. The conference app went from a nice-to-have, to an actual project on our work schedule.

Simply put, it was one of the best decisions we could have made.

We started the same way as when we planned the conference; with the feeling we wanted for our attendees. From there, we got a lucid roadmap of what it is were going to build.

From vision the path is easy

Following the steps of our process, our design team pulled us back to square one. They asked the questions that any new mobile app should be thinking about: “Who is using this app?” “Why are they using it?” “What are they trying to achieve?”

After working through several rough sketches and concepts over the course of a week, our team delivered an experience. At the core, this app is all about an experience for our attendees.

Our new design featured:

  • Talk notifications that’ll remind you when a certain talk is coming up
  • Quick access to ride-sharing apps — just click the Lyft button, and we’ll take you to the app with all of the information already filled
  • A mini city guide that makes recommendations for nearby food, coffee, and sight-seeing
  • Full menus for what to expect at breakfast and lunch

Design in Hand — We Started To Code

First thing was first. React Native for iOS and Android. And not just any React Native, we used our popular CLI for boilerplates and plugins, Ignite.

Ignite CLI gave us a fantastic kick-off, with Reactotron, Redux, Sagas, React-Navigation, and Generators. We were basically there! Here’s what challenged us in implementing the design.

Challenges along the way:

  • Push Notifications Why are they still tricky from platform to platform?
  • Blur on Android — Didn’t really work like our designers wanted.
  • Scope-creep is Real — We see why it’s so easy to keep adding cool stuff! At some point we said enough!
  • Various phone sizes — You test on two phones and think you’re good? You know better. Beta testing with a decent population was crucial.
  • Testing the Future- Serious debugging tools/flags were key for developing things that activate on designated dates and times.

Testing the future was easy with Reactotron!

But it wasn’t all hurdles; we played in some new tech, too!

Since React Native is constantly evolving, we had a lot of cool changes to consider:

  • Swapped out our ListView for FlatList which cleaned up code
  • Utilized Mobile Center for our CI, Beta Distribution, Analytics, and Crash Reporting
  • Swapped out our API JSON calls for CodePush, which can deliver data, images, and code updates instead
  • Automated iOS and Android icons from a source 1024 x 1024 image via Fastlane plugins
  • Automated uploading the dSYM.zip to mobile center on releases
  • We added TypeScript (compile in place — Christian Brevik style), mixed elegantly with JavaScript so we could do a “Go your own pace trying TypeScript” adventure!

Wow, when you look at it, that’s a lot of Microsoft Love! Right?

I KNOW RIGHT!? I’m amazed at how we found ourselves here.

All our decisions just made sense! If you think someone else does these things better, I’d love to hear about it ⚡️🦄🎉

Try the app!

Especially look at the app on July 10th-11th when the conference is active!

iOS: Download

Android: Download

Here’s the code! (File bugs, add features, just peruse)

Yay open source!

Thanks to everyone who played a role in the development of the app. Here’s our git contributors list, but special mention to Justin Huskey for keeping us thinking UX, Frank von Hoven, who wasn’t even assigned to the project, but helped, and Sia Karamalegos who doesn’t even work with Infinite Red, but still helped!

Extra special mention: a conference panelist filed and fixed the bug he filed! Kudos Jani Eväkallio, you rock! 🎸🤘

To all others not mentioned, to the Founders who green-lit the project, and to the many attendees who made this all possible, thanks! We 💖 how open source brings people together, and we’ll see you at the conference!

Bonus: Expo Link

Brent Vatne ported the source over to Expo with some exciting changes! See the app on expo here, or look at the changes he made to source here.

About Gant

Gant Laborde is Chief Technology Strategist at Infinite Red, published author, adjunct professor, public speaker, and mad-scientist in training. Read the writings of Gant and his co-workers in our Red Shift publication. If you’re looking to discuss nerdy tech, he’s all ears. If you’ve got a conference, he’s happy to speak.

View half-witty, half-groan technical tweets with @GantLaborde on Twitter, and follow him on Medium and GitHub. See where he’s speaking next on http://GantLaborde.com/

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

The official Infinite Red publication for React Native design & development. We’re a fully distributed team building world-class apps for over 20 years for clients all around the world.

Software Consultant, Adjunct Professor, Published Author, Award Winning Speaker, Mentor, Organizer and Immature Nerd :D — Lately full of React Native Tech

Responses (1)

Write a response