<?xml version="1.0" encoding="UTF-8" ?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
   
    <title>thebhwgroup.com</title>
   
   <link>https://thebhwgroup.com</link>
   <description>We build web and mobile applications for businesses of all sizes.
</description>
   <language>en-us</language>
   <managingEditor>bhwinfo@thebhwgroup.com</managingEditor>
   <atom:link href="rss" rel="self" type="application/rss+xml" />
   
    
	  <item>
        <title>The Habit Burger Grill App Surpasses 1 Million Downloads</title>
        <link>https://thebhwgroup.com/blog/habit-burger-app-1-million-downloads</link>
		<author>Eileen Bau</author>
		<pubDate>2021-03-01T00:00:00+00:00</pubDate>
		<guid isPermaLink="true">https://thebhwgroup.com/blog/habit-burger-app-1-million-downloads</guid>
		<description><![CDATA[
		   BHW’s mobile application for The Habit Burger Grill recently surpassed a huge milestone - it now has more than 1 million downloads! Let’s take a look back and unpack what made this app so successful. We’ll look at the business factors that influenced our design and development considerations from the beginning, and how those considerations were carefully materialized in the features we built.

{% include full-blog-image.html src="blogs/2020-03-01-habit-burger-app-1-million-downloads/habit-app-customization.png" alt="Habit Burger Mobile App - Customizaion Options" %}

We have worked with Habit for around three years. For those unfamiliar with the restaurant industry, Habit’s CIO Mike Repetti put the app’s performance into context:

{% include full-blog-image.html src="blogs/2020-03-01-habit-burger-app-1-million-downloads/habit-app-quote.png" alt="Quote from Habit CIO" %}

As an app tailored for usage by the general public, this project required that BHW incorporate a wide range of considerations into the design and development processes. The app had to be accessible to users of all kinds of demographics, since The Habit Burger is a popular fast-casual chain that serves customers at 275 locations in 13 states and internationally. Additionally, this app had to be comfortable for users with varying familiarity with technology. We put an incredible amount of effort into making sure that the app could easily guide first-time users while also being accommodating to power users.

{% include full-blog-image.html src="blogs/2020-03-01-habit-burger-app-1-million-downloads/habit-app-cover.png" alt="Several screenshots from the Habit Burger Mobile App" %}

As mentioned earlier, The Habit Burger Grill mobile app has an extremely high Apple app store rating of 4.9/5 stars from 18,300 user reviews.

We attribute this high rating to a number of key considerations that we built into this app from the beginning. We focused particularly on things like ease of first-time use, rapid re-ordering for return users, and thoughtful permissions requests and privacy considerations. We also prioritized ease of item customization so that every customer could tailor their order exactly how they wanted it.

{% include full-blog-image.html src="blogs/2020-03-01-habit-burger-app-1-million-downloads/habit-app-store-comments.png" alt="5 star reviews from app stores" %}

Overall, we paid an extreme attention to detail and to removing any possible rough edges from the app. We designed cohesive systems to catch and fulfill every type of ordering flow we could think of. For example, we even made it possible to change the store you order from, but keep the items in your order and its customizations. Because of this, the Habit app is not limited from things like switching locations.

{% include full-blog-image.html src="blogs/2020-03-01-habit-burger-app-1-million-downloads/habit-app-curbside.png" alt="Habit Burger curbside app screenshots" %}

Post-launch, we also made sure to maintain and improve the life cycle of this app. After some time on the market, many mobile apps of similar size and function experience feature bloat - an occurrence where new features or fixes actually interfere with the basic core function of the app, rather than meaningfully improving the experience. We made sure to avoid feature bloat by thoughtfully refining and introducing new features that do not detract from usability.

Finally, we built in robust error tracking, reporting, and analytics to continually improve the performance, reliability, and usability of the applications. As the app continues to grow, we are able to distill valuable insights and iterate with each update. We are excited to have hit the milestone of 1 million downloads, and can’t wait to see what the future brings.


		]]></description>

    
        <category>mobile</category>
    
        <category>engagement</category>
    
    
        <category>Development</category>
    

	  </item>
    
	  <item>
        <title>Sprinkles Release Announcement</title>
        <link>https://thebhwgroup.com/blog/sprinkles-cupcakes-release-announcement</link>
		<author>Eileen Bau</author>
		<pubDate>2021-02-28T00:00:00+00:00</pubDate>
		<guid isPermaLink="true">https://thebhwgroup.com/blog/sprinkles-cupcakes-release-announcement</guid>
		<description><![CDATA[
		   {% include full-blog-image.html src="blogs/2020-02-28-sprinkles-cupcakes-release-announcement/sprinkles-blog-hero.jpg" alt="Sprinkles - Responsive Ordering System" %}
Our latest release is with Sprinkles, one of America’s favorite cupcake shops! Check out our work live right now at <a href="https://order.sprinkles.com">the ordering site</a>.

Throughout the whole process from design to development, we worked closely with Sprinkles in order to understand their specific needs, workflows, menu, and customers. During this process, we evaluated the existing in-store and above-store technologies to identify the largest area of need for Sprinkles’ digital properties. We were able to design a solution that significantly improved their web ordering experience without disrupting their existing processes or other existing systems. We also designed our solution in such a way that we can continue to improve their host of digital products in the order of largest benefit.

We designed numerous ordering workflows to optimize ordering for various product types. Two of the most complex product types were for Sprinkles’ Cupcakes by Flavor orders and Sprinkles’ Fill a Box cupcake orders.

Cupcakes by Flavor was designed to make ordering higher quantities just as convenient as lower quantities.

{% include full-blog-image.html src="blogs/2020-02-28-sprinkles-cupcakes-release-announcement/cupcake-by-flavor.gif" alt="Sprinkles - Order Cupcakes by Quantity" %}

This design facilitates easily ordering any flavor in any amount. The clean layout displays each available flavor accompanied by photography, with descriptions available if a user clicks on them. Users can order using the plus and minus buttons, or manually type in a number. This makes ordering any number of any flavor incredibly smooth. The number of cupcakes are always displayed on screen as well, so that the user always has confirmation that their order is being updated with their selections. After selecting cupcakes, users are guided through box selection to make sure their cupcakes are packaged to order.

Cupcakes by Flavor and Fill A Box orders were a balancing act between offering the user as much customization as possible while still making the ordering process easy and intuitive. Below, we’ll unpack the process that went into making the complicated Fill A Box workflow easy for customers to use.

##Research
During the research phase, we explored different User Interfaces and websites where the user had the ability to highly customize the product. We examined products inside and outside of the restaurant industry. From the start, we knew we wanted a visual emphasis on the food and the ability to make it highly personalized.

##Information Architecture
We began with a User Flow to identify the various User Experiences, which helped us gain an understanding of current features and functionality vs. what we needed to build.

{% include full-blog-image.html src="blogs/2020-02-28-sprinkles-cupcakes-release-announcement/sprinkles-ia.png" alt="Sprinkles - Information Architecture Diagram" %}

##Wireframing
We prioritized food-forward ordering and rewarding customization options. To do so, we streamlined the entire ordering process to allow the user to design, customize, and review their order in real-time.

We concluded that the most important thing in the ordering process was to give the user control. To bring this to life, we came up with a user friendly and visually appealing solution. We made sure the user could simultaneously browse cupcake options, add them to a box, and view the final product. We also wanted ordering cupcakes to be an exciting process. Each cupcake pops into the box as the user adds it, in any order desired, and each step comes with more options to customize. Users now have a full visual understanding of exactly what they will receive while also introducing a fun element into the ordering process. We hope that this immersive and exciting online ordering experience will keep customers coming back for more.

{% include full-blog-image.html src="blogs/2020-02-28-sprinkles-cupcakes-release-announcement/ux-flow.jpg" alt="Sprinkles - UX Workflow" %}

First, we started with mobile prototypes. With the mobile-first approach, we were able to fit all functionality and features into less screen real-estate to ensure they would translate to desktop seamlessly. From there, we were able to design for desktop while maximizing parts of the User Interface we wanted more visual emphasis on, such as the final cupcake arrangement. This was an iterative process: by continually prototyping out basic ordering flows in mobile and desktop, we could test the design constantly and resolve potential issues early on, before moving to styling.

##Styling
For design, we wanted to keep it simple: focus on the product. Large, professionally shot photos on a white background showcase what Sprinkles has to offer. For the user to get a more rich experience with ordering cupcakes, we designed the box preview to be isometrically viewed, as if the user was sitting at a table and looking down at their creation.

With this 3D angle and our dynamic cupcake quantity pickers, our ordering system offers an almost tangible quality that a static photo just can’t compete with. By combining photos with pixel-perfect box renderings in Photoshop, we were able to layer transparent PNGs on top of each other, brought to life by our amazing developers.

{% include full-blog-image.html src="blogs/2020-02-28-sprinkles-cupcakes-release-announcement/sprinkles-ipad.gif" alt="Sprinkles - Fill a Box Flow" %}

##Responsive Design
We live in an exciting time for product design where mobile can be just as feature-rich and easy to use as desktop - and that’s what we accomplished with this redesign. We did not compromise any functionality in any breakpoint. As a result, the user can enjoy a fully responsive experience. 


##Administrative System
On the administrative side, we built an easy to use admin system to continually configure and adjust the platform without developer involvement. Sprinkles can now independently update information like store hours, item availability, menu items, and special promotional periods with flexibility and efficiency. We also built in robust analytics to continually refine and monitor the platform.

One of the highlights of the admin system is the custom order scheduling and throttling. Because Sprinkles bakes many of their goods same-day for freshness, they needed a way to quickly communicate and coordinate available supply with projected demand at each individual store. Our system enables Sprinkles to manage and update available quantities and orders in real-time, and behaviors can be configured to respond to custom thresholds, such as automatically disabling more orders for certain time slots once they are filled.

##Conclusion
Sprinkles is now able to fulfill orders in a more efficient manner and update bakeries in real-time. From design to development, we helped transform Sprinkles’ ordering system to give customers the ability to order exactly what they want, how they want, when they want it.
		]]></description>

    
        <category>mobile</category>
    
        <category>engagement</category>
    
    
        <category>Development</category>
    

	  </item>
    
	  <item>
        <title>Mobile App Development Process</title>
        <link>https://thebhwgroup.com/blog/mobile-app-development-process</link>
		<author>Paul Francis</author>
		<pubDate>2017-06-05T00:00:00+00:00</pubDate>
		<guid isPermaLink="true">https://thebhwgroup.com/blog/mobile-app-development-process</guid>
		<description><![CDATA[
		   <p>Each day, thousands of mobile apps are published to the Google Play and Apple App Stores. Some of these mobile apps are games, others are social networks, and many are ecommerce apps. All of these apps, if professionally built, should follow a similar mobile app development process. At BHW, we have built over 350 <a href="https://thebhwgroup.com/projects">web and mobile apps</a>. In this article, I will outline the strategy, design, and development processes we follow. </p>

<p>Each app is different and our methodologies are always evolving, but this is a fairly standard process when developing mobile apps. This mobile app development process typically includes idea, strategy, design, development, deployment, and post-launch phases.</p>

<h2>Idea</h2>

<p>As trite as it sounds, all great apps began as ideas. If you don’t have an app idea, the best place to start is to train yourself to always think of things in terms of problems and potential solutions. You want your brain to instinctively ask “Why do we do things this way?” or “Is there a better way to solve this problem?” If you can identify a problem or market inefficiency, you are half way to your idea!</p>

<p>The next thing to do is understand why this problem exists and think about why nobody else has made an app to solve this problem previously. Talk to others with this problem. Immerse yourself in the problem space as much as possible. Once you have a complete grasp of the problem, begin to evaluate how a mobile app could solve the problem.</p>

<p>This is where having some understanding of what mobile apps can do is extremely valuable. We are frequently asked, “Is this even possible?” Fortunately, the answer is often yes, but it is imperative that this answer is sound. You are about to invest a considerable amount of time and money into an app, so now is the time to challenge your idea’s validity and viability.</p>

<h2>Strategy</h2>

<div class="images full-row">
  <div class="image">
    <img src="https://thebhwgroup.com/sites/default/images/blogs/2017-05-31-mobile-app-development-process/mobile-app-strategy.png" 
      alt="Mobile App Process - Strategy Diagram"
      
      
       />
      
  </div>
</div>

<h3>Competition</h3>

<p>Once you have an idea, you need to plan for your app’s success. One of the best places to start is by identifying your competition. See if any other apps serve a similar purpose and look for the following:</p>

<ul>
<li><strong>Number of installs</strong> - See if anyone is using these apps.</li>
<li><strong>Ratings and reviews</strong> - See if people like these apps and what they like/dislike about them.</li>
<li><strong>Company history</strong> - See how these apps have changed over time and what sort of challenges they faced along the way. Try to see what they did to grow their user base.</li>
</ul>

<p>There are two main goals of this process. First, learn as much as you can for free. Making mistakes is time consuming, frustrating, and expensive. Often, you have to try a few approaches before getting it right. Why not save yourself a few iterations by learning lessons from your competitors? The second is to understand how hard it will be to compete in the marketplace. Are people hungry for a new solution? Is there some niche not being filled by the existing options? Understand what gaps exist and tailor your solution to meet them. If your idea is completely new, find other “first to market” apps and study how they educated consumers about their new product.</p>

<h3>Monetization</h3>

<p>Unless you just enjoy building apps for their own sake, you are probably hoping to make money on your mobile app. There are several methods of monetization that could work, including: in-app purchases, subscription payments, premium features, ad-revenue, selling user data, and traditional paid apps. To determine which is best for your app, look to see what the market expects to pay and how they expect to pay for similar services. You also need to consider at what point you begin monetizing your app. Far too many apps (particularly startups) skip this step and have a hard time later turning a profit.</p>

<h3>Marketing</h3>

<p>This step in the mobile app development process is all about identifying the <a href="https://appinventiv.com/blog/mobile-app-development-challenges/">biggest challenges</a> you will face when marketing your app. Assuming you have a reliable app development and app design team, your biggest hurdles will likely be driving app adoption. There are thousands of beautiful and quite useful apps on the app stores that simply go unused.  At this point you need to understand what your marketing budget and approach will be. In some cases (like internal-use apps or B2B apps) you might not even need marketing.</p>

<h3>Road Map (MVP)</h3>

<p>The final stage of the strategy process is defining your app’s roadmap. The goal of this process is to understand what your app could one day become and what it needs to be successful on day one. This day one version is often called your Minimum Viable Product (MVP). During this process, it can be helpful to write on a whiteboard all of the things you want your app to do. Then begin ranking these items by priority. Consider what your app&#39;s core functionality will be, what is needed to gain users, and what can be added later. If there are some features you think users might want, they are likely great candidates for later versions. As you gain users with your MVP, you can solicit feedback on what additional features are desired. App monitoring (covered later in this article) can also assist in this process.</p>

<h2>User-Experience Design</h2>

<div class="images full-row">
  <div class="image">
    <img src="https://thebhwgroup.com/sites/default/images/blogs/2017-05-31-mobile-app-development-process/mobile-app-UX.png" 
      alt="Mobile App Process - UX Design Diagram"
      
      
       />
      
  </div>
</div>

<h3>Information Architecture</h3>

<p>Information architecture is the process in which you decide what data and functionality needs to be presented within your app and how that data and functionality is organized. Typically, we begin this process by writing down a list of features we want the app to perform and a list of what needs to be displayed somewhere in the app. These are the basic building blocks with which we will build the wireframes.</p>

<p>Tools we use: Whiteboards and Pencil &amp; paper</p>

<h3>Wireframes</h3>

<p>Next, we begin creating screens and assigning each functions and data. It is okay if some things live in multiple places, but you need to make sure each item has a home. This process often takes place on whiteboards or paper initially. You want to make changes here, rather than later in the process, because it is much cheaper to erase some marks than to rewrite code. Once you have several screens drawn up, begin considering your app’s workflows.</p>

<p>Tools we use: Whiteboards, Pencil &amp; paper, <a href="https://balsamiq.com/products/mockups/">balsamiq</a>, and <a href="https://www.sketchapp.com/">Sketch</a></p>

<h3>Workflows</h3>

<p>Workflows are the pathways users can travel within your app. Consider each of the things you want your users to be able to do and see how many clicks are needed to complete that action. Make sure each click is intuitive. If something takes a few clicks to accomplish, that might be fine, but it should not take a few clicks to perform common tasks. As you find problems with your workflows, update your wireframes and try again. Remember to run through all of your features in each iteration, just to make sure you did not increase the difficulty of one action in an attempt to improve another.</p>

<p>Tools we use: Whiteboards, Pencil &amp; paper, <a href="https://www.invisionapp.com/">Invision</a></p>

<h3>Click-through models</h3>

<p>Click-through models help you test your wireframes and workflows. They are basically a way to experience your wireframes on a phone for more realistic testing. For example, our clients simply receive a link, which when opened on their phone allows them to click through the wireframe. Although the app has no functionality at this point, they can click on each page in the app and begin testing the app’s navigation. As you find issues in this step, make changes with your wireframes and iterate until you are satisfied.</p>

<p>Tools we use: <a href="https://www.invisionapp.com/">Invision</a></p>

<h2>User-Interface Design</h2>

<div class="images full-row">
  <div class="image">
    <img src="https://thebhwgroup.com/sites/default/images/blogs/2017-05-31-mobile-app-development-process/mobile-app-UI.png" 
      alt="Mobile App Process - UI Design Diagram"
      
      
       />
      
  </div>
</div>

<h3>Style guides</h3>

<p>Style guides are basically the building blocks of your app’s design. Having a sound style guide will help tremendously with your app’s usability. You don’t want your call to action button on one screen to be blue and at the bottom, but green and in the header on another screen. By having a consistent design language, users are more likely to be comfortable within your app. </p>

<p>There is a lot that goes into determining an app’s style guide. You need to consider who you are and who your customers will be. Is your app going to be used at night? Then maybe a dark theme will work best, as to not blind your users. Will it be used mostly by busy employees? Try to keep clutter to a minimum and get your main point across. An experienced designer or design team has a wide range of output and can deliver an app that is a great fit for you and your customers. The output of this phase is a set of colors, fonts, and widgets (buttons, forms, labels, etc.) that will be drawn from in the design of your app.</p>

<h3>Rendered designs</h3>

<p>Rendered design is the process of taking your wireframes and replacing the grayscale elements with elements from your style guide. There should be a rendered screen for each wireframe screen. Try to stay true to your style guide in this process, but you don’t have to be dogmatic about it. If you find yourself wanting a new or changed style, feel free to update or amend your style guides. Just make sure your design is consistent when this stage is complete.</p>

<p>Tools we use: Whiteboards, Pencil &amp; paper, and <a href="https://www.sketchapp.com/">Sketch</a></p>

<h3>Rendered Click-through models</h3>

<p>Once you have all your screens rendered, return to your click-through model application and test your app again. This is the step in the mobile app development process where you really want to take your time. Although a considerable amount of effort has already gone into the app, after this point changes can become increasingly costly. Think of this as reviewing a floor plan before your home’s concrete is poured. Fortunately, mobile app development is a bit more adaptive than construction, but thinking of it in these terms can be the most cost-effective.</p>

<p>Tools we use: <a href="https://www.invisionapp.com/">Invision</a></p>

<h2>Design-to-Development Handoff</h2>

<p>After having put in so much effort into the form and function of your app, it is imperative that this vision is properly realized by your development team. It always amazes me how often this step in the mobile app development process goes poorly. Perhaps this is due to many organizations and agencies only providing design or development services or the sometimes combative relationship between designers and developers. Whatever the reason, I highly recommend finding a team that can provide both design and development services and can properly handle this step in the process. </p>

<p>Part of what helps ensure a smooth transition and exact implementation is the proper use of the available tools. We like using an application called <a href="https://zeplin.io/">Zeplin</a>, which helps developers quickly grab style guides for the design. But, this is not foolproof. Zeppelin is a great tool, but sometimes its guides are not exact or not the best implementation (it can use explicit dimensions, rather than dynamic ones for example). In those situations, it is immensely beneficial if your developers can also use design applications (such as Sketch or Photoshop). The important thing here is that your team does not simply best guess at dimensions, hex values (colors), and positioning. Your design team put in tremendous effort to ensure things were properly aligned and positioned. Your development team’s goal should always be a pixel-perfect implementation.</p>

<p>Tools we use: <a href="https://zeplin.io/">Zeplin</a></p>

<h2>High-level Technical Design (Tech Stack)</h2>

<p>There are numerous approaches, technologies, and programming languages that can be used to build a mobile app, each with its own strengths and shortcomings. Some might be cheaper to use, but are less performant, whereas others might take longer to implement and be overkill. The worst possibility is building on a dying or unreliable technology stack. If you make this mistake, you might have to rebuild your app or pay a premium for developers moving forward. That is why having a trusted development partner that is seasoned in making these decisions is vital in this process.</p>

<h3>Front-end (the mobile app)</h3>

<p>For front-end development, there are basically 3 approaches. They are platform-specific native, cross-platform native, and hybrid. Here is a brief overview of each approach and some articles that delve into each with greater details.</p>

<ul>
<li><p><strong>Platform-specific Native</strong> - Apps built with this approach are written separately for each mobile platform. Code can’t be reused between Android and iOS, but these apps can be fully optimized for each platform. The UI can look entirely native (so it will fit in with the OS) and the app should work fluidly. This is often the most expensive approach, but is very tried and tested.</p></li>
<li><p><strong>Cross-platform Native</strong> - Apps built with this approach have some (or entirely shared) code, but still run natively. Common technologies used for this are <a href="https://www.smashingmagazine.com/2016/04/consider-react-native-mobile-app/">React Native</a>, <a href="https://dotnet.microsoft.com/apps/xamarin/">Xamarin</a>, and <a href="https://www.nativescript.org/">Native Script</a>. This is a nice middle ground between the various approaches in that it is more cost-effective, but can still be optimized and styled for each platform.</p></li>
<li><p><strong>Hybrid</strong> - Hybrid apps are built using web technologies (HTML, CSS, Javascript) and are installed via a native wrapper. This can be done using technologies such as <a href="https://cordova.apache.org/">Cordova</a>, Phone Gap, and <a href="https://ionicframework.com/">Ionic</a>. This option can be the cheapest, but also presents some very <a href="https://www.smashingmagazine.com/2017/06/transition-hybrid-apps-react-native/">real difficulties</a>.</p></li>
</ul>

<h3>Back-end (Web API &amp; Server)</h3>

<p>The server is responsible for much of your app’s performance and scalability. The technologies used here are similar to those used to power web-based applications. Here are a few things you have to decide before writing code:</p>

<ul>
<li><p><strong>Language</strong> - There are dozens of languages that can be used to build your API. Common languages used are Java, C#, Go-lang, javascript, PHP, and Python. Most languages also have numerous frameworks that can be utilized.</p></li>
<li><p><strong>Database</strong> - There are two main types of modern databases, SQL and noSQL. SQL is more traditional and the best choice in almost all cases. Common SQL implementations include MSSQL, MYSQL, and PostgreSQL. In addition to selecting a database engine, you have to design your particular database schema. Having reliable and well organized data is crucial to your long term success. So, make sure this is well thought out.</p></li>
<li><p><strong>Hosting Environment (Infrastructure)</strong> - In this step you need to decide where and how your API and database will be hosted. Decisions made here will help determine the hosting costs, scalability, performance, and reliability of your application. Common hosting providers include <a href="https://aws.amazon.com/">Amazon AWS</a> and <a href="https://www.rackspace.com/en-us">Rackspace</a>. Beyond picking a provider, you need to plan how your system will scale as your user base grows. Cloud-based solutions allow you to pay for resources as a utility and scale up and down as needed. They also help with database backups, server uptime, and operating system updates.</p></li>
</ul>

<h2>Development &amp; Iteration</h2>

<div class="images full-row">
  <div class="image">
    <img src="https://thebhwgroup.com/sites/default/images/blogs/2017-05-31-mobile-app-development-process/mobile-app-testing.png" 
      alt="Mobile App Process - Development Diagram"
      
      
       />
      
  </div>
</div>

<p>Sound mobile app development is an iterative process. You have likely heard the term “sprints” or “agile methodology”. This basically means that you break up all development work into smaller milestones and build your app in a series of cycles. Each cycle will include planning, development, testing, and review. There are entire books written on this process, so this article will just provide a brief overview of each step. If your company elects to use another process, these steps will be quite similar, but the order and length of each might vary.</p>

<h3>Planning</h3>

<p>The planning phase of a sprint involves dividing up the list of tasks to be implemented during the current iteration. Each task needs clearly defined requirements. Once these requirements are understood by developers, they will often estimate the time needed to complete each task, so that the tasks can be evenly distributed to ensure a balanced workload during the sprint.</p>

<p>Developers also begin planning their approach to solving their assigned problems during this phase. Skilled software developers find ways to intelligently reuse code throughout an application. This is especially important for implementing styles and shared functionality. If a design needs to be changed (believe me, something will change), you don’t want to have to go and update code in numerous places. Instead, well designed software can be changed in select places to make these sorts of sweeping changes.</p>

<h3>Development</h3>

<p>During the development phase your development team will begin implementing the styles and functionality of your app. As they are completed, they are assigned back to a project manager or QA tester for review. Good project managers are able to fully optimize developer workloads during this process by properly redistributing assignments throughout the sprint.</p>

<p>It is important that your development team fully understand the goals of the application as a whole and for the specific feature they are working on. Nobody is more in-tune with that particular feature than the assigned developer. They should understand the intent of the requirements. If something starts to not make sense, it is often developers who will be the first to let you know.</p>

<p>During development, we use a private beta platforms (Testflight for iOS and Google Play Beta for Android). These allow us to privately and securely distribute the in-development version of the app to testers, clients, and other developers. These platforms automatically notify users of new builds (so everyone is testing the latest &amp; greatest), provides crash reporting, and can ensure only approved testers have access to your app. It is a great way to keep everyone up to speed on progress. During development, we try to update beta builds once or twice a week.</p>

<h3>Testing</h3>

<p>Most testing should be performed by non-developers or at least people who are not your app’s primary developer. This will help ensure a more genuine testing experience. There are several types of testing that should occur during each sprint. These typically include the following:</p>

<ul>
<li><p><strong>Functional Testing</strong> - Testing to ensure the feature works as described in the requirements. Usually, a QA team will have a test plan with a list of actions and the desired app behavior.</p></li>
<li><p><strong>Usability Testing</strong> - Testing to ensure the feature is user-friendly and is as intuitive as possible. Often it is helpful to bring in new testers for a “first-use” experience during this step.</p></li>
<li><p><strong>Performance Testing</strong> - Your app might work perfectly, but if it takes 20 seconds to display a simple list, nobody is going to use it. Performance testing is typically more important in later sprints, but keep an eye on the app’s responsiveness as you move along.</p></li>
<li><p><strong>Fit and Finish Testing</strong> - Just because the design phase is completly passed, it doesn&#39;t mean you can lock your designers in a closet. Designers should review each feature and ensure that their vision was implemented as described in the design. This is another reason why having one agency for both design and development is so beneficial.</p></li>
<li><p><strong>Regression Testing</strong> - Remember that one feature from the previous sprint? Don’t assume it still works, just because you tested it last month. Good QA teams will have a list of tests to perform at the end of each sprint, which will include tests from previous sprints.</p></li>
<li><p><strong>Device-Specific Testing</strong> - There are tens of thousands of device and operating system combinations in the world. When testing, make sure you try out your app on numerous screen sizes and OS versions. There are tools that can help automate this, such as Google’s Firebase, but always test the app on at least a handful of physical devices.</p></li>
<li><p><strong>User Acceptance Testing</strong> - This is testing performed by either the app owner or future app users. Remember who you are building this app for and get their feedback throughout the process. If a feature passes all the above tests, but fails this one, what use is it?</p></li>
</ul>

<p>As problems are discovered in this phase, reassign tasks back to developers so that the problems can be resolved and the issues closed out. Once testing has been completed and each task is done, move on to review.</p>

<h3>Review</h3>

<p>At the end of each sprint talk with each of the stakeholders and determine how the sprint went. If there were difficulties, try to eliminate similar issues from future sprints. If things went well in one area, try to apply them elsewhere. No two projects are the exact same and everyone should always be advancing in their roles, so aim to improve while you iterate. Once review is complete, begin again with the planning phase and repeat this process until the app is done!</p>

<h2>Extended Review</h2>

<p>At this point your app should be fully testable and feature complete (at least for the MVP). Before you spend a sizable amount of time and money on marketing, take the time to test your app with a sample of your potential users. There are two main ways to go about this.</p>

<h3>Focus Groups</h3>

<p>Focus groups involve conducting an interview with a tester or group of testers who have never seen the app before and conduct an interview. You want to understand who these testers are, how they learn about new apps, and if they use similar apps already. Try to get some background info out of them before even getting into your product. Next, let your testers begin using your app. They should not be coached during this process. Instead, let them use the app as if they had just found it in the app store. See how they use the app, and look for common frustrations. After they are done using the app, get their feedback. Remember to not be too strongly guided by any one tester, but combine feedback and make intelligent decisions using all available feedback.</p>

<h3>Beta Testing</h3>

<p>In addition to, or instead of focus groups, you can do a beta launch of your app. Beta tests involve getting a group of testers to use your app in the real world. They use the app just as if it had launched, but in much smaller numbers. Often these beta testers will be power users, early adopters, and possibly your best customers. Make sure they feel valued and respected. Give them ample opportunities to provide feedback and let them know when and how you are changing the app. Also, beta testing is a great time to see how your app performs on various devices, locations, operating systems, and network conditions. It is imperative that you have sound crash reporting for this step. It does you no good if something goes wrong, but is not discovered and diagnosed.</p>

<h3>Refinement</h3>

<p>After these extended review periods, it is common to have a final development sprint to address any newly discovered issues. Continue beta testing during this process and ensure that your crash and issue reports are declining. Once you have the all-clear from your testers, it is time to begin preparing for deployment.</p>

<h2>Deployment</h2>

<div class="images full-row">
  <div class="image">
    <img src="https://thebhwgroup.com/sites/default/images/blogs/2017-05-31-mobile-app-development-process/mobile-app-deployment.png" 
      alt="Mobile App Process - Deployment Diagram"
      
      
       />
      
  </div>
</div>

<p>There are two main components to deploying your mobile app into the world. The first involves deploying your web server (API) into a production environment that is scalable. The second is deploying your app to the Google Play Store and Apple App Store.</p>

<h3>Web API (Server)</h3>

<p>Most mobile apps require a server back-end to function. These web servers are responsible for transferring data to and from the app. If your server is overloaded or stops working, the app will stop working. Properly configured servers are scalable to meet your current and potential user base, while not being needlessly expensive. This is where the “cloud” comes in. If your server is deployed to a scalable environment (Amazon Web Services, RackSpace, etc.), then it should be able to better handle spikes in traffic. It is not terribly difficult to scale for most mobile apps, but you want to ensure your team knows what they are doing or your app could fall apart, just when it gets popular.</p>

<h3>App Stores</h3>

<p>Submitting your apps to the app stores is a moderately involved process. You need to make sure your apps are properly configured for release, fill out several forms for each store, submit screenshots and marketing materials, and write a description. Additionally, Apple manually reviews all apps submitted to their app store. It is possible they will request you make changes to your app to better comply with their regulations. Often, you can discuss these changes with Apple and get them to accept your app as-is. Other times, you might have to make changes to be granted entrance. Once your app is submitted, it will be live in Google later that day and in Apple within a few days, assuming everything goes smoothly.</p>

<h2>Monitoring</h2>

<div class="images full-row">
  <div class="image">
    <img src="https://thebhwgroup.com/sites/default/images/blogs/2017-05-31-mobile-app-development-process/mobile-app-support.png" 
      alt="Mobile App Process - Monitoring Diagram"
      
      
       />
      
  </div>
</div>

<p>It would be incredibly naive to think that the mobile app development process ends when the app is shipped. Go look at any even moderately popular apps and you will see a long history of app updates. These updates include fixes, performance improvements, changes, and new features. Thorough monitoring is essential to best understand what sort of updates are needed. Here are a few things you should be monitoring.</p>

<h3>Crashes</h3>

<p>There are numerous libraries that can be used to reliably track app crashes. These libraries include information about what the user was doing, what device they were on, and plenty of technical info that is crucial for your development team in resolving the problem. Apps can be configured to send an email/text/alert when crashes occur. These crashes can be viewed and triaged accordingly.</p>

<p>Tools we use: <a href="https://sentry.io/welcome/">Sentry</a> and <a href="https://www.bugsnag.com/">Bugsnag</a></p>

<h3>Analytics</h3>

<p>Modern app analytics systems are a treasure trove of information. They can help you understand who is using your apps (age, gender, location, language, etc.) and how they are using it (time of day, time spent in app, screens viewed in app, etc.). Some even allow you to view heat maps of your app, so you know what buttons on each screen are clicked most often. These systems provide an invaluable glimpse into how your app is being used. Use this information to best understand where to invest future efforts. Don’t build onto portions of the app that are seldom utilized, but invest where there is action and the largest potential for growth.</p>

<p>Tools we use: <a href="https://analytics.facebook.com/">Facebook Analytics</a>, <a href="https://www.alchemer.com/apptentive-is-now-alchemer-mobile/">Apptentive</a>, and <a href="https://www.google.com/analytics/">Google Analytics</a></p>

<h3>Performance</h3>

<p>One vital metric not covered by the previous two monitoring categories is your app&#39;s technical performance, i.e. how quickly it works. Any system we deploy has extensive performance monitoring in place. We are able to track how many times an action occurred and how long that action took. We use this to find areas ripe for optimization. We also put alerts in place to let us know if a particular action is slower than expected, so we can quickly look to see if there are any issues. These performance tools typically have dash-boarding, reporting, and alerting functionality included.</p>

<p>Tools we use: <a href="https://prometheus.io/">Prometheus</a></p>

<h3>App Store Management</h3>

<p>App store ratings and reviews are extremely important, particularly for newer apps. Whenever a new review is left on your listing, make sure to engage the reviewer. Thank users who give you great reviews and try to assist those who were frustrated. I have seen hundreds of poor reviews changed to 5-stars just with a little customer service. Users don’t expect app developers and owners to provide a hands-on level of service and that help goes a long way in boosting your online reputation.</p>

<h2>Further Iteration and Improvement</h2>

<p>The purpose of all this monitoring is to know what you need to do next. Most apps are never really done. There are always new features that can be added and things that can be improved upon. It would be incredibly wasteful to blindly build on your app. Use the information you have received from your users and your monitoring platforms. Then repeat parts of this mobile app development process (don’t worry, many steps are much easier each after the first pass). Continue to improve your app, your conversion rates, your install base, and of course your revenue. Mobile apps are fluid. Take advantage of that by continuing to grow and improve.</p>

<h2>Conclusion</h2>

<p>The mobile app development process might seem overwhelming and involved. There are a lot of steps and difficult decision making is required along the way. But, it is an extremely rewarding process and can be quite lucrative. Also, there might be some temptation to skip steps in this process, but this guide is built upon years of experience working with app owners that chose to skip certain steps.</p>

<p>If you are looking to build your next (or first) mobile app and need help with one or more of these steps, you’re in luck! The BHW Group welcomes app owners at any stage in this process. Whether you are a startup or Fortune 50 company, we have the team and knowledge needed to deliver a fantastic mobile app. Please don’t hesitate to <a href="https://thebhwgroup.com/contact">contact us</a> today.</p>

		]]></description>

    
        <category>mobile</category>
    
        <category>engagement</category>
    
    
        <category>Mobile</category>
    

	  </item>
    
	  <item>
        <title>Mobile App Maintenance Costs</title>
        <link>https://thebhwgroup.com/blog/mobile-app-maintenance-costs</link>
		<author>Paul Francis</author>
		<pubDate>2017-01-16T00:00:00+00:00</pubDate>
		<guid isPermaLink="true">https://thebhwgroup.com/blog/mobile-app-maintenance-costs</guid>
		<description><![CDATA[
		   Mobile apps can be expensive to initially design and develop, but many app owners forget to consider the ongoing maintenance costs of mobile applications. These costs vary from app to app and can play a meaningful role in your app’s overall profitability. For that reason, you would be wise to carefully consider them before getting started. 

These mobile app maintenance costs often include hosting, monitoring, continued engagement, marketing, app updates, and customer support. This article will provide an overview of each expense and provide some idea about the level of effort involved with each.

##Hosting
Many mobile apps require a server which hosts the app’s API, database, and assets (such as images and videos). Most app developers choose to host these items in a cloud-based environment, such as [Amazon Web Services (AWS)](https://aws.amazon.com/) or [Rackspace](https://www.rackspace.com/en-us). App owners will pay monthly for these services based on the resources used. If your app supports video streaming or large file transfers to and from your sever, this could be a large expense. Additionally, as your user base grows, so too can this cost. Fortunately, this is a cost that your developer or development agency should be able to estimate with reasonable confidence before your project starts.

##Monitoring
{% include full-blog-image.html src="blogs/2017-01-16-mobile-app-maintenance-costs/app-monitoring.png" alt="Mobile App Monitoring Page" %}

Most apps should have analytical monitoring that reports on what users are doing within your app. There are numerous free platforms that provide this service (such as [Flurry Analytics](https://developer.yahoo.com/analytics/), [Facebook Analytics](https://analytics.facebook.com/), or [Google Analytics](https://www.google.com/analytics/#?modal_active=none)), but you will still need to invest time or money in monitoring these reports. This data is invaluable, so use it to inform future decisions.

Additionally, apps should have crash/error reporting and performance monitoring. There are also plenty of platforms that do this for free, but fixing and improving issues could incur additional costs. You might want to have someone on-call to respond to these alerts, particularly after app updates. 

##Engagement
Apps thrive when they have continuous engagement. Frequent app usage increases the likelihood of adding new customers and maintaining existing ones. Well-designed apps have methods of driving ongoing [engagement](https://thebhwgroup.com/blog/2013/12/engagement-mobile-applications). Some of this can be scripted into your app, so that it does not require continued work, but having dynamic content created by a real person engaging on your app can be hugely beneficial. This can take the form of fresh content, push notifications, emails, or special events. By ensuring there is always something new happening in your app, you give your customers a meaningful reason to return again and again. The cost of this effort can vary depending on the type of engagement. It might require some work from your developers or could be something your content creators can handle on their own.

##Marketing
It is quite shocking how many app owners never fully consider the amount of marketing that is usually needed for a mobile app to succeed. Thousands of apps are released each day. It is naive to think that just because your app is wonderful, it will flourish. Unless you have an existing customer base or your app is for internal company use, you will need a marketing plan. The cost of marketing can vary tremendously, but this is often the largest ongoing expense for mobile apps. Marketing costs can include content creation (videos, animations, photography, and/or blogs) and ad buys (app store listings, search ads, TV, and/or radio). You will likely need an experienced marketing team to guide you through this process.

##App Updates
{% include full-blog-image.html src="blogs/2017-01-16-mobile-app-maintenance-costs/app-updates.png" alt="Mobile App Update Message" %}
Look at any app in the app store and you will find a list of app updates. These updates will include new features, changes, and bug fixes. No app is perfect in version 1, but thankfully the app stores provide a reliable method of publishing updates. Deploying updates typically takes an hour or so, but the majority of the cost of updating an <applet></applet> is additional development time. This cost will be determined by how large the new features are or how involved the bug fixes might be.

##Licenses
Some apps will be built with or entirely through licensed technologies. Many such apps will have annual fees or optional annual update fees. Make sure you understand how your app is being built and what the licensing arrangement looks like. You don’t want to be shocked by an unexpected bill and want to make sure you consider ongoing fees when deciding between various development options.

##App Store Maintenance
{% include full-blog-image.html src="blogs/2017-01-16-mobile-app-maintenance-costs/app-store-management.png" alt="Mobile App Store Listing Monitoring" %}
Well run apps have well run app store listings. Our most successful clients do a fantastic job of quickly responding to user reviews. Thanking users for good reviews and answering questions can make already loyal and happy users feel appreciated. This can lead them to share your app with their friends. Responding to unhappy customers can actually convert bad reviews to good ones at a shockingly high rate. Customers appreciate when app owners go out of their way to solve issues and respond to feedback. This “maintenance cost” is typically not high, but is something that is definitely worth spending time on as your app grows.

##Conclusion
Mobile app development does not end when your MVP is deployed to the app stores. Understanding and considering ongoing mobile app maintenance costs is essential in properly planning for your mobile app. With this understanding, wise app owners can more accurately plan for the initial and ongoing costs of their project. It would be a terrible mistake to spend all of your resources in the initial app development and not properly invest in the mobile app maintenance phases.


<p align="center"><em>If you are an app owner who needs help understanding and planning for your mobile app maintenance costs, please feel free to <a href="https://thebhwgroup.com/contact" target="_blank">reach out</a>. We welcome apps at any phase and would be happy to answer any questions you might have.</em></p>

		]]></description>

    
        <category>mobile</category>
    
        <category>engagement</category>
    
    
        <category>Mobile</category>
    

	  </item>
    
  </channel>
</rss>
