How We Innovate

From BA3 Mapping Engine Wiki
Jump to: navigation, search

Contents

Our People

The Altus Mapping Platform is a direct reflection of the people at BA3. Our team of engineers and designers are the heart and soul of the Altus Mapping Platform.

Our people are:

  • Fanatical about software development, graphics, design elegance, and usefulness
  • Emotionally invested in what they do
  • Extremely competitive
  • Constantly thinking of how to improve
  • Not big fans of things that serve no purpose
  • Proven, capable, experts at shipping software

These traits are a good description of our team and if you look at the history of our technology you will see that we attack hard problems, we move swiftly, and we care greatly about what we are doing.

This means the Altus Platform is continually gaining new functionality and continually becoming better and more useful. We like to think our business is modeled in a way that allows to think outside the box that most businesses seem stuck in.

Engine Development Process

From a practical standpoint, we approach to releases generally looks like this:

  • We develop new features for a specific customer or customers or features on our road-map on iOS first.
  • We test and then publish an iOS release of the SDK and documents on GitHub.
  • We have 2 very functional reference applications for iOS: Mapp and Altus Demo. Mapp is older and tests many of the more esoteric and low-level features and is being phased out in favor of Altus Demo which is ARC-based.
  • Driven mainly by customer demand we port selected features to Android, Windows 8, and Web. The APIs on these platforms is a bit more refined in some cases. In other cases an esoteric or deprecated feature on iOS is not exposed on Android or Windows 8. We port only that which is needed to OS X to run MapShop. We have had no customer demand for an OS X release, but we are capable of generating one if you need it.
  • The main work for us on these platforms is that we actually custom-build the API for the given language and we have to create platform specific test harnesses. Because we don't have a magical API generator for Java, C#, and Javascript, we have to build the APIs by hand and tune them for the target platform. It takes time. And we generally only do what is necessary.

Flexibility

We strive to be very flexible. For example, we have customers who have specific needs for features. If the direction we are going already aligns with that, we continue moving the ball forward. But we also will integrate customer needs into our work load, and sometimes we will even re-vamp our schedule to focus on a specific requirement for a customer. We can be very flexible. Part of the reason for that flexibility is that having worked in larger software companies in the past with very rigid processes we saw many down-side of not being flexible. So, we try to have as much structure as is needed, but no more.

Distribution

We have several channels for releasing software to customers and the public:

  • Public releases for iOS, Android, and Windows 8 are available in the BA3 GitHub Repository
  • Pre-releases and bug-fix releases are available on our our development server
  • Private releases for our Enterprise customers which can be downloaded with user/password from our servers.
  • Sometimes we will email smaller binaries or hotfixes
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox