On December 9, 2010, the US Patent & Trademark Office published a patent application from Apple that reveals various concepts behind a newly advanced system for purchasing apps at Apple's App Store or future Mac App Store. It all begins by sharing your app with others effortlessly. The patent provides us with a scenario of how this system will work in the real world while covering the overall system – which includes a new and all important Application Seed methodology. Testing and buying future apps using this methodology will allow more of us to experiment with smaller and perhaps unknown apps while it not costing us a dime. That's simply ingenious: That's simply Apple.
An increasing number of people use mobile computing devices such as smart phones, netbooks, and personal digital assistants (PDAs) in every-day life. Often these mobile computing devices interface with online electronic stores to download applications. In some cases, dedicated online stores exist that cater to specific device types. As users of mobile devices go about their daily activities and use their mobile devices, they could show applications to others. As others see the application, they often desire the same application, but getting that application can involve many steps which may cause the user to not retrieve the application.
For example, Aaron, a smartphone user, is at lunch with his friend Brent. After lunch, when the bill comes, Aaron demonstrates a specialized calculator application on his iPhone to Brent which determines an appropriate tip and how much of the lunch bill they each owe. Brent is very impressed with the calculator application and would like to obtain a copy for his iPhone too. In this case, Brent must ask Aaron the name of the application, browse to the online store on the mobile device, search the online store or elsewhere for the application, and finally select and download the application. A simple error in transcribing the name of the application, forgetting about the application, or any of a myriad of other setbacks can interrupt this chain of actions which Brent must accomplish to obtain a copy of the calculator application. Further, Brent could have other availability, licensing, or other feature-related questions to which Aaron does not know the answers. Brent can encounter some difficulty obtaining that information or downloading the application.
Both Brent and the vendor of the calculator application are willing to transact business together, but due to logistical barriers and/or inconvenience they may be unable. Accordingly, what is needed in the art is an improved way to quickly and easily share applications between nearby computing devices. Below is Apple's proposed solution.
Scenario: Sharing Apps to Purchase
In Apple's patent FIG. 2 shown below we see an illustration of a sample sharing device, receiving device, and server. Each of these devices could be an iPhone, an iPad, an iPod touch, MacBook, iPod or other device. In the example in the background section, Aaron wishes to share an application from his iPhone with Brent's – though two differing devices could used to share.
Aaron wants to share an application stored on his iPhone (or "sharing device" 202) with Brent's iPhone (or "receiving device" 204). Aaron's iPhone displays a list of applications which are available to share with Brent. Aaron selects, via a suitable user input such as speech, touch gestures, stylus input, keypad input, etc., at least one application to share with Brent's iPhone.
Application Sharing Preferences
After Aaron selects the application to share, Aaron's iPhone retrieves sharing preferences from the selected application. If the selected application does not include any specified sharing preferences, the device could select or generate a default preference, such as a preference to not share the application. The application could have preferences that allow sharing fully functional copies of the application. In other cases, the application preferences allow sharing only a limited functionality demo copy, a fully functional copy that expires after a certain period of time, or an application seed that uniquely identifies the application on a server 210 (click on the graphic to see clearer text in the flow chart).
Aaron's iPhone creates an application package to transfer to Brent's iPhone that has an identifier associated with Aaron's iPhone or user account and an identifier associated with Brent's iPhone or user account. The application package could also include application metadata such as an application icon, a full copy of the application, a limited copy of the application, and/or an application seed. In one aspect, the application package also includes settings, history, and/or preferences for the application, too. Such settings could optionally be included in part or in whole.
Establishing a Peer-to-Peer Connection
The two iPhones (or other devices) establish a peer-to-peer connection 206 directly with each other, such as a cable or an infrared connection, or through a network cloud 208, such as the Internet, a cellular network, or a wireless mesh network. Brent's iPhone could transmit an acknowledgement of the successful receipt of the application package to Aaron's iPhone. In case the transfer is incomplete, Aaron's iPhone could transmit the application seed first, so that even if the entire application doesn't transmit successfully, Brent's iPhone has enough information, i.e. the application seed, to download the application from the server and could proceed with only that information. A graphic image may be provided with the application seed, so that the receiving iPhone could display a visual representation of the application. In one aspect, the receiving iPhone displays an initial portion of the graphic image provided with the application seed and progressively increases the displayed portion in order to reflect the increasing completeness of the received application package.
Aaron's or Brent's iPhone could report the successful sharing transaction to the server. The server could keep records of each sharing transaction and could prepare in advance a copy of the application for Brent's iPhone to download.
The Application Seed
If the application package includes a full copy of the application, then Brent's iPhone now has the application and doesn't necessarily need to perform any additional steps. However, if the application package includes a limited functionality copy of the application, then Brent's iPhone could establish a connection (212) with a server directly or through a network cloud (214). The server could provide additional information regarding the application and allow Brent to purchase, retrieve, or download the shared application by unlocking at least a portion of the limited functionality or downloading a new copy of the shared application from the server. If the application package includes an application seed, Brent's iPhone connects to the server and uses the application seed to retrieve the shared application.
For example, the application seed could be an XML file, a semi-meaningful text string such as "Seed.App.2B700A9D", a number, or a randomly assigned string of characters. When multiple servers are available, the seed could also include a reference to a preferred server from which to obtain the application. In some cases, a single piece of data incorporates the application seed and the two identifiers. The server could perform security or verification checks to ensure that the correct device is requesting the application, for example. The server could modify the requested application such that it is only functional on the target device or in this case, Brent's iPhone. The server could be an online store, like Apple's App Store, or a software publisher's website, for example.
Promotions to Lure You
When Brent retrieves a full version of a shared application Aaron shared with Brent, the server or App Store could provide some sort of incentive to Aaron. The incentive could be money, store credit, coupons, promotional items (real or digital), an improved status, and others
About Interface Functionality
In Apple's patent FIG. 3 we see Aaron's iPhone UI (sharing device 300) along with a list of application icons (304). Aaron could move the application icon representing the application he wants to share (306) into a designated area (308). Aaron could use a stylus, a touch gesture, a keyboard, buttons, speech, or other user inputs to move the application icon.
After Aaron moves the application icon, the iPhone could, for example, remove the application icon 306 from the list, make the application icon blank 310 in the list, or dim or gray out the application icon 310 in the list. Aaron could similarly move more than one application icon into the designated area. When Aaron is ready to transmit these applications, he selects a send button 312 or provides other suitable user input. The iPhone prepares the application package for each application based on intelligence, preferences, or code found in the respective applications. The device then transmits the application package(s) to a receiving iPhone (or device). In one aspect, the sharing device visually represents movement of the selected application icon to a representation of the second device, such as a small device icon through an animation or other suitable visual, audible, audiovisual, vibration-based, or other type of cue.
In one embodiment, the device displays icons or notifications that certain applications will be shared differently. For example, one application icon 314 is crossed out, indicating that it can't be shared at all. Another example is the application icon 316 with an overlaid letter "L", indicating that it could be shared only with limited functionality. A software developer could mark published application as "unsharable" unconditionally or only under certain circumstances.
Share Flags – Share Periods
In one embodiment, if the application is transferred to the receiving device, the receiving device allows operation of the shared application depending on the share flag. For example, if the share flag indicates full functionality, then the sharing device activates the application with full functionality. If the share flag is set to limited functionality, then the receiving device activates a limited set of functionality. Furthermore, a share period may have been previously set in the application. The share period may be configured as a set period of time such as a number of hours, days, weeks, months, or a combination thereof. Also, the share period could be set as a number of activations for the application on the receiving device. Once the number of activations expires, the receiving device is unable to activate the application. For example, "an activation" counts when the application on the sharing device is operated. If the application share period expires, the sharing device may provide a display to the user indicating the application is no longer operable or may be used.
The system could use this exemplary interface or any other suitable user interface for a user to share an application. For example, one variation of this interface provides different designated areas for each nearby device. These designated areas could appear or disappear as nearby devices move in and out of a specified range. The designated areas could move around the screen based on the location of the associated nearby device.
Share Flags – Security
Certain expensive or highly sensitive applications (such as a medical records database application) could include flags indicating that they cannot be shared.
The application on the sharing device may have been previously configured with share criteria as discussed above. The application developer when creating the application may identify whether the application may be shared. A share flag, or share code, may be embedded in the application such that the sharing device looks to this share flag to determine whether and how the application may be shared with another device. The application may utilize a hash function or some other security measure so that if the flag is modified in the application on the sharing, the application will not operate, the application will default to a no share mode, or the application will perform some other action established by the application developer or another entity. This approach can prevent and/or discourage modification of the share flag in the application on the sharing device to prevent unauthorized application sharing.
Wireless Access Points in a Café
In another implementation, a fixed-location sharing device is incorporated into a wireless access point in a cafe so cafe customers could share applications from their mobile devices to the wireless access point which in turn could share the application with future customers after the original mobile device leaves. A peer to peer network could include a homogeneous and/or heterogeneous mixture of devices.
Apple credits Edward Steakley as the sole inventor of patent application 20100312817, originally filed in Q2 2009. Oddly, Mr. Steakley is listed as Senior Counsel for Apps at Apple.
Other Noteworthy Patent Applications Published Today
Three patent applications relating to Apple's OS X feature called Expose were published today claiming to offer improved features. I went cross-eyed looking for new features but couldn't find any. The number one feature which is claimed to be the improved feature, relates to how you could press your keyboard spacebar on one of the images that you have showing in Expose and have it enlarge above the other apps in the window. But that exists today. So if you're determined to uncover some hidden new Expose feature, you'll have to scour through these three patents: 20100313164, 20100313165 and 20100313156. Just feed the numbers into this search engine. Good Hunting.
Notice: Patently Apple presents only a brief summary of patents with associated graphic(s) for journalistic news purposes as each such patent application is revealed by the U.S. Patent & Trade Office. Readers are cautioned that the full text of any patent application should be read in its entirety for further details. About Comments: Patently Apple reserves the right to post, dismiss or edit comments.
Mac and Other Community Sites Covering our Original Report
MacSurfer, Apple Investor News, Google Reader, Reddit, Lifehacker, Techmeme, Fast Company, 9 to 5 Mac, Business Insider, Mobile Entertainment Biz, iPhoneclub Netherlands, MacStories, Pulse2, igeneration France, Multi-Touch Fans, Telekom-Presse Austria, Idealize Netherlands, iPhoneguide Denmark, iPhones Russia, Appleseed English/Chinese, TiPb, Gizmodo, iFun Germany, NU Netherlands, Mobile Business Briefing, Dagens IT Norway, Ubergizmo, ReadWrite Mobile, Canoe French Canada, Apple Bitch, Chip Germany, BenM Austria, GottaBeMobile, Engadget, PC Games Hardware Germany, BNET (Business Network, CBS) and more.