Entries (RSS)  |  Comments (RSS)

Free Your Data from Cardmunch

I loathe business cards.

I meet many people at work and at technical conferences but the worst part is that every time someone hands me a business card I have this piece of paper that will eventually live at the bottom of my bag with the rest of my junk, never to be seen again.

I print my own business cards as well ( or make work print them ), adding to this problem. Who knows what people do with my cards? Maybe they are too destined for the bottom of a dirty bag or briefcase. In any event, this whole business card madness has got stop.

Many years ago someone invented QR codes. I’m told they were initially designed to track automobiles in manufacturing, but they’re everywhere now. While they might be a way to link the real world to the online world they are rarely on business cards. They’re ugly and they frequently do not contain all relevant contact data. Worse yet, nearly every mobile phone reader will put data from the QR code into different fields in the phone’s address book, if they’re able to be read at all.

A startup known as CardMunch had a novel solution to this problem – Take a photo of the card, ship that photo to some rat-trap, manual, human data entry hole in a foreign country and then send you back a fully populated iPhone address book entry. Sounds awesome, right? Aside from the privacy concerns with shipping your data off, that is. Cardmunch used to allow the export of scanned data to the iPhone address book and a download option allowed you to have your contacts as a CSV.

Right on! Problem Solved!

Well, no. Along comes LinkedIn. They buy Cardmunch back in Janurary 2011, which should make everyone happy, because now you can take the LinkedIn data and merge it with the business cards you’ve just scanned. “Excellent! Sign me up!”, says the business guy, or musician, or someone who values relationships. Finally this business card bullshit is mostly over and you’ve got extremely detailed meta data on your new friends.

Cardmuch used to charge for this service by the business card, but that option is now gone as LinkedIn decided to make the service free with a ridiculous caveat — Once your data is in the cardmunch DB, it’s not coming out. They shut down the Cardmunch website and the associated data exfiltration tool. They removed the “mass add” which allowed addition of all of the contacts back into your address book and forced you back into the application to see your contacts. The only way to move a pile of contacts from their app to the iphone app is one-by-one, or, by adding them one-by-one to linked in and using their site.

The scanned contacts don’t show up in the main Linkedin site unless you’ve made a connection to the person on the card, so the standard way of exporting data isn’t going to work here.

Let’s get our data back.

Step 1. Jailbreak your iPhone ( I know, this sucks, but I bet you’ve already done this. )

Step 2. Install OpenSSH from Cydia to the phone

Step 3. Install sqllite3 from Cydia (optional)

Step 4. SSH into your iphone.

Step 5. Get the data

CardMunch’s UUID for the new version of the iPhone app is 85882CAE-2582-407E-84E0-7188F7447B75

The software stores everything locally into a sqllite3 database (like most iPhone Apps) for local usage. Your data is most likely in:

/private/var/mobile/Applications/85882CAE-2582-407E-84E0-7188F7447B75/Library/CardMunch.sqlite

Step 6: SCP this file to your local macintosh, or wherever you’ve got a copy of sqlite3 handy

Step 7: Explore the data

Startup sqllite3 and open up the DB with “sqlite3 Cardmunch.sqlite”

There’s a few tables, but only one that we’re really interested in:


SQLite version 3.7.7
Enter ".help" for instructions
sqlite> .tables
ZACCEPTEDCONTACT  ZUNMATCHEDDATA    Z_METADATA        Z_PRIMARYKEY
sqlite>

ZACCEPTEDCONTACT are the contacts which Cardmunch has scanned and accepted. It’s where your data lives.

To get the schema for this data, you can do .schema ZACCEPTEDCONTACT. Once we have our schema, we can write basic SQL to extract the data we need. The schema is fairly complex, but there are basic fields you can use depending on the detail you’d like from each record. Note that some of these fields are marshalled NSObjects which will require further decoding.

Let’s get a basic person list:


sqlite> select ZFIRSTNAME, ZLASTNAME, ZCOMPANYNAME from ZACCEPTEDCONTACT;

John|Smith|Systems, Inc.
Bob|Dobbs|Systems, Inc.
... etc ...

It’s easy from here. Enjoy!

This entry was posted on Saturday, March 3rd, 2012 at 5:32 pm and is filed under iphone, social networking, software engineering. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

  • http://www.jwz.org/ Jamie Zawinski

    You probably don’t need to jailbreak your iPhone — if you are backing up your phone to your Mac instead of backing it up to iCloud, the database file will be in ~/Library/Application Support/MobileSync/Backup/*/ somewhere.  

    File names are SHA1 encodings of the DB name on the phone, e.g., the SMS DB is called “3d0d7e5fb2ce288813306e4d4636395e047a3d28″ which is:perl -le ‘use Digest::SHA1; print Digest::SHA1::sha1_hex(“HomeDomain-Library/SMS/sms.db”)’Other DB names are:HomeDomain-Library/CallHistory/call_history.db
    HomeDomain-Library/AddressBook/AddressBook.sqlitedb
    HomeDomain-Library/AddressBook/AddressBookImages.sqlitedb
    HomeDomain-Library/Notes/notes.db
    HomeDomain-Library/Voicemail/voicemail.db
    HomeDomain-Library/Calendar/Calendar.sqlitedbSo you can probably guess it from that, or just find the file by brute force.

  • Booga

    In the future try a scanner from neat.com. They don’t have a mobile app and they haven’t gone cloud (yet, they would be stupid not to) but the OCR engine is pretty good with business cards.

  • Fabhawk
  • http://twitter.com/netik John Adams

    @4f6de6b7e987fa6df359be1a820295ec:disqus  – Thanks. That link wasn’t available from the main site, but it’s great to have it. 

  • http://twitter.com/nynymike Mike Schwartz

    Because I don’t have one of those business cards you assert you occassionally print, I can’t figure out how to call you. Can you call me at five-one-two 516-2413 ? 

  • http://www.brainbackup.net Greg G.

    haha oooops

  • Ejohnson12322

    That link changed my life.

  • Don Ashlock

    My CardMunch app is corrupted and malfunctioning. But I don’t want to loose my pics of the business cards in a install. Any idea of suggestions?

blog comments powered by Disqus