IMessage

iMessage is an instant messaging service developed by Apple Inc. It is supported by the Messages application in iOS 5 and later and OS X Mountain Lion and later.

History
iMessage was announced by Scott Forstall at the WWDC 2011 keynote on June 6, 2011. A version of the iOS Messages application with support for iMessage was included in the iOS 5 update on October 12, 2011.

On February 16, 2012, Apple announced that a new OS X Messages application with support for iMessage, replacing iChat, would be part of OS X Mountain Lion. Mountain Lion, with Messages, was released on July 25, 2012.

On October 23, 2012, Apple CEO, Tim Cook announced that Apple device users have sent 300 billion messages using iMessage and that Apple delivers an average of 28,000 messages per second. In February 2016, Eddy Cue announced that the number of iMessages sent per second has now grown to 200,000.

In May 2014, a lawsuit was filed against Apple over an issue that, if a user switches from an Apple device to a non-Apple device, messages being delivered to them through iMessage would not reach their destination. In November 2014 Apple addressed this problem by providing instructions and an online tool to deregister iMessage. A federal court dismissed the suit in Apple's favor.

On March 21, 2016, a group of researchers from Johns Hopkins University published a report in which they demonstrated that an attacker in possession of iMessage ciphertexts could potentially decrypt photos and videos that had been sent via the service. The researchers published their findings after the vulnerability had been patched by Apple.

On May 3, 2016, a project named "PieMessage" was announced, consisting of code for OS X that communicates with iMessage and connects to an Android client, allowing the Android client to send and receive messages.

On June 13, 2016, Apple announced the addition of Apps to iMessage service, accessible via the Messages apps on iOS and macOS (previously OS X). iMessage Apps, the Messages App, iMessage Service, Messages framework and App Store for iMessage are available in iOS 10 and macOS Sierra onwards. App publishers can create and share content, add stickers, make payments, and more, within conversations without having to switch to apps. iMessage Apps can be created as standalone iMessage apps or can exist as an extension to existing iOS apps. App publishers can also create Standalone Stickers iMessage App without writing any code.

Features
iMessage allows users to send texts, documents, photos, videos, contact information, and group messages over Wi-Fi, mobile phone Internet access, or other forms of Internet access to other iOS or OS X users, thus providing an alternative to standard SMS/MMS messaging for most users with devices running iOS 5 or later.

iMessage is accessible through the Messages app on an iPhone, iPad or iPod touch running iOS 5 or later or on a Mac running OS X Mountain Lion or later. Owners of these devices can register one or more email addresses with Apple, and, additionally, iPhone owners can register their phone numbers with Apple, provided their carrier is supported. When a message is sent to a mobile number, Messages will check with Apple if the mobile number is set up for iMessage. If it is not, the message will seamlessly transition from iMessage to SMS.

In Messages, the user's sent communication is aligned to the right, with replies from other people on the left. A user can see if the other iMessage user is typing a message, pale gray ellipsis appears in the text bubble of the other user when a reply is started. It is also possible to start a conversation on one iOS device and continue it on another. iMessage-specific functions operate only between machines running iOS 5 or later or running Mountain Lion or later, but, on the iPhone, Messages can use SMS to communicate with non-iOS devices, or with other iPhones when iMessage is unavailable. On iPhones, green buttons and text bubbles indicate SMS-based communication; on all iOS devices, blue buttons and text bubbles indicate iMessage communication.

All iMessages are encrypted and can be tracked using delivery receipts. If the recipient enables Read Receipts, the sender will be able to see that the recipient has read the message. iMessage also allows users to set up chats with more than two people—a "group chat".

If the correspondents' iPhones are running iOS 5 or later, iMessage will send the users' messages via the users' data connection instead of via SMS/MMS. This means that if a user sends a text message to another iOS 5 user, there is no SMS/MMS charge associated with the message. It is merely treated as an additional data transfer.

Technology
The iMessage protocol is based on the Apple Push Notification Service (APNs)—a proprietary, binary protocol. It sets up a Keep-Alive connection with the Apple servers. Every connection has its own unique code, which acts as an identifier for the route that should be used to send a message to a specific device. The connection is encrypted with TLS using a client side certificate, that is requested by the device on the activation of iMessage.

Reception
On November 12, 2012, Chetan Sharma, a technology and strategy consulting firm, published the US Mobile Data Market Update Q3 2012, noting the decline of text messaging in the United States, and suggested the decline may be attributed to Americans using alternative free messaging services such as iMessage.

On November 4, 2014, the Electronic Frontier Foundation (EFF) listed iMessage on its "Secure Messaging Scorecard", giving it a score of 5 out of 7 points. It received points for having communications encrypted in transit, having communications encrypted with keys the provider doesn't have access to (end-to-end encryption), having past communications secure if the keys are stolen (forward secrecy), having their security designs well-documented, and having a recent independent security audit. It missed points because users can not verify contacts' identities and because the source code is not open to independent review (open source). In September 2015, Matthew Green noted that, because iMessage does not display key fingerprints for out-of-band verification, users are unable to verify that there has not occurred a man-in-the-middle attack.

An independent security audit revealed that the end-to-end encryption that iMessage provides is hardly any better than Transport Layer Security.