IP Library › Granted Patent US 12,210,853
Granted Patent B2
US 12,210,853 · App. 18/497,061 · Granted Jan 28, 2025

Functional and code views in a process workflow

Inventors: Katherine L. Cerar (Waterloo, CA); Phillip James McClelland (Kitchener, CA); Nicholas Mulder (Waterloo, CA); Alexander Blaise (Kitchener, CA); Jeffery A. Bertrand (Waterloo, CA); Joseph Lomanto (Dundas, CA); Thiago Tonelli Bartolomei (Waterloo, CA); Jack P. D. Read (Guelph, CA); Dustin John Malik (Waterloo, CA); Stanislav Korsei (Vancouver, CA); Michael E. Rybka (Collingwood, CA); Praneethi Komatreddy (Brampton, CA); Saad Bin Asif (Ottawa, CA)
Assignee: Shopify Inc.
G06F8/35G06F8/20G06F8/34G06F8/38G06F8/75
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,210,853
App. No.
18/497,061
Granted
Jan 28, 2025
Kind
B2
Abstract

In embodiments of the present invention improved capabilities are described for modifying the display of a workflow component from including a depiction of a first representation level to a depiction of a second representation level, wherein one of the depiction at the first representation level and the depiction at the second representation level includes a depiction of the functionality associated with the workflow component and the other of the depiction at the first representation level and the depiction at the second representation level includes a view of programming code for providing the functionality associated with the workflow component.

Claims (49)

1. A computer-implemented method comprising:

displaying a workflow component comprising a visual depiction of a function associated with the workflow component, wherein the function is associated with programming code operable to execute the function;

displaying, within a boundary of the visual depiction, a view of the programming code associated with the function at a first representational level; and

responsive to detecting a change in representational views of the programming code from the first representational level to a second representational level, displaying the programming code associated with the function at the second representational level within the boundary of the visual depiction.

2. The computer-implemented method of claim 1 , wherein one of the first and second representational levels is a constrained representation of the other of the first and second representational levels, and wherein the other of the first and second representational levels is a stylized code representation or an actual code representation.

3. The computer-implemented method of claim 1 , further comprising:

responsive to detecting a change in representational views of the programming code from the second representational level to a third representational level, displaying the programming code associated with the function at the third representational level within the boundary of the visual depiction.

4. The computer-implemented method of claim 3 , wherein one of the first, second and third representational levels is a visual representation of the programming code associated with the function, another of the first, second, and third representational levels is a stylized code representation of the programming code associated with the function, and another of the first, second, and third representational levels is an actual code representation of the programming code associated with the function.

5. The computer-implemented method of claim 1 , wherein the boundary of the visual depiction comprises at least one functional boundary between the workflow component and at least one other workflow component of a workflow.

6. The computer-implemented method of claim 5 , further comprising:

parsing the programming code associated with the workflow to generate the at least one functional boundary.

7. The computer-implemented method of claim 6 , further comprising:

receiving a modification to the programming code associated with the function depicted in the displayed workflow component;

re-parsing the modified programming code; and

updating the displayed workflow component according to the re-parsing.

8. The computer-implemented method of claim 7 , further comprising:

determining that the modification to the programming code associated with the function comprises a significant change; and

responsive to determining that the modification comprises a significant change:

executing the re-parsing of the modified programming code associated with the workflow to determine that the change to the programming code extends the functionality of the workflow component beyond the at least one functional boundary of the workflow component;

generating at least one revised functional boundary based on the re-parsing; and

updating the displayed workflow component to split the workflow component into more than one workflow component based on the at least one revised functional boundary.

9. The computer-implemented method of claim 8 , wherein determining that the modification comprises a significant change includes calculating a level of certainty to determine that a change to the at least one functional boundary of the workflow component is required.

10. The computer-implemented method of claim 9 , wherein the level of certainty is based on one or more of a quality indicator for a user associated with the modification and an extent of the change to the programming code.

11. The computer-implemented method of claim 1 , further comprising:

receiving a modification to the function depicted in the displayed workflow component; and

updating the displayed workflow component according to the modification.

12. The computer-implemented method of claim 11 , further comprising:

receiving input modifying the functionality associated with the workflow component, the input including a selection of a template from one of a plurality of pre-existing workflow component templates; and

modifying the functionality associated with the workflow component based on the received input, the modifying including updating the workflow component based on the selected template;

wherein the updating comprises updating the visual depiction of the function associated with the workflow component to reflect the modified functionality.

13. The computer-implemented method of claim 11 , wherein the modification is made through modification of the programming code associated with the functionality.

14. The computer-implemented method of claim 1 , further comprising:

providing a detail level selector; and

enabling at least the second level of representation to be selected using the detail level selector to implement the change in representational views of the programming code.

15. The computer-implemented method of claim 14 , wherein the detail level selector enables a plurality of levels of representation to be selected to implement changes between representational views of the programming code.

16. The computer-implemented method of claim 1 , wherein the workflow component is displayed with at least one other workflow from a set of workflow components in a workflow.

17. A non-transitory computer-readable medium comprising processor executable instructions that, when executed by a processor, cause the processor to execute instructions comprising:

displaying a workflow component comprising a visual depiction of a function associated with the workflow component, wherein the function is associated with programming code operable to execute the function;

displaying, within a boundary of the visual depiction, a view of the programming code associated with the function at a first representational level; and

responsive to detecting a change in representational views of the programming code from the first representational level to a second representational level, displaying the programming code associated with the function at the second representational level within the boundary of the visual depiction.

18. The non-transitory computer-readable medium of claim 17 , wherein the boundary of the visual depiction comprises at least one functional boundary between the workflow component and at least one other workflow component of a workflow.

19. The non-transitory computer-readable medium of claim 18 , further comprising:

parsing the programming code associated with the workflow to generate the at least one functional boundary.

20. A system comprising:

at least one processor; and

at least one memory, the at least one memory comprising processor executable instructions that, when executed by the at least one processor, cause the system to:

display a workflow component comprising a visual depiction of a function associated with the workflow component, wherein the function is associated with programming code operable to execute the function;

display, within a boundary of the visual depiction, a view of the programming code associated with the function at a first representational level; and

responsive to detecting a change in representational views of the programming code from the first representational level to a second representational level, display the programming code associated with the function at the second representational level within the boundary of the visual depiction.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2023
From: MULDER, NICHOLAS
To: SHOPIFY INC.
Reel/Frame 065382/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2023
From: CERAR, KATHERINE L.; MCCLELLAND, PHILLIP JAMES; BLAISE, ALEXANDER; BERTRAND, JEFFERY A.; LOMANTO, JOSEPH; BARTOLOMEI, THIAGO TONELLI; READ, JACK P. D.; MALIK, DUSTIN JOHN; KORSEI, STANISLAV; RYBKA, MICHAEL E.; KOMATREDDY, PRANEETHI; ASIF, SAAD BIN
To: SHOPIFY INC.
Reel/Frame 065383/0095 →
Continuity (4)
Continuation 17849121 · Jun 24, 2022
Continuation 16930084 · Jul 15, 2020
Continuation 16205967 · Nov 30, 2018
Related Publication 20240061656A1 · Feb 22, 2024
References Cited (74)
US 6055369A · Sawahata et al. · 2000 [cited by applicant]
US 6225998B1 · Okita et al. · 2001 [cited by applicant]
US 6243092B1 · Okita et al. · 2001 [cited by applicant]
US 7370315B1 · Lovell · 2008 [cited by applicant]
US 7565640B2 · Shukla · 2009 [cited by applicant]
US 8370156B1 · Togerson · 2013 [cited by applicant]
US 9348563B1 · Xue et al. · 2016 [cited by applicant]
US 9612829B2 · Roberts · 2017 [cited by applicant]
US 10114618B2 · Wee et al. · 2018 [cited by applicant]
US 10223076B1 · Owen et al. · 2019 [cited by applicant]
US 10489122B1 · Abbott · 2019 [cited by applicant]
US 10754626B2 · Cerar et al. · 2020 [cited by applicant]
US 20020007483A1 · Lopez · 2002 [cited by applicant]
US 20030167455A1 · Iborra et al. · 2003 [cited by applicant]
US 20040148586A1 · Gilboa · 2004 [cited by applicant]
US 20050066304A1 · Tattrie et al. · 2005 [cited by applicant]
US 20050229154A1 · Hiew et al. · 2005 [cited by applicant]
US 20050240863A1 · Olander et al. · 2005 [cited by applicant]
US 20060074735A1 · Shukla et al. · 2006 [cited by applicant]
US 20060080592A1 · Mves et al. · 2006 [cited by applicant]
US 20060206863A1 · Shenfield · 2006 [cited by applicant]
US 20070079285A1 · Cook et al. · 2007 [cited by applicant]
US 20070079286A1 · Cook et al. · 2007 [cited by applicant]
US 20070266368A1 · Szpak et al. · 2007 [cited by applicant]
US 20070276689A1 · Slone et al. · 2007 [cited by applicant]
US 20080022259A1 · MacKlem · 2008 [cited by applicant]
US 20080028366A1 · Weng et al. · 2008 [cited by applicant]
US 20080040173A1 · Aleong et al. · 2008 [cited by applicant]
US 20090064092A1 · Naik · 2009 [cited by applicant]
US 20090187882A1 · Jazdzewski · 2009 [cited by applicant]
US 20100050153A1 · Louie et al. · 2010 [cited by applicant]
US 20100241990A1 · Gabriel et al. · 2010 [cited by applicant]
US 20100251155A1 · Shah et al. · 2010 [cited by applicant]
US 20110161924A1 · Alexander et al. · 2011 [cited by applicant]
US 20120089959A1 · Park · 2012 [cited by applicant]
US 20120192151A1 · Parkes et al. · 2012 [cited by applicant]
US 20130086551A1 · Archer et al. · 2013 [cited by applicant]
US 20130179860A1 · Woock · 2013 [cited by applicant]
US 20140109043A1 · Bolotnikoff et al. · 2014 [cited by applicant]
US 20140278312A1 · Nixon et al. · 2014 [cited by applicant]
US 20150170088A1 · Rizk · 2015 [cited by applicant]
US 20150220311A1 · Balter · 2015 [cited by applicant]
US 20150363175A1 · Klausner · 2015 [cited by applicant]
US 20160019199A1 · Thomson · 2016 [cited by applicant]
US 20160342396A1 · Kukolich et al. · 2016 [cited by applicant]
US 20170060541A1 · Saleh · 2017 [cited by applicant]
US 20170147296A1 · Kumar et al. · 2017 [cited by applicant]
US 20170160880A1 · Jose et al. · 2017 [cited by applicant]
US 20170168784A1 · Hwang et al. · 2017 [cited by applicant]
US 20170199727A1 · Lau · 2017 [cited by applicant]
US 20170315789A1 · Lam et al. · 2017 [cited by applicant]
US 20170316355A1 · Shrestha et al. · 2017 [cited by applicant]
US 20170316363A1 · Siciliano et al. · 2017 [cited by applicant]
US 20180107461A1 · Balasubramanian et al. · 2018 [cited by applicant]
US 20180189033A1 · Narang et al. · 2018 [cited by applicant]
US 20180189035A1 · Narang et al. · 2018 [cited by applicant]
US 20180232216A1 · White et al. · 2018 [cited by applicant]
US 20180285476A1 · Siciliano et al. · 2018 [cited by applicant]
US 20190005228A1 · Singh et al. · 2019 [cited by applicant]
US 20190163793A1 · Buehler et al. · 2019 [cited by applicant]
US 20190227793A1 · Ramasamy · 2019 [cited by applicant]
US 20190272154A1 · Chaudhry et al. · 2019 [cited by applicant]
US 20200174756A1 · Cerar et al. · 2020 [cited by applicant]
US 20200348913A1 · Cerar et al. · 2020 [cited by applicant]
M. Schur, A. Roth and A. Zeller, “Mining Workflow Models from Web Applications,” in IEEE Transactions on Software Engineering, vol. 41, No. 12, pp. 1184-1201, Dec. 1, 2015, doi: 10.1109/TSE.2015.2461542. (Year: 2015). [cited by applicant]
Ying Zou and Maokeng Hung, “An Approach for Extracting Workflows from E-Commerce Applications,” 14th IEEE International Conference on Program Comprehension (ICPC'06), Athens, Greece, 2006, pp. 127-136, doi: 10.1109/ICPC… [cited by applicant]
Graphical user interface (computing), https://www.br1tannica.com/technology/graphical-user-interfac, Encyclopedia Britannica, last retrieved from &nbsp on Oct. 15, 2019, published Mar. 29, 2018, 3 pages. [cited by applicant]
U.S. Appl. No. 16/205,967 , “U.S. Appl. No. 16/205,967, Non-Final Office Action mailed Oct. 18, 2019”, Katherine L. Cerar, 22 pages. [cited by applicant]
U.S. Appl. No. 16/205,967 , “U.S. Appl. No. 16/205,967, Notice of Allowance mailed May 5, 2020”, Katherine L. Cerar, 8 pages. [cited by applicant]
U.S. Appl. No. 16/930,084 , “U.S. Appl. No. 16/930,084, Non-Final Office Action mailed Nov. 26, 2021”, Katherine L. Cerar, 17 pages. [cited by applicant]
U.S. Appl. No. 16/930,084 , “U.S. Appl. No. 16/930,084, Notice of Allowance mailed Mar. 25, 2022”, Katherine L. Cerar, 9 pages. [cited by applicant]
Borgo, Rita , et al., “An Empirical Study on Using Visual Embellishments in Visualization”, IEEE Transactions on Visualization and Computer Graphics, vol. 18, No. 12, Dec. 2012, pp. 2759-2768. [cited by applicant]
Hlawatsh, Marcel , et al., “Visualizing the Evolution of Module Workflows”, 2015 19th International Conference or Information Visualisation, Barcelona, Spain, 2015, pp. 40-19. [cited by applicant]
Maheshwari, Ketan , et al., “Scientific Workflow Development Using Both Visual and Script-Based Representation”, 2010 IEEE 6th World Congress on Services, Miami, FL, 2010, pp. 328-335. [cited by applicant]