WO2021112773A1 - A one-touch authoring system and method for instantaneous content creation and visualization in apps and web browsers on mobile devices and web browsers on desktops via a communication network - Google Patents

A one-touch authoring system and method for instantaneous content creation and visualization in apps and web browsers on mobile devices and web browsers on desktops via a communication network Download PDF

Info

Publication number
WO2021112773A1
WO2021112773A1 PCT/SG2020/050724 SG2020050724W WO2021112773A1 WO 2021112773 A1 WO2021112773 A1 WO 2021112773A1 SG 2020050724 W SG2020050724 W SG 2020050724W WO 2021112773 A1 WO2021112773 A1 WO 2021112773A1
Authority
WO
WIPO (PCT)
Prior art keywords
button
server
user
screen
databases
Prior art date
Application number
PCT/SG2020/050724
Other languages
French (fr)
Inventor
Uros SMOLNIK
Rudi KOVAC
Andrej POLJANEC
So-Young Kang
Original Assignee
Gnowbe Group Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gnowbe Group Ltd. filed Critical Gnowbe Group Ltd.
Publication of WO2021112773A1 publication Critical patent/WO2021112773A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Definitions

  • the present disclosure generally relates to a digital content authoring and visualization tool, specifically a ‘one-touch authoring’ system and method for instantaneous content creation and visualization on mobile devices and desktops via a communication network.
  • Digital learning and rapid content authoring systems are an essential part of business around the world. People are leveraging technology to create multi -media digital content as a part of personal and professional work for many use cases ranging from upskilling to communications to entertainment. Most of these digital learning, communications and engagement systems are accessed primarily through web browsers on desktop computers. Subject matter experts, content creators and instructional designers use authoring tools accessible primarily from web browsers from desktop computers to create digital content optimized for a web-based interface seen on a PC/desktop. A majority of authoring tools require creating, editing and publishing using one or more software programs before the content is made accessible to users. Furthermore, these authoring tools require multiple steps and clicks to view, publish and distribute the content to the users.
  • SCORM Shareable Content Object Reference Model
  • web-based authoring on a desktop does not provide as much flexibility as digital content creators need to be desk-bound when designing and creating digital content. Additionally, this prevents large groups of people (e.g., remote workforce, deskless workforce, physical labor employees and contractors, those without a PC, etc.) from being able to easily create and access digital content. This could be critical in the area of safety, which is one of the major concerns of individuals who manage and work for those types of organizations.
  • the present disclosure provides a ‘one-touch’ authoring system and method for instantaneous multi-media content creation and visualization from an app or web browser on a mobile device and/or from a web browser on a PC/desktop via a communication network.
  • a computer-implemented method comprising: in a distributed computer network comprising one or more client systems, a server, and one or more databases, the one or more client systems and the one or more databases connected to the server through one or more connections, said one or more client systems comprising at least one processor and a screen, the at least one processor is configured to: display a first button on the screen to a first user authorized to make changes in the one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter the one or more connections between the client system and the server such that the client system does not receive changes in the one or more databases from the server, said changes made by a second user; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the one or more connections between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receive
  • the first button is an edit button
  • the second button is a save button
  • the at least one processor is further configured to: in response to the first user interaction selecting the first button, display one or more fields on the screen for user input.
  • the at least one processor is further configured to, in response to the first user interaction by the first user selecting the first button, display a third button on the screen, and in response to a third user interaction by the first user selecting the third button, alter an image on the screen without altering the one or more connections between the one or more client systems and the server.
  • the third button is a view button.
  • the one or more connections between the one or more client systems and the server is an open persistent connection.
  • the one or more client systems sends changes in the one or more databases through the server as messages.
  • the messages are sent to a message queue and are processed by one or more backend services.
  • the messages in the message queue are processed asynchronously by the one or more backend services.
  • the at least one processor is further configured to display a notification on the screen upon receiving changes in the one or more databases through the server.
  • an apparatus for authoring a package of content comprising: at least one memory device and at least one processor, the at least one processor is operably coupled to the at least one memory device; a screen coupled to the at least one processor; an application loaded into the at least one memory device comprising instructions to be executed by the at least one processor, the instructions instruct the at least one processor: to display a first button on the screen to a first user authorized to make changes in one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter a connection between a client system and a server such that the client system does not receive changes to the one or more databases from the server, said changes made by a second user; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the connection between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes
  • the instructions executed by the at least one processor further comprising instructions to display one or more fields on the screen for user input in response to the first user interaction selecting the first button.
  • the instructions executed by the at least one processor further comprise instructions to: in response to the first user interaction selecting the first button, display a third button on the screen, and in response to a third user interaction by the first user selecting the third button, alter an image on the screen without altering the connection between the client system and the server.
  • the instructions executed by the at least one processor further comprise instructions to display a notification on the screen upon receiving changes in the one or more databases through the server.
  • a computer-readable storage medium comprising instructions to be executed with at least one memory device and at least one processor, when executing the instructions, the at least one processor: displays a first button on a display to a first user authorized to make changes in one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter a connection between a client system and a server such that the client system does not receive changes made by a second user in the one or more databases from the server; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the connection between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user in the one or more databases through the server.
  • FIG. 1 is a simplified block diagram of a distributed computer network incorporating a system for creating, authoring and viewing content, in accordance with some embodiments of the present disclosure
  • FIG. 2 is an illustration of an example of a computer system, in accordance with some embodiments of the present disclosure
  • FIG. 3 is a high-level diagram illustrating a sequence as an example of a process of setting up a new program (e.g., a package of content) on a mobile application executing on a client system, in accordance with some embodiments of the present disclosure;
  • a new program e.g., a package of content
  • FIGs. 4A to 4D depict screenshots of GUIs illustrating a sequence of a process of setting up a new program (e.g., a package of content) on a mobile application executing on a client system, in accordance with some embodiments of the present disclosure
  • FIG. 5 is a schematic diagram illustrating a sequence for editing or viewing of program content using a mobile application, in accordance with some embodiments of the present disclosure
  • FIG. 6 is a schematic diagram showing interactions of different components during editing or viewing of program content using a mobile application, in accordance with some embodiments of the present disclosure
  • Fig. 7A is a schematic diagram showing a sequence for switching from a learner mode to a curator mode on a mobile application on a client system, in accordance with some embodiments of the present disclosure
  • Fig. 7B is a schematic diagram showing a sequence for switching from a curator mode to a learner mode on a mobile application on a client system, in accordance with some embodiments of the present disclosure
  • FIG. 8 is a schematic diagram depicting a screenshot of GUI illustrating a list of action types or forms in which content may be delivered in a session, in accordance with some embodiments of the present disclosure
  • Figs. 9A to 9B are schematic diagrams depicting screenshots of GUIs illustrating settings of a session, in accordance with some embodiments of the present disclosure.
  • Fig. 10 is a schematic diagram depicting a screenshot of GUI illustrating settings of a program, in accordance with some embodiments of the present disclosure.
  • the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”.
  • the terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like.
  • the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently. Unless otherwise indicated, use of the conjunction “or” as used herein is to be understood as inclusive (any or all of the stated options).
  • Some embodiments of the present disclosure provide a system that is optimized for authoring, creating and viewing seamless multi-media content on mobile devices or on a PC.
  • the system may be employed on a mobile or a desktop system, with a mobile application or a client application.
  • the system when employed on a mobile system, may be optimized for mobile-first content design, engagement entertainment, learning, communications, enablement, training, alignment, operations, compliance, regulatory training, assessments, certifications, product and sales updates, client engagement, alignment and behavioral change.
  • Some embodiments of the present disclosure provide a ‘one-touch authoring’ system and method to embed various functions to encourage greater engagement as it is optimally designed to leverage the functionalities of a smartphone. This includes the use of pop-ups, notifications, use of smartphone video and photo capture, drawing and other capabilities embedded in a smartphone / tablet portable device.
  • Some embodiments of the present disclosure provide a ‘one-touch authoring’ system and method that may be used for multiple use cases including, but not limited to, the digitization of multi-media content for social engagement, gamified learning, entertainment, learning, communications, enablement, training, alignment, operations, compliance, regulatory training, assessments, certifications, product and sales updates, client engagement, alignment and behavioral change.
  • the ‘one-touch authoring’ system and method may further enable the curator to gamify the user experience through points, rewards, pop-ups, badges, leaderboards and other features that encourage users to engage and participate in the program content.
  • the ‘one-touch authoring’ system and method of the present disclosure may be able to significantly reduce the time and effort required to digitize multi-media content by making it easily accessible and editable from an app or web browser within a mobile device or from a web browser on a PC/desktop through one-touch which instantaneously switches between editing and view mode which is instantaneously made accessible to all of the users of the content real-time and synchronously.
  • the ‘one-touch authoring’ system may also provide greater agility for users who have the ability to make real-time changes and edits to content already distributed and published to manage version control and ensure that the users have the most updated digital content across multi -media with automated push and email notifications.
  • the communication network comprises a computer (or host) who which can be a mobile operating system) which can receive information or a service from the service provider (or server) and servers which provide information or access to services.
  • the client and server network works in a back-and-forth mechanism, in a request-response manner.
  • the term “curator” refers to a user who uses a system of the present disclosure to create content, or digital microcontent.
  • the content may be created on a curator device, which may be on a mobile phone or a desktop system, but preferably a mobile phone.
  • the term “learner” refers to a user who consumes content on a system of the present disclosure created by a curator. The user may consume the content through the system of the present disclosure on a learner device, which may be on a mobile phone or a desktop system, but preferably a mobile phone.
  • Curator access may be given by an administrator of an organization, or when a user creates a program on a system of the present disclosure and starts to create or edit content. Thus, all users are learners, but only users who are given curator access are curators.
  • the system of the present disclosure allows curators to switch between a “curator mode” or a “learner mode” by selecting an icon or button on the client application or mobile application.
  • curator mode refers to an interface that curators see when creating content while the term “learner mode” refers to an interface that learners see when they are learning.
  • program refers to one or more units of micro content created or edited by a user that are combined to meet a certain objective, with each unit of micro content termed a “session”. This may be any topic, subject, or interest area and is unlimited to the curators’ imagination.
  • stack refers to an array or list structure of function calls and parameters used in modem computer programming and CPU architecture. Some programming languages use the stack to store data that is local to a procedure. Space for local data items is allocated from the stack when the procedure is entered and is deallocated when the procedure is exited.
  • FIG. 1 is a simplified block diagram of a distributed computer network 100 incorporating a system for creating, authoring and viewing content, in accordance with some embodiments of the present disclosure.
  • Distributed computer network 100 comprises one or more client systems 105, and a server system (or server) 115 coupled to a communication network 120 via a plurality of communication links 125.
  • Communication links 125 may be hardwire links, optical links, satellite or other wireless communications links, wave propagation links, or any other mechanisms for communication of information.
  • Communication network 120 provides a mechanism for allowing the various components of distributed computer network 100 to communicate and exchange information with each other.
  • Communication network 120 may be the internet, although other communication networks like a local area network (LAN), a wireless network, or a private network, may be implemented.
  • LAN local area network
  • wireless network or a private network
  • the one or more client systems 105 may send information to or receive information from server system 115 through communication network 120.
  • Information may also be stored on one or more databases 130 connected to server system 115.
  • Databases 130 may comprise information like user information, user account information, course information, subscription information, user responses in the form of text, images, videos or uploads and program data.
  • Server 115 may be responsible for receiving information from the one or more client systems 105, performing any processing required, and for forwarding the processing results to the one or more client systems 105.
  • Server 115 may be a GraphQL server implementing GraphQL as a query language, although other server systems or query languages may be employed.
  • GraphQL is a query language, which is an interface used by client systems 105 to communicate with the one or more databases 130, regardless of the type of database used.
  • the one or more client systems 105 may be connected to server 115 through connections within communication link 125.
  • the one or more client systems 105 may be connected to server 115 through communication link 125.
  • communication link 125 may be open persistent connections, although other connections may be employed. These open persistent connections, also known as “subscriptions”, may be connected to different endpoints of server 115 and wait for incoming information or messages with changes from server 115.
  • the communication link 125 may be described as subscriptions 125 though it should be understood that other communication links may be implemented.
  • client systems 105 request data from an endpoint when the client application is loading for the first time, and subsequently receive real-time updates, taking into account network latency, through subscriptions 125.
  • the different endpoints of server 115 may pass information or messages related to different parts of a client application executing on a client system 105. Examples of such information or messages include changes to courses available, changes to course content, and activity notifications. Changes can further comprise any changes made to programs, e.g., to the content of the packages.
  • the processing required to satisfy the request may be performed by server system 115 or may alternatively be delegated to other servers connected to communication network 120.
  • the subscriptions 125 also allow the synchronization of a single user account across different client systems 105: any changes would be reflected in real-time, taking into account network latency, on one or more client applications simultaneously running on various client systems 105.
  • the interaction between the one or more client systems 105 with server 115 is further detailed in Figs. 5 and 6.
  • a client application executing on the one or more client systems 105 enables users to select, access, retrieve, or receive information or messages stored by server system 115 through communication network 120.
  • the client application may run on the one or more client systems 105 through usage of a “web browser” as a universal client, or be stored locally on the one or more client systems 105 as a mobile application (i.e. an “app”).
  • a mobile application i.e. an “app”.
  • the client application may be shown and described as a mobile app or a mobile application though it should be understood that other client applications may be implemented.
  • Fig. 2 is an illustration of an example of a computer system 200, in accordance with some embodiments of the present disclosure.
  • Client system 105 may be computer system 200, although other computer systems with different configurations may be implemented.
  • Computer system 200 may be any computing device including desktop computers and portable electronic devices such as smartphones, tablet computers and laptops.
  • Computer system 200 may comprise a screen 205, at least one memory 210, at least one processor 215, input device 220 and a storage 225.
  • Processor 215 may include one or more processing units and may be configured to operate in accordance with programmed instructions that are stored in memory 210.
  • the at least one memory 210 may interact with the at least one processor 215 and may include one or more volatile or nonvolatile memory devices .
  • Memory 210 may be used to store an executable version of a software or mobile application useful to practice the techniques described in the present disclosure.
  • memory 210 may include a storage 225, which is a computable readable medium for storing instructions for operation of processor 215, though in other embodiments, storage 225 may be separate from memory 210.
  • screen 205 may be a computer monitor or screen.
  • Processor 215 may communicate with screen 205 to display one or more GUIs of a mobile application executing on client system 105 or on computer system 200.
  • Processor 215 may further communicate with input device 220, which may be a mouse, a keyboard, a touch screen integrated with screen 205 or any other pointing device for enabling a user to input information, data or instructions for operation of processor 215.
  • input device 220 which may be a mouse, a keyboard, a touch screen integrated with screen 205 or any other pointing device for enabling a user to input information, data or instructions for operation of processor 215.
  • computer system 200 may comprise an antenna 230 for wireless communication with communication network 120 if communication link 125 is wireless.
  • FIG. 2 is a mere example of a computing device suitable for use, although other configurations or computing devices will be readily apparent to one of ordinary skill in the art.
  • computer system 200 may be shown and described as mobile device 200 though it should be understood that various other computing devices may be used.
  • the process of embodiments disclosed herein may be performed by processor 215 using computer implemented instructions embodied on a computer-readable storage medium, for example, storage 225.
  • Fig. 3 is a high-level diagram illustrating sequence 300 as an example of a process of setting up a new program (e.g., a package of content) on a mobile application executing on client system 105 of the present disclosure, in accordance with some embodiments of the present disclosure.
  • the mobile application may comprise multiple programs or packages of content.
  • the mobile application, or a relevant part thereof is loaded into memory 210 of computer system 200 and is executed by processor 215.
  • Figs. 4A to 4D depict screenshots of GUIs illustrating the sequence 300 of the process of setting up a new program (e.g., a package of content) on a mobile application executing on client system 105, in accordance with some embodiments of the present disclosure.
  • Sequence 300 may be implemented as an authoring tool that is part of a mobile application developed on mobile operating systems, such as, for example, iOS (provided by Apple) and Android (provided by Google).
  • a mobile application developed on mobile operating systems, such as, for example, iOS (provided by Apple) and Android (provided by Google).
  • sequence 300 commences after a user launches a mobile application on mobile device 200 or a domain running client system 105 on a web browser, thus bringing the user to a home page.
  • the home page will display a start button which commences sequence 300.
  • the start button will state the text “Create a New Program”, although the start button may be implemented or displayed in other forms, such as icons or images, or may state other text.
  • a curator may select the start button in operation 310 to launch the authoring tool and commence sequence 300.
  • the curator may input program data in operation 315 after selecting the start button in operation 310.
  • the input of program data in operation 315 may include setting a program title in operation 320, selecting a program language in operation 325, setting a program difficulty in operation 330, and setting a program category in operation 335.
  • the various operations within operation 315 may be displayed in separate GUIs or may be displayed on a single GUI (see Figs. 4A to 4D). The user may proceed through the various GUIs for the various operations within operation 315 by selecting a button 415 in GUI 410 (Fig. 4A) or GUI 420 (Fig. 4B).
  • buttons 415 may be implemented or displayed in other forms, such as icons or images, or may state other text.
  • operations 320, 325, 330 and 335 are described and illustrated sequentially, it should be understood that this sequential order is not a strict requirement and the various operations may be carried out in any order.
  • program data to be input in operation 315 does not have to include all the information input in operations 320, 325, 330 and 335.
  • Program data to be input in operation 315 is also not restricted in those input in operations 320, 325, 330 and 335, and other information may be input.
  • setting a program title in operation 320 comprises the input of data via input device 220 into a free form text field, such as text field 412 in GUI 410 as shown in Fig. 4A.
  • the curator may then move onto the next operation in operation 315 by selecting button 415.
  • selecting a program language in operation 325 comprises the selection of a field 422 in GUI 420 via input device 220, as shown in Fig. 4B.
  • a list of languages 424 is displayed to the curator, as illustrated in GUI 430 (Fig. 4C).
  • the curator would then be able to scroll through the list of languages 424 and select their preferred language by input via input device 220.
  • the curator is returned to GUI 420 (Fig. 4B). The curator may then move onto the next operation in operation 315 by selecting button 415.
  • selecting a program difficulty in operation 330 and setting a program category in operation 335 comprises the selection of field 442 and field 444, respectively, on the same GUI, as illustrated in GUI 440 (Fig. 4D).
  • operations 330 and 335 may be carried out on separate GUIs.
  • a pop-up list similar to list of languages 424 is displayed to the curator for user interaction or selection by input via input device 220.
  • field 442 and field 444 may be free form text fields similar to field 412.
  • a curator may end sequence 300 by selecting a ‘create’ button 450 (see Fig. 4D) in operation 340, to indicate to system 105 that a new program has been created.
  • a ‘create’ button 450 the program data input calls a createCourse GraphQL mutation with the data inserted. This mutation triggers an Application Program Interface (API) call that validates the data and “starts” the backend pipeline, which returns some requested data to the client.
  • API Application Program Interface
  • Requested data refers to any data that is requested within the program, and may include a generated course ID, course or program title, category, length of program/course, number of actions, number of sessions, type of file, curator name, title and bio, and the access code needed to show the link to invite learners into the test group.
  • GraphQL differs from standard APIs in that an API always returns a preset bundle of information, while GraphQL is dynamic. The mobile application uses this returned data to optimistically update itself and show that a new program is being created. The API then generates messages in a message queue with the program data input or gathered during the program creation sequence 300.
  • Backend services asynchronously process the message queue, which stores program data to one or more databases, and passes updates to client systems 105 through subscriptions 125 to update client systems 105 with information that a new program is created.
  • Client systems 105 receive information about the newly created program via active subscriptions 125. The process is described in more detail below in relation to Fig. 6.
  • Fig. 5 is a schematic diagram illustrating a sequence 500 for editing or viewing of program content using a mobile application, in accordance with the present disclosure. Each of the steps are briefly described immediately below. A more detailed explanation of each step is provided with respect to the remaining figures.
  • sequence 500 commences in operation 505, where a first user runs a mobile application and selects a program (e.g., a package of content).
  • the mobile application programming provides instructions for processor 215 to execute.
  • the processor 215 of the client system 105 determines whether the first user is authorized to make changes in the content on database 130, i.e., has curator access to the program and whether the first user can edit the content in the program . If processor 215 of the client system 105 determines that the first user has curator access and can edit the content on database 130, the processor 215 displays a first button 705 for user interaction, on a homepage of the mobile application on screen 205 in operation 515 (see Fig. 7A).
  • the first button 705 may be an ‘edit’ button 705 which indicates to client system 105 that the curator wishes to edit the content on database 130.
  • the first user can then enter a curator mode in operation 520 by interacting with or selecting the ‘edit’ button 705 via input on input device 220. If the first user does not have curator access and is unable to edit the content, client system 105 receives changes from server 115 through subscriptions 125 in operation 525, and then updates the content displayed on screen 205 in operation 550.
  • the processor 215 alters the connection between client system 105 and server 115 such that client system 105 is does not receive changes made by a second user, or other users in the one or more databases 130 from server 115 through communication network 120 in operation 530. If the first user is not in curator mode, the client system 105 receives changes made by the second, or other users in the one or more databases 130 from server 115 through subscriptions 125 in operation 525, and then updates the content displayed on screen 205 in operation 550.
  • processor 215 alters the connection between client system 105 and server 115 to prevent client system 105 from receiving changes made by the second user, or other users in the one or more databases 130 from server 115 in operation 530
  • the first user may proceed to change the program content and save the changes in operation 535.
  • the client application is implemented on a “web browser” as a universal client, changes may be saved at predetermined time intervals, and preferably every 750 msec. Changes may also be saved when the first user leaves a modified field. If the client application is implemented as a mobile application, the changes may be saved when the first user interacts with or selects a second button 740 on the GUI.
  • Second button 740 may be ‘save’ button 740 displayed on screen 205 for user interaction (see Figs. 7A and 7B).
  • the connection between client system 105 and server 115 is altered such that the client system 105 sends changes to the one or more databases 130 through server 115, and receives changes in the one or more databases 130 through server 115.
  • Client system 105 sends changes in the one or more databases 130 through server 115 by publishing a message to the message queue through server 115 in operation 540. After the message is published to the message queue in operation 540, operation 545 is implemented such that the one or more databases 130 are updated, and the updates are broadcasted through subscriptions 125.
  • the broadcasted updates are then received by client systems 105 in operation 525, and the client systems 105 update the content displayed on screen 205 in operation 550.
  • client systems 105 update the content displayed on screen 205 in operation 550.
  • Fig. 6 is a schematic diagram showing the interactions of the different components during the editing or viewing of program content using a mobile application, in accordance with the present disclosure.
  • the mobile application executing on client system 105 may have two or more interfaces: a curator mode 700 and a learner mode 600.
  • a client system 105 is in curator mode 700, the connection between the client system 105 and the server system 115 is one-way such that changes made on client system 105 in curator mode 700 are sent to server 115, but client system 105 in curator mode 700 does not receive any changes from server.
  • the connection between the client system 105 and the server system 115 is two-way, such that changes made on client system 105 in learner mode 600 are sent to server 115, and changes on server 115 are pushed to the client system 105 in learner mode 600 via subscriptions 125.
  • client system 105 when changes made on client system 105 are saved, client system 105 calls an updateCourse course GraphQL mutation with the updated content. This mutation triggers an API call that validates data and “starts” the backend pipeline 630 of the backend services by sending one or more messages from server 115 into backend pipeline 630, while returning some requested data to client system 105 immediately. Client system 105 uses the returned data to optimistically update itself to show that the program is being updated.
  • backend pipeline 630 comprises a message queue 635, one or more backend micro-services 640 and one or more databases 130.
  • the backend pipeline 630 commences with messages sent from server 115 into message queue 635.
  • the one or more messages contain data to be processed by the one or more backend micro-services 640.
  • the one or more messages contain data to be processed by a specific backend micro-service 640.
  • Message queue 635 provides temporary storage between a sender and a receiver so that the sender can keep operating without interruption when the receiver or destination program is busy or not connected.
  • the sender may be server 115 and the receiver may be the one or more backend micro-services 640.
  • the sender and the receiver may both be the one or more backend micro-services 640 such that message queue 635 sends messages to and receives messages from backend micro-services 640.
  • Backend micro-services 640 processes messages in message queue 635 and performs operations on the one or more databases 130.
  • Backend micro-services 640 stores program data to the one or more databases 130, as well as passes on updates to client systems 105 via subscriptions 125 through server 115.
  • backend micro-services 640 processes the messages asynchronously as asynchronous processing allows a task to call a service and move on to the next task while the service processes the request at its own pace.
  • Client systems 105 receiving the updates process the newly received information with program updates and update the GUI displayed on the mobile application in real-time taking into account network latency.
  • the GUI may be updated to display a tag stating “NEW” or “UPDATED”.
  • Backend micro-services 640 may also send notifications or emails and may send updates to client systems 105 that are subscribed.
  • Fig. 7A is a schematic diagram showing a sequence for switching from a learner mode 600 to a curator mode 700 on a mobile application on client system 105, in accordance with some embodiments of the present disclosure.
  • GUI 710 depicts a mobile application in learner mode 600 after a new program is created according to sequence 300, and a curator wishes to set up a new session within the new program. If the first user is a curator, an ‘edit’ button 705 will be displayed on GUI 710 to access the curator mode 700.
  • Fig. 7A illustrates ‘edit’ button 705 as a pen icon, ‘edit’ button 705 may be implemented or displayed in other forms, such as text or images, or may be other icons.
  • a curator may enter curator mode 700 by selecting ‘edit’ button 705 via input device 220. Selection of ‘edit’ button 705 will create a curating stack 715 for curation.
  • GUI 720 depicts a mobile application in curator mode 700 after a curator selects ‘edit’ button 705 on GUI 710. Client system 105 in curator mode 700 will not receive changes from other curators or from server 115.
  • GUI 720 depicting a mobile application in curator mode 700 may comprise a new action button 735, and one or more fields for user interaction or input, including a session field 725 and one or more action fields 730.
  • Session field 725 may be a free form text field for the curator to input the title of the session via input device 220.
  • One or more action fields 730 may comprise one or more actions that may be incorporated into a session.
  • “Actions” are the forms in which content may be delivered in a session and may include the following: Video, Text, Quote, Image & Audio, Question & Answer, Multiple Choice, Take a Photo or Video, Web Link, External Web Link, Assessment and Certificate of Completion (see Fig. 8).
  • a curator may add more actions by selecting the new action button 735 via input on input device 220.
  • new action button 735 is selected, a transition to GUI 800 displaying a list of action types 810 occurs (see Fig. 8).
  • the curator may scroll through the list of action types 810 to select their desired form of content delivery via input on input device 220.
  • GUI 720 depicting a mobile application in curator mode 700 may further comprise a ‘save’ button 740.
  • Fig. 7A illustrates ‘save’ button 740 as the word “SAVE”
  • ‘save’ button 740 may be implemented or displayed in other forms for user interaction, such as icons or images, or may state other words.
  • ‘save’ button 740 is selected, changes in the program are updated on the one or more databases 130 and the updates are sent to client systems 105 as described above in relation to Fig. 6.
  • GUI 720 depicting a mobile application in curator mode 700 may further comprise a third button 745 or ‘view’ button 745 for user interaction.
  • Fig. 7A illustrates ‘view’ button 745 as an eye icon
  • ‘view’ button 745 may be implemented or displayed in other forms, such as text or images, or may be other icons.
  • ‘view’ button 745 is selected, the GUI will transition to a GUI in learner mode 600, the process of which is illustrated in Fig. 7B.
  • FIG. 7B is a schematic diagram showing a sequence for switching from curator mode 700 to learner mode 600 on a mobile application on client system 105, in accordance with some embodiments of the present disclosure.
  • GUI 750 depicts a mobile application in curator mode 700, with a ‘view’ button 745, a ‘save’ button 740, a session field 725, one or more action fields 730, and a new action button 735.
  • ‘view’ button 745 is selected, a learning stack 760 will be created and the GUI will transition into GUI 770 which is a mobile application in learner mode 600. Selecting ‘view’ button 745 will allow the curator to view what the program will look like in learner mode without uploading the changes to server 115.
  • this ‘one-touch authoring’ system which includes both mobile apps as well as web browser-based authoring on the mobile phone or on a desktop, reduces the cognitive load on the curator to create mobile-friendly content as they can view the accurate learner view on their mobile phones or on the web browser on PC/laptop immediately.
  • GUI 770 will comprise an ‘edit’ button 705 for the curator to enter into curator mode 700 if they wish to make further edits to the program, as well as a ‘save’ button 740 for the curator to save the changes made to server 115.
  • Fig. 8 is a schematic diagram depicting a screenshot of GUI 800 illustrating a list of action types 810 or forms in which content may be delivered in a session, in accordance with some embodiments of the present disclosure.
  • the forms in which content may be delivered is termed an action, or actions.
  • a curator When a curator is creating or editing a program, they may include one or more actions.
  • Examples of actions include Video, Text, Quote, Image & Audio, Question & Answer, Multiple Choice, Take a Photo or Video, Web Link, External Web Link, Assessment, Certificate of Completion, Design Games and/or Gamification Elements, Upload Documents, Draw, Match, Fill in the Blank, and Drag and Drop:
  • the “Multiple Choice” action will allow a curator to enter a question and multiple answers for a learner to select.
  • the curator may choose to set certain answers as “correct”. Alternatively, the curator may choose to not set any of the answers as “correct”.
  • the “Upload Documents” action is an extension of “Take a Photo or Video” action and expands to allow the curator to ask learners to upload files (e.g., ppt, excel, pdf, word documents, images, videos, etc.) as evidence of understanding or application.
  • files e.g., ppt, excel, pdf, word documents, images, videos, etc.
  • Figs. 9A to 9B are schematic diagrams depicting screenshots of GUIs 900 and 950 illustrating the settings of a session, in accordance with some embodiments of the present disclosure.
  • the session settings include an option 910 to uncover the actions sequentially one by one, an option 920 to lock the specific session until a specified date, a list of options 930 for notifications, and an option 940 for the toggling of “assessment mode”.
  • option 910 to uncover the actions sequentially one by one is toggled “off’, the learner may scroll through all the actions of a session without completing the preceding action.
  • option 910 to uncover the actions sequentially one by one is toggled “on”, the learner may only proceed to the next action after completing the preceding action.
  • a calendar may pop up on the GUI to allow the curator to select a specified date on which the session will be open to the learner. The session will then be automatically unlocked on the specified date. This saves curators administrative efforts in manually making the sessions available to the learners.
  • the curator can communicate with learners through the list of options 930 for notifications.
  • Curators can customize, schedule and/or automate daily email or push notifications to be pushed to learners automatically or based on a specified time. These automated nudges are designed to improve learners’ engagement and/or result in driving behavior change.
  • Curators and learners can also communicate with each other in the application or in the program on the web to improve the quality, effectiveness and engagement level of the content being delivered on the phone and on the PC/desktop/laptop.
  • the option 940 for “assessment mode” may be toggled “on” and “off’.
  • the option 940 for “assessment mode” may only be toggled “on” when the session comprises exclusively of “Assessment” actions.
  • a list of options 960 for the customization of the “Assessment” action would appear to the curator.
  • the options in the list of options 960 may include, for example, shuffle assessment actions, number of assessments shown, shuffle choices, and time limit:
  • the “number of assessments shown” option comprises a free form text field for the curator to state the number of “Assessment” actions to be shown to the learner.
  • the number that the curator can input may be less than or equal to the total number of “Assessment” actions in a session.
  • GUIs 900 and 950 may further comprise a ‘save’ button 740 for the curator to save any changes made to the settings of the session.
  • Fig. 10 is a schematic diagram depicting a screenshot of GUI 1000 illustrating the settings of a program, in accordance with some embodiments of the present disclosure.
  • the program settings include a list of options 1010 for a learning mode.
  • the list of options 1010 for a learning mode allow curators to control the sequence of learning and may include a “daily learning” mode, a “streak learning” mode, and an “unlocked” mode. If the “unlocked” mode option is selected, all the sessions within a program are available at all times. If the “daily learning” mode option is selected, the sessions within a program are unlocked one a day. If the “streak learning” mode option is selected, latter sessions are only unlocked after the previous sessions are completed. Different learning modes are suitable for different content. For example, when a program is accessible to learners with different levels of expertise, the “unlocked” mode is recommended. Although certain learning modes are illustrated above, it should be understood that other learning modes may also be implemented.
  • GUI 1000 may further comprise a list 1015 of program data input in operation 315 of sequence 300 when creating a program, a ‘save’ button 740 for the curator to save any changes made to the settings of the program, and an option 1020 for the curator to set a passing grade in order for a learner to obtain a certificate of completion.

Abstract

The present disclosure provides a 'one-touch authoring' system and method for instantaneous content creation and visualization on mobile devices and desktops. The system may be optimized for mobile-first content design for multiple use cases including, but not limited to, the digitization of multi-media content for social engagement, entertainment, learning, communications, enablement, training, alignment, operations, compliance, regulatory training, assessments, certifications, product and sales updates, client engagement, alignment and behavioral change.

Description

A ONE-TOUCH AUTHORING SYSTEM AND METHOD FOR INSTANTANEOUS CONTENT CREATION AND VISUALIZATION IN APPS AND WEB BROWSERS ON MOBILE DEVICES AND WEB BROWSERS ON DESKTOPS VIA A COMMUNICATION NETWORK
TECHNICAL FIELD
[0001] The present disclosure generally relates to a digital content authoring and visualization tool, specifically a ‘one-touch authoring’ system and method for instantaneous content creation and visualization on mobile devices and desktops via a communication network.
BACKGROUND
[0002] Digital learning and rapid content authoring systems are an essential part of business around the world. People are leveraging technology to create multi -media digital content as a part of personal and professional work for many use cases ranging from upskilling to communications to entertainment. Most of these digital learning, communications and engagement systems are accessed primarily through web browsers on desktop computers. Subject matter experts, content creators and instructional designers use authoring tools accessible primarily from web browsers from desktop computers to create digital content optimized for a web-based interface seen on a PC/desktop. A majority of authoring tools require creating, editing and publishing using one or more software programs before the content is made accessible to users. Furthermore, these authoring tools require multiple steps and clicks to view, publish and distribute the content to the users. Finally, many of those tools require the mastery of Shareable Content Object Reference Model (SCORM), thus creating a barrier to entry for individuals or organizations looking to create multi-media digital content. The difficulty in updating SCORM files makes it challenging to quickly adapt and update the content making it a less agile and inflexible format. SCORM provides limitations when considering mobile-first (app-based) and microleaming content.
[0003] In addition, with the rise of smartphones, companies need to accommodate and adapt to a younger workforce that is increasingly demanding for multi-media, digital content that is designed “mobile -first”, which means that the content is designed for optimal consumption in an app on a smartphone. This is in contrast with digital content that is “mobile -responsive” which is the current dominant way of addressing this challenge. “Mobile-responsive” design means that content is optimized for a web browser viewed on a larger PC/desktop interface and made visible through the relatively small mobile display screen assuming that the viewer is sitting down However, as the digital content was designed assuming the viewer is sitting and viewing from a larger screen, “mobile-responsive” content can make it more challenging to read the text and view images on a smaller mobile display screen. This also makes it difficult for visually impaired people to access “mobile-responsive” content on their mobile device. Finally, it is also challenging to input data and to navigate from one webpage to another, leading to poor user experience. Overall, there is thus poor engagement, completion and retention of the content.
[0004] Some authoring tools provide the option to create responsive designs, meaning that the website will adapt to the user’s screens. However, going down to smaller resolutions (often termed “graceful degradation”) means hiding and wrapping elements while trying to support as many original features as possible. In this case, the mobile experience is functional rather than refined.
[0005] Finally, web-based authoring on a desktop does not provide as much flexibility as digital content creators need to be desk-bound when designing and creating digital content. Additionally, this prevents large groups of people (e.g., remote workforce, deskless workforce, physical labor employees and contractors, those without a PC, etc.) from being able to easily create and access digital content. This could be critical in the area of safety, which is one of the major concerns of individuals who manage and work for those types of organizations. With nearly three-quarters of the world using just their smartphones to access the internet by 2025, there is thus a need for a simple, easy-to-use ‘one touch’ content authoring solution that is optimized for creating seamless mobile content from an app on a mobile device or on any web browser via a smartphone, tablet, PC or computer.
SUMMARY
[0006] The present disclosure provides a ‘one-touch’ authoring system and method for instantaneous multi-media content creation and visualization from an app or web browser on a mobile device and/or from a web browser on a PC/desktop via a communication network.
[0007] There is thus provided according to an exemplary embodiment of the disclosure, a computer-implemented method, the method comprising: in a distributed computer network comprising one or more client systems, a server, and one or more databases, the one or more client systems and the one or more databases connected to the server through one or more connections, said one or more client systems comprising at least one processor and a screen, the at least one processor is configured to: display a first button on the screen to a first user authorized to make changes in the one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter the one or more connections between the client system and the server such that the client system does not receive changes in the one or more databases from the server, said changes made by a second user; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the one or more connections between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user in the one or more databases through the server.
[0008] In an exemplary embodiment of the disclosure, the first button is an edit button, and the second button is a save button. Optionally, the at least one processor is further configured to: in response to the first user interaction selecting the first button, display one or more fields on the screen for user input.
[0009] In an exemplary embodiment of the disclosure, the at least one processor is further configured to, in response to the first user interaction by the first user selecting the first button, display a third button on the screen, and in response to a third user interaction by the first user selecting the third button, alter an image on the screen without altering the one or more connections between the one or more client systems and the server. Optionally, the third button is a view button.
[0010] In an exemplary embodiment of the disclosure, the one or more connections between the one or more client systems and the server is an open persistent connection. Optionally, the one or more client systems sends changes in the one or more databases through the server as messages. Optionally, the messages are sent to a message queue and are processed by one or more backend services. Optionally, the messages in the message queue are processed asynchronously by the one or more backend services. Optionally, the at least one processor is further configured to display a notification on the screen upon receiving changes in the one or more databases through the server.
[0011] There is further provided according to an exemplary embodiment of the disclosure, an apparatus for authoring a package of content, the apparatus comprising: at least one memory device and at least one processor, the at least one processor is operably coupled to the at least one memory device; a screen coupled to the at least one processor; an application loaded into the at least one memory device comprising instructions to be executed by the at least one processor, the instructions instruct the at least one processor: to display a first button on the screen to a first user authorized to make changes in one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter a connection between a client system and a server such that the client system does not receive changes to the one or more databases from the server, said changes made by a second user; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the connection between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user to the one or more databases through the server.
[0012] In an exemplary embodiment of the disclosure, the instructions executed by the at least one processor further comprising instructions to display one or more fields on the screen for user input in response to the first user interaction selecting the first button. Optionally, the instructions executed by the at least one processor further comprise instructions to: in response to the first user interaction selecting the first button, display a third button on the screen, and in response to a third user interaction by the first user selecting the third button, alter an image on the screen without altering the connection between the client system and the server. Optionally, the instructions executed by the at least one processor further comprise instructions to display a notification on the screen upon receiving changes in the one or more databases through the server.
[0013] There is further provided according to an exemplary embodiment of the disclosure, a computer-readable storage medium comprising instructions to be executed with at least one memory device and at least one processor, when executing the instructions, the at least one processor: displays a first button on a display to a first user authorized to make changes in one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter a connection between a client system and a server such that the client system does not receive changes made by a second user in the one or more databases from the server; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the connection between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user in the one or more databases through the server.
BRIEF DESCRIPTION OF THE DRAWINGS [0014] In order for the present disclosure, to be better understood and for its practical applications to be appreciated, the following Figures are provided and referenced hereafter. It should be noted that the Figures are given as examples only and in no way limit the scope of the disclosure. Fike components are denoted by like reference numerals. [0015] In the drawings:
[0017] Fig. 1 is a simplified block diagram of a distributed computer network incorporating a system for creating, authoring and viewing content, in accordance with some embodiments of the present disclosure;
[0018] Fig. 2 is an illustration of an example of a computer system, in accordance with some embodiments of the present disclosure;
[0019] Fig. 3 is a high-level diagram illustrating a sequence as an example of a process of setting up a new program (e.g., a package of content) on a mobile application executing on a client system, in accordance with some embodiments of the present disclosure;
[0020] Figs. 4A to 4D depict screenshots of GUIs illustrating a sequence of a process of setting up a new program (e.g., a package of content) on a mobile application executing on a client system, in accordance with some embodiments of the present disclosure;
[0021] Fig. 5 is a schematic diagram illustrating a sequence for editing or viewing of program content using a mobile application, in accordance with some embodiments of the present disclosure;
[0022] Fig. 6 is a schematic diagram showing interactions of different components during editing or viewing of program content using a mobile application, in accordance with some embodiments of the present disclosure;
[0023] Fig. 7A is a schematic diagram showing a sequence for switching from a learner mode to a curator mode on a mobile application on a client system, in accordance with some embodiments of the present disclosure;
[0024] Fig. 7B is a schematic diagram showing a sequence for switching from a curator mode to a learner mode on a mobile application on a client system, in accordance with some embodiments of the present disclosure;
[0025] Fig. 8 is a schematic diagram depicting a screenshot of GUI illustrating a list of action types or forms in which content may be delivered in a session, in accordance with some embodiments of the present disclosure;
[0026] Figs. 9A to 9B are schematic diagrams depicting screenshots of GUIs illustrating settings of a session, in accordance with some embodiments of the present disclosure; and [0027] Fig. 10 is a schematic diagram depicting a screenshot of GUI illustrating settings of a program, in accordance with some embodiments of the present disclosure.
DETAILED DESCRIPTION
[0028] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. However, it will be understood by those of ordinary skill in the art that the disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, modules, units and/or circuits have not been described in detail so as not to obscure the disclosure.
[0029] Although embodiments of the disclosure are not limited in this regard, discussions utilizing terms such as, for example, “processing,” “computing,” “calculating,” “determining,” “establishing”, “analyzing”, “checking”, or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, a mobile operating system or other electronic computing device, that manipulates and/or transforms data represented as physical (e.g., electronic) quantities within the computer’s registers and/or memories into other data similarly represented as physical quantities within the computer’s or smartphone’s registers and/or memories or other information non-transitory storage medium (e.g., a memory) that may store instructions to perform operations and/or processes.
[0030] Although embodiments of the disclosure are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”. The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently. Unless otherwise indicated, use of the conjunction “or” as used herein is to be understood as inclusive (any or all of the stated options).
[0031] Some embodiments of the present disclosure provide a system that is optimized for authoring, creating and viewing seamless multi-media content on mobile devices or on a PC. The system may be employed on a mobile or a desktop system, with a mobile application or a client application. The system, when employed on a mobile system, may be optimized for mobile-first content design, engagement entertainment, learning, communications, enablement, training, alignment, operations, compliance, regulatory training, assessments, certifications, product and sales updates, client engagement, alignment and behavioral change.
[0032] Some embodiments of the present disclosure provide a ‘one-touch authoring’ system and method to embed various functions to encourage greater engagement as it is optimally designed to leverage the functionalities of a smartphone. This includes the use of pop-ups, notifications, use of smartphone video and photo capture, drawing and other capabilities embedded in a smartphone / tablet portable device.
[0033] Some embodiments of the present disclosure provide a ‘one-touch authoring’ system and method that may be used for multiple use cases including, but not limited to, the digitization of multi-media content for social engagement, gamified learning, entertainment, learning, communications, enablement, training, alignment, operations, compliance, regulatory training, assessments, certifications, product and sales updates, client engagement, alignment and behavioral change. The ‘one-touch authoring’ system and method may further enable the curator to gamify the user experience through points, rewards, pop-ups, badges, leaderboards and other features that encourage users to engage and participate in the program content.
[0034] The ‘one-touch authoring’ system and method of the present disclosure may be able to significantly reduce the time and effort required to digitize multi-media content by making it easily accessible and editable from an app or web browser within a mobile device or from a web browser on a PC/desktop through one-touch which instantaneously switches between editing and view mode which is instantaneously made accessible to all of the users of the content real-time and synchronously. The ‘one-touch authoring’ system may also provide greater agility for users who have the ability to make real-time changes and edits to content already distributed and published to manage version control and ensure that the users have the most updated digital content across multi -media with automated push and email notifications. This integration is powered by a communication network that automates the messaging with the publishing or editing of the digital content instantaneously and synchronously across multiple devices and systems. The communication network comprises a computer (or host) who which can be a mobile operating system) which can receive information or a service from the service provider (or server) and servers which provide information or access to services. The client and server network works in a back-and-forth mechanism, in a request-response manner. [0035] As used herein the term “curator” refers to a user who uses a system of the present disclosure to create content, or digital microcontent. The content may be created on a curator device, which may be on a mobile phone or a desktop system, but preferably a mobile phone.
[0036] As used herein the term “learner” refers to a user who consumes content on a system of the present disclosure created by a curator. The user may consume the content through the system of the present disclosure on a learner device, which may be on a mobile phone or a desktop system, but preferably a mobile phone.
[0037] Users are curators when they are given curator access. Curator access may be given by an administrator of an organization, or when a user creates a program on a system of the present disclosure and starts to create or edit content. Thus, all users are learners, but only users who are given curator access are curators. The system of the present disclosure allows curators to switch between a “curator mode” or a “learner mode” by selecting an icon or button on the client application or mobile application.
[0038] As used herein the term “curator mode” refers to an interface that curators see when creating content while the term “learner mode” refers to an interface that learners see when they are learning.
[0039] As used herein the term “program” refers to one or more units of micro content created or edited by a user that are combined to meet a certain objective, with each unit of micro content termed a “session”. This may be any topic, subject, or interest area and is unlimited to the curators’ imagination.
[0040] As used herein the term “stack” refers to an array or list structure of function calls and parameters used in modem computer programming and CPU architecture. Some programming languages use the stack to store data that is local to a procedure. Space for local data items is allocated from the stack when the procedure is entered and is deallocated when the procedure is exited.
[0041] Fig. 1 is a simplified block diagram of a distributed computer network 100 incorporating a system for creating, authoring and viewing content, in accordance with some embodiments of the present disclosure. Distributed computer network 100 comprises one or more client systems 105, and a server system (or server) 115 coupled to a communication network 120 via a plurality of communication links 125. Communication links 125 may be hardwire links, optical links, satellite or other wireless communications links, wave propagation links, or any other mechanisms for communication of information. Communication network 120 provides a mechanism for allowing the various components of distributed computer network 100 to communicate and exchange information with each other. Communication network 120 may be the internet, although other communication networks like a local area network (LAN), a wireless network, or a private network, may be implemented.
[0042] According to some embodiments of the present disclosure, the one or more client systems 105 may send information to or receive information from server system 115 through communication network 120. Information may also be stored on one or more databases 130 connected to server system 115. Databases 130 may comprise information like user information, user account information, course information, subscription information, user responses in the form of text, images, videos or uploads and program data. Server 115 may be responsible for receiving information from the one or more client systems 105, performing any processing required, and for forwarding the processing results to the one or more client systems 105. Server 115 may be a GraphQL server implementing GraphQL as a query language, although other server systems or query languages may be employed. GraphQL is a query language, which is an interface used by client systems 105 to communicate with the one or more databases 130, regardless of the type of database used. The one or more client systems 105 may be connected to server 115 through connections within communication link 125. Preferably, the one or more client systems 105 may be connected to server 115 through communication link 125. Preferably, communication link 125 may be open persistent connections, although other connections may be employed. These open persistent connections, also known as “subscriptions”, may be connected to different endpoints of server 115 and wait for incoming information or messages with changes from server 115. For the purpose of illustration, in the following description, the communication link 125 may be described as subscriptions 125 though it should be understood that other communication links may be implemented.
[0043] According to some embodiments of the present disclosure, client systems 105 request data from an endpoint when the client application is loading for the first time, and subsequently receive real-time updates, taking into account network latency, through subscriptions 125. The different endpoints of server 115 may pass information or messages related to different parts of a client application executing on a client system 105. Examples of such information or messages include changes to courses available, changes to course content, and activity notifications. Changes can further comprise any changes made to programs, e.g., to the content of the packages. The processing required to satisfy the request may be performed by server system 115 or may alternatively be delegated to other servers connected to communication network 120. The subscriptions 125 also allow the synchronization of a single user account across different client systems 105: any changes would be reflected in real-time, taking into account network latency, on one or more client applications simultaneously running on various client systems 105. The interaction between the one or more client systems 105 with server 115 is further detailed in Figs. 5 and 6.
[0044] According to some embodiments of the present disclosure, a client application executing on the one or more client systems 105 enables users to select, access, retrieve, or receive information or messages stored by server system 115 through communication network 120. The client application may run on the one or more client systems 105 through usage of a “web browser” as a universal client, or be stored locally on the one or more client systems 105 as a mobile application (i.e. an “app”). For the purpose of illustration, in the following description, the client application may be shown and described as a mobile app or a mobile application though it should be understood that other client applications may be implemented.
[0045] Fig. 2 is an illustration of an example of a computer system 200, in accordance with some embodiments of the present disclosure. Client system 105 may be computer system 200, although other computer systems with different configurations may be implemented. Computer system 200 may be any computing device including desktop computers and portable electronic devices such as smartphones, tablet computers and laptops. Computer system 200 may comprise a screen 205, at least one memory 210, at least one processor 215, input device 220 and a storage 225. Processor 215 may include one or more processing units and may be configured to operate in accordance with programmed instructions that are stored in memory 210. The at least one memory 210 may interact with the at least one processor 215 and may include one or more volatile or nonvolatile memory devices . Memory 210 may be used to store an executable version of a software or mobile application useful to practice the techniques described in the present disclosure. In some embodiments, memory 210 may include a storage 225, which is a computable readable medium for storing instructions for operation of processor 215, though in other embodiments, storage 225 may be separate from memory 210.
[0046] According to some embodiments of the present disclosure, screen 205 may be a computer monitor or screen. Processor 215 may communicate with screen 205 to display one or more GUIs of a mobile application executing on client system 105 or on computer system 200. Processor 215 may further communicate with input device 220, which may be a mouse, a keyboard, a touch screen integrated with screen 205 or any other pointing device for enabling a user to input information, data or instructions for operation of processor 215. In some embodiments, computer system 200 may comprise an antenna 230 for wireless communication with communication network 120 if communication link 125 is wireless. The computer system 200 illustrated in Fig. 2 is a mere example of a computing device suitable for use, although other configurations or computing devices will be readily apparent to one of ordinary skill in the art. For the purpose of illustration, in the following description, computer system 200 may be shown and described as mobile device 200 though it should be understood that various other computing devices may be used. The process of embodiments disclosed herein may be performed by processor 215 using computer implemented instructions embodied on a computer-readable storage medium, for example, storage 225.
[0047] Start of content creation
[0048] Fig. 3 is a high-level diagram illustrating sequence 300 as an example of a process of setting up a new program (e.g., a package of content) on a mobile application executing on client system 105 of the present disclosure, in accordance with some embodiments of the present disclosure. The mobile application may comprise multiple programs or packages of content. During execution, the mobile application, or a relevant part thereof, is loaded into memory 210 of computer system 200 and is executed by processor 215. Figs. 4A to 4D depict screenshots of GUIs illustrating the sequence 300 of the process of setting up a new program (e.g., a package of content) on a mobile application executing on client system 105, in accordance with some embodiments of the present disclosure. Sequence 300 may be implemented as an authoring tool that is part of a mobile application developed on mobile operating systems, such as, for example, iOS (provided by Apple) and Android (provided by Google). Once the mobile application is downloaded onto a mobile device, it will typically appear as an “app” icon on a display view of the device. By tapping or otherwise selecting the icon, the mobile application is launched, opens and appears on the screen of the mobile device. Each of the steps of sequence 300 is described immediately below.
[0049] According to some embodiments of the present disclosure, sequence 300 commences after a user launches a mobile application on mobile device 200 or a domain running client system 105 on a web browser, thus bringing the user to a home page. If the user is a curator, the home page will display a start button which commences sequence 300. For the purpose of illustration, in the following description, the start button will state the text “Create a New Program”, although the start button may be implemented or displayed in other forms, such as icons or images, or may state other text. A curator may select the start button in operation 310 to launch the authoring tool and commence sequence 300.
[0050] According to some embodiments of the present disclosure, the curator may input program data in operation 315 after selecting the start button in operation 310. The input of program data in operation 315 may include setting a program title in operation 320, selecting a program language in operation 325, setting a program difficulty in operation 330, and setting a program category in operation 335. The various operations within operation 315 may be displayed in separate GUIs or may be displayed on a single GUI (see Figs. 4A to 4D). The user may proceed through the various GUIs for the various operations within operation 315 by selecting a button 415 in GUI 410 (Fig. 4A) or GUI 420 (Fig. 4B). Although Figs. 4A and 4B illustrate button 415 as stating “NEXT”, button 415 may be implemented or displayed in other forms, such as icons or images, or may state other text. Although operations 320, 325, 330 and 335 are described and illustrated sequentially, it should be understood that this sequential order is not a strict requirement and the various operations may be carried out in any order. In addition, program data to be input in operation 315 does not have to include all the information input in operations 320, 325, 330 and 335. Program data to be input in operation 315 is also not restricted in those input in operations 320, 325, 330 and 335, and other information may be input.
[0051] According to some embodiments of the present disclosure, setting a program title in operation 320 comprises the input of data via input device 220 into a free form text field, such as text field 412 in GUI 410 as shown in Fig. 4A. The curator may then move onto the next operation in operation 315 by selecting button 415.
[0052] According to some embodiments of the present disclosure, selecting a program language in operation 325 comprises the selection of a field 422 in GUI 420 via input device 220, as shown in Fig. 4B. Preferably, when the curator selects field 422, a list of languages 424 is displayed to the curator, as illustrated in GUI 430 (Fig. 4C). The curator would then be able to scroll through the list of languages 424 and select their preferred language by input via input device 220. Preferably, after selecting a language on GUI 430 (Fig. 4C), the curator is returned to GUI 420 (Fig. 4B). The curator may then move onto the next operation in operation 315 by selecting button 415.
[0053] According to some embodiments of the present disclosure, selecting a program difficulty in operation 330 and setting a program category in operation 335 comprises the selection of field 442 and field 444, respectively, on the same GUI, as illustrated in GUI 440 (Fig. 4D). Alternatively, operations 330 and 335 may be carried out on separate GUIs. Preferably, when the curator selects either field 442 or field 444, a pop-up list similar to list of languages 424 is displayed to the curator for user interaction or selection by input via input device 220. Alternatively, field 442 and field 444 may be free form text fields similar to field 412. [0054] According to some embodiments of the present disclosure, after program data has been input in operation 315, a curator may end sequence 300 by selecting a ‘create’ button 450 (see Fig. 4D) in operation 340, to indicate to system 105 that a new program has been created. Once the curator selects ‘create’ button 450, the program data input calls a createCourse GraphQL mutation with the data inserted. This mutation triggers an Application Program Interface (API) call that validates the data and “starts” the backend pipeline, which returns some requested data to the client. Requested data refers to any data that is requested within the program, and may include a generated course ID, course or program title, category, length of program/course, number of actions, number of sessions, type of file, curator name, title and bio, and the access code needed to show the link to invite learners into the test group. GraphQL differs from standard APIs in that an API always returns a preset bundle of information, while GraphQL is dynamic. The mobile application uses this returned data to optimistically update itself and show that a new program is being created. The API then generates messages in a message queue with the program data input or gathered during the program creation sequence 300. Backend services asynchronously process the message queue, which stores program data to one or more databases, and passes updates to client systems 105 through subscriptions 125 to update client systems 105 with information that a new program is created. Client systems 105 receive information about the newly created program via active subscriptions 125. The process is described in more detail below in relation to Fig. 6.
[0055] Editing a program
[0056] Fig. 5 is a schematic diagram illustrating a sequence 500 for editing or viewing of program content using a mobile application, in accordance with the present disclosure. Each of the steps are briefly described immediately below. A more detailed explanation of each step is provided with respect to the remaining figures.
[0057] According to some embodiments of the present disclosure, sequence 500 commences in operation 505, where a first user runs a mobile application and selects a program (e.g., a package of content). The mobile application programming provides instructions for processor 215 to execute. In operation 510, the processor 215 of the client system 105 determines whether the first user is authorized to make changes in the content on database 130, i.e., has curator access to the program and whether the first user can edit the content in the program . If processor 215 of the client system 105 determines that the first user has curator access and can edit the content on database 130, the processor 215 displays a first button 705 for user interaction, on a homepage of the mobile application on screen 205 in operation 515 (see Fig. 7A). The first button 705 may be an ‘edit’ button 705 which indicates to client system 105 that the curator wishes to edit the content on database 130. The first user can then enter a curator mode in operation 520 by interacting with or selecting the ‘edit’ button 705 via input on input device 220. If the first user does not have curator access and is unable to edit the content, client system 105 receives changes from server 115 through subscriptions 125 in operation 525, and then updates the content displayed on screen 205 in operation 550.
[0058] According to some embodiments of the present disclosure, if the first user is in curator mode in operation 520, the processor 215 alters the connection between client system 105 and server 115 such that client system 105 is does not receive changes made by a second user, or other users in the one or more databases 130 from server 115 through communication network 120 in operation 530. If the first user is not in curator mode, the client system 105 receives changes made by the second, or other users in the one or more databases 130 from server 115 through subscriptions 125 in operation 525, and then updates the content displayed on screen 205 in operation 550.
[0059] According to some embodiments of the present disclosure, once processor 215 alters the connection between client system 105 and server 115 to prevent client system 105 from receiving changes made by the second user, or other users in the one or more databases 130 from server 115 in operation 530, the first user may proceed to change the program content and save the changes in operation 535. If the client application is implemented on a “web browser” as a universal client, changes may be saved at predetermined time intervals, and preferably every 750 msec. Changes may also be saved when the first user leaves a modified field. If the client application is implemented as a mobile application, the changes may be saved when the first user interacts with or selects a second button 740 on the GUI. Second button 740 may be ‘save’ button 740 displayed on screen 205 for user interaction (see Figs. 7A and 7B). When the changes are saved in operation 535, the connection between client system 105 and server 115 is altered such that the client system 105 sends changes to the one or more databases 130 through server 115, and receives changes in the one or more databases 130 through server 115. Client system 105 sends changes in the one or more databases 130 through server 115 by publishing a message to the message queue through server 115 in operation 540. After the message is published to the message queue in operation 540, operation 545 is implemented such that the one or more databases 130 are updated, and the updates are broadcasted through subscriptions 125. The broadcasted updates are then received by client systems 105 in operation 525, and the client systems 105 update the content displayed on screen 205 in operation 550. [0060] A more detailed explanation of each step of Fig. 5 as performed by the mobile application on client system 105 is provided below. In this discussion, specific, but not- exclusive, examples are presented as the design sequence for the present disclosure is explained.
[0061] Fig. 6 is a schematic diagram showing the interactions of the different components during the editing or viewing of program content using a mobile application, in accordance with the present disclosure. The mobile application executing on client system 105 may have two or more interfaces: a curator mode 700 and a learner mode 600. When a client system 105 is in curator mode 700, the connection between the client system 105 and the server system 115 is one-way such that changes made on client system 105 in curator mode 700 are sent to server 115, but client system 105 in curator mode 700 does not receive any changes from server. On the other hand, when a client system 105 is in learner mode 600, the connection between the client system 105 and the server system 115 is two-way, such that changes made on client system 105 in learner mode 600 are sent to server 115, and changes on server 115 are pushed to the client system 105 in learner mode 600 via subscriptions 125.
[0062] According to some embodiments of the present disclosure, when changes made on client system 105 are saved, client system 105 calls an updateCourse course GraphQL mutation with the updated content. This mutation triggers an API call that validates data and “starts” the backend pipeline 630 of the backend services by sending one or more messages from server 115 into backend pipeline 630, while returning some requested data to client system 105 immediately. Client system 105 uses the returned data to optimistically update itself to show that the program is being updated.
[0063] According to some embodiments of the present disclosure, backend pipeline 630 comprises a message queue 635, one or more backend micro-services 640 and one or more databases 130. The backend pipeline 630 commences with messages sent from server 115 into message queue 635. The one or more messages contain data to be processed by the one or more backend micro-services 640. Preferably, the one or more messages contain data to be processed by a specific backend micro-service 640. Message queue 635 provides temporary storage between a sender and a receiver so that the sender can keep operating without interruption when the receiver or destination program is busy or not connected. The sender may be server 115 and the receiver may be the one or more backend micro-services 640. Alternatively, the sender and the receiver may both be the one or more backend micro-services 640 such that message queue 635 sends messages to and receives messages from backend micro-services 640. Backend micro-services 640 processes messages in message queue 635 and performs operations on the one or more databases 130. Backend micro-services 640 stores program data to the one or more databases 130, as well as passes on updates to client systems 105 via subscriptions 125 through server 115. Preferably, backend micro-services 640 processes the messages asynchronously as asynchronous processing allows a task to call a service and move on to the next task while the service processes the request at its own pace. Client systems 105 receiving the updates process the newly received information with program updates and update the GUI displayed on the mobile application in real-time taking into account network latency. For example, the GUI may be updated to display a tag stating “NEW” or “UPDATED”. Backend micro-services 640 may also send notifications or emails and may send updates to client systems 105 that are subscribed.
[0064] Fig. 7A is a schematic diagram showing a sequence for switching from a learner mode 600 to a curator mode 700 on a mobile application on client system 105, in accordance with some embodiments of the present disclosure. GUI 710 depicts a mobile application in learner mode 600 after a new program is created according to sequence 300, and a curator wishes to set up a new session within the new program. If the first user is a curator, an ‘edit’ button 705 will be displayed on GUI 710 to access the curator mode 700. Although Fig. 7A illustrates ‘edit’ button 705 as a pen icon, ‘edit’ button 705 may be implemented or displayed in other forms, such as text or images, or may be other icons.
[0065] According to some embodiments of the present disclosure, a curator may enter curator mode 700 by selecting ‘edit’ button 705 via input device 220. Selection of ‘edit’ button 705 will create a curating stack 715 for curation. GUI 720 depicts a mobile application in curator mode 700 after a curator selects ‘edit’ button 705 on GUI 710. Client system 105 in curator mode 700 will not receive changes from other curators or from server 115.
[0066] According to some embodiments of the present disclosure, GUI 720 depicting a mobile application in curator mode 700 may comprise a new action button 735, and one or more fields for user interaction or input, including a session field 725 and one or more action fields 730. Session field 725 may be a free form text field for the curator to input the title of the session via input device 220. One or more action fields 730 may comprise one or more actions that may be incorporated into a session. “Actions” are the forms in which content may be delivered in a session and may include the following: Video, Text, Quote, Image & Audio, Question & Answer, Multiple Choice, Take a Photo or Video, Web Link, External Web Link, Assessment and Certificate of Completion (see Fig. 8). A curator may add more actions by selecting the new action button 735 via input on input device 220. When new action button 735 is selected, a transition to GUI 800 displaying a list of action types 810 occurs (see Fig. 8). The curator may scroll through the list of action types 810 to select their desired form of content delivery via input on input device 220.
[0067] According to some embodiments of the present disclosure, GUI 720 depicting a mobile application in curator mode 700 may further comprise a ‘save’ button 740. Although Fig. 7A illustrates ‘save’ button 740 as the word “SAVE”, ‘save’ button 740 may be implemented or displayed in other forms for user interaction, such as icons or images, or may state other words. When ‘save’ button 740 is selected, changes in the program are updated on the one or more databases 130 and the updates are sent to client systems 105 as described above in relation to Fig. 6.
[0068] According to some embodiments of the present disclosure, GUI 720 depicting a mobile application in curator mode 700 may further comprise a third button 745 or ‘view’ button 745 for user interaction. Although Fig. 7A illustrates ‘view’ button 745 as an eye icon, ‘view’ button 745 may be implemented or displayed in other forms, such as text or images, or may be other icons. When ‘view’ button 745 is selected, the GUI will transition to a GUI in learner mode 600, the process of which is illustrated in Fig. 7B.
[0069] Fig. 7B is a schematic diagram showing a sequence for switching from curator mode 700 to learner mode 600 on a mobile application on client system 105, in accordance with some embodiments of the present disclosure. GUI 750 depicts a mobile application in curator mode 700, with a ‘view’ button 745, a ‘save’ button 740, a session field 725, one or more action fields 730, and a new action button 735. When ‘view’ button 745 is selected, a learning stack 760 will be created and the GUI will transition into GUI 770 which is a mobile application in learner mode 600. Selecting ‘view’ button 745 will allow the curator to view what the program will look like in learner mode without uploading the changes to server 115. This allows curators to immediately review how the content will be displayed on the mobile phone and hence, they are able to take note of any issues that would impact the mobile user experience. For example, if paragraphs are too long for mobile users, the curators would be aware of the fact immediately. As compared to other multi-step and multi-touch authoring tools, this ‘one-touch authoring’ system, which includes both mobile apps as well as web browser-based authoring on the mobile phone or on a desktop, reduces the cognitive load on the curator to create mobile-friendly content as they can view the accurate learner view on their mobile phones or on the web browser on PC/laptop immediately. GUI 770 will comprise an ‘edit’ button 705 for the curator to enter into curator mode 700 if they wish to make further edits to the program, as well as a ‘save’ button 740 for the curator to save the changes made to server 115. [0070] Fig. 8 is a schematic diagram depicting a screenshot of GUI 800 illustrating a list of action types 810 or forms in which content may be delivered in a session, in accordance with some embodiments of the present disclosure. The forms in which content may be delivered is termed an action, or actions. When a curator is creating or editing a program, they may include one or more actions. Examples of actions include Video, Text, Quote, Image & Audio, Question & Answer, Multiple Choice, Take a Photo or Video, Web Link, External Web Link, Assessment, Certificate of Completion, Design Games and/or Gamification Elements, Upload Documents, Draw, Match, Fill in the Blank, and Drag and Drop:
(A) “Video” action: The “Video” action will allow the curator to embed a video in the program.
(B) “Text” action: The “Text” action will allow the curator to enter text into a free form text field.
(C) “Quote” action: The “Quote” action will allow the curator to insert a quotation as text, with the option of including a photograph as a background to the text.
(D) “Image & Video” action: The “Image & Video” action will allow the curator to embed an image or audio in the program, as well as include some brief comments on the image or audio.
(E) “Question & Answer” action: The “Question & Answer” action will allow the curator to enter a question and will provide a free open-ended answer field for learners to input text.
(F) “Multiple Choice” action: The “Multiple Choice” action will allow a curator to enter a question and multiple answers for a learner to select. The curator may choose to set certain answers as “correct”. Alternatively, the curator may choose to not set any of the answers as “correct”.
(G) “Take a Photo or Video” action: The “Take a Photo or Video” action will allow the curator to include a field for a learner to upload a photo or a video.
(H) “Web Link” action: The “Web Link” action will allow the curator to embed a link to a website that will open within the mobile application of the present disclosure.
(I) “External Web Link” action: The “External Web Link” action will allow the curator to embed a link to a website that will open on a web browser external to the mobile application of the present disclosure. (J) “Assessment” action: The “Assessment” action will allow the curator to include multiple questions for the learner to answer, and the learner’s final score will be tabulated when they have completed the last “assessment” action of the program. The curator may set a passing grade for a session. The “Assessment” action is discussed below in detail in relation to Fig. 9.
(K) “Certificate of Completion”: The “Certificate of Completion” action will allow the curator to include a certificate of completion to be issued to a learner.
(L) “Design Games or Gamification Elements”: This action will allow the curator to design various types of games (e.g., scenario-based, role plays, interactive) to create a sense of journey, reward and progress for learners. This includes allowing the curator to use gamification elements including, but not limited to, leaderboards, points, badges, pop-up rewards, email rewards, certificates, avatars, character selection, levels, and challenges.
(M) “Upload Documents”: The “Upload Documents” action is an extension of “Take a Photo or Video” action and expands to allow the curator to ask learners to upload files (e.g., ppt, excel, pdf, word documents, images, videos, etc.) as evidence of understanding or application.
(N) “Draw”: The “Draw” action will allow the curator to ask learners to draw or use drawing tools to express their reflections and answers.
(O) “Match”: This “Match” action will allow the curator to design questions which require the learner to match images or text.
(P) “Fill in the Blank” : This action will allow the curator to design questions which require the learner to complete the answer as part of a sentence.
(Q) “Drag and Drop”: This action will allow the curator to design images or text for the learner to move objectives around.
[0071] Figs. 9A to 9B are schematic diagrams depicting screenshots of GUIs 900 and 950 illustrating the settings of a session, in accordance with some embodiments of the present disclosure. The session settings include an option 910 to uncover the actions sequentially one by one, an option 920 to lock the specific session until a specified date, a list of options 930 for notifications, and an option 940 for the toggling of “assessment mode”. When option 910 to uncover the actions sequentially one by one is toggled “off’, the learner may scroll through all the actions of a session without completing the preceding action. When option 910 to uncover the actions sequentially one by one is toggled “on”, the learner may only proceed to the next action after completing the preceding action. When option 920 to lock the specific section is toggled “on”, a calendar may pop up on the GUI to allow the curator to select a specified date on which the session will be open to the learner. The session will then be automatically unlocked on the specified date. This saves curators administrative efforts in manually making the sessions available to the learners.
[0072] According to some embodiments of the present disclosure, the curator can communicate with learners through the list of options 930 for notifications. Curators can customize, schedule and/or automate daily email or push notifications to be pushed to learners automatically or based on a specified time. These automated nudges are designed to improve learners’ engagement and/or result in driving behavior change. Curators and learners can also communicate with each other in the application or in the program on the web to improve the quality, effectiveness and engagement level of the content being delivered on the phone and on the PC/desktop/laptop.
[0073] According to some embodiments of the present disclosure, the option 940 for “assessment mode” may be toggled “on” and “off’. Preferably, the option 940 for “assessment mode” may only be toggled “on” when the session comprises exclusively of “Assessment” actions. When the option 940 for “assessment mode” is toggled on, a list of options 960 for the customization of the “Assessment” action would appear to the curator. The options in the list of options 960 may include, for example, shuffle assessment actions, number of assessments shown, shuffle choices, and time limit:
(A) “Shuffle assessment actions”: When the “shuffle assessment actions” option is toggled “off’, the “Assessment” actions in a session will be presented to the user in the order added by the curator in the session. When “shuffle assessment actions” option is toggled “on”, the “Assessment” actions in a session will be presented in random order for different learners.
(B) “Number of assessments shown”: The “number of assessments shown” option comprises a free form text field for the curator to state the number of “Assessment” actions to be shown to the learner. The number that the curator can input may be less than or equal to the total number of “Assessment” actions in a session.
(C) “Shuffle choices”: When the “shuffle choices” option is toggled “off’, the choices in each of the “Assessment” actions will be presented in the order input by the curator. When the “shuffle choices” option is toggled “on”, the choices in each of the “Assessment” actions will be presented in random order for different learners.
(D)“Time limit”: When the “time limit” option is toggled “off’, there is no time limit for the learner to complete a session in “assessment mode”. When the “time limit” option is toggled on, the program will impose a time limit for the learner to complete a session in “assessment mode”.
[0074] The various customizations to the “assessment mode” can assist the curator to ensure that learners receive different combinations of questions and choices, making it challenging for learners to share answers. The imposition of a time limit would also allow the curator to ensure that learners have acquired certain level of familiarity to the content.
[0075] According to some embodiments of the present disclosure, GUIs 900 and 950 may further comprise a ‘save’ button 740 for the curator to save any changes made to the settings of the session.
[0076] Fig. 10 is a schematic diagram depicting a screenshot of GUI 1000 illustrating the settings of a program, in accordance with some embodiments of the present disclosure. The program settings include a list of options 1010 for a learning mode. The list of options 1010 for a learning mode allow curators to control the sequence of learning and may include a “daily learning” mode, a “streak learning” mode, and an “unlocked” mode. If the “unlocked” mode option is selected, all the sessions within a program are available at all times. If the “daily learning” mode option is selected, the sessions within a program are unlocked one a day. If the “streak learning” mode option is selected, latter sessions are only unlocked after the previous sessions are completed. Different learning modes are suitable for different content. For example, when a program is accessible to learners with different levels of expertise, the “unlocked” mode is recommended. Although certain learning modes are illustrated above, it should be understood that other learning modes may also be implemented.
[0077] According to some embodiments of the present disclosure, GUI 1000 may further comprise a list 1015 of program data input in operation 315 of sequence 300 when creating a program, a ‘save’ button 740 for the curator to save any changes made to the settings of the program, and an option 1020 for the curator to set a passing grade in order for a learner to obtain a certificate of completion.
[0078] It should be appreciated that the above-described methods and apparatus may be varied in many ways, including omitting or adding steps, changing the order of steps and the type of devices used. It should be appreciated that different features may be combined in different ways. In particular, not all the features shown above in a particular embodiment are necessary in every embodiment of the disclosure. Further combinations of the above features are also considered to be within the scope of some embodiments of the disclosure. [0079] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims, which follow.

Claims

1. A computer-implemented method, the method comprising: in a distributed computer network comprising one or more client systems, a server, and one or more databases, the one or more client systems and the one or more databases connected to the server through one or more connections, said one or more client systems comprising at least one processor and a screen, the at least one processor is configured to: display a first button on the screen to a first user authorized to make changes in the one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter the one or more connections between the client system and the server such that the client system does not receive changes in the one or more databases from the server, said changes made by a second user; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the one or more connections between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user in the one or more databases through the server.
2. The computer-implemented method according to claim 1, wherein the first button is an edit button.
3. The computer-implemented method according to claim 1 or 2, wherein the second button is a save button.
4. The computer-implemented method according to any of claims 1 to 3, wherein the at least one processor is further configured to: in response to the first user interaction selecting the first button, display one or more fields on the screen for user input.
5. The computer-implemented method according to any of claims 1 to 4, wherein the at least one processor is further configured to, in response to the first user interaction by the first user selecting the first button, display a third button on the screen, and in response to a third user interaction by the first user selecting the third button, alter an image on the screen without altering the one or more connections between the one or more client systems and the server.
6. The computer-implemented method according to claim 5, wherein the third button is a view button.
7. The computer-implemented method according to any of claims 1 to 6, wherein the one or more connections between the one or more client systems and the server is an open persistent connection.
8. The computer-implemented method according to any of claims 1 to 7, wherein the one or more client systems sends changes in the one or more databases through the server as messages.
9. The computer-implemented method according to claim 8, wherein the messages are sent to a message queue and are processed by one or more backend services.
10. The computer-implemented method according to claim 9, wherein the messages in the message queue are processed asynchronously by the one or more backend services.
11. The computer-implemented method according to any of claims 1 to 10, wherein the at least one processor is further configured to display a notification on the screen upon receiving changes in the one or more databases through the server.
12. An apparatus for authoring a package of content, the apparatus comprising: at least one memory device and at least one processor, the at least one processor is operably coupled to the at least one memory device; a screen coupled to the at least one processor; an application loaded into the at least one memory device comprising instructions to be executed by the at least one processor, the instructions instruct the at least one processor: to display a first button on the screen to a first user authorized to make changes in one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter a connection between a client system and a server such that the client system does not receive changes to the one or more databases from the server, said changes made by a second user; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the connection between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user to the one or more databases through the server.
13. The apparatus for authoring a package of content according to claim 12, the instructions executed by the at least one processor further comprising instructions to display one or more fields on the screen for user input in response to the first user interaction selecting the first button.
14. The apparatus for authoring a package of content according to claim 12 or 13, the instructions executed by the at least one processor further comprising instructions to: in response to the first user interaction selecting the first button, display a third button on the screen, and in response to a third user interaction by the first user selecting the third button, alter an image on the screen without altering the connection between the client system and the server.
15. The apparatus for authoring a package of content according to any of claims 12 to 14, the instructions executed by the at least one processor further comprising instructions to display a notification on the screen upon receiving changes in the one or more databases through the server.
16. A computer-readable storage medium comprising instructions to be executed with at least one memory device and at least one processor, when executing the instructions, the at least one processor: displays a first button on a display to a first user authorized to make changes in one or more databases; in response to a first user interaction by the first user selecting the first button, display a second button on the screen and alter a connection between a client system and a server such that the client system does not receive changes made by a second user in the one or more databases from the server; and in response to a second user interaction by the first user selecting the second button displayed on the screen, alter the connection between the client system and the server such that the client system sends changes made by the first user to the one or more databases through the server, and receives changes made by the second user in the one or more databases through the server.
PCT/SG2020/050724 2019-12-06 2020-12-07 A one-touch authoring system and method for instantaneous content creation and visualization in apps and web browsers on mobile devices and web browsers on desktops via a communication network WO2021112773A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10201911755S 2019-12-06
SG10201911755S 2019-12-06

Publications (1)

Publication Number Publication Date
WO2021112773A1 true WO2021112773A1 (en) 2021-06-10

Family

ID=76222718

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2020/050724 WO2021112773A1 (en) 2019-12-06 2020-12-07 A one-touch authoring system and method for instantaneous content creation and visualization in apps and web browsers on mobile devices and web browsers on desktops via a communication network

Country Status (1)

Country Link
WO (1) WO2021112773A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070186157A1 (en) * 2000-08-21 2007-08-09 Walker Richard P Simultaneous multi-user document editing system
CN102495866A (en) * 2011-11-28 2012-06-13 上海量明科技发展有限公司 Method and system for synchronously updating shared documents
US20130006919A1 (en) * 2008-05-12 2013-01-03 Adobe Systems Incorporated Shared edit access of electronic content
US20130297559A1 (en) * 2008-06-25 2013-11-07 Microsoft Corporation Structured coauthoring
US20140373108A1 (en) * 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070186157A1 (en) * 2000-08-21 2007-08-09 Walker Richard P Simultaneous multi-user document editing system
US20140373108A1 (en) * 2007-12-14 2014-12-18 Microsoft Corporation Collaborative authoring modes
US20130006919A1 (en) * 2008-05-12 2013-01-03 Adobe Systems Incorporated Shared edit access of electronic content
US20130297559A1 (en) * 2008-06-25 2013-11-07 Microsoft Corporation Structured coauthoring
CN102495866A (en) * 2011-11-28 2012-06-13 上海量明科技发展有限公司 Method and system for synchronously updating shared documents

Similar Documents

Publication Publication Date Title
US20230195290A1 (en) Method, system and user interface for creating and displaying of presentations
Shah et al. Node. js challenges in implementation
Dou et al. Power of the swipe: Why mobile websites should add horizontal swiping to tapping, clicking, and scrolling interaction techniques
US20140115459A1 (en) Help system
Bright If you go down to the woods today you are in for a big surprise: seeing the wood for the trees in online delivery of career guidance
US20190087404A1 (en) System and method for implementing a proficiency-driven feedback and improvement platform
Semertzidis Mobile application development to enhance higher education lectures
US20020188679A1 (en) Computer implemented method and apparatus providing self-directed online interactive experiences
Golovin Outsystems as a rapid application development platform for mobile and web applications
WO2021112773A1 (en) A one-touch authoring system and method for instantaneous content creation and visualization in apps and web browsers on mobile devices and web browsers on desktops via a communication network
Alturise et al. Factors influencing the acceptance of mobile learning in K-12 education in Saudi Arabia: Towards a shift in the Saudi education system vis-à-vis Saudi 2030 vision
Oyibo et al. A framework for instantiating native mobile multimedia learning applications on Android platform
Hidayat et al. Implementing Code Igniter Framework in Open Source Mobile Learning Application
Hurter et al. Active progress bars: aiding the switch to temporary activities
Pocatilu Developing an M-Learning Application for iOS.
Spelter et al. The user-centred design in the development of a platform for teletherapy for people with aphasia
González-Tato et al. Towards a Collection of Gadgets for an iGoogle e-learning platform
Deaky et al. Towards Android clients for iLab Shared Architecture interactive laboratories
Moumoutzis et al. Coursevo: A Multimedia Online Learning Platform to Support Onlife Communities and its Extension with Gamification Facilities
US20230351908A1 (en) System and Methodology Providing Dynamic Instructional Interactivity in Connection with Computer Based Applications
Martin et al. Mobile Learning
CN113961193A (en) Business activity generation method and device, electronic equipment and storage medium
Roa Designing mobile instant messaging for collaborative health data management in Rwanda
Ssekakubo Refactoring learning management systems for multi-device use in developing countries
Ibrahim et al. Digital tools devising pedagogical approaches: exploring the potential of rule-based design in developing student competencies

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20895606

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20895606

Country of ref document: EP

Kind code of ref document: A1