In one embodiment, the instant application provides one or more of receiving a mobile device's analysis of a movement of a finger, determining a word from the analyzed finger movement, determining a part of a message based on the determined word, placing the word in the message, and based on the analysis, providing space for a new word to be written by the finger.

FIELD

This disclosure relates to the field of transcription, and more specifically, to smart transcription which places parts of a message in its proper place.

BACKGROUND

Currently, transcribing involves the manual placement of the various parts of a message, a means is sought to simplify this task by analyzing the word and placing the text for the user.

SUMMARY

In one embodiment, a method comprises one or more of receiving a mobile device's analysis of a movement of a finger, determining a word from the analyzed finger movement, determining a part of a message based on the determined word, placing the word in the message, and based on the analysis, providing space for a new word to be written by the finger.

In another embodiment, a system comprises a processor and memory, wherein the processor and memory are communicably coupled to one another, wherein the processor is configured to perform one or more of receive a mobile device's analysis of a movement of a finger, determine a word from the analyzed finger movement, determine a part of a message based on the determined word, place the word in the message and based on the analysis, provide space for a new word to be written by the finger.

In a further embodiment, a non-transitory computer readable storage medium configured to store instructions that when executed causes a processor to perform one or more of receive a mobile device's analysis of a movement of a finger, determine a word from the analyzed finger movement, determine a part of a message based on the determined word, place the word in the message and based on the analysis, provide space for a new word to be written by the finger.

DETAILED DESCRIPTION

It will be readily understood that the components of the present disclosure, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the examples of a method, apparatus, and system, as represented in the attached figures, is not intended to limit the scope of the disclosure as claimed, but is merely representative of selected examples of the disclosure.

The features, structures, or characteristics of the disclosure described throughout this specification may be combined in any suitable manner in one or more examples. For example, the usage of the phrases “examples”, “some examples”, or other similar language, throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with the example may be included in at least one example of the present disclosure. Thus, appearances of the phrases “examples”, “in some examples”, “in other examples”, or other similar language, throughout this specification do not necessarily refer to the same group of examples, and the described features, structures, or characteristics may be combined in any suitable manner in one or more examples.

Automove automatically allows the user to move to where they want to hand-write. Users want their handwriting to look very nice. When writing with your finger or a stylus a user might need the total writing surface to extend beyond the physical bounds of the user's computing device. In these instances the user would greatly benefit from a feature that would automatically move them to the end of the last word or drawing they made. Automove may be used on any surface that may be written upon such as an envelope, a card, a photo, a coloring book, and the like. Automove does not rely on any specific surface condition or material to be functional.

The Automove could jump to the end of a word or any other place on the paper the user would want. The Automove could also predict where the user wants it to be placed.

Automove could show movement or could just make the writing area appear in the new position. Automove could be used with handwriting, typing, data selection, data input or other user inputs.

In order to send a card a user knows certain information about the recipient. This information is needed for the recipient receiving the card. The recipient doesn't want this information being available though. However, it's information that our system needs to know. For example this information could be a mailing address which is needed for our system to be able to mail the card but the recipient doesn't want it to be publicly known. So the user can look up the recipient using public info like name, email, etc. Then the user submits the order and our system prints the address on the envelope. The recipient just has to be in our database.

The address book could be used to send cards via mail, email, text message, posting online on websites or other physical or electronic delivery including courier. The address book could be used to track and display the number of cards a user has received, is going to receive, wants to receive, etc.

The address book could be used to display dates like birthdays, anniversaries or other dates. It could display the user's information and information for other people associated with the user like their children. Matching local artists with local fans is currently difficult to achieve due to the lack of technology to properly classify local artists and search nearby events within a prescribed location.

The address book could allow for connections between users which users would need to request, approve or deny.

The address book could allow a user to create profiles for anyone they wish, not just themselves. It could then send these users some form of communication for them approve or it could automatically create their profiles.

Some users enter their info in to the database. Public info and private info. Public info like name, email, phone, public social handles and private info like their mailing address and their birthday.

Some other users look people up by their public or private info. Based on the user's setting they will see certain user info data. The user has the ability to keep data like an address private so that those looking them up may get their name or other public information, but not their mailing address.

The system has access to the user's inputted data. This allows the user to designate what information is public and what information is private. For example, you may make your name, employer and city public and keep your mailing address private. The system would print the mailing address on the envelope after an order is placed to that the sender of the card may not see your address, but it is printed on the envelope by the system.

Computer SystemFIG. 1illustrates the system architecture for an exemplary computer system100with which the current disclosure may be implemented. The exemplary computer system ofFIG. 1is for descriptive purposes only. Although the description may refer to terms commonly used in describing particular computer systems, such as a personal computer, the description and concepts equally apply to other systems, including systems having architectures dissimilar toFIG. 1.

Computer system100typically includes a central processing unit (CPU)110, which may be implemented with one or more microprocessors, a random access memory (RAM)112for temporary storage of information, and a read only memory (ROM)114for permanent storage of information. A memory controller116is provided for controlling RAM. A bus118interconnects the components of the computer system. A bus controller120is provided for controlling the bus. An interrupt controller122is used for receiving and processing various interrupt signals from the system components. Mass storage may be provided by flash124, DVD126, or hard disk128, for example a solid-state drive. Data and software may be exchanged with the computer system via removable media such as the flash drive and DVD. The flash drive is insertable into a Universal Serial Bus, USB, drive130, which is, in turn, connected to the bus by a controller132. Similarly, the DVD is insertable into DVD drive134, which is, in turn, connected to bus by controller136. Hard disk is part of a fixed disk drive138, which is connected to the bus by controller140.

User input to the computer system may be provided by a number of devices. For example, a keyboard142and a mouse144are connected to the bus by a controller146. An audio transducer148, which may act as a microphone and a speaker, is connected to bus by audio controller150, as illustrated. Other input devices, such as a pen and/or tabloid, may be connected to the bus and an appropriate controller and software. DMA controller152is provided for performing direct memory access to the system RAM.

A visual display is generated by video subsystem154, which controls video display156. The computer system also includes a communications adaptor158, which allows the system to be interconnected to a local area network (LAN) or a wide area network (WAN) or other suitable network, schematically illustrated by a bus160and a network162.

Operation of the computer system is generally controlled and coordinated by an operating system, such as the Linux. The operating system controls allocation of system resources and performs tasks such as processing scheduling, memory management, networking, and I/O services, among other things.

Computer SystemFIG. 2illustrates the system200in which the user device210is connected to a network212which in turn is connected to the cloud214and at least one printer for printing out a message. The computer may request data from the cloud or server via the network. The data may be present in local memory, the cloud or the server. Results provided to the user through the mobile device may be provided via the network from the cloud or the server. The processor in the local user's computer, the cloud or the server may use the logic and algorithm to provide the results.

FIG. 3illustrates an example message300viewable on a mobile device display screen. The various parts of the message such as the salutation are automatically placed by the system as the driver moves his finger.

In the examples which follow a mobile device's operating system analyzes the movement of the finger on the screen, this analysis is read by the system and then the users movements, handwriting, is drawn.

The system identifies the last spot they wrote, then when they request auto move to move the paper it can be moved to the last edge of the word.

FIG. 4depicts a first example400method comprises the following actions receive410a mobile device's analysis of finger movement, determine412a word from the analyzed finger movement, determine414a part of the message based on the determined word, place416the word in the message and move418the screen based on the analysis to allow space for a new word to be written by the user.

FIG. 5depicts a second example method500comprises the following actions receive510a mobile device's analysis of finger movement, determine512a word from the analyzed finger movement, determine514a part of the message based on the determined word, place516the word in the message and move518the screen based on an eye movement of the user to allow space for a new word to be written by the user.

FIG. 6depicts a third example method600comprises the following actions receive610a mobile device's analysis of finger movement, determine612a word from the analyzed finger movement, determine614a part of the message based on the determined word, place616the word in the message and move618the screen based on a verbal message of the user to allow space for a new word to be written by the user.

FIG. 7depicts a fourth example method700comprises the following actions receive710a mobile device's analysis of finger movement, determine712a word from the analyzed finger movement, determine714a part of the message based on the determined word, place716the word in the message and move718the screen based on an interpreted thought of the user to allow space for a new word to be written by the user.

FIG. 8depicts a fifth example method800comprises the following actions receive810a mobile device's analysis of finger movement, determine812a word from the analyzed finger movement, determine814a part of the message based on the determined word, place816the word in the message and move818the screen based on an intent prediction to allow space for a new word to be written by the user.

FIG. 9depicts a sixth example method900comprises the following actions receive910a mobile device's analysis of finger movement, determine912a word from the analyzed finger movement, determine914a part of the message based on the determined word, place916the word in the message and move918the screen based on the word placement to allow space for a new word to be written by the user.

As the written line is created, the system keeps track of the x and y coordinates of the last drawn point. When the Automove button is touched, a check is performed to determine whether the writing area is zoomed in. If the writing area is not zoomed in, the Automove button moves the writing area down the y axis by the height of the writing screen by a predetermined amount, in this example the writing area divided by fifteen. If this amount would move the user beyond the maximum y location of the work area, the system simply sets the y coordinate to the external edge of the screen, while the x coordinate is not unaffected.

If the writing area is zoomed in, the Automove tool calculates the distance to move in the x and y axes. The system determines whether a last drawn point exists. The y distance is calculated based on a number of guidelines the user currently has activated. In order to determine the amount of height to shift the paper by the y distance is calculated by taking the current y coordinate of the writing area, and adding to it the height of the writing area divided by a predetermined amount, in one example eleven times the zoom scale of the writing area. In another example we divide by twenty-one times: the y distance is calculated by taking the current y coordinate of the writing area, and adding to it the height of the writing area divided by a predetermined amount, in this example twenty-one times the zoom scale of the writing area. The writing area is then set to this new y coordinate and the x coordinate is unaffected.

If a last drawn point exists, and the writing area is not at the maximum x or y coordinate based on the size of the screen. The x distance is calculated by multiplying the x location of the last written point by the zoom scale of the writing area, then subtracting a predetermine amount, in this case fifty times the zoom scale of the writing area minus ten ie. (lastX*zoomSacle)−((50*zoomScale)−10). The x coordinate of the writing area is then set to the x location indicated by this calculation and the y location is unaffected.

If the writing area is currently at the maximum x coordinate and not the maximum y coordinate. The x coordinate is set back to the origin of the writing area. The y distance is calculated based on a predetermined line height set by the user. The user determines their line height by a number of ways. For example, they may select a desired line height for preset options or they may manually set any number of lines they wish to have. If the user does not set a line height then one is automatically set for them and calculated movement as follows: the y distance is calculated by taking the current y coordinate of the writing area, and adding to it the height of the writing area divided by eleven times the zoom scale of the writing area. If the user has specified a line height then, the y distance is calculated by taking the current y coordinate of the writing area, and adding to it the height of the writing area divided a set number, in this case by twenty-one times the zoom scale of the writing area. The writing area is then set to this new x and y coordinate.

If the writing area is at the maximum y coordinate and not the maximum x coordinate the x distance is calculated by multiplying the x location of the last written point by the zoom scale of the writing area, then subtracting a predetermined amount, in this example fifty times the writing area zoom scale minus ten ie. (lastX*zoomSacle)−((50*zoomScale)−10). The Automove tool then moves the writing area to the x location indicated by this calculation and the y location is unaffected.

If the writing area is at the maximum y coordinate and the maximum x coordinate and the x and y coordinates are unaffected.

Auto move may be used on any surface such as cards, envelopes, photos, letter paper, notebook paper, other writing surfaces and the like.

Although an exemplary example of at least one of the system, method, and non-transitory computer readable medium of the present disclosure has been illustrated in the accompanied drawings and described in the foregoing detailed description, it will be understood that the application is not limited to the examples disclosed, and is capable of numerous rearrangements, modifications, and substitutions without departing from the spirit or scope of the disclosure as set forth and defined by the following claims. For example, the capabilities of the systems can be performed by one or more of the modules or components described herein or in a distributed architecture.

While preferred examples of the present disclosure have been described, it is to be understood that the examples described are illustrative only and the scope of the disclosure is to be defined solely by the appended claims when considered with a full range of equivalents and modifications (e.g., protocols, hardware devices, software platforms etc.) thereto.