System Architecture Design

By | Ideas For Your Business | No Comments

Whether building a single application or a large application suite, designing the appropriate system architecture is a critical step.  It is not just a technology selection or a collection of system component diagrams or flows; rather a result of decisions based on business, technical and operational requirements that impact the quality, maintainability, performance and successful implementation of an application or application suite.  In more than a decade’s worth of designing architectures for various systems, I’ve found the following key guidelines necessary in the design process, regardless of how you approach system design:

  • Define key requirements and constraints
  • Identify key scenarios
  • Application overview
  • Identify risk areas and potential issues
  • Communicate key architecture decisions

Define Requirements and Constraints

Defining clear and specific requirements up front creates boundaries necessary so you can focus on creating a design that solves for specific objectives.   It is important that these are specific, e.g. “System must be able to retrieve data from systems A and B” versus “System must be able to interface with existing systems.” Nonspecific objectives can take your design down a rabbit hole of designing for a very broad use case.  Constraints must be accounted for in the architecture design in order to prevent surprises down the road that can potentially result in significant time and/or cost.

Identify Key Scenarios

It is also important to identify the key scenarios that are architecturally significant.  These are the scenarios that define what the architecture needs to support and doesn’t necessarily delve into the actual flow for each objective.  Examples of these could be:

  • Login
  • Lookup Inventory Information
  • Update Inventory Details, etc.

App Overview DiagramApplication Overview

At this stage, a high level diagram of the application can be defined.  This should be at a level that exposes the interaction between the different pieces, e.g. where the user interacts with the application, how the application interacts with the various backend systems, etc.   It should also show where the different crosscutting concerns apply to the interacting components in the architecture.  These may include authentication/authorization, logging and instrumentation, configuration, and caching among others.

Identify Key Risk Areas and Potential Issues

Most of the mistakes made during the design of the architecture happen when the designers fail to evaluate the proposed architecture against risk areas and/or potential issues that may occur after the design is implemented.   Some of the questions may include “can we handle a million users”, “can we swap out software X with Y”, “how quickly can we change business rules”, “how do we audit user authentication”, etc.   Asking questions like these ultimately define decisions for the architecture “abilities” (extensibility, flexibility, reliability, security, etc.).  This may introduce additional requirements but it is cheaper to revisit them at this stage than later.

Communicate Key Architecture Decisions

All of the key decisions about the architecture must be documented and communicated to everyone involved with the development of the application.  When all the stakeholders understand the key decisions and the rationale for those decisions, it helps align expectations and enables them to make better decisions for improving the application.  Communicating architecture decisions to developers empowers them to build the application aligned to those decisions and the QA organization can focus on the high-risk areas identified by this design.

There are several ways of going about designing system architecture, and every system and application is different. Our experience has shown that accounting for the above mentioned guidelines during the design process gives a clear direction where everyone is on the same page on how the architecture fits within the business requirements, and how it should influence the final product.  It is important to remember that a sound architecture is one that is built for change, and by adhering to these guidelines you should have a solid foundation to build future changes on.

Why We Do Requirements

By | Ideas For Your Business | No Comments

It’s all in the details.  At BlueFletch, we don’t shy away from dedicating the time and resources needed to fully understand your solution and provide guidance in choosing the right technology.  From technical architecture to security specifics, we partner with you to ensure comprehensive requirements are captured for planning and traceability.

Gathering and reviewing requirements at the onset of a project is critical to identifying, understanding and solving the right problems and to support successful development and delivery.  We use a variety of approaches and tools: ride-alongs and shadows, interviews with stakeholders, white boarding, process mapping, etc.  The requirements process is the planning stage necessary in order to enter the design process with momentum and minimal back-and-forth.  The easier our team can reference and understand requirements, the higher our efficiency going forward.

First steps

Do you have a problem that you are ready to solve?  We will scope out the effort and provide project roadmaps and estimates.  Our requirements process begins as soon as your end goal, product or solution is communicated with us.  We research the line of business, competitors and mine similar projects we’ve worked on for insights and potential risks.

mobile app project roadmap

Meetings

Our initial effort is to prepare a rough index of user stories and apply best practices and past learning to create initial artifacts on which to collaborate with stakeholders.  We then schedule requirements and design meetings, usually limited to five or fewer stakeholders and decision makers relevant to the session’s topic.  Limiting sessions to a manageable size reduces tangents and allows thorough understanding and documentation to build an exact solution.

During the sessions, there are often open questions and takeaways for the group.  Not everything has to be solved in one sitting.  There is great brainstorming that occurs when your idea is deeply analyzed and we are sure to capture all notes for future use.

After the meeting

The output of the requirements process is technical workflows highlighting integrations, user workflows, technical architecture diagrams and our master requirement tracking file.

Not only will these artifacts assist in your decision-making, but they will also be the reference for our project planning.  We create development and quality assurance tasks based each user story’s requirements.  Functional or non-functional, every requirement should be captured and tested.

Continuing into the project lifecycle, requirements will evolve. They are then updated and revised to match new discoveries and design decisions.

Mobile Strategy Workshops

If your organization is looking to accelerate their mobile projects, we provide a free mobile strategy workshop covering a variety of topics tailored to your specific interest areas. A mobile strategy workshop is an opportunity for your team to pick our brains about our experience developing mobile solutions. Past workshop topics include: development tooling, hardware interaction, UX design approach, deployment process, and domain specific mobile principles (retail, logistics, and warehouse). To learn more about our free mobile workshops, learn more here.

Managing Proof of Concepts

By | Ideas For Your Business | No Comments

We can all agree with the saying “practice makes perfect,” whether it is learning your ABC’s at a very young age and turning your ‘jello-minto-p’ into ‘l – m – n – o – p’; or the young athlete practicing your free throws, backhands, bunts or putts for hours and hours in preparation to be the best in the heat of competition. Corrections and modifications bring us closer to achieving our goals and help us recognize failures. Similarly, a proof of concept (PoC) is a step in the process to achieving your business goal. Companies utilize this process for various reasons, such as gaining a competitive advantage or creating a better customer experience.

In my career I have found enterprise companies struggle in executing this step-by-step process. I have been tasked with managing and running PoCs for companies many times over and have gained key insights into how to achieve the stated goal.

What is a Proof of Concept

 Wikipedia defines Proof of Concept “PoC” as the realization of a certain method or idea to demonstrate its feasibility, or a demonstration in principle, whose purpose is to verify that some concept or theory has the potential of being used. A proof of concept is usually small and may or may not be complete.

It is important not to blur the lines of PoC, demonstration (demo) and minimal viable product (MVP). A MVP is the minimal execution of a product that is released to customers. A demo or demonstration is just that, an example of a working process. No more, no less. A PoC is one step in the trial and error process that validates or invalidates a process for a given task.

A PoC troubled from the start

 This year one of my clients, a globally renowned brand, referred BlueFletch to an internal team to help them with a project. The project entailed helping them run a few PoCs. I was excited because the work was right in our wheelhouse. Below is brief dramatization of our one and only conversation.

  • CLIENT: Based on the requirements I sent over for the Green team, we are looking to obtain a better process capturing and reporting on important information. My goal is to define a process for running small, week long PoCs for internal teams for a strictly defined budget. Is this possible and how you would technically solve for this?
  • BlueFletch: I have reviewed the requirements as well. Has the Green team shared with you their top priority for this project? Have they defined any metrics that would help us prioritize the features defined in the requirements to obtain a better process?
  • CLIENT: BlueFletch, what is really important is understanding how I can define a repeatable process for running internal PoCs.
  • BlueFletch: Ok. So what does success mean to you?
  • CLIENT: Can we achieve my goal or not?
  • BlueFletch: I’m unclear of the goal. We can definitely work on a process for a week, but when you deliver the output of the PoC to the Green team how do you know if you were successful or not?
  • CLIENT: Because it will be delivered.
  • BlueFletch: What if we do not finish the process in a week?
  • CLIENT: Then we will give you more time. My goal is to deliver what we scoped in the requirements to the Green team.
  • BlueFletch: That is not a PoC. That is an MVP.
  • CLIENT: That is the process I am trying to execute here.
  • BlueFletch: (face palm)

The client wanted us to deliver an MVP for a PoC price and time frame. Even if the scope of the effort was large enough, the fact we could not agree on success from the start is a red flag that is commonly overlooked.

Read More

BlueFletch Joins Zebra Technologies at NRF’s Big Show

By | Ideas For Your Business | No Comments

ATLANTA, GA, January 8, 2018 – BlueFletch, an Atlanta-based consulting firm focused on building innovative mobile solutions for the enterprise, and Zebra Technologies PartnerConnect Premier ISV partner, will be exhibiting in Zebra’s booth (Booth #1603) at the NRF BIG Show 2018, January 14-16, at the Jacob K. Javits Convention Center in New York.

BlueFletch will demonstrate its Inventory AR application on Zebra’s TC51 mobile computers, showing retailers how they can utilize back-end data and augmented reality to increase efficiencies for inventory and merchandising operations.

  • The Inventory AR application is an open source product that enables retailers to better maintain accurate inventory replenishment data, optimize merchandise planning, and verify product pricing in real-time.
  • Using augmented reality, this product can read multiple barcodes or SKUs in a single motion, then quickly superimpose visual feedback in the user interface (UI) to indicate relevant product information such as: inventory counts, reorder thresholds, units sold last week, weekly sales trends and price check validation.
  • Currently supporting Zebra’s TC51,TC56, and TC70x mobile computers, Inventory AR can be customized and implemented for small-, medium- and large-sized retailers.
  • For more information on the National Retail Federation, please visit: https://nrfbigshow.nrf.com/

Brett Cooper, Founding Partner, BlueFletch

In retail, there are lots of companies waiting for the next new technology to get here. The secret to getting ahead is to get started. Companies that don’t leverage their technology correctly, don’t have an advantage over those without technology.

Richard Makerson, Founding Partner, BlueFletch

We are tremendously excited to showcase our solution at NRF with Zebra, whose enterprise-class devices serve as a great platform for us to solve client problems and meet end-user expectations. Finding labor efficiencies is a top priority of all retailers and to push efficiency through innovation on existing hardware is a win-win for the retailers and retail workers.

 About BlueFletch

BlueFletch is a team of mobile development experts dedicated to solving business problems using mobility. Since 2008 BlueFletch has grown into a widely trusted mobile company in the enterprise space by developing high value line-of-business apps for organizations in Retail, Consumer Goods, and Transportation & Logistics. For more information, please visit BlueFletch.com

Media Contact:

Lauren Lynn
BlueFletch / lauren.lynn@BlueFletch.com
855-529-6349

Ladies Made the Midtown Alliance Member App

By | Ideas For Your Business | No Comments
In early 2017, an all-female project team from BlueFletch was sent out to make the Midtown Alliance mobile application. There was no specific plan to draft a team of only girls, but as the resources fell, so female the team was. I (Kira) did business analysis and project management, Nicole made a delightful design, Alli cranked out the React Native iOS and Android apps, and Wanita QA-ed the finished product until it hurt.
Midtown Alliance, WIT, Women in Tech
Midtown Alliance, WIT, Women in Tech
Midtown Alliance, mobile app dev, women in tech
Midtown Alliance, Women in Tech, WIT

The Midtown Alliance Member App allows MA members who live or work in Midtown to redeem deals at neighborhood businesses.

While there is nothing remarkable about any one of us doing the particular job that we were assigned to do, statistically, it was improbable that we would find ourselves as a group of all girls (At BlueFletch, there is currently a 3.13% chance that a random four-person project team would be all-female). The composition of our team was unique enough to be noticed and positively reflected on by our client, Midtown Alliance.
So what does a lady tech team look like?

Read More

Mobile App Migrations Are Not Only Inevitable, But Are Also Often Business-Critical

By | Ideas For Your Business | No Comments

There is a great deal of hype these days about “digital transformation”. The term can span from simply going paperless to applying digital technologies to refine and optimize business models and workflows. Not surprisingly, the enterprise opportunities associated with digital transformation have attracted a lot of attention, particularly from consulting vendors and service providers. Unfortunately, this attention has led to confusion in the marketplace as to what digital business transformation means, and as a consequence, it has been inconsistently defined and unevenly applied and measures to address it have tended to be unreliable and incomparable. VDC Research has a simple definition for digital transformation: it is the integration of digital technologies and business models to engender organizational change while improving employee productivity, performance and customer engagement and service. A critical component of today’s digital transformation strategies is migrating legacy mobile applications running on aging equipment to take advantage of more sophisticated and functional modern mobile solutions and their intuitive interfaces.

One such example is the ubiquitous ruggedized handheld computer, the de facto hardware used for data collection and processing across a variety of workflows in virtually every industry. These devices are widely deployed in warehouses and distribution centers for inventory and material management applications, courier delivery drivers supporting parcel delivery verification, and beverage distributors supporting digital exchange. Organizations rely on these devices to conduct business critical applications and operations in real time. However, the dominant OS supporting this ecosystem of devices is quickly approaching its end of life, leaving current customers with no clear migration path forward. Put another way, no matter which OS platform an enterprise looks to deploy next to support its business-critical applications, each application will require recoding and rework, as it will not be compatible with modern mobile platforms. Moreover, these legacy devices fall well short of today’s mobile standards across all performance, functionality and usability criteria, ultimately limiting their potential impact on business operations. VDC has tracked these deployments, and estimates that there are 15 to 20 million legacy rugged handheld devices currently deployed supporting various line-of-business (LOB) applications.

Microsoft’s Windows CE and Windows Embedded Handheld 6.5 have long tenure as the OS platforms of choice for the majority of these deployment scenarios. The portfolio of devices and form factors is broad, development tools are mature, and the developer community is sizeable. In addition, with support from Microsoft for the past decade, businesses have been able to effectively manage and maintain their deployments (often longer than expected). But change has been forced on this ecosystem, with Microsoft’s end of life of its prolific Windows platforms looming, and the emergence of a new generation of modern Android-powered purpose-built ruggedized handheld devices not to mention the flood of smartphones being used in various corporate settings.

If your organization maintains ruggedized mobile deployments, there are several important dates that should be marked on your calendars:

  • June 10, 2018 — Windows Embedded CE 6.0 will be End of Life
  • June 9, 2019 —  Windows Embedded 8.1 Handheld will be End of Life
  • January 14, 2020 — Windows Embedded Handheld (WEH) 6.5 will be End of Life

Preparing for Microsoft’s most prolific Windows Embedded Operating Systems End of Life is essential for any organization maintaining these deployments; the devices impacted are often required for day-to-day job-related activities/functions of their users.

Simplifying And Benefiting from App Migration

A recent VDC survey shows that 56% of organizations plan on upgrading their existing fleet of mobile devices because these devices are nearing their end of life and/or the old age of their existing devices. In addition, the motivation to upgrade applications to a more visual and modern user interface was cited by one in four respondents as a critical factor influencing their upgrade decision. This is notable, as many ruggedized mobile deployments in use today are text-oriented and keyboard-centric solutions. Our data also showed that when evaluating next-generation mobile platforms, security, lifecycle support, and ensuring business continuity were most frequently cited as key requirements.

Legacy Migration Read More

BlueFletch and Community Outreach

By | Ideas For Your Business | No Comments

The democratization of technology means that technology is becoming accessible to the masses. According to the Pew Research Center, roughly 77% of all Americans own a smart phone. Each of these smart phones can easily out compute NASA’s Apollo Guidance Computer, the machine that put humans on the moon. Apollo 11’s on board computer had only 3.8KB of RAM. For comparison, an iPhone 7 Plus sports 3GB of RAM. That’s 3 trillion bytes versus 3000 bytes. The difference is vast.

More powerful technologies are available to more members of the public. Access to technology is becoming more widespread. But what about education and exposure to technology in schools? Some students can learn about computer science and get involved with technology in high school. For some students, their exposure to technology is limited. In 2013, there were 11 states that had 0 black participants. That same year, 3 states had no female students take the exam. There is still a disparity between the availability of computing resources. Here are some organizations that are attempting to bridge the gap:

Black and College Bound & GitHub Scholars

GitHubPictured: BlueFletch and Black and College Bound in the office

Coordinators
Deana Ervin, Phd, MBA
Angela Holcomb, LCSW

About the organization and BlueFletch’s Involvement

Black and College Bound is focused on providing preparation, guidance, and support to students of color throughout the college admission process. Black and College Bound provides a cavalcade of resources to help students secure their futures at higher learning institutions. These resources range from standardized test prep; financial aid and literacy; college fairs and tours; and finally, academic preparedness.

This past summer, Black and College Bound partnered with GitHub to form the GitHub Scholars Program. Students had opportunities to learn technology and interpersonal skills. All of the students formed teams and synthesized these skills to order to create business plans for social impact projects.

BlueFletch was excited to host these students in our office. We are enthusiastic about sharing our love for technology. Representation in tech matters. For a group of students of color, seeing people that look like them in tech re-affirms the notion that a career in tech is not only accessible but attainable.

GitHub Scholars

Pictured: Girl Scouts of East Atlanta alongside Angels N Tech at the Lenox Square Microsoft Store

Angels N Tech

Coordinators
Angela Chambliss, MS, PMP
Tarenia Carthan, BS

About the organization and BlueFletch’s Involvement

Angels N Tech is an organization dedicated to stimulating interest in STEAM (Science Technology Engineering Arts and Mathematics) amongst girls and young women. Angels N Tech strives to promote these fields through a series of hand-ons events. Thus far, Angels N Tech has hosted workshops and hackathons in the Atlanta area.

Angels N Tech recently partnered with the Girl Scouts of East Atlanta to hold the More than Cookies HackAThon. The troop was separated into two groups that tackled social issues involving mental health and implicit stereotyping. The hackathon was hosted by Microsoft at the Lenox Square location. The day was split into two pars. In part one, the teams focused on using the design thinking methodology to ideate and plan their ideas. In part two, the teams implemented their solutions.

Again, representation matters! The troop was able to work alongside their mentors. These women represented professionals in various fields like public health, psychology, engineering, computer science, and data science. The scouts felt passionate and empowered to solve problems that were important to them with the aid of technology. It is refreshing to represent as a developer at BlueFletch and tell these girls: “I am a black woman in technology. You can be too”.

Education for underrepresented groups in STEM and STEAM is far from perfect. Organizations and initiatives like the aforementioned help target groups that are typically left out of the tech conversation. That is true power of technology democratization: making opportunities available for all with the aid of technology.

Take aways from a Friday Code Review

By | Android, Ideas For Your Business, Mobile Development | No Comments

Do you do code reviews? If so, why? What do you benefit from your code reviews?

Most companies do code reviews to prevent future program errors, but in my opinion a major benefit of code reviews is to ensure the code is maintainable, that others can read and follow the code.

If you have not read the book Clean Code by Bob Martin, I highly recommend it, as it will give you techniques for writing maintainable code.

code reveiwCode Review Fridays

Here at BlueFletch we have a standing weekly code review meeting.  The engineers meet as a group and review some portion of code from a current project.  This meeting does not replace individual project code reviews, but is meant to benefit everyone in the company not working on the project.

Some of the benefits are:

1. See what others in the company are working on
2. Get insight into different technologies
3. Get help with a tricky piece of code
4. Ideas on doing a project differently

During our code reviews we look for the following items:

1. Readability — is the code easy to read / follow
2. Maintainability — can our customers easily maintain it
3. Usability — are the classes easy to use, are they overly complicated?
4. Does the code make sense?

Additional items we look for can be found here

A Recent Review

On a recent Friday we reviewed a couple of Android projects we inherited from other companies. As per our practice, we reviewed the code from the aspect of clean code and best practices, discussing how we would make the code maintainable and easier to read.

During the review four major issues jumped out:

1. Pyramid of doom
2. Project organization
3. Code Reuse
4. Hardcode Strings

code reviewPyramid of doom (or Callback Hell)

Every engineer has run into this, regardless of the language or platform, you have a function that has many, many levels of indention. This could a HUGE if statement with many conditions or a series of callbacks within callbacks. The deeper the code, the harder it is to follow and maintain.

Example:


if ( conditionA) {
    if ( conditionB ) {
        if ( conditionC ) {
            block of code doing something 1
         } else {
            if ( conditionD ) {
                block of code doing something 2
            } else {
                block of code doing something 3
            }
        }
    } else {
       if ( conditionE ) {
            block of code doing something 4
       } else {
            block of code doing something 5
       }
    }
}

 

Tip: If you find yourself coding such a monstrosity, STOP! Refactor the code. Start with the inner code and place the code into separate methods. Yes, you end up with more methods, but the code will be more readable, and with smaller methods you get code that is easier to write unit tests.

A possible rewrite (one of many ways, but easier to write unit tests):

..
 if ( conditionA) {
    methodConditionA()
 }
..

methodConditionA() {
   if ( conditionB ) {
       methodCondtionB()
   } else {
       methodCondtionE()
   }
}
methodCondtionB() {
    if ( conditionC ) {
       methodHandlerProcssingLogic1 ()
    } else {
       methodCondtionD()
    }
}
methodCondtionD() {
    if ( conditionD ) {
        methodHandlerProcssingLogic2()
    } else {
        methodHandlerProcssingLogic3()
    }
}
methodCondtionE() {
    if ( conditionE ) {
        methodHandlerProcssingLogic4()
    } else {
        methodHandlerProcssingLogic5()
    }
}
methodHandlerProcssingLogic1() {
    block of code doing something 1
}
methodHandlerProcssingLogic2() {
    block of code doing something 2
}
methodHandlerProcssingLogic3() {
    block of code doing something 3
}
methodHandleProcssingLogic4() {
    block of code doing something 4
}
methodHandlerProcssingLogic5() {
    block of code doing something 5
}


 

Project organization

Within one of the projects we reviewed, there were 67 fragments, all within one package. For non-Java programmers, imagine 67 code files within one folder, with the files having similar names.

There were 11 fragments referring to devices; 4 related to signing in; various fragments for product registration, and 2 About fragments.

How are these 67 fragments related? Which ones need to be looked at when enhancing a feature of the application? Where do we start?

Tip: How you organize your code can help those that follow. If you make it easier to identify features and/or the process flow, then those that follow will be able to understand your project.

If the engineer building the project had separated the fragments out by features or relating the code in some manner, then working with the project would be easier.

Some suggestions for organization include placing all the “User” related (sign in, forgot password, account creation) into one package.   Place settings related fragments into another package.  Place device related fragments into another package.

Get the idea? Organize the project by context.

Code Reuse

Within one of the projects we reviewed the code utilized simple REST API calls to gather data. A simple pattern of URL creation with HttpUrlConnection classes and code to handle the result.

After some research we noticed the same endpoint was used in multiple places. Then we found the same exact code pattern, almost line for line, in 15 other places.  The code had been copied from place to place, with minor changes to suit the need.

And there was a bug within the code that required a major change within each piece of code. Yuck!

Another project we reviewed had a common error message display, but the display code was copied into each Activity (25 code files). Imagine if they decided to change the look/feel of the error display, 25 code files would have to be updated and tested. Dooh!

Yes, as software developers we need to get things done fast, but the consequences of copying code from one part of the project to another will cause you headaches down the road. As no code is perfect, at some point it will need to be fixed or enhanced, how many places do you want to make changes?

Tip: if you find yourself copying a block of code from one part of the project to another, almost line for line, then build a reusable code object, either a new method, a new base class, something common. This will reduce the amount of code to maintain, and if a bug does arise, you have one location to fix it.

Hardcode Strings

Imagine opening a code file for the main activity of a project and having to scroll through 1,300 lines of hardcoded string literals? Yes, we had to do that during our code review.

We as engineers get lazy, we need to add a new UI label or a new error message, instead of doing it correctly we put the text directly in code. It never fails, later the project needs to be localized and now you have to pull all the strings out to a string resource file. How time consuming! How much time does it take to add the initial string to the resource file, less than a minute?

Tip: Take the time up front, do it right, and for the sanity of the engineer that follows you into the code base, do not hard code 1,300 lines of string literals into the main activity.

Conclusion

As software developers/engineers, we should take pride in our code. We should build our code to be readable, maintainable, and testable. Doing code reviews either as a group or individually will help you and others to learn and improve code.

And please: organize your code, write reusable modules, do not hard code strings, and break down your large unruly code blocks into smaller methods.

BlueFletch Honored with Floor & Decor’s IT Vendor of the Year Award

By | Ideas For Your Business | No Comments

Atlanta, GA – July 14, 2017   BlueFletch is proud to announce it is the recipient of Floor & Decor’s annual IT Vendor of the Year Award, in recognition of BlueFletch’s commitment to excellence and dedication to providing leading enterprise mobility solutions. Floor & Decor, a specialty retailer of hard surface flooring, uses BlueFletch’s solutions to improve efficiencies for employees to streamline store processes.

“The team from BlueFletch has been an integral part of our mobile initiatives. They have worked side-by-side with our internal teams to help us keep up with the pace of growth over the last few years” said John Adamson, Chief Information Officer, Floor & Decor.

“It has been our pleasure to work with Floor & Decor’s exceptional team. Together we have tackled some of the more complex challenges facing retailer today.  It’s awesome to work with them on some of the technological demands of the retail landscape” said Brett Cooper, Partner at BlueFletch. “We are honored to be named IT Vendor of the Year and look forward to continuing to help in the future.”

Floor & Decor gives its IT Vendor of the Year Award to the company it believes demonstrates exceptional performance and dependability on a consistent basis. BlueFletch has been assisting Floor and Decor with its mobile initiatives since 2012.

About BlueFletch
BlueFletch is team of mobile development experts dedicated to helping our enterprise clients solve business problems using mobility. Since 2008 BlueFletch has grown into a widely trusted mobile company in the enterprise space by developing high value line-of-business apps for companies in Retail, Consumer Goods, Healthcare, and Transportation & Logistics. For more information, please visit www.bluefletch.com

iOS 11 Features for the Enterprise

By | Ideas For Your Business | No Comments

WWDC has wrapped up and so now it is up to us in the world of iOS to make sense of all these newly unveiled features. Now, being a developer who is often working in the enterprise realm, I tend to look at many of these features from a slightly different angle. When people hear about ARKit adding augmented reality to iOS, they probably think about the implications for games like Pokémon GO and interior decorating apps that allow you to see a fake end table super imposed next to their couch. My first thoughts are about it’s possible use in retail and warehousing to help highlight objects of interest or present additional information for the user. With this post, I’ll be going over some of the new features and SDKs in iOS 11, and how they relate to the enterprise and working world.

ARKit, iOS11ARKit – Previously developers had to do all of this by hand, and truth be told, it’s not easy. Super imposing into an image isn’t very difficult, but however, super imposing graphics in a 3-dimensional space with depth, that is also moving, is extremely difficult. ARKit does the heavy lifting for developers by locating features and planes, and it allows you to create 2d or 3d objects via SceneKit or SpriteKit to super impose onto these features and planes. As stated earlier AR can be useful to locating and highlighting items, but when combined with some other technologies it can be so much more. For example, when paired with iOS 11’s Machine Learning and Vision frameworks, mechanic might be able to have their device see an unknown engine part, detect what part it is, and then super impose the documentation for that part on half of their screen. Obviously, this technology on a phone or tablet has some limitations, but as smart glasses become more mature they will be a fantastic candidate for augmented reality in the enterprise. Read More