IP Library Granted Patent US 12,219,074
Granted Patent B2
US 12,219,074 · App. 18/132,866 · Granted Feb 4, 2025

Collaborative document editing

Inventors: Keng Fai Lee (Cupertino, CA); Wang Chiu Chan (Tseung Kwan O, CN); Charles J. Migos (Millbrae, CA); M. Frank Emanuel (San Francisco, CA)
Assignee: Apple Inc.
H04L9/3263G06F40/169G06F40/197G06T13/80H04L9/30H04L9/321H04L63/06H04L63/068H04L63/0823H04L63/0861H04L63/0884H04W12/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,219,074
App. No.
18/132,866
Granted
Feb 4, 2025
Kind
B2
Abstract

Various features and processes related to document collaboration are disclosed. In some implementations, animations are presented when updating a local document display to reflect changes made to the document at a remote device. In some implementations, a user can selectively highlight changes made by collaborators in a document. In some implementations, a user can select an identifier associated with another user to display a portion of a document that includes the other user's cursor location. In some implementations, text in document chat sessions can be automatically converted into hyperlinks which, when selected, cause a document editor to perform an operation.

Claims (75)

1. A method comprising:

receiving, at a server, a first request for a digital document from a first device;

in response to receiving the first request for the digital document:

retrieving first document permissions for a first user account associated with the first device, the first document permissions defining first editing functions available to the first user account;

causing a first display of the first device to display the digital document in a first graphical user interface of a document editing application, the first graphical user interface comprising a first set of editing tools that is available for the digital document and corresponds to the first editing functions;

receiving, at the server, a second request for the digital document from a second device;

in response to receiving the second request for the digital document:

retrieving second document permissions for a second user account associated with the second device, the second document permissions defining second editing functions available to the second user account; and

causing a second display of the second device to display the digital document in a second graphical user interface of the document editing application, the second graphical user interface comprising a second set of editing tools that is available for the digital document and corresponds to the second editing functions.

2. The method of claim 1 , wherein:

the second set of editing tools is different from the first set of editing tools; and

the second set of editing tools includes a subset of the first set of editing tools.

3. The method of claim 2 , further comprising causing the second device to display a set of disabled editing tools.

4. The method of claim 2 , wherein in response to receiving a first selection, from the first device, of a first graphical element for enabling track changes, configuring the document editing application is to allow the second device to make changes to the digital document.

5. The method of claim 2 , wherein in response to receiving a second selection, from the first device, of a second graphical element for disabling track changes, configuring the document editing application to prevent the second device from making changes to the digital document.

6. The method of claim 1 , further comprising:

causing the second graphical user interface to display a selectable graphical element that allows the second device to enable tracking operations at the digital document; and

causing the second graphical user interface to display a non-selectable graphical element that prevents the second device from disabling tracking operations at the digital document.

7. The method of claim 6 , wherein causing the first device to display the first set of editing tools comprises causing the first device to display a second selectable graphical element, on the display of the first device, that allows the first device to disable tracking operations at the digital document.

8. The method of claim 1 , wherein:

the document editing application receives a modification to the digital document from the second device; and

the document editing application changes a presentation of the digital document on the display of the first device to reflect the modification to the digital document.

9. The method of claim 8 , wherein:

receiving the modification to the digital document comprises classifying the modification as a provisional change to the digital document; and

in response to classifying the modification as the provisional change, displaying on the display of the first device a first option to accept the modification and a second option to reject the modification.

10. A method for accessing and editing digital documents, the method comprising:

sending, from a device to a server, a request for a digital document;

in response to sending the request, displaying in a graphical user interface of a document editing application running on the device, the digital document and a set of editing tools, the set of editing tools based on document permissions for a user account associated with the device;

receiving, at the device, a selection of a first editing tool of the set of editing tools;

in response to determining that the user account has access to the first editing tool using the document permissions:

activating, at the device, the first editing tool for the digital document;

receiving, at the device, one or more inputs to the digital document using the first editing tool; and

updating, at the server, the digital document based on the one or more inputs;

receiving, at the device, a selection of a second editing tool of the set of editing tools; and

in response to determining that the user account does not have access to the second editing tool, preventing, at the device, access to the second editing tool for the digital document.

11. The method of claim 10 , further comprising:

receiving, at the device, a selection of a first graphical element for enabling track changes; and

in response to receiving the selection of the first graphical element, causing the server to activate a track changes function for the digital document.

12. The method of claim 11 , further comprising:

in response to one or more changes to the digital document received from a different device as part of the track changes function, receiving the one or more changes at the device; and

updating the graphical user interface of the document editing application to display the one or more changes made to the digital document, wherein:

the one or more changes are classified by the server as provisional changes; and

the one or more changes are displayed to indicate their classification as provisional changes.

13. The method of claim 12 , further comprising:

receiving an input at the device accepting the one or more changes; and

in response to the input accepting the one or more changes:

classifying the one or more changes as accepted changes; and

causing the device to display the one or more changes in a same format as other content of the digital document.

14. The method of claim 11 , wherein in response to the track changes function being activated, allowing the device access to the second editing tool for the digital document.

15. A method for accessing and editing digital documents, the method comprising:

sending, from a device to a server, a request for a digital document;

in response to sending the request, displaying in a graphical user interface of a document editing application running on the device, the digital document and an option to activate a track changes function for the digital document

receiving, at the device, a selection of the option to active the track changes function;

in response to determining that a user account associated with the device is authorized to activate the track changes function:

causing the server to activate the track changes function for the digital document;

receiving, at the device, one or more changes to the digital document;

updating, at the server, the digital document based on the one or more changes;

causing the device to display, in the graphical user interface, the one or more changes as provisional changes; and

activating, at the device, a first option to accept the provisional changes and a second option to reject the provisional changes.

16. The method of claim 15 , further comprising:

accessing, by the device, one or more document permissions for the user account;

activating the first option to accept the provisional changes based on the one or more document permissions; and

deactivating the second option to reject the provisional changes based on the one or more document permissions.

17. The method of claim 15 , further comprising:

accessing, by the device, one or more document permissions for the user account; and

in response to determining that the user account has access to a first editing tool using the one or more document permissions, activating, at the device, the first editing tool for the digital document.

18. The method of claim 17 , further comprising, in response to determining that the user account does not have access to a second editing tool, preventing, at the device, access to the second editing tool for the digital document.

19. The method of claim 15 , further comprising:

in response to one or more changes to the digital document received from a different device as part the track changes function, receiving the one or more changes at the device; and

updating the graphical user interface of the document editing application to display the one or more changes made to the digital document.

20. The method of claim 18 ,

receiving an input at the device accepting the one or more changes; and

in response to the input accepting the one or more changes:

classifying the one or more changes as accepted changes; and

causing the device to display the one or more changes in a same format as other content of the digital document.

Continuity (5)
Continuation 17135530 · Dec 28, 2020
Continuation 15999716 · Aug 20, 2018
Continuation 15068490 · Mar 11, 2016
Continuation 13332323 · Dec 20, 2011
Related Publication 20230327887A1 · Oct 12, 2023
References Cited (81)
US 5337407A · Bates et al. · 1994 [cited by applicant]
US 5483261A · Yasutake · 1996 [cited by applicant]
US 5488204A · Mead et al. · 1996 [cited by applicant]
US 5708825A · Sotomayor · 1998 [cited by applicant]
US 5825352A · Bisset et al. · 1998 [cited by applicant]
US 5835079A · Shieh · 1998 [cited by applicant]
US 5880411A · Gillespie et al. · 1999 [cited by applicant]
US 5880743A · Moran et al. · 1999 [cited by applicant]
US 5960173A · Tang et al. · 1999 [cited by applicant]
US 6188391B1 · Seely et al. · 2001 [cited by applicant]
US 6310610B1 · Beaton et al. · 2001 [cited by applicant]
US 6323846B1 · Westerman et al. · 2001 [cited by applicant]
US 6349327B1 · Tang et al. · 2002 [cited by applicant]
US 6690387B2 · Zimmerman et al. · 2004 [cited by applicant]
US 6785740B1 · Yoneda · 2004 [cited by examiner]
US 6978292B1 · Murakami · 2005 [cited by examiner]
US 7015894B2 · Morohoshi · 2006 [cited by applicant]
US 7184064B2 · Zimmerman et al. · 2007 [cited by applicant]
US 7496841B2 · Hadfield et al. · 2009 [cited by applicant]
US 7620900B2 · Kawashima et al. · 2009 [cited by applicant]
US 7663607B2 · Hotelling et al. · 2010 [cited by applicant]
US 7707249B2 · Spataro et al. · 2010 [cited by applicant]
US 7774703B2 · Junuzovic et al. · 2010 [cited by applicant]
US 7933952B2 · Parker · 2011 [cited by examiner]
US 7996776B2 · Parker et al. · 2011 [cited by applicant]
US 8296647B1 · Bourdev · 2012 [cited by applicant]
US 8417666B2 · Bailor · 2013 [cited by examiner]
US 8453052B1 · Newman et al. · 2013 [cited by applicant]
US 8479122B2 · Hotelling et al. · 2013 [cited by applicant]
US 8554870B2 · Piccionelli · 2013 [cited by applicant]
US 8788589B2 · Zarom · 2014 [cited by applicant]
US 8799066B1 · Nesladek et al. · 2014 [cited by applicant]
US 9542366B2 · Lee · 2017 [cited by applicant]
US 9875221B1 · Newman et al. · 2018 [cited by applicant]
US 9921797B2 · Dunne et al. · 2018 [cited by applicant]
US 10055394B2 · Lee et al. · 2018 [cited by applicant]
US 10082927B2 · Lemonik et al. · 2018 [cited by applicant]
US 10108613B2 · Spataro et al. · 2018 [cited by applicant]
US 10880098B2 · Lee et al. · 2020 [cited by applicant]
US 11627001B2 · Lee et al. · 2023 [cited by applicant]
US 20020026478A1 · Rodgers et al. · 2002 [cited by applicant]
US 20020083057A1 · Zulpa · 2002 [cited by examiner]
US 20030105816A1 · Goswamir · 2003 [cited by applicant]
US 20030144982A1 · Reulein · 2003 [cited by examiner]
US 20030208472A1 · Pham · 2003 [cited by examiner]
US 20060026502A1 · Dutta · 2006 [cited by applicant]
US 20060197753A1 · Hotelling · 2006 [cited by applicant]
US 20070186171A1 · Junuzovic et al. · 2007 [cited by applicant]
US 20070198647A1 · Lingafelt · 2007 [cited by applicant]
US 20070244968A1 · Andreasson · 2007 [cited by applicant]
US 20080005664A1 · Chandra · 2008 [cited by applicant]
US 20080059419A1 · Auerbach · 2008 [cited by examiner]
US 20090248818A1 · Hara · 2009 [cited by examiner]
US 20100205541A1 · Rapaport · 2010 [cited by examiner]
US 20100257457A1 · De Goes · 2010 [cited by applicant]
US 20110252339A1 · Lemonik et al. · 2011 [cited by applicant]
US 20120226823A1 · Livnat · 2012 [cited by examiner]
US 20120233543A1 · Vagell et al. · 2012 [cited by applicant]
US 20120233554A1 · Vagell et al. · 2012 [cited by applicant]
US 20130054613A1 · Bishop · 2013 [cited by examiner]
US 20130073661A1 · Chang · 2013 [cited by applicant]
US 20130159849A1 · Lee et al. · 2013 [cited by applicant]
US 20130185651A1 · Wionzek · 2013 [cited by applicant]
US 20130262574A1 · Cohen · 2013 [cited by examiner]
US 20140372540A1 · Libin · 2014 [cited by applicant]
US 20170220546A1 · Codrington · 2017 [cited by examiner]
US 20180121499A1 · Joshi et al. · 2018 [cited by applicant]
JP 2000163031 · 2000 [cited by applicant]
JP 2002342033 · 2002 [cited by applicant]
Munteanu et al., “Collaborative Editing for Improved Usefulness and Usability of Transcript-Enhanced Webcasts”, CHI 2008 Proceedings ⋅ Collaborative User Interfaces, Florence, Italy, (Year: Apr. 5-10, 2008). [cited by examiner]
“Digital Inspiration”, Jul. 14, 2008, “Go Back & Forward When Editing Lengthy Documents in Microsoft Word” p. 1-3, retrieved from http://www.labnol.org/software/tutorials/edit-lengthy-documents-in- microsoft-word/3880/. [cited by applicant]
Bernstein, M.S. et al. (2010). “Enhancing Direct Content Sharing on the Web,” CHI2000, Atlanta, GA Apr. 10-15, 2010, 10 pages. [cited by applicant]
Dourish et al., “Awareness and Coordination in Shared Workspaces”, CSCW 92 Proceedings, Nov. 1992, p. 107-114. [cited by applicant]
Fraser, “Cursor Preservation” Aug. 2009, p. 1-5, retrieved from https://neil.fraser.name/writing/cursor/. [cited by applicant]
Halasz et al., “The Dexter hypertext reference model,” Communications of the ACM, Feb. 1994, vol. 37, Issue 2, pp. 30-39. [cited by applicant]
Kaikkonen, et al., “Navigating in a Mobile XHTML application,” CHI 2003: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Apr. 2003, pp. 329-336. [cited by applicant]
Lee, S.K. et al. (Apr. 1985). “A Multi-Touch Three Dimensional Touch-Sensitive Tablet,” Proceedings of CHI: ACM Conference on Human Factors in Computing Systems, pp. 21-25. [cited by applicant]
Rubine, D.H. (Dec. 1991). “The Automatic Recognition of Gestures,” CMU-CS-91-202, Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Computer Science at Carnegie Mellon Univer… [cited by applicant]
Rubine, D.H. (May 1992). “Combining Gestures and Direct Manipulation,” CHI '92, pp. 659-660. [cited by applicant]
Westerman, W. (Spring 1999). “Hand Tracking, Finger Identification, and Chordic Manipulation on a Multi-Touch Surface,” A Dissertation Submitted to the Faculty of the University of Delaware in Partial Fulfillment of the… [cited by applicant]
Xu, Y-D. et al. (2011). “Used Hierarchical Topic to Generate Multi-Document Automatic Summarization,” 2011 4th International Conference on Intelligent Computation Technology and Automation, IEEE, pp. 295-298. [cited by applicant]