Photo from the National Museum of American History
Few Apple apps are as user-hostile as Contacts on the Mac, which was why I was happy to see Flexibits release Cardhop for the Mac as an alternative interface to the Mac’s system-level contact database (see “Cardhop Puts Contacts Front and Center,” 18 October 2017). Cardhop’s innovation is the way it lets you interact with your contacts using a natural language parser. Want to create a new contact with a company name, email address, Twitter handle, and phone number? Just type “Tim Cook Apple [email protected] @tim_cook 408-555-1212.” From then on, you can contact Tim with commands like “email Tim Cook.” (So, Tim, about those butterfly keyboards…)
I’ve enjoyed using Cardhop, particularly once when I needed to enter a lot of names and postal addresses for runners to whom I had to send awards for a race, and again when I went through the envelopes for our Christmas cards to verify and update addresses. In both cases, Cardhop’s natural language parser made it super easy to enter and update contact information, and it even fixed a lot of capitalization and punctuation errors in addresses that I pasted in from email.
![]()
However, in that article, I wrote:
Cardhop developer Flexibits announced today in a blog post that a new update is currently rolling out for Cardhop, bringing it to version 1.1. The update includes new features like smart groups, printing, and more, and will ideally making keeping track of all your contacts — friends, family, business colleagues, or otherwise — more efficient than ever before. Fencus Address Book Plugin. An address book management plugin. Plugin dependencies. This plugin depends on Fencus Google Maps Widgets Plugin. Manage your contacts and display them on the front-end through a single component. Find a demo here. This plugin aims to be an example of the funcionality of Address Finder FormWidget from. Contacts become a useful hub in Cardhop. Photo: Cult of Mac. Tap the address, for instance, to view it on a map or get directions. You can even specify a maps app to use.
Cardhop is a fine app, and a compelling rethinking of how you can interact with contact information, but it still faces an uphill battle for acceptance. The problem is that we’ve all built up habits that will be hard to break. For instance, if I’m going to send someone email, I’ll switch to Mailplane, start a new message, and enter their name. If I want to call someone, I’ll pull out my iPhone, tap the Phone app, tap Favorites or Contacts, and tap the appropriate item in the list. I’m not saying that these techniques are efficient, but they’re what I’ve done for years.
In practice, apart from these few isolated examples, Cardhop didn’t change how I generally interact with contacts. I still think of the app associated with the action I want to take—email, phone, etc.—as the first step, rather than starting from Cardhop. Exacerbating this problem is the fact that many communications channels revolve around conversations, so if I want to text Tonya, I’ll select our ongoing conversation in Messages rather than starting from Cardhop (which would, to be fair, reuse that conversation when it connected to Messages).
Flexibits has now brought Cardhop to iOS, where it’s possible that contact usage follows a different pattern. It’s too early to tell if that will be true for me since I’m still explicitly trying to use Cardhop while testing. Regardless, Cardhop for iOS looks and works very much like its Mac sibling (so go read “Cardhop Puts Contacts Front and Center” for more details; I’ll wait).
If you’ve been frustrated by Apple’s Contacts app on your iPhone or iPad, Cardhop will give you all that app can do and much more, all while working with the same system-level contact database.
Using Cardhop in iOS
Whereas Cardhop on the Mac is a menu bar app that focuses on favorite and recently used contacts, Cardhop for iOS provides four different contact views and a Settings screen, accessed by tapping toolbar icons at the bottom of its main list on the iPhone or the bottom of the left-hand sidebar on the iPad. The contact views are:
Cardhop 1 0 2 – Manage Your Contacts Address Bookmarks
Tapping a contact in any of these screens brings up its contact card (more on that shortly), but you can also tap a quick action button to repeat the last action you took with that contact, or swipe right on a contact to reveal four other quick action buttons, as I’ve done on Tonya’s contact at the top of the Recents list below.
At the bottom of each of these screens is a search field that lets you use Cardhop’s natural language parser for interacting with your contacts. This being iOS, it contains a microphone button you can tap to dictate into the field, making it trivial to say “Tim Cook” to search for a contact or “Email Tim Cook” to invoke an action. (So, Tim, about that whole AirPower debacle…)
When you’re viewing a contact card, note the four quick action buttons at the top; you can choose which appear there in Cardhop > Settings > Quick Actions. Also welcome is a big yellow notes field at the bottom that’s always ready to take text, complete with a single-tap option to add a timestamp. If you do need to make changes, tapping Edit brings up a standard edit view (below right).
Cardhop for iOS supports all the actions in Cardhop for Mac (call, copy, email, facetime, message, skype, tweet, web, map, and show—see “Cardhop Puts Contacts Front and Center”) along with a few new ones (facebook messenger, facetime audio, favorite, telegram, viber, and whatsapp). It’s easy to bring up a full list of all actions and their synonyms at any time by typing a question mark (below left). You can also add buttons for each of these actions to the top of the iOS onscreen keyboard; tap the More button to configure which ones appear and what order (below right).
Notice how my contact card appears at the top of the Contacts list? On an iPhone, wherever you are in Cardhop, rotating the phone to landscape orientation displays your contact information—you pick the fields you want to share in Cardhop > Settings > Business Card—complete with a QR code to the information and a prominent Share button. It’s one of the easiest ways to share a digital business card with someone in person that I’ve seen.
Cardhop 1 0 2 – Manage Your Contacts Address Books
Beyond being able to dictate into the natural language parser, Cardhop boasts an impressive level of integration with Siri Shortcuts. Whenever you’re viewing contact info, either within a contact card or within a result that the parser has revealed, you can press and hold any piece of information to bring up a popover with Copy, Share, and Add to Siri commands. Tap Add to Siri and you can create a Siri Shortcut that calls or texts the number, creates email, copies the address (perhaps you send it to vendors regularly), or whatever.
In Cardhop > Settings > Siri Shortcuts, Cardhop suggests some more general shortcuts you can create. Particularly useful is “Show my business card,” which lets you use Siri to bring up that screen with your contact info. I also like the “Type to Cardhop” Siri Shortcut that brings up the Cardhop search field immediately.
Cardhop Settings and Limitations
Interesting settings abound in Cardhop’s Settings screen. You can choose whether you want to sort lists by first name or last name, display names in various formats, and choose country-specific address formats. A particular nicety is the option to set which Web browser, email app, mapping app, and Twitter app Cardhop should use—since I use Gmail, I appreciate not being dumped into the Mail app like so many other apps do. Also, Cardhop can optionally detect clipboard content when you open the app; it essentially pastes that clipboard into the search field automatically.
For those who prefer a darker look than the screenshots I’ve shown here, Cardhop offers three themes—the Light look I use, a Dark version that reverses all the type out of a black background, and the default version that uses a dark look for lists and a light look for contact cards. Since the human visual system is much more capable of processing dark-on-light, I always avoid dark modes (see “Better than the Printed Page: Reading on an iPad,” 15 March 2018).
Like the recently updated Cardhop for Mac (see “Cardhop 1.2.1,” 30 March 2019), Cardhop for iOS can search for contacts in a variety of online directories, including Google Contacts, G Suite, Microsoft Exchange, and Office 365. I have no sense of how well this works since I don’t use any directory services.
One limitation I have run into is that Cardhop doesn’t interact with Google Hangouts, which I use to communicate with several Android-using friends—it would seem sufficiently popular to include alongside WhatsApp and Viber. Flexibits says they’re looking at adding support for it. The other complaint I’ve seen is that Cardhop makes it easy to call the same number for a contact, but doesn’t make it easy if you regularly have to call a person at different numbers. The workaround is to make separate Siri Shortcuts for each number, but at that point, it’s probably easier to use Siri to dial the number as you would without Cardhop.
Regardless of these minor nits, Cardhop 1.0 for iOS is a worthwhile alternative to Apple’s Contacts app in iOS, and doubly so if you already like using Cardhop on the Mac.
Cardhop for iOS works on both the iPhone and iPad with iOS 12.0 or later. It’s regularly priced at $4.99, although there’s a launch special that drops the price to $3.99 for a limited time.
Google Contacts now provides a CardDAV interface that you can use to view andmanage your contacts using the CardDAV protocol.
Contacts are stored in the user's Google Account; most Google services haveaccess to the contact list. Your client application can use the CardDAV API tocreate new contacts, edit or delete existing contacts, and query for contactsthat match particular criteria.
Specifications
We have not implemented the full specification, however many clients such asApple iOS™ Contacts and Apple Mac™ OSshould interoperate correctly.
For each relevant specification, Google's CardDAV support is as follows:
Google’s CardDAV requires OAuth 2.0
Google’s CardDAV interface requires OAuth 2.0. Refer to the linkeddocumentation below for information on using OAuth 2.0 to access Google APIs:
Connecting to Google's CardDAV server
The CardDAV protocol allows discovery of the address book and contact resourcesURIs. You must not hardcode any URI as they could change at any time.
Client applications must use HTTPS, and
OAuth 2.0 authentication must beprovided for the user's Google account. The CardDAV server will notauthenticate a request unless it arrives over HTTPS with OAuth 2.0authentication of a Google account, and your application is registered onDevConsole. Any attempt to connect over HTTP with Basic authentication or withan email/password that doesn't match a Google account results in an HTTP401 Unauthorized response code.
To use CardDAV, your client program must initially connect to the canonicaldiscovery path by performing an HTTP
PROPFIND on:
Once redirected (
HTTP 301 ) to an Address Book Resource, your client programcan then perform a PROPFIND on it to discover theDAV:current-user-principal , DAV:principal-URL , and addressbook-home-set properties. Your client program can then discover the principal address book byperforming a PROPFIND on the addressbook-home-set and looking for theaddressbook and collection resources. A full description of this processis beyond the scope of this document. Seerfc6352 for more details.
The redirect path returned in the
HTTP 301 response through a PROPFIND onthe well-known URI must not be permanently cached (as per rfc6764). Devices should retry well-known URIdiscovery periodically to verify if the cached path is still up to date andresync if the path ever changes. Google recommends a rate of every 2-4 weeks.
Resources
CardDAV uses REST concepts. Client applications act on resources that aredesignated by their URIs. The current URI structure is specified here to helpdevelopers understand the concepts in the following section. The structure maychange and must not be hardcoded. Rather, the resources should be discoveredaccording to the RFC.
Synchronizing Contacts
The following is a general description of the operations supported. Developersshould look for the details in the relevant RFC. Requests and responses aremostly encoded in XML. These are the main operations used by clientapplications for synchronization:
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |