Sharing extension points to allow an application to share content via a sharing extension

US9563488B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9563488-B2
Application numberUS-201414488130-A
CountryUS
Kind codeB2
Filing dateSep 16, 2014
Priority dateMay 29, 2014
Publication dateFeb 7, 2017
Grant dateFeb 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A sharing extension point receives a request from a host application for sharing content, the sharing extension point being one of the extension points of an extension framework of an operating system, each corresponding to a common interface to extend a predefined functionality of one application to another application. In response, a sharing extension capable of providing content sharing services is launched. Data representing a share sheet created by the sharing extension is injected into a content viewer within the host application as a share sheet clone, where the share sheet clone has a reduced resolution image of the content displayed therein. In response to receiving a commit command for sharing, the actual content is retrieved from the host application and the retrieved content is transmitted to the sharing extension to enable the sharing extension to post the share sheet on a sharing platform.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for sharing content, comprising: receiving, at a sharing extension point, a request from a host application for sharing content, the sharing extension point being one of a plurality of extension points of an extension framework of an operating system, each extension point corresponding to a common interface to extend a predefined functionality of one application to another application; in response to the request for sharing content, presenting a share sheet, wherein the share sheet displays one or more representations of sharing extensions that are capable of providing a sharing service for the content, and in response to a user selection of one of the sharing extensions, launching the selected sharing extension capable of providing content sharing services; injecting data representing a share sheet clone created by the sharing extension into a content viewer within the host application, the share sheet clone having a reduced resolution image of the content displayed therein; in response to receiving a commit command for sharing, retrieving the content from the host application; and transmitting the retrieved content to the sharing extension to enable the sharing extension to post information from the share sheet clone including the content on a sharing platform. 2. The method of claim 1 , wherein injecting data representing a share sheet clone created by the sharing extension comprises: establishing a remote view bridge connection between the host application and the sharing extension; and transmitting the share sheet clone from the sharing extension to the host application via the remote view bridge connection. 3. The method of claim 1 , wherein presenting the share sheet comprises identifying the sharing extensions that are capable of providing sharing services based on a sharing extension identifier associated with the sharing extension, and wherein launching the selected sharing extension comprises establishing an inter-process communications (IPC) connection between the host application and the selected sharing extension. 4. The method of claim 3 , wherein the sharing extension identifier comprises a uniform type identifier (UTI) identifying a particular class of extension services. 5. The method of claim 4 , wherein each of the sharing extensions was compiled with the UTI encoded therein and signed by a predetermined authority. 6. The method of claim 1 , further comprising installing the sharing extension prior to receiving the request for sharing, wherein installing the sharing extension comprises: obtaining a first provider identifier (ID) and a first extension key from the sharing extension to be installed, wherein the first provider ID identifies a software provider that provides the sharing extension and the first extension key identifies a first version of the sharing extension; performing a lookup operation in an extension registry having listed therein a plurality of extensions currently installed to locate a sharing extension entry having a second provider ID that matches the first provider ID; and replacing a second extension key of the sharing extension entry with the first extension key, such that the first version of the sharing extension is launched instead of a second version represented by the second extension key. 7. The method of claim 6 , wherein the first version of the sharing extension is installed overriding the second version of the sharing extension only if the first provider ID and the second provider ID are matched. 8. The method of claim 7 , wherein the first version the sharing extension is installed overriding the second version of the sharing extension only if the first extension key indicates the first version is newer than the second version represented by the second extension key. 9. The method of claim 6 , wherein the first provider ID and the first extension key are encoded within an executable binary image of the sharing extension and signed by a predetermined authority. 10. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for sharing content, the operations comprising: receiving, at a sharing extension point, a request from a host application for sharing content, the sharing extension point being one of a plurality of extension points of an extension framework of an operating system, each extension point corresponding to a common interface to extend a predefined functionality of one application to another application; in response to the request for sharing content, presenting a share sheet, wherein the share sheet displays one or more representations of sharing extensions that are capable of providing a sharing service for the content, and in response to a user selection of one of the sharing extensions, launching the selected sharing extension capable of providing content sharing services; injecting data representing a share sheet clone created by the sharing extension into a content viewer within the host application, the share sheet clone having a reduced resolution image of the content displayed therein; in response to receiving a commit command for sharing, retrieving the content from the host application; and transmitting the retrieved content to the sharing extension to enable the sharing extension to post information from the share sheet clone including the content on a sharing platform. 11. The non-transitory machine-readable medium of claim 10 , wherein injecting data representing a share sheet clone created by the sharing extension comprises: establishing a remote view bridge connection between the host application and the sharing extension; and transmitting the share sheet clone from the sharing extension to the host application via the remote view bridge connection. 12. The non-transitory machine-readable medium of claim 10 , wherein presenting the share sheet comprises identifying the sharing extensions that are capable of providing sharing services based on a sharing extension identifier associated with the sharing extension, and wherein launching the selected sharing extension comprises establishing an inter-process communications (IPC) connection between the host application and the selected sharing extension. 13. The non-transitory machine-readable medium of claim 12 , wherein the sharing extension identifier comprises a uniform type identifier (UTI) identifying a particular class of extension services. 14. The non-transitory machine-readable medium of claim 13 , wherein each of the sharing extensions was compiled with the UTI encoded therein and signed by a predetermined authority. 15. The non-transitory machine-readable medium of claim 10 , wherein the operations further comprise installing the sharing extension prior to receiving the request for sharing, wherein installing the sharing extension comprises: obtaining a first provider identifier (ID) and a first extension key from the sharing extension to be installed, wherein the first provider ID identifies a software provider that provides the sharing extension and the first extension key identifies a first version of the sharing extension; performing a lookup operation in an extension registry having listed therein a plurality of extensions currently installed to locate a sharing extension entry having a second provider ID that matches the first provider ID; and replacing a second extension key of the sharing extension entry with the first extension key, such that the first version of the sharing extension is lau

Assignees

Inventors

Classifications

  • G06F9/541Primary

    via adapters, e.g. between incompatible applications · CPC title

  • while running · CPC title

  • Plug-ins; Add-ons · CPC title

  • Interprogram communication · CPC title

  • by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9563488B2 cover?
A sharing extension point receives a request from a host application for sharing content, the sharing extension point being one of the extension points of an extension framework of an operating system, each corresponding to a common interface to extend a predefined functionality of one application to another application. In response, a sharing extension capable of providing content sharing serv…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/541. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).