Monthly Archives

September 2018

Enterprise UX Gone Wrong

By Design, Leadership, OrganizationsNo Comments

There are many things that can go wrong when building a web-based platform or application, but the most tragic of offenses comes from a poor UX plan stemming from the very beginning of the development process. A great UX process, accompanied by a team of highly qualified individuals will make a world of difference, from your wallet to the face of the product. The following are symptoms of a poor UX process and how it impacts your product.


Your Bottomline Is Suffering

You may not be sinking, but you’re losing money. Perhaps you aren’t hitting your quarterly goals or are starting to see negative trends. It may be a surprise, but design can help solve this problem.

Strategy and Discovery

There is a good chance your business is heading downhill because of poor planning. As in a lot of things, business needs planning, not just financially, but with all that you do. The design is not an exception. The first step to a great User Experience (UX) is to review and understand your business requirements. You could potentially be focusing on one or more of the following business strategic priorities:

  • Reduce costs
  • Increase revenue
  • Increase new business
  • Increase existing business

Having the team and stakeholders on the same page as to what the goals of the company are can pave a clear path for the design and development team for the next steps. No more asking “why are we doing this?”. With business and user requirements determined and explained up front, everyone will know why each aspect of the product is the way it is and more importantly, how to better accomplish the goals of the product. Additionally, planning in advance allows for you and your team to be more knowledgeable and make informed decisions about your product resulting in higher user engagement.


Business Strategy is the foundation of the UX process, without this,
you can expect your product to come crashing down.


Late Deliveries and ‘Never-ending’ features

Your project is behind schedule, priorities change on a whim, features never seem to get pushed.


Defining Scope

Why is this happening? Simple: Your project scope is out of whack. Either you never defined the project scope with the team, or your scope is starting to go off the designated path, leading to unfinished, late work. Scope definition benefits the team and product in many ways. It allows everyone to be on the same page about what can be done in a specific time frame and how it will be done. It is best to know your user and business requirements before trying to define your project scope. Once you know your goals you can begin to prioritize the next steps based on the requirements set in place, Prioritizing can be, and in many cases is, the leading problem in most production. A lack of prioritization is largely caused by stakeholder disputes which in turn cause uncertainty among the team and ultimately leads to nothing ever getting completed in a timely fashion, if at all. Stakeholders will be able to see, with abundant transparency, the project timeline, and feature prioritization. This also saves the development team from stakeholders who want to start changing and adapting the project scope mid-project. Defining the scope allows you to build products that are useful for your users and meets their needs.


Your project scope should not be defined by opinions and ideas, but rather on the user and business needs and requirements.


Engagement is down

You’re losing users, they aren’t spending much time using the site or app, customer purchases are low, or you can’t get users to onboard. Users don’t seem to be catching on to your product, so what gives?

Structure and Ideation

Users like pretty, fun, unique things, but they also like what they know. They don’t want to think, guess, or wonder while they’re using your product. In order to successfully build a product that users will not only enjoy using but keep coming back to, you need to know what your users want out of your product. Engagement is 100% related to your business and user requirements. If you have not written out and made it clear what your purpose as a business is, as well as what your users need from your product, you cannot successfully build a product that is created for your users. Understanding what your customers need and want is key to providing a service or product that meets those needs.


For example, imagine a user has just ordered an item from your website and wants to know about your return policy, but can’t find any information regarding this on the purchase confirmation page, they will have to start searching the site to see if they can find the information they need. Not giving the user the information they need when and where they want it or expect it can lead to frustration and an overall bad experience. Users will have a better experience when they have to think less, and know more.


Your users are the core of your product. Understanding how they think and why they use your product will help you build the right structure.


Massive Project overhauls

You’ve had re-designs, feature recall, structure changes, the list goes on. You thought you got it right from the start, but things keep needing to be adapted, changed or removed altogether.


Skeleton and Prototyping Phase

Lots of changes and modifications to a site either prior to or shortly after launch can most usually be linked back to the failure to draw out, wireframe, and iterate on the initial design layout. This step is crucial to the future of the product as it allows you to identify holes in the plan, points of user error, and feature issues. By foregoing this creative and iterative process you go straight from a features list to finalized design without much thought in-between. Iteration is crucial to the success of a design, but not less or more important than asking the right questions and listening to your users. A major player in project overhauls is a team’s inability to read user data correctly, interpreting what the data says to meet their needs or opinions. Cross-vertical collaboration needs to occur when discussing user input to make sure discussions involving technical capabilities, financial constraints, and design aspects are considered when solving issues or implementing new features. A product’s ease-of-use is directly related to your team’s ability to collaborate, understand user data, and adapt and iterate when given new information.


Iterative design produces the best result. Your first is never your best.


Brand Experience isn’t right

The colors are off, the logo is confusing, the imagery is tacky, it looks dated. Maybe your site looks nice but isn’t a good representation of your brand. Whatever it is, you know it’s got to change.

Surface and design

Your product’s look and feel isn’t matching the look and feel you had in mind or isn’t looking good at all. This is all due to the UI (User Interface) design. The UI is the ‘surface’ of a product and conveys to users the meaning, use, and connotation associated with the business and product itself. The UI covers everything from colors and fonts to animation and transitions. A good UI will take into account who your users are, how they should feel using your product,  and your business’ brand. A common occurrence that can cause the UI to not have the right feel is when the design does not line up with the target market. This can happen for a number of reasons, possibly because you do not know your target market, you are making assumptions about your target market, your team has not spent the time to get to know your target market, or most commonly someone on the team, typically the product manager or a stakeholder views the product as their baby and does not want to listen to any views other than their own even when those views are backed up by data. You can help to avoid these types of mistakes by clearly laying out who this is for and why the choices being made make sense for that groups of persons. The overall feeling about the brand/product should be good or your Brand Experience is NOT good.


You think you’re ‘Done’

It doesn’t matter what your business delivers, you are never Done. Your user’s wants, needs, and goals are ever-changing and you need to adjust to make sure you continue to bring a useful, functional, pleasing product.


Testing and Evaluation

Design is a key aspect of updates and adjustments to your product since using a UX process can help you determine the best options for your business moving forward. Whether it’s interviewing users or doing A/B testing, the most impactful tool you can utilize is testing. Testing your product through various means will give your team insights into the way your users’ think and how they feel when interacting with your product. Through the evaluation process, unknowns are discovered that allow your company to pivot and adapt quickly and more purposefully, providing greater meaning to your product. An issue you can and most likely will run into through testing and attempting to make changes to the product will be a stakeholder coming forward and disagreeing with decisions because they feel the product is better one way than another purely based off their own opinion. This is referred to as Pride of Authorship. They believe since they started the project that they should have it the way they want it, which you could argue is correct and fair, however, this thinking can damage the product, user engagement, leading to a poor team environment and a hurting the bottom line. Keeping stakeholders aware of the core users’ needs and goals and how new feedback benefits the company and product can allow them to see their version may not be the best holistic option.  

“Usability testing shows you if something is usable. Beta testing shows you if people will actually use it.”
Rachel Decker

Using Airbus OneAtlas’s Imagery for Change Detection in the Permian Basin

By GISNo Comments


As oil and gas production continues to ramp up in the Texas Permian Basin, advances in the processing and use of satellite imagery can be leveraged to identify when and where  oil and gas production facilities are changing. Additional details regarding the activities at the identified locations can also be determined through the analysis of satellite images. Change detection techniques for satellite images can provide increased insight into the capacity, functional state, and impact of oil and gas production projects, as well as serve as inputs into predictive models for more accurate output generation.


Develop a basic methodology to automatically determine where oil extraction infrastructure has been altered using SPOT Imagery from AirBus’s new and exciting imagery offering from OneAtlas.

OneAtlas – SPOT Imagery

For the purpose of developing some basic unsupervised change detection models, Bytelion made use of the OneAtlas project from Airbus. As part of their OneAtlas Sandbox initiative, Airbus provided both SPOT and Pleiades imagery sets for two coverage areas: The Permian Basin, TX and Amenas, Algeria. For the purposes of this initiative, we focused on using the SPOT Imagery. The following SPOT Image sets were provided:

  • (Permian Basin – Odessa, TX – 2013)
  • (Permian Basin – Odessa, TX – 2015)
  • (Amenas, Algeria – 2015)
  • (Amenas, Algeria – 2016)

Multiple image files are included within each zip archive. As the data is high resolution and rich, the zip archives that we used were up to 10-15GB in size.


Unpacking the SPOT Imagery

To begin developing change detection capabilities, we first needed to unzip the imagery packages and load the images into a GIS software application. All images within each of the zip archives are orthorectified and include three spectral bands (red, green, blue) at 8 bit resolution.

Each of the SPOT imagery datasets consists of a nested directory structure which contains multiple files. Within the directory tree are multiple files and levels which include spectral masks, metadata files, processing descriptions, image files, and projection files. The primary image file is in JPEG2000 format located at the IMG_<Product_ID> Level.    


Unsupervised Change Detection Methodology

QGIS Desktop, an open-source GIS Software Package, was used to perform a change detection analysis using the SPOT imagery for the Permian Basin area. The 2 SPOT Images were brought into a QGIS project in order to perform a visual comparison. By overlaying the latest imagery on top of the previous imagery, a visual scan and comparison effort identified areas of change which could be used to validate the automated methodology.

The above image depicts an area where the imagery has changed between 2013 and 2015.

As the extent of the SPOT images is extremely large, only a subset of the imagery was needed to perform the initial proof of concept analysis. Using the QGIS “Clip raster by extent” tool, a smaller image was clipped from each of the source image files. The clipped files were saved as GeoTIFFs and added to the project in QGIS.

Raster arithmetics

Within QGIS, the Raster Calculator can be used to perform a mathematical comparison between the 2 subset images. The following Python code demonstrates the process:

1 – Import Libraries
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from qgis.analysis import *

2 – Set pathnames for raster images
early = “D:/OneAtlas/qgis1/clip2013.tif”
later =”D:/OneAtlas/qgis1/clip2015.tif”
earlyName = “Early”
laterName = “Later”

3 – Set images as raster layers
earlyRaster = QgsRasterLayer(early, earlyName)
laterRaster = QgsRasterLayer(later, laterName)

4 – Build the Raster Calculator Entries
earlyEntry = QgsRasterCalculatorEntry()
laterEntry = QgsRasterCalculatorEntry()
earlyEntry.Raster = earlyRaster
laterEntry.Raster = laterRaster
earlyEntry.bandNumber = 1
laterEntry.bandNumber = 2
earlyEntry.ref = earlyName + “@1”
laterEntry.ref = laterName + “@2”
entries = [laterEntry, earlyEntry]

5 – Generate the expression for the Raster Calculator
exp = “%s – %s” % (laterEntry.ref, earlyEntry.ref)

6 – Set up the output file properties as GeoTIFF
output = “D:/OneAtlas/change_spot.tif”
rasterExtent = earlyRaster.extent()
rasterWidth = earlyRaster.width()
rasterHeight = earlyRaster.height()

7 – Perform the calculation in the Raster Calculator
changeAreas = QgsRasterCalculator(exp, output, “GTiff”, rasterExtent, rasterWidth, rasterHeight, entries)

Once the processing is complete the output GeoTIFF image is added to the project. Rendering the output image as a Singleband Pseudocolor that includes an equal interval classification scheme (In this case 5 intervals that reflect a degree of change) yields a grayscale image where the larger spectral differences are depicted as white, while the areas of no or minor change are depicted in black.

Binary representation of the output change image. White pixels represent areas of more extreme change.

Greyscale rendering of the output change image.

The output change raster image (center) identifies an area of change between the 2013 SPOT image (left) and the 2015 SPOT image (right)


By calculating the spectral differences between the SPOT Images provided by Airbus OneAtlas, a basic change detection raster image is generated that can be used to identify areas of interest where landscape features have changed.  From the output raster, the pixels that depict more extreme change are Areas Of Interest that can be further researched to determine the extent and scope of landscape change.

What is next? 

In the next phase, we might be exploring the identified areas to determine what changed between the images and if any patterns or signatures can be automatically recognized and incorporated into machine learning models.  Alternatively, we are considering how we can tackle all of the oil fields and not just this simple test.  Would love to hear from you if you had some other ideas.  Please let us know!

    Your Name (required)

    Your Email (required)


    Your Message