TrackAbout Developer Mike Mertsock published the following post on his blog Running | Code. Drawing on his experience developing TrackAbout’s APIs, Mike provides 11 tips for successful collaboration between mobile and API development teams.
API-driven mobile app development requires more than good engineers and the latest technology. Whether your organization is a startup, or an established company expanding into the mobile space, you may be creating the app and API in parallel. The mobile and API teams will need to collaborate effectively in order to launch a successful product. In fact, I would say that communication and teamwork can be more important than the choice of server-side and client-side technologies.
Mobile and API developers can write great code in their respective silos, but if the interaction between the two teams is not top-notch, the interaction of the app and API will reflect that. Teams will end up with divergent understanding of the work. Timelines will get out of sync. Developers will be fighting to get the client and server to work together as anti-patterns and incompatible interfaces emerge. Every new feature will repeat a cycle rehashing the same bugs, fighting the same structures, duplicating slight variations of boilerplate “solutions” to the architecture problems. Friction will rule both the programming work and team dynamics.
You may have heard that Microsoft officially ended support for Windows XP in April 2014. XP is dead (or walking dead, depending on your penchant for zombie analogies). Also important is that Windows XP was the last Microsoft operating system to support Internet Explorer 8 (IE8).
At TrackAbout, we know that businesses only upgrade when they absolutely have to. It can be costly.
We calculate that 28% of our web site users are still running Windows XP and now-unsupported versions of Internet Explorer. TrackAbout has been making a best effort to fix defects reported by our customers who were using IE7 and IE8.
Trying to maintain compatibility with unsupported and old versions of Internet Explorer is expensive and restrictive. Old browsers do not support modern standards and programming techniques. This leaves us having to design for the lowest common denominator, or create hacky workarounds so functionality doesn’t break.
We’d like our customers to know that allowing users to use out-dated browsers carries a security risk. There will be no new security patches for Windows XP, and therefore no new security patches for IE7 or IE8. It should be considered an unsafe platform (or at least a less-safe platform).
We have therefore made the decision to drop official support for IE7 and IE8.
Lockhouse will use a few key attributes of a cylinder (including serial number and other
properties) to uniquely identify assets with a readable code. This code then becomes the Passport Tag™ for that cylinder, which accesses a web-based application containing updatable information about each asset in real time. Manufacturers and owners can add important critical information, and can receive feedback and GPS coordinates of the asset from the operator.
Tim Fusco, TrackAbout’s CEO, likes to call Lockhouse a “virtual neck ring.” Since its inception, the industrial gas industry had used neck rings and other markings on cylinders and other packaged gas containers to indicate ownership. With so many acquisitions among packaged gas suppliers over the years, today neck rings are not always correct or useful. Lockhouse is a Virtual Neck Ring that indicates ownership and links to dynamic critical safety and inspection information as well as any other information that the owner wants to make public.
Recently there was a pull request on SpecEasy, our open-source unit testing framework, for implementing an
IgnoreSpec attribute to allow test methods to be ignored during test runs. This spurred a discussion on whether it was necessary to even provide the ability to skip tests.
TrackAbout is proud to release version 1.0 of SpecEasy, our open-source unit testing framework for the .NET platform. SpecEasy features a simple, fluent language for writing unit tests in the style of behavior-driven development. Though it’s lightweight and has few dependencies, it includes powerful features such as nested contexts, expressive test results, and auto-mocking.
In this post I discuss the path I took to enable TrackAbout to react more quickly to failures in our application’s email delivery. I wrote a service using Node.js which relays email delivery failure events from SendGrid to a HipChat chat room that our support staff monitors. The project is open source and available on GitHub as sendgrid-webhook-server.
TrackAbout is evaluating cross-platform mobile application development frameworks for the next version of our mobile software. There are more than a dozen competing frameworks, with more appearing every week. It’s daunting to place a bet in a marketplace with this much flux.
Recognizing the confusion in the marketplace and choosing to do something about it are the people behind PropertyCross. You can read about their goals on their web site, but the short version is that they’ve published a spec for a modest mobile application and are soliciting developers to implement the spec using as many frameworks as possible. This is an invaluable resource for those trying make sense out of the options.
Source code for all implementations is available on Github as is the specification for the PropertyCross example application.
In February 2013, I downloaded all of the Android implementations published on the PropertyCross site and sideloaded them onto my Verizon Galaxy Nexus. I then used every feature of each app in an effort to get a feel of the differences between the cross-platform mobile application frameworks.
The PropertyCross implementations reviewed (in no particular order) were:
Although our headquarters is near Pittsburgh, our developers all work from home. We’ve been doing the virtual dev team thing since the dawn of the company when two of the founders lived in Chicago and the third lived in Pittsburgh. In 2004, when we decided to hire our first new developer, we hired someone we knew from the Chicago area, and he worked from home too. Still does.
Keeping the developer role a work-from-home position has allowed us to recruit great developers from all over the U.S. It’s worked out well for us.
While there are great benefits to working from home, every now and then it’s nice to engage your fellow teammates in meat-space, or IRL, as the cool kids say.
Hence, TrackAbout DevCon was born.
You may be familiar with Google’s policy that each employee is granted 20% free time to pursue their own interests. Some projects become real Google products like GMail, Google News, Google Talk, and AdSense.
Google has nearly infinite resources, and with thousands of talented developers trying so many things, once in a while one of them is going to be a winner and create a major new revenue stream.
Obviously, TrackAbout does not have infinite resources. But we admire the spirit of Google’s free time policy and would like to emulate it to the degree we can.