How does the Apple iTunes web site launch the iTunes application on my computer when I click the blue "Launch iTunes" button?

itunes

Solution

You can register "protocol handlers" with some browsers. I think there's a place in the operating system where you can regsiter your own.

See

- http://msdn.microsoft.com/en-us/library/dd588696(office.11).aspx

- http://blog.ryaneby.com/archives/firefox-protocol-handlers/

Creating new ones in firefox: http://ajaxian.com/archives/creating-custom-protocol-handlers-with-html-5-and-firefox

In safari: http://discussions.apple.com/thread.jspa?threadID=1280989

Special "mobile protocol handlers" are used extensively in the iPhone/iPod to launch the phone dialler, email sending, google maps and so on... http://www.iphonedevfaq.com/index.php?title=Protocols

Here's an example of how to reconfigure the `mailto:` protocol handler to trigger gmail rather than an external mail client: http://lifehacker.com/392287/set-firefox-3-to-launch-gmail-for-mailto-links

Problem

This is new to me as a desktop developer. If I could figure out how this is accomplished, it may be relevant to some research I'm doing, specifically how to migrate thick desktop apps to a web implementation. The more forms-oriented and lightweight graphics I can figure out, but heavyweight 3D graphics still requires some form of non-browser application. As nearly as I can determine, iTunes installs some form of new protocol handler on my machine, corresponding to "itms", in place of "http". This is cool and mysterious to me, almost magical. Any help or suggestions for additional reading materials and/or resources would be very welcome.

Original source