Our DNA is written in Swift

AutoIngest for Mac

In this weeks Friday Labs session I created a Mac status bar app that I call AutoIngest for Mac. This uses my Objective-C re-implementation of  Apple’s Java-based AutoIngest.java downloader as static library.

Screen Shot 2013-04-19 at 18.07.40

This first version is as functional as I was able to get it. Now I need your help. It is on GitHub, awaiting your input.


My goal for this is to have a convenient status bar utility that automatically downloads all available reports via “The Missing API”. You can select a folder to download the reports into, for example a folder on your Dropbox.

Screen Shot 2013-04-19 at 18.07.33

There are a couple more report types which I cannot test because I don’t have any Opt-In or Newsstand apps. Technically they would be simple to add but I don’t know yet if the download parameters on the downloader are correct.

The most time I spent on the Account tab because I wanted to save the password on the keychain right off the bat.

Screen Shot 2013-04-19 at 18.07.37

A cool side-effect of my efforts was that on Mac you can see the keychain entry with the keychain assistant.

You can see that this is all quite crude for starters, but if you enter the correct settings here the download already nicely works in the background. Because I don’t know any better approach I am changing the status bar menu title during the download, having an animated sync symbol (with an Apple logo in the center?) would be awesome.

I put together a quick laundry list of what items I’d like your help for.

  • provide a status bar icon
  • animate this icon while downloading is occuring
  • change the “Sync Now” menu option to “Stop Sync” during download
  • provide an app icon for the app
  • Add downloading on a timer
  • Add counting of how many items where downloaded per type during a sync session
  • report these via the didFinishNotification and output them in the user notification
  • add UI to configure multiple accounts + Vendor IDs
  • add support for Opt-In and Newsstand reports (I have no reports there so I cannot test them)
  • add option to organize report folder: Vendor_ID/ReportType/ReportSubType/ReportDateType
  • add Sparkle and automatic updating with Developer ID

Additional features really depend on your use case for this. I specifically have one in mind where you can load those synched reports into an iOS app from Dropbox (via my DTReportCore framework) which is why I am leaving the reports zipped. I can unzip them easily with my DTZipArchive class. So if somebody needs this option to save the reports unzipped, I can quickly add that myself.

If you use Dropbox for your storage location then you can even install AutoIngest on multiple Macs. It automatically skips reports you already have and thus Dropbox becomes your Synching-Cloud for reports.

My greater goal is for AutoIngest for Mac to become the de facto standard for convenient downloading of sales reports on Mac. So that you don’t have to rely on third party tools any more and entrust your credentials to people outside your company.

Categories: Projects