LinkedIn Intro: Doing the Impossible on iOS [UPDATED 11/1]

Martin Kleppmann
10 min readintermediate
--
View Original

Overview

The article discusses the development of LinkedIn Intro, a product that integrates LinkedIn profiles into the iPhone mail client, overcoming significant technical challenges. It details the innovative approaches taken to extend functionality in a platform where such modifications were previously considered impossible.

What You'll Learn

1

How to extend the functionality of existing applications using proxy servers

2

Why using CSS for interactivity in emails can enhance user experience

3

How to implement dynamic content in email messages using iframes

Key Questions Answered

How does LinkedIn Intro integrate with the iPhone mail client?
LinkedIn Intro integrates with the iPhone mail client by using a proxy server that modifies email messages to include LinkedIn profile information. This is achieved without altering the mail app itself, allowing users to view profiles directly within their emails.
What challenges did LinkedIn face when developing Intro?
LinkedIn faced several challenges, including the inability to extend the iOS Mail app directly. They overcame this by using a proxy server to insert LinkedIn information into email messages and by utilizing CSS for interactive elements within emails.
What security measures are in place for LinkedIn Intro?
LinkedIn Intro employs several security measures, including the encryption of all communications between the mail app and LinkedIn servers, as well as between LinkedIn servers and email providers. User credentials are stored securely on the device and not on LinkedIn's servers.
How does LinkedIn Intro maintain dynamic content in emails?
LinkedIn Intro maintains dynamic content in emails by using an embedded iframe that refreshes each time the email is opened. This allows it to display up-to-date connection status without modifying the original email content.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Protocol
Imap
Used for communication between the proxy server and email providers.
Backend
Ruby
The proxy server is written in Ruby using EventMachine for handling concurrent connections.

Key Actionable Insights

1
Consider using proxy servers to enhance existing applications without direct modifications.
This approach can be particularly useful in environments where direct API access is limited or non-existent, allowing for innovative solutions to be implemented.
2
Leverage CSS capabilities in email design to create interactive elements.
Using CSS for interactivity can significantly improve user engagement in emails, especially on mobile devices where traditional JavaScript is not supported.
3
Implement dynamic content updates in emails using iframes for real-time information.
This technique can be applied in various email applications to ensure that users receive the most current information without needing to refresh or reload the entire email.

Common Pitfalls

1
Assuming that email content cannot be modified once downloaded by an IMAP client.
This misconception can lead to missed opportunities for dynamic content updates. Understanding how to use iframes can help developers implement real-time updates effectively.

Related Concepts

Email Integration Techniques
Proxy Server Architecture
CSS For Email Design
Dynamic Content Management