mobile

A collection of 21 posts

Automated iOS Deployments with Fastlane
mobile

Automated iOS Deployments with Fastlane

Typing in 17 different things to ship an app to the app store is old and busted. Hitting a button that does it all for you is the new hotness. Which do you prefer? What is fastlane Fastlane [https://fastlane.tools] automates the compile and deploy process for apps. It is free to use and makes the archive and submit process painless, automated and repeatable. 🎉 It was built by Felix Krause. It has been acquired by Twitter and is now part of fabric [https://get.fabric.io]. (hat tip to Felix)

android

From RxJava to LiveData (and back?)

This photo has nothing to do with either RX or LiveDataDisclaimer: I'm no Reactive Extensions [http://reactivex.io/] (RX) expert. I'm simply a happy user with some (~6 years) experience with it. I've seen people struggling with RX. They say it has a steep learning curve. In that light, I was super excited when I first heard about Google's Android Architecture Components [https://developer.android.com/topic/libraries/architecture/] (AAC) and LiveData [https://developer.android.com/topic/librarie

MVP design pattern overview
mobile

MVP design pattern overview

We tried to use the often praised MVP design pattern in a recent Android project and ... we're sold! In fact, we love it, and wanted to share the love! Model View Presenter (MVP) design pattern is a great way to decouple application code to simple components. Each component does one specific task, which makes them self contained, easy to reason about, and separately testable. The pattern is especially well suited for mobile development and is quite popular among Android developers. Let's look a

  • Tambet Ingo
mobile

The Many Faces of Analytics

On too many projects the conversation around analytics goes something like this: Marketer: As we're getting close to the 1.0 launch of our new app can you put in these 370 events that we want to track in Google Analytics? Engineer: Sure I'll put them in. (Thinking at the same time that no one, ever will look at these events and thinks its a waste of time). Done, that's the entire conversation. A trite example as a set-up for the rest of this article? Sure. Mostly true a lot of times? Yep.

Your Perfect Mobile Marketing Stack
mobile

Your Perfect Mobile Marketing Stack

As product guys who’ve spent years in the Boston start-up community, we often get questions that center on how to structure the “perfect” mobile marketing stack. Questions like: * How do we do cross-channel marketing? * Some of our Marketing & Analytics tools seem redundant, do we need them all? * How do we build the “perfect” marketing stack? It’s natural to have these questions. Mobile is a fragmented market, filled with hundreds of vendors, each promising they can do it all. It’s confus

mobile

Rocket Insights wins award for "best visual design - mobile" at 2016 Davey awards.

We are proud to announce that we've won an award for "best visual design" and "best user interface" at the 2016 Davey awards for our work on the Virgin Pulse Apple Watch app. With nearly 4,000 entries from across the US and around the world, the Davey Awards honors the finest creative work from the best small agencies, firms, and companies worldwide. We wrote up our experience working on this app: What we learned designing and building the Virgin Pulse Apple Watch app [https://blog.rocketinsig

Install Dev and App Store Builds at Same Time
mobile

Install Dev and App Store Builds at Same Time

The Need After the 1.0 of your app has shipped it is time to start working on version 1.1. One thing you will want to do is install the app store version and the dev version on your phone. By default you will not be able to do this. The default Xcode project set-up assigns a single bundle ID for all builds of your app. Your phone only allows a single app with a particular bundle ID to be installed at a time. The Solution We want to set-up our project so that our development build and our rel

How to Create a Navigation Transition Like the Apple News App
swift

How to Create a Navigation Transition Like the Apple News App

We at Rocket recently developed a new app for Barstool Sports which allows their users to consume its blog posts, podcasts, and videos. For this app, we decided to try to improve upon the default push/pop navigation animation by implementing a custom Apple News-like transition between the story feeds and story detail pages. Apple News Transition Here is the zoom transition that Apple uses within their News app: Default Push/Pop Transition And here's an example of the default push/pop animatio

  • Matt Daigle
    Matt Daigle
Practical Examples of 3D Touch (aka Power Moves)
mobile

Practical Examples of 3D Touch (aka Power Moves)

The Promise In a previous blog post [https://blog.rocketinsights.com/3d-touch/] we stated how we thought 3D touch would lead to new types of interactions and app design. It would be a lie to say that 3D touch has fundamentally changed the way that apps are envisioned. However, 3D touch is slowly but surely starting to take hold. As Craig Federighi showed last week at WWDC, 3D touch is becoming pervasive: available from the lock screen, control center and, of course, available in apps (e.g., Ube

We partnered with Virgin Pulse to design and build their Apple Watch app - here’s what we learned
design

We partnered with Virgin Pulse to design and build their Apple Watch app - here’s what we learned

Rocket Insights recently partnered with Virgin Pulse [http://www.virginpulse.com/blog-post/announcing-the-virgin-pulse-apple-watch-app/] , the leader in enterprise health and fitness, to build a new Apple Watch app, and we are excited to announce the app has launched today in the Apple App Store [https://itunes.apple.com/us/app/virgin-pulse/id793322895]. We worked with the team at Virgin Pulse over the course of several months to design and build the app and learned a lot in the process. Below

Simple, Sweet Locking Recipes
mobile

Simple, Sweet Locking Recipes

Any app of reasonable complexity has the need to synchronize and/or block thread execution until certain events have occurred. A lot of existing info on the internets references old or incorrect ways of locking/synchronizing. At Rocket we have almost completely standardized on Grand Central Dispatch (GCD) to accomplish our synchronization/locking. This consistent approach keeps things simple and easy to reason about. Here are several specific recipes for problems that we recently worked on.

Coding Style Guides
mobile

Coding Style Guides

At Rocket we have established coding style guides for all of the languages we work with. We wanted to share some of these guides and our rationale for having them. A good guide will make your code more readable and code reviews more pleasant. It will also promote good coding practices to everyone you work with, including new members of your team. Here is our Swift style guide. We'd love your feedback -- feel free to fork/modify etc. Swift Style Guide [https://github.com/rocketinsights/swift-s

All Together Now... Multiple Storyboards
ios

All Together Now... Multiple Storyboards

TL;DR Got multiple iOS developers? Use multiple storyboards. Highs and Lows Working on significant projects means working with a large code base and a multi-person team. Multi-person teams are fabulous for so many reasons -- code reviews, someone to bounce ideas off of and your nerf gun ally. However, one thing that is not fun about multi-person teams are source control conflicts. You finish a feature, got to merge/rebase and you get a conflict. Ugh! We almost exclusively use Storyboards for

Debugging iOS applications in the wild
development

Debugging iOS applications in the wild

As iOS developers we have lots of tools to debug our applications. However, debugging issues when the app is on a users device in the wild is much harder. If the application is suffering from a crash there are good tools to get data via (Twitter Fabric [https://get.fabric.io/], Crittercism [http://www.crittercism.com/], etc.). However, the problem becomes much harder when the app is impacted by a gnarly bug that impacts the user experience but does not actually crash the app. The best approach

Could not sign up! Invalid sign up link.