Thoughts on product design and development from the team at Rocket Insights.

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)

docker

Speeding Up Docker Development on the Mac

Docker is a helpful tool for both developers and ops. It can simplify both the development of an application as well as deployment and management of it. In this post we are going to explore a common pitfall related to developing an application in Docker on the Mac and see what we can do to mitigate the issue and work as productively as possible. Developing in Docker Developing in Docker has a number of advantages over developing directly on your Mac. Before we begin, let’s remind ourselves of a

How to effectively scale teams

How to effectively scale teams

"How can we move faster?" This is perhaps the number one question we hear from the CTOs we work with. Regardless of team size, industry or maturity, we consistently see teams struggle to effectively scale. In a few extreme scenarios we have also heard "I am spending more on software, yet, somehow, we're actually seeing less software get released. How the hell is this happening?" Here are some symptoms of a team that is struggling with growth: * Problems organizing work - Entire teams are stuc

Rocket Insights Makes Built In Boston’s Best Places to Work List for 2021

Rocket Insights Makes Built In Boston’s Best Places to Work List for 2021

Rocket is off to rollickin’ start this year! We’re so excited to announce that for the second (!) year in a row, Rocket has been named to Built In Boston’s Best Places to work list [https://www.builtinboston.com/companies/best-places-to-work-boston-2021]! [https://giphy.com/gifs/happy-excited-the-office-dxocWugDZRyG4] It gets better, too. We also made the lists for the Best Midsized Companies [https://www.builtinboston.com/companies/best-midsize-places-to-work-boston-2021] to work for and B

Hack Your Way to a Smaller SPA

As Scott O'Brien always says, JavaScript is bad.  In all seriousness, our front-ends wind up bloated, really quickly, which leads to poor performance.   We mostly aim to keep the package sizes down to get to the first meaningful paint as fast as possible, but less JavaScript also means less time parsing it.  With my latest project, I opted for a React stack, but I am doing my best to keep dependencies down (sorry, not sorry Redux!), but some things are too useful to avoid.  A few months in, and

Rocket Insights Receives The Startup Weekly's 2020 Software Companies to Watch Award

Rocket Insights Receives The Startup Weekly's 2020 Software Companies to Watch Award

Rocket Insights was recently recognized by The Startup Weekly as one of the 2020 Software Companies to Watch [https://thestartupweekly.com/year_categories/2020-awards/]. These awards are given to software and tech services companies that have showcased strong growth and excellence. Winners, which were selected by judges consisting of tech founders, investors and industry experts, were evaluated based on growth, strength of their product or service, impact on the industry and commitment to cust

Rocket Insights Makes Built in Boston’s Best Places to Work List for 2020

Rocket Insights Makes Built in Boston’s Best Places to Work List for 2020

You know you’ve made the right decision to join a new company when you find out on day three that they’ve been named to the Best Places to Work List for 2020 [https://www.builtinboston.com/companies/best-places-to-work-boston-2020] by Built in Boston. Hi! I’m Kristin, Rocket’s newest employee and first marketing hire. And I’m pretty excited to share that in addition to ranking #14 on the Best Places to Work list, Rocket has also been named one of Boston’s Best Paying Companies and Best Midsize

Rocket's First Podcast: Ship It.

We're super excited to announce that Rocket Insight's first podcast has dropped: The Ship It Podcast! (aka shipit.io [http://shipit.io]) On Ship It we'll talk with software developers who write software in and for the real world. Rocket has over a hundred developers in countries around the world, writing software for amazing companies. We have some great stories, ideas and mishaps to share.  Being able share them with our real voices, recorded together in a room lets our unique, quirky, and occ

devops

Introducing Managed Services

At Rocket we build great products for clients of all sizes. That said, some of our clients have no engineering talent in-house. When this happens, we generally work with the client to create all of the service accounts required to develop, launch and run their product. Once the product is launched, however, we end up handing over control of the accounts back to the client who, in this case, isn't well equipped to manage these resources. This makes post-launch improvements or new feature additi

State of Swift WebSockets

Apple delivered several exciting and innovative new APIs for developers at WWDC this year. You might have heard or read about the SwiftUI and Combine revamp, but I want to address the new world of native WebSockets! The historically complicated connection protocol is now delivered as a first class citizen! Before we dive in on how awesome this is, it's important to have a basic understanding of Sockets and the road we've traveled to reach this point. What is a socket? By definition a socket is

  • Mike Neas
    Mike Neas

Organizing AWS microservices with Python, Serverless, and namespace packages

Our project began with a small ask: build a small Python back-end using AWS Lambda and API Gateway (with just a handful of endpoints to support a few pages) and use Serverless [https://serverless.com/] to manage the Cloud Formation setup. Not very involved, not much code, not even much configuration for the deploy. Next came authentication. In pursuing the joint dreams of DRTW ("don't reinvent the wheel") and WALCAP ("write as little code as possible"), we selected AWS Cognito over other option

Software Engineers are Hunters and Farmers

I was having a discussion with a fellow software engineer, and he asked something to the effect of "Why does software always become a mess?"  We talked about how the problem can be seen across the industry, and how premature-abstraction is partly to blame. But the most significant thing we noted is: > When you open up a software project to the democratic process, everyone has a say, and you lose a single direction. At first, I thought maybe engineers are just bored.  That would explain why we

qa

QA - The Rocket Way

You heard it here first - Rocket now has a QA team and we do more than test.  Among other things, we rely on our curiosity (or skepticism) to do our jobs and provide the quality our clients are looking for. More Than Testing The role of a QA engineer isn’t solely about testing.  Yes, that is a significant part of it, but in our experience trying to summarize it into that one act does not paint the full picture. The entire team is responsible for quality, but it is the job of QA to champion that

CI/CD with CodeBuild and CodePipeline
devops

CI/CD with CodeBuild and CodePipeline

At Rocket we use a variety of hosted continuous integration / continuous delivery (CI/CD) platforms to help our clients deliver great products and experiences to their customers. Recently, we've used a few of AWS's services to create full integration and delivery solutions. In this post we'll look at how we've used AWS CodeBuild and CodePipeline to create a cost effective, performant and code driven end-to-end CI/CD solution. What is CodeBuild and CodePipeline? AWS has a number services they'v

Reusable Patterns in CloudFormation
devops

Reusable Patterns in CloudFormation

At Rocket, we use a variety of tools to provision infrastructure in the cloud. In this post we take a look at some the reusable patterns we've developed using AWS CloudFormation. What is CloudFormation? If you've ever created infrastructure and/or resources in AWS then there's good chance you've used or at least heard of CloudFormation. For those who are unfamiliar, CloudFormation is an AWS service that allows you to provision and configure almost all AWS resources using yaml (or json) template

Microservices Cost More Than Whiteboards

A few years ago I was in a leads meeting; all engineering leads and higher go to it, so it also included managers, directors, the VP, even the CTO.  My team had asked me about getting more whiteboard space, so I wanted to bring it up.  Oddly enough, it became one of the most frustrating experiences in my career, yeah... all because of a whiteboard. It was for a well funded and successful startup, we spent loads of money on more frivolous things like parties; I didn't think I'd find any objectio

Continuously Deploying a Chrome Extension 🚚

In this tutorial, I’ll walk through the steps required to automatically upload a built chrome extension to the web store using the Chrome Web Store API [https://developer.chrome.com/webstore/api_index]. At the end of the tutorial I’ll provide a bash script that you can plug into your CD tool of choice 🙂 Note: There’s already a pretty good tutorial for doing this available over on the CircleCI blog [https://circleci.com/blog/continuously-deploy-a-chrome-extension/]! Also helpful is Google’s art

The "other" digital agency playbook

The "other" digital agency playbook

Today we've announced that Rocket Insights (part of Dept [https://www.deptagency.com/en-us/]) has been awarded No. 156 on the annual Inc. 5000 list, the most prestigious ranking of the nation’s fastest-growing private companies. With 2,418% growth over the last three years, this puts Rocket Insights in the same category as Pandora, LinkedIn, Yelp and Zillow. All had similar growth in the "technology" category and ranked as honorees on the Inc. 5000. Obviously we're proud, but why should you c

The Golden Rule of Hiring: Candidate Experience

We get really good feedback on our developer interviews, and we're super proud of that. Finding great engineers is how we keep Rocket awesome. A few years ago, we wrote about How We Hire Developers [https://blog.rocketinsights.com/hiring-developers/]. We still follow most of those practices today, and three years later, they are responsible for how we have grown Rocket's engineering team from a handful of great developers, to just under sixty great developers in multiple countries. But somethi

Getting more complicated with React Hooks

Getting more complicated with React Hooks

In my last post [https://blog.rocketinsights.com/getting-hooked-on-react-hooks-2] I gave a brief overview of the many tools React Hooks provides which allow developers to create stateful functional components that can mimic the the lifecycle events of class components. Building off of this, I'd like to now give an example of a more complex piece of UI build entirely using React Hooks to demonstrate how React Hooks might look in more complicated components. The Component In a recent project we

What Does It Mean to Be a Lead Engineer?

> So you were just promoted and aren't sure what to do?  Let's talk about it. How did you get here? You woke up and... surprise! You're a lead engineer now, congrats! Before the panic sets in, you need to know: you were chosen for a reason. Chances are you report to someone that oversees a bunch of teams and they need to scale, so they need someone they can trust, to be their eyes and ears. Your manager only has so much time in a day and they don't want to stay awake until 1 AM, at least for wo

Haunt your office in 6 steps

Haunt your office in 6 steps

While Rocket has grown to multiple offices - and over 100 people - we still maintain a small "headquarters" in Newburyport, MA. If you've never been, Newburyport is a small seaside town, about an hour north of Boston. Our office is in the center of town, above the Christian Science reading room, next to the ice cream shop. Rocket is the top product agency in Boston - part of Dept, the fastest growing agency in Europe [https://www.deptagency.com/] - and you'd never know it. From the outside,

Getting Hooked on React Hooks

Getting Hooked on React Hooks

React Hooks have been available in a stable release since React 16.8 back in February. Hooks address a number of grievances that developers have with React by primarily achieving 2 things: 1. Removing the need for javascript classes and simplifying components 2. Allowing users to share stateful logic across multiple components [https://reactjs.org/docs/hooks-custom.html] In this article I would like to demonstrate how the introduction of React Hooks addresses that first task by convertin

The Ambient Era: A future distributing

Resorts and cruise lines are embracing ambients to enhance the experiences of their guests and improve their own operations. Disney’s MagicBand and Carnival’s Ocean Medallion maybe the best publicized, but all the cruise lines leverage ambient technologies to eliminate distractions and friction that distract from the experience they want to convey. The cruise lines design these systems so that you won’t have to pay much attention at all to the logistical details of travel. That all you remembe

The Perfect Servant

> What gift do you think a good servant has that separates them from the others? > It’s the gift of anticipation. > And I'm a good servant; I'm better than good, I'm the best; I'm the perfect servant. I know when they'll be hungry, and the food is ready. I know when they'll be tired, and the bed is turned down. > I know it before they know it themselves. Mrs. Wilson, Gosford Park [https://en.wikipedia.org/wiki/Gosford_Park], 2001 > The future is already here — it's just not very evenly distribu

Reaching Escape Velocity (Dept buys Rocket)

Reaching Escape Velocity (Dept buys Rocket)

Less than four years ago we launched Rocket [https://blog.rocketinsights.com/3-2-1-blastoff/] as a new kind of product agency. Our goal was to create a company that lived and breathed the craft of software. Our hypothesis was that a holistic product agency executing across the entire product development lifecycle would be better able to service clients and accelerate their business. Well, our hypothesis has proven largely correct. After four years of ~100% growth per year and building a reputat

Why NoSQL is still relational

NoSQL has become a buzz word over the last decade, and has gained large popularity over that time. At the time of this writing, MongoDB, the most popular document database, has nearly equal usage to PostgreSQL [https://db-engines.com/en/ranking_trend]. NoSQL databases can be great for getting to market quickly if your timeline is particularly restrictive. You are able to create less tables/collections, create a thin data layer, and even skip the traditional REST routes. Granted, the latter two

Git Good - Git Team Best Practices

Launching a new project is exciting, but comes with the natural caveat of being extremely fast paced. In an environment focused on agile software delivery, the main priority is delivering working code and getting to market. In the heat of the rush, it's easy to let some housekeeping fall behind. Managing git can feel like a second-class citizen, but lifting it up to a core priority can have major benefits in the long run. It's important to lay the groundwork early on to pave a road to team succe

Alexa Presentation Language Tutorial: Getting Started

Alexa Presentation Language Tutorial: Getting Started

Voice is obviously the primary method of interaction with Alexa, but sometimes a picture really is worth a thousand words. Amazon has recently announced [https://developer.amazon.com/blogs/alexa/post/0d2ad283-b7c3-48ba-8313-40f2b5fdc19d/alexa-presentation-language-now-available] a new way to enhance Alexa skills with interactive visuals on devices with a screen such as the Echo Show. It's called Alexa Presentation Language (APL) and it's a major step forward for the platform. Before APL, GUI op

How fast can we order a crack pie? Our design experiment for Milk Bar

How fast can we order a crack pie? Our design experiment for Milk Bar

In the off chance you haven't heard of Milk Bar [https://milkbarstore.com/], the sweetest child of the Momofuku [https://momofuku.com/] restaurant group, it's a bakery that's had a cult following even before it was featured on Chefs Table [https://www.eater.com/2018/4/13/17230656/chefs-table-pastry-christina-tosi-recap-episode-1] . Founded in NYC, it's since spread to locations all over the country thanks to Christina Tosi [https://www.bloomberg.com/news/features/2016-11-28/how-pastry-chef-chri

  • Julia Wilson
    Julia Wilson
  • Nathan Hulsey
    Nathan Hulsey
  • Jared Pike
    Jared Pike

Learning Anything via Middle-Out

This is not what this article is about :)This is not about Pied Piper’s famous (and fictional) “middle-out compression.” [https://www.youtube.com/watch?v=l49MHwooaVQ] Sorry to let you down. Instead, I’m making a point: that we learned “how to learn” the wrong way, and it’s not our fault. When we (as humans) were doing our formative learning, we learned from the very baseline up. “Here are letters, these are numbers.” It was only later that we started to combine them to form more complex ideas,

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

Chaining an array of promises

Typically, when we have multiple unrelated asynchronous tasks, we want to execute them concurrently and possibly combine the results when all tasks are completed. Occasionally, though, concurrent execution is not possible, and we need to execute each task only after the previous is completed. One example of this is calling an API that accepts only one connection (we ran into this when trying to upload multiple attachments via Zendesk SDK). The API that we want then is exactly the same as with co

An Adventure In React Native

An Adventure In React Native

At Rocket Insights we have no shortage of developer talent across iOS, Android, and Web platforms. It was only recently, however, that we were presented with the opportunity to explore a fusion of these traditionally separate teams under the umbrella of our first production-ready React Native [https://facebook.github.io/react-native/] app. The appeal of React Native is obvious and, perhaps, a bit tired. Share source code between platforms while expanding your resource pool and drastically decrea

Ignore Your Burndown Charts

Burndown charts are a popular aspect of the Sprint methodology and why wouldn’t it be: it’s a chart [https://giphy.com/gifs/LedVYzRx24nkI]. Business people [https://cl.ly/rCO1] love charts! Ironically, the goal of this simple chart is to get all the stories done and reach 0 in time, and that flies in the face of everything it means to be agile and productive. A Quick Recap This is a burndown chart. The gray line is the “ideal” trending line for stories to be “burnt down [https://gph.is/1U1c6Fn

PromiseKit and `ensure`

Update: PromiseKit added ensureThen (discussion [https://github.com/mxcl/PromiseKit/pull/841]). Intro The essence of functional programming is to express computation in small, self contained units (functions) that we can combine together to get the result. If each unit that we start with doesn't affect other units, we can combine them in all kinds of ways and still easily reason about the outcome. For example, if we have func f(x: T) -> V {...} func g(x: V) -> U {...} We can do g(f(x)) to co

How We Built a Slack App in a Day
development

How We Built a Slack App in a Day

The Journey As a growing agency, with a quasi-distributed team, we needed a way for team members to quickly know if someone was on PTO, and do so with as little friction as possible. Since we already lived in Slack, having this functionality live their was a no-brainer. We evaluated a few existing solutions, but all of them were a bit heavy-handed, with features such as manager approval...etc. This really felt like it went against the ethos of our culture, so we did what any good engineering tea

Why Steve Jobs would have Loved Design Sprints
design-sprints

Why Steve Jobs would have Loved Design Sprints

Steve Jobs, arguably the best technological innovator of the last 50 years, would have loved design sprints. He would have loved them not for their structure or process details but because they are a tool that allows teams to do what is most important when trying to innovate: Focus. How do design sprints help you focus? By validating and invalidating product ideas quickly. The Real Value of Sprints You see, that’s the real value of design sprints. Contrary to popular belief, the goal of design

Announcing a Design Sprint Workshop with Jake Knapp in Boston on March 15
design-sprints

Announcing a Design Sprint Workshop with Jake Knapp in Boston on March 15

We are holding a one-day workshop on Design Sprints with the creator of the process, Jake Knapp this March 15. View all the details on the Eventbrite registration page: Design Sprint Workshop with Jake Knapp [https://www.eventbrite.com/e/design-sprint-workshop-w-jake-knapp-tickets-42498236369] Here is the back story. Back when I was managing the design team at HubSpot [http://www.hubspot.com] we learned a new process for creating innovative products called a Design Sprint [http://www.gv.com/sp

Logging errors in Swift

Error reporting and handling is tricky. In C, it's done by returning and examining error codes, which is very error prone since it's easy to forget to check for the error and it's often difficult to decipher what the error code means. Modern languages use exceptions, and some form of try / catch to move control from the place where an error occurs to where the code can deal with it. This is much more convenient, but in many cases there are errors that don't need any special handling. What matter

Developer / Designer Workflow

Developer / Designer Workflow

(You can find the Xcode project and the Sketch file for this post here [https://github.com/rocketinsights/blog-samples/tree/master/Components].) There are two approaches to building user interfaces: using a visual tool or doing everything in code. Each has its own advantages and disadvantages. Let's see what they are and find a way to combine the best of both when designing and building an iOS app. Visual Tools vs Coding The biggest advantage of a visual tool is that if you know the tool well,

Decorating Your Home with ARKit

Decorating Your Home with ARKit

The last several years have led to great advancements in the world of augmented reality. From Google Glass to the Microsoft Hololens to Pokémon Go, augmented reality has advanced to become a new and exciting technology that many people are beginning to take advantage of. With the release of ARKit, Apple has made it easier than ever to incorporate augmented reality into your own app. Using the device's camera as a viewport, ARKit allows you to superimpose 2D and 3D objects into the real world. Us

QR as early AR

Apple’s Tim Cook believes that AR will be a “big and profound” revolution “that we’ll look back at and marvel on the start of it”. In four years, 3 billion consumers will have access to AR technology through iOS and Android smartphones, so the technology for AR apps is here. Now what? * How do we build AR that consumers will use? * What should an AR app do? * What’s AR going to be like in everyday use? Observing China’s one billion person AR platform China’s QR revolution is early stage AR.

Why WeChat?

Why WeChat?

WeChat (Weixin in China) is the essential platform for any company interested in the Chinese consumer, at home and abroad. It’s also a glimpse into the digital future. For any company building towards our own digital payment and Augmented Reality (AR) future, WeChat is a live platform supporting corporate accounts, apps, and messaging services that already generate $2 trillion in mobile payments and billions of offline to online interactions. ![](http://images.indianexpress.com/2016/12/wechat-7

Redux vs. MobX

TLDR; MobX for 1–3 people or small apps, Redux for anything beyond that. Lately, I have been researching and using MobX and Redux for a project that would most likely evolve over the next few years into something to the scale of JIRA. After skimming reading way too many articles, discussions, and taking the time to build two apps out of both technologies, I nailed it down to these three resources that I felt best explains the key differences and use cases are for MobX and Redux. MobX — Simple,

Seven Tips for Running Better Design Sprints

Seven Tips for Running Better Design Sprints

Here at Rocket [http://www.rocketinsights.com] we are big practitioners of the Google Design Sprint [“”], the five day process whereby you test product/business ideas to see if they are worth pursuing. We use them to test everything from early product concepts to options for a large new feature. Here are a few things we’ve learned about how to run them more effectively. 1. Know when to run them. Even though design sprints are conducted quickly (in a single week) they are substantial proje

The art of the FTUE in VUX
voice

The art of the FTUE in VUX

At Rocket we have always put a lot of thought into the FTUE (First Time User Experience) for any of our mobile or web applications. However, until recently, this topic was often overlooked for our voice skills. The more we thought about this, the more we realized that getting the FTUE right in voice was as important, if not more important in voice. The reason for this lies in the famous saying, "a picture is worth a thousand words". When users come to an app, their brains quickly digest a lot of

Your Alexa Audio Encoding Tool
voice

Your Alexa Audio Encoding Tool

Introducing the Alexa Audio Encoding Tool [http://www.rocketinsights.com/voice/alexa-encoding-tool/] The alexa ecosystem allows developers to play back audio in two unique ways. The first is to leverage the Amazon audio player. This is ideal for when you want to play a whole song, think Spotify skill, but the challenge is that you are turning control over to the audio player. Once you hand over control it's no longer possible to mix spoken text with your audio files. The other way is to mix a

Alexa: Unlock the power of custom slots
voice

Alexa: Unlock the power of custom slots

At the end of each project we always like to debrief and identify what we learned so that we can share and leverage that knowledge in future projects. Fortunately, the nascent nature of developing for the amazon alexa ecosystem has provided us with plenty of opportunity to learn! This post is how we leveraged custom slots in some new powerful ways in order to deliver our most recent project [https://www.amazon.com/Crackle-Inc-Ask-Titanium-Rex/dp/B072Q9WFSZ] for Sony Crackle. For those unfamili

homepod

What Marketers Need to Know About the New Apple HomePod

With the announcement of the Apple HomePod, and the upcoming Amazon Echo Show, we believe the voice digital assistant space has moved beyond early adopter experimentation and is now a viable category that every smart Marketer must consider as part of their digital strategy. What is Apple HomePod, and how's it used? Apple HomePod, like the Amazon Echo [https://www.amazon.com/Amazon-Echo-Bluetooth-Speaker-with-WiFi-Alexa/dp/B00X4WHP5E] and Google Home [https://madeby.google.com/home/] is a vo

iOS Universal Apps: Why and How
swift

iOS Universal Apps: Why and How

At Rocket we've developed many apps that need to support iPhone and iPad. Xcode provides built-in support for configuring universal apps, meaning that a single binary can adapt to, and be optimized for, both device types. But as is with any design pattern, making your app universal has its pros and cons. The Benefits * There is a single codebase. Code can be reused for the functionality that overlaps the iPhone and iPad versions of the app. A bug fixed in one app is a bug fixed in both.

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

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.

voice

Rocket Insights: Top Voice/AI Agency in United States

"I heard you guys are the top Voice/AI agency in the United States." This is how our recent sales call began. We were pitching a large consumer brand, and the meeting started wth that comment from the client. Huh. Really?! We responded with some form of, "you're damn right we are!" but after the call, we talked about how surprised we were by the comment. Yes, we've built a bunch of Voice Skills for a variety of clients. Yes, we think we're doing a good job. Yes it's a new market in it's i

Death to NPS (or why we love Clutch)

When we started Rocket, we agreed that we needed some way to measure the quality of our work. It's easy to measure if we came under budget, or finished the project on time, but what's the best way to measure the quality of the work? We all come from product companies who use NPS [https://www.netpromoter.com/know/] as a way to measure quality & customer satisfaction. Putting aside my personal fatigue with NPS polls, it didn't seem appropriate for Rocket. SaaS companies have thousands of clients

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

7 Secrets to Designing Alexa Skills
voice

7 Secrets to Designing Alexa Skills

As a design & development agency, the team here at Rocket Insights invested in building Alexa Skills early and have learned a lot. Here are 7 secrets we learned the hard way while building custom voice skills for our clients: 1. Use Cocktail Party Math to Determine Session Length We’ve all experienced grabbing drinks with friends and getting stuck talking to someone where the conversation seems to go on too long. That same dynamic plays out in Voice Skills and it’s really important to measure,

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

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

A startup's guide to video: part 1 (Getting the video)
web

A startup's guide to video: part 1 (Getting the video)

As the growth of video usage on the internet has exploded over the past decade we have come across an increasing number of startups looking to leverage this medium in interesting ways. Despite these companies having extremely talented teams we have noticed that there are a few stumbling blocks that often trip a team up. The purpose of this series and code base [https://github.com/rocketinsights/startup-guide-to-video] is to provide a solid foundation and architecture for companies dealing with v

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

Five reasons why design sprints are the best way to kick off a new product initiative
design sprints

Five reasons why design sprints are the best way to kick off a new product initiative

Rocket Insights [http://www.rocketinsights.com] has been in business less than a year and we have done design sprints with over half our new clients on new product initiatives. We noticed that the projects in which we’ve done design sprints have gone smoother than those in which we haven’t done them. Naturally, we wondered why. So we dug in to find out. Our conclusion is that design sprints offer amazing benefits for product teams in an extremely short period of time (one week). They accelerate

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.

How We Hire Developers
hiring

How We Hire Developers

The most important thing Hiring is the most important thing you can do to build a great product and company. We've been lucky enough to help build teams at multiple global public companies. In doing so we've learned a lot about what works and what doesn't. Hiring is something we discuss a lot at Rocket because we are always on the look out for exceptional talent. Additionally, our clients frequently ask for our help to define or refine their hiring process. We wanted to share what has worked fo

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

Initial thoughts on 3D Touch
apple

Initial thoughts on 3D Touch

Just last week Apple released their new iPhones [http://www.apple.com/iphone-6s/] (6S and 6S Plus) and made bold statements around how great the new features were, claiming the addition of 3D Touch and a better camera make it worth upgrading. Better cameras are welcome, of course, but what about the 3D Touch feature? The press was gushing [http://www.bloomberg.com/features/2015-how-apple-built-3d-touch-iphone-6s/] about it. But as designers and developers we were skeptical...could 3D touch real

Why we like Simple, Working Systems more than MVPs

Why we like Simple, Working Systems more than MVPs

We're big fans of Lean Software Development [https://en.wikipedia.org/wiki/Lean_software_development] movement here at Rocket [http://rocketinsights.com] because it contains many useful principles we appreciate like "Amplify learning", "Deliver as fast as possible", and "Build quality in". One of the more contentious elements of Lean, however, is the MVP, or Minimum Viable Product [https://en.wikipedia.org/wiki/Minimum_viable_product] . The MVP is a popular topic in software these days but the

Observations of the Boston Tech Scene
boston

Observations of the Boston Tech Scene

One of our goals with the Launchpad blog [https://blog.rocketinsights.com/] is to chronicle the launch of Rocket Insights [http://rocketinsights.com] and our flight path over time. We've been in business about four months now, and here are some observations we've made so far about the Boston tech scene: Boston is rocking. Our initial observation is that Boston is a pretty awesome place to be building products right now. Tons of startups are building new products and some established companies a

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

The Next Feature Fallacy (or, the case for simple, working systems)
design

The Next Feature Fallacy (or, the case for simple, working systems)

Tell me if this sounds familiar: You released the first version of your product some months ago and it was an exhilarating experience. You went through the highs and lows of launch and had moments of excitement and pride when people started using your product for the first time. But...as the weeks wore on it started to become clear there just wasn’t enough usage. People aren’t using your product as much as you want them to, or as much as your business needs them to. But it’s OK, you rationalize

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

How to ensure color consistency across an iOS project
teams

How to ensure color consistency across an iOS project

Note: This is the first in a series of posts on teams working together better. We'll be discussing issues around that important moment when your team starts a new project and you need to set the technical direction, establish a sound architectural foundation, and ensure consistency. Here is a tip for ensuring color consistency across an iOS project. Argh! Colors! As a man once famously said, 'Argh! Colors!'. They can be frustrating to get right! Here is what an iOS project usually looks like:

There will be blood...

There will be blood...

Whenever we start a new greenfield project here at Rocket [http://www.rocketinsights.com], with few or no constraints on what technology we use to build, we are inevitably faced with the question: "Should we use the beta version of xxx technology?". This question is usually followed by someone suggesting, "It should be out of beta before we launch.". Or we might even hear a more drastic format of this question: "Should we use xxx language, after all it's where the industry is going?". This is w

3...2...1...Blastoff!
agency

3...2...1...Blastoff!

So Ashley, Jesse, and I have launched an agency called Rocket Insights [http://www.rocketinsights.com]. We’re excited about it. We officially started on May 4, 2015 but you could almost say we have been ramping up psychologically all this year. Our focus is designing and building web and mobile applications. We’re already working on several products, building an awesome team, meeting some great people working on amazing things, and we couldn’t be more excited about our future. As part of this w

Could not sign up! Invalid sign up link.