iOS 11 Features for the Enterprise

By | Development, Enterprise Mobility

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

Swiftly Exploring the Traveling Salesman Problem With Genetic Algorithms

By | Ideas For Your Business

Hello everybody! Today we are hear to talk a little about the power of genetic algorithms.

Traveling Salesman Problem

Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?”

The traveling salesman problem is an NP-hard problem that does not have a general solution, meaning that in order to find the correct answer you would have to calculate each possible route. Let’s say for example you have just 3 cities, city1, city2, and city3. Let’s assume you are starting in city1. You would have to test the routes.

  • city1->city2->city3->city1
  • city1->city3->city2->city1

That’s not too bad, so let’s add 2 more cities, city4 and city5. Let’s list of the routes.

  • city1->city2->city3->city4->city5->city1
  • city1->city3->city2->city4->city5->city1
  • city1->city4->city3->city2->city5->city1
  • city1->city5->city2->city4->city2->city1
  • city1->city4->city2->city4->city5->city1
  • city1->city4->city2->city4->city5->city1

In the interest of time we are going to stop at 6. If we were to list all possible routes there would be 24. Why would it increase at such a fast rate? This is due to the fact that the number of possible paths is (n-1)! where n is the number of cities. Therefore we can calculate the number of routes as (5-1)!, or 4*3*2*1. So if we were to add in another city, city 6, we would have (6-1)! routes, which is 96. By the time we get to 11 cities, the number grows to 3,628,800. Calculating the distance on all those routes to find the best one is incredibly costly, so we are going to have to find another approach. Read More

Feeding Henry

By | Development

Background

The loss of Parse is a great loss to many mobile developers. Their service allowed mobile developers with little web dev knowledge to leverage a powerful backend that was very easy to integrate into almost any client imaginable. When I first began as a web developer this tool allowed me to deliver full stack apps in a very short amount of time. While I can now build out the back end myself, I will miss that speed, especially when it comes to quick proof of concept projects. I decided to look for an alternative for future PoC work and for porting over any existing applications. One of my first thoughts was to just switch over to Stackmob, but it turns out they were shut down after Paypal purchased them. I see a trend here, two Mobile Backend as A Service companies get purchased by larger companies then shortly thereafter get taken down. Given these experiences I am going to be using an MBAAS that has these two criteria:

  1. Self Hosted Option – While I do appreciate Parse opening up the option to run their APIs on a private server, I would prefer to have that option while retaining the ability to keep it in the cloud as well. That way if they are up, I can use the cloud and if they close up shop, I can just move it to my own server.
  2. Part of Company’s Business Model – It’s seems like after Parse got picked up by Facebook that they did not have goals of adding Parse’s services to the Facebook business model. They, perhaps, instead wanted Parse for it’s tech and talent. I feel that using an MBAAS which is part of it’s owner’s business model is a healthy indicator of long term support for the product.

Read More

Developer’s Guide To The Enterprise: Mobile App Support at the End of The Universe

By | Development, Enterprise Mobility

Mobile enterprise has climbed the summit, literally and figuratively, and can now be found in your local retail store, school or ski resort. I have personally been to Copper Mountain several times, and it is easily my favorite ski resort in the Summit County area. So when I recently stumbled upon an article about how Copper Mountain utilized rugged to empower staff, I was very interested. I was most impressed by the challenges the developers had to face for this mobile deployment: extreme temperatures, extreme elevation, rugged terrain and a sheer volume of 10,000 scans per day. In the world of software development, releasing is only half of the journey, and supporting apps in the enterprise realm presents its own unique challenges and opportunities.

Today we are going to discuss how you can make supporting enterprise applications as a developer less frustrating and more productive.

The Humble Crash Log

As any developer knows, a crash log and its accompanying stack trace are one of your best allies. Reviews, user comments, etc are nice, but they are not always very informative sources. A crash, however, gives it to you straight. While crashes can be frustrating when they show up unannounced—especially from an app in production—the crash log’s honesty is what sets it apart from the aforementioned less empirical sources. Being able to log into iTunes Connect, Google Play Store or The Windows Store and fetch these logs is crucial to tracking down and fixing bugs for apps that are deployed to their respective store. However, in the enterprise world, most apps are not deployed to the store which removes the easy access to the crash information that developers need.

 

itunesconnectgraph

iTunes Connect even provides fancy graphs on your crashes.

Read More