The Importance of a Technology Sniff Test

WEB RESOLUTION 1000PX-0290.jpg

As a web and mobile app development shop, we love to talk about technology choices. Many people don’t really care what technology solution is used to solve a problem as long as the problem itself gets solved. And that’s OK in the “Wild West” days of a startup. However, as a business matures, sometimes the technology choice will hinder you during the growth phases. When a business reaches a certain scale, they will often end up rewriting the entire application. It’s not always avoidable but we like to try our best to manage the risk of a full rewrite later on.

At Oak City Labs, we approach technology choices with what we like to call a “sniff test.” It’s called a sniff test because it’s brief and not all encompassing. It’s also not meant to delve into great detail since we aim to make timely decisions looking at trends. This sniff test is very much business oriented, which really ought to be the driver behind most of your choices. It’s also why we don’t recommend cross-platform development and why we don’t throw the latest Javascript framework into production heavy work. That’s a whole other discussion which should be aided by beer, wine or your calming beverage of choice (Mt. Dew counts!).

Sniff Test Quiz

1. How long has the language or technology been around?
We’re not looking for the most mature, but we like to see longevity for projects and languages. This tends to influence answers for the rest of our quiz.

2. Is there widely available support, including forums or consultants?
This is very related to #1. Is a fix at 2:00 am in the morning just a Google or Stack Overflow search away?

3. For open source projects, how active is the community?
When was the last commit? How often are releases? How many contributors?

4. Is there support from scalable cloud services like AWS and Google Cloud?

5. Can we easily and readily hire a developer with little ramp up time?

6. Is the project or language trending up or down?
Not always a perfect measure but can be telling. Google Trends and Stack Overflow can help with this analysis. Again not perfect but it’s what we’ve got without in depth technical analysis. Here’s an example over the last five years between three prominent languages.

7. Was the project or technology bought or started by a large company?
This can be a good thing but we tend to shy away from backend service providers that might get shut down as Facebook did with Parse. Our preference is to build an app so the full stack is modular and not reliant on a single provider.

Ultimately we want to make choices that will provide long term growth and scalability for our clients. For example, while PHP may be a great choice for some niches it might be tough to hire in your local area for a PHP developer or it could even be on the decline in usage. And sometimes we’ll use a technology for a small part of an app but not for the whole application. For example, a database like MongoDB might be good for caching trivial data but we wouldn’t use it for mission critical features of an application.

We also like to choose technologies that fit business cases. Let’s say a company is in the life science market and will be performing data analysis. We would likely recommend Python because it’s somewhat mature and has all the science and math support needed for detailed analysis. It’s also widely used by the scientific and research community. If you’re in the Fintech space, you might choose Microsoft products because of the enterprise level support and prevalence of .NET developers already in finance.

The sniff test still remains the same when considering long term viability of the technology stack regardless of the market or software application. It doesn’t mean all of your choices, or ours, will be correct up front, but it does mean you can help manage the risk. If you’re thinking about an idea for a web or mobile app, contact us today and we can discuss performing a sniff test (and more!) for you.

Why Testing Matters for Your Next Mobile App

11.  Stock Imagery-0551.jpg

We’re in the thick of testing on a large project right now. It’s a (delicious!) new release that we can’t wait to share more about later this summer. While it goes without saying that any release, big or small, should be thoroughly tested, you can often find yourselves in crunchtime near the end of a project. That crunchtime can lead to the choice between meeting a looming deadline and thorough quality assurance. Today we’re sharing all about testing and why it’s so important for your mobile app’s success.

Testing 101

When we talk about testing your mobile app, we aren’t just talking about making sure all the buttons work. Thorough testing goes well beyond that!

At Oak City Labs, we begin testing as early as possible in the development process. We’re an agile shop, so we place a lot of value on getting a (semi-)working version of the app in front of our clients for review as soon as possible while development is still in progress. As soon as we have a working, somewhat functional mobile app ready, testing begins.

Our testing process is just that: a process - a very detailed and thorough process. Armed with our trusty QA Checklist, we thoroughly test the mobile app inside and out. We try to break it in as many ways as possible (better now than when in production!). We work through each and every screen in the app comparing it with the designs, testing it against our use cases, proofreading copy and looking at scrolling and swiping behavior. We check how the app integrates with other apps, we test push notifications, observe screen orientation and more.

I said before that we test each mobile app inside and out. More than just a common phrase, we really do test inside our mobile apps. On the “inside,” we evaluate performance by testing battery usage, install/uninstall process, loading, network connection and the list goes on!

We also place priority on testing the app from the perspective of a first time user. As we near release, it’s all but certain that we’ve been using and testing the app for months. It’s important to take a step back and evaluate the app with fresh eyes to make the user experience for those who interact with it for the first time is optimal.

Why It Matters

You may be saying, “Wow, that seems a lot of work! Is it really worth it?” The answer is YES! Statistics tell us that about 25% of users use an app once and then never use it again. Add in crashes or a mediocre performance experience and you are sure to see that percentage rise.

Trying to break into a crowded market? There’s no easier way to differentiate yourself - in a bad way - than with an app riddled with bugs and performance issues. We’ve shared before about the importance of reviews for your mobile app and negative reviews left by customers frustrated by an untested app aren’t a great way to start.

Testing matters. At Oak City Labs we place high value on thorough and complete testing before a mobile app’s release. If you are looking to create a mobile app - one that is sure to be thoroughly tested - we’d love to hear from you!

Launching Your iOS App - Part Three

Welcome back again to this series! Over the past two weeks, we’ve reviewed a checklist of necessary steps to take before launching your next iOS app. From your Product Page listing to marketing your app, if you’ve been following along, chances are, you’re off to a good start. Today, we’ll wrap up the series as we talk about what happens after that momentous launch into the App store!

Reviews and Analytics

Just as you would with a website, implementing, monitoring and learning from your iOS app’s reviews and analytics is a critical part of a successful app, both at launch and in the long term. Knowing how customers are using (and not using) your iOS app will provide valuable information and should influence decisions throughout the app’s lifecycle.

  • Define Success Metrics: Take time to think through what metrics would indicate to you that your app is a success. Is it a high number of downloads? A specific revenue amount? Engagement through daily active sessions? The answer will vary based on your business model. Once you have those success metrics defined, you’ll have a clear path for how to integrate, measure and review your analytics moving forward.

  • Integrate Analytics: Luckily there is a host of options available for integrating analytics into your app. While there are plenty of options to choose from, we always like to share the following with clients. Running the gamut from basic analytics available in iTunes Connect to heavy hitters like Mixpanel, the following services are a great starting point as you begin the selection process.

    • App Analytics from iTunes Connect: For basic info about your iOS app’s sales, usage, crashes and app store presence, definitely look into App Analytics from iTunes Connect. It’s free (yay!) and they are always adding new features, however, it’s important to note that most of the information is fairly basic and if you’re looking for an in-depth report, you’re going to want to explore one of the other services we discuss below.

    • Fabric Answers: A step up from iTunes Connect, Fabric Answers (via Crashlytics) is a great solution for those looking for more details. It’s also free and allows you to track common events such as sign-ups, logins, purchases and more, all in real time.

    • Mixpanel: If you’re ready to take your analytics game to the next level, consider Mixpanel. They have a free version, but you’ll most likely need to upgrade to the paid subscription as your app launches and grows. Mixpanel’s strengths lie in the details in that you can track where users are dropping off in your funnel, send push notifications to specific user groups (say users from Raleigh who haven’t visited your app for two weeks), powerful A/B Testing, in-app surveys and much more.

  • Reviews: We all know that once your app has launched, the story doesn’t end there. To have a sustainable app for the long haul, you have to constantly improve features behind the scenes. Be aware of what users are saying on social media and the ratings/reviews about your app. Their feedback will show you what features most resonate with users, as well as where your pain points lie. Don’t allow (sometimes) harsh criticism to fall on deaf ears. Consider what you can do to improve the feature: is it through a better workflow, different positioning, bug fixes?

After launching your app, set specific times to review your app analytics against the success metrics you established. Note where people are spending the most time, what trends you see in user flow through the app, how your daily active users and monthly active users stack up against your goals, etc. Taking time to review your analytics and customer feedback will show you how to plan for future releases.

We hope these past few weeks have been helpful as we’ve reviewed all the basics of preparing to launch your iOS app. If you’re in the process of creating your own app, we’d love to chat with you!