Mark and Victor Score One for iOS!


Congratulations to our iOS team, Mark and Victor for winning the Mobile App Challenge!

Click here to view the App page and download for free!

I recommend scrolling through the video and text updates for these past two weeks.  If you have any specific questions about mobile app development or CRM software (remember, we developed for iOS, Android and Windows 7), please shoot an email to or visit our website.



Mark and Victor: Some Finishing Touches



Day 11: The Story So Far


Teams share what they’ve done so far as the two week challenge draws to an end.

From the beginning, the Android, Windows 7 and iOS teams each prioritized particular elements over others, such as UI, design standards or creating a mock database.  Now they must round out their efforts by re-focusing on new areas.  In most cases, the last step is integrating with Inspire’s API.  Victor, Mark, Sung, Chris, Ryan and Ray share their progress in their own words.

As the apps reach completion, we’ll announce it on the blog.  Hopefully we can get a few screen cast demonstrations in too.

Final Recap pending upon Challenge completion!

Screenshots from Mark and Victor’s Progress on iOS

Accounts - Empty

Accounts - Four

Add Account

Accounts - Delete


Windows 7 Demonstration at Build Conference

Ryan and Matt of the Windows 7 team were asked to come talk about their work on the Windows 7 app for Inspire.  Using an emulator, Ryan walks through the main functions and discusses necessary features for the minimum viable product.

This is a great way to check out their progress.  Watch it here:


Windows Phone 7 Background File Transfer

Mobile applications by their nature need to be able to work disconnected from their central data source. If you force users to always have an internet connection to use your app, you’re doing it wrong. For Inspire this is especially true since our users do amazing things like help victims after earthquakes or clean up the mess hurricanes leave behind, and they can’t rely on the internet always being there.

The downside to working offline, is downloading all of a users information to their device can take a long time. There are many strategies to deal with this issue, and the one we chose to implement is supported natively on the Windows Mobile platform – Background File Transfer. Basically it’s an API for you to make asynchronous HTTP(S) GET and POST requests.

We’re using it to asynchronously fetch our users contact information, groups, tags, etc. This can be a lot of data but since we’re backgrounding the download, we can allow users to interact with their contacts, meanwhile updating information from the server in the background.

Microsoft has a helpful “getting started” article that we followed when initially spiking on this. It’ll give you the gist of what it takes to interact with the API.

The article can get a little complicated because it’s trying to do too much. To clear that up a bit you really only need to focus on the code that does this:

// This happens to be a .json file
string transferFileName = "";
Uri transferUri = new Uri(Uri.EscapeUriString(transferFileName), UriKind.RelativeOrAbsolute);
BackgroundTransferRequest request = new BackgroundTransferRequest(transferUri);
request.Method = "GET";

// Decide where you'll download the file to
string downloadFile = transferFileName.Substring(transferFileName.LastIndexOf("/") + 1);
Uri downloadUri = new Uri("shared/transfers/" + downloadFile, UriKind.RelativeOrAbsolute);
request.DownloadLocation = downloadUri;

// set preferences about when the transfer should perform the transfer
request.TransferPreferences = TransferPreferences.AllowCellularAndBattery;

     // This queues your background request.
} catch(Exception e) {
     // This could fail so you'll want to handle exceptions

After that you’ll have a request waiting to be processed.

Day 3: Windows 7 and Inspire API

Last Thursday, Zach Dennis and the Windows 7 team stayed late.  Here’s a short video from the evening.



As an aside, it’s good to see that one of our goals, working with new partners, is already a success.

These teams have paired people I’ve never seen together before.  It’s refreshing to see how different dynamics can achieve different goals within a company.  And since unlikely partners don’t have the same deeply engrained practices and expectations of each other, it’s easier for individual team members to shake their own habits.  New project + new partners sometimes means a lot more room to grow.