Comtool Communication System

A system that simplifies electronic communication and data sharing by integrating various apps into one. The COMTOOL communication system is characterized by a color coded user ID as a security feature for preventing imposters in a user's contacts to reduce fake news distribution. The system integrates a photo album, a calendar, a voice over IP, a video chart, a video playback, a religious and political group's app and a forum app into one interface and makes them available as a mobile application on a mobile phone, a web based application hosted on a server and as an application installed in television sets. A television remote control is designed to transmit data to a television lens for pausing, rewinding and forwarding a video in playback mode. Double pressing a selector button on a television remote control subscribes to a content provider channel.

FIELD OF DISCLOSURE

The present disclosure generally relates to communication systems employed to control, disseminate, and interact with information via user interfaces, software applications, databases and files.

BACKGROUND OF THE DISCLOSURE

Now more than ever, businesses, people, homes, and organizations need to keep communication channels open and accessible. Email applications alone may not be suitable to rely on as a sole means of communication, as today's fast-moving applications require modern, robust, and complex communication software as a means to boost productivity and problem-solving. With communication tools such as group chat, video conferencing, screen sharing, and productivity tools becoming ubiquitous, it may be desirable to provide a communication software apps that connects people in a seamless and integrated way.

BRIEF OVERVIEW

Additional aspects of the disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or can be learned by practice of the disclosure. The advantages of the disclosure will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are and explanatory only and are not restrictive of the disclosure, as claimed.

DETAILED DESCRIPTION OF THE DISCLOSURE

The present disclosure includes many aspects and features. Moreover, while many aspects and features relate to, and are described in, the context of communication systems, embodiments of the present disclosure are not limited to use only in this context. The present disclosure can be understood more readily by reference to the following detailed description of the disclosure and the Examples included therein.

Before the present articles, systems, apparatuses, and/or methods are disclosed and described, it is to be understood that they are not limited to specific manufacturing methods unless otherwise specified, or to particular materials unless otherwise specified, as such can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting. Although any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present disclosure, example methods and materials are now described.

As used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “an opening” can include two or more openings. As used in the specification and the appended claims, the term “all” can include referents to at least one or more unless the context clearly dictates otherwise. Thus, for example, reference to “all” contents can include one or more contents unless there are no contents in which “all” would mean none in this particular context. Therefore all can mean one or more, none, or all as is generally understood.

The terms “first,” “second,” “first part,” “second part,” and the like, where used herein, do not denote any order, quantity, or importance, and are used to distinguish one element from another, unless specifically stated otherwise.

As used herein, the terms “optional” or “optionally” means that the subsequently described event or circumstance can or cannot occur, and that the description includes instances where said event or circumstance occurs and instances where it does not. For example, the phrase “optionally affixed to the surface” means that it can or cannot be fixed to a surface.

Disclosed are the components to be used to manufacture the disclosed apparatuses, systems, and articles of the disclosure as well as the apparatuses themselves to be used within the methods disclosed herein. These and other materials are disclosed herein, and it is understood that when combinations, subsets, interactions, groups, etc. of these materials are disclosed that while specific reference of each various individual and collective combinations and permutation of these materials cannot be explicitly disclosed, each is specifically contemplated and described herein. For example, if a particular material is disclosed and discussed and a number of modifications that can be made to the materials are discussed, specifically contemplated is each and every combination and permutation of the material and the modifications that are possible unless specifically indicated to the contrary. Thus, if a class of materials A, B, and C are disclosed as well as a class of materials D, E, and F and an example of a combination material, A-D is disclosed, then even if each is not individually recited each is individually and collectively contemplated meaning combinations, A-E, A-F, B-D, B-E, B-F, C-D, C-E, and C-F are considered disclosed. Likewise, any subset or combination of these is also disclosed. Thus, for example, the sub-group of A-E, B-F, and C-E would be considered disclosed. This concept applies to all aspects of this application including, but not limited to, steps in methods of making and using the articles and apparatuses of the disclosure. Thus, if there are a variety of additional steps that can be performed it is understood that each of these additional steps can be performed with any specific aspect or combination of aspects of the methods of the disclosure.

With reference now to the drawings, and in particularFIG.1throughFIG.18thereof, examples of the COMTOOL communication system and the principles and concepts thereof will be described.

As disclosed herein, the COMTOOL communication system can be implemented as a system, including software and hardware aspects, that simplifies the electronic communication process by facilitating and controlling operation of multiple communication software applications (apps) and personal apps that share content. These apps supported by the COMTOOL communication system are comprised of: a messaging app; contacts that are shared by multiple apps; forums; photo album; a calendar; a phone app; a video chart; and a video playback app. Furthermore, in some embodiments, the COMTOOL communication system is installable as a software application as an app in mobile computing devices (e.g., smartphone) and a webapp accessible from browsers on computers (e.g., desktop computers), tablets and television sets.

The COMTOOL communication system can be configured to save transaction data on servers. The COMTOOL communication system has other capabilities, such as allowing users to store their data and subsequently share that data external to the system, for instance to social media platforms of different kinds via hypertext transfer protocol (HTTP) links. Data from the COMTOOL communication system can be accessible over a web-based interface utilizing any device having network connectivity, such as a mobile computing device connected to the Internet. In some embodiments, user identifiers (IDs) are color coded by the COMTOOL communication system as a means for preventing imposters from creating new accounts (or names) that are synonymous to existing accounts, hence ensuring security from potential breaches of the system to be used for malicious actions. For example, color coding can prevent a hacker from utilizing names that are synonymous to names (already having existing accounts on the system) to post under the guise of an existing user. As an example, the COMTOOL communication system can be configured to display names IDs (e.g., first instance of the name ID) one color, but secondary name IDs that seem very similar to existing name IDs (e.g., second or more instance of the name ID) are given a different color. Thus, the COMTOOL communication system has the ability to filter fake postings, for example posts from secondary name IDs (e.g., in the different color). Moreover, users of the COMTOOL communication system may be required to describe graphics to be posted and type of content in the graphics so as to control misinformation.

The COMTOOL communication system provides a platform for users to communicate utilizing multiple applications from one system. It provides users with ability to authorize contacts to specific applications including a photo album app, a calendar app, a software based phone app over IP, a video chart app and a video playback app. Users of these apps have to be authorized by the owner individually by placing them in user groups in order to have access.

In addition, the COMTOOL communication system can support collaborative functions. For example, the COMTOOL communication system enables a group of individuals working on a project to communicate (e.g., one-on-one, one-to-many, or many-to-many) on the same topic. During collaborations, users can employ the COMTOOL communication system to access (e.g., read) and interact with messages or posts from other users, with ability to respond to communications and video chart aspects of the collaboration.

As alluded to above, the COMTOOL communication system can be implemented on mobile computing devices (smartphones, tablets) as an app including mobile interface(s) particularly designed for use on mobile computing devices associated with smaller dimensions, smaller screens, and limited capabilities. Also, the COMTOOL communication system can be implemented on primarily stationary computers (e.g., desktop computers) connected to servers through network connection (e.g., Internet) utilizing web interface(s) particularly designed for use on computer devices associated with larger dimensions, larger screens, and greater resources. The COMTOOL communication system can be implemented on other devices having visual display and processing capabilities, for example television sets with operating systems. In this embodiment, the COMTOOL communication system can be installed on a television to function in a similar manner to a remote control device.

As described herein, the COMTOOL communication system can include several user interfaces (UI). A UI of the COMTOOL communication system can be employed to transmit instructions to a processor the computing device in which the system is executing, and invokes processes, functions, and other interfaces of the COMTOOL communication system that are installed in memory of the computing device. The UIs of the COMTOOL communication system can also be configured to wirelessly transmit instructions to a server, and subsequently retrieve data pertaining to content provider channels, wherein a user can add particular channels of interest to a channel list in the app and sorts the channels by category and country. Accordingly, the UIs of the COMTOOL communication system can be considered a data-driven system, as the system supports interactions with database-driven apps.

Further, the COMTOOL communication system offers internal messaging communication. The internal messaging has the capability to receive messages from external email clients, and send messages to external email clients, for instance by automatically reading email addresses from the contacts or email addressed manually entered by the user (e.g., directly typed in). The internal messaging feature of the system has multiple real-world applications that increases the ease of communicating with various types of users. As an example, when non-office employees are out on different floors or different buildings, a supervisor can easily pass messages through the internal messaging feature of the COMTOOL communication system. Thus, all employees on that particular project can read and write to communicate what is going on at their current location. The internal messaging feature utilizes multiple database entities including forums, threads, languages and posts coupled to the users' messages entity to facilitate the communication between different users and groups across platforms, such as mobile phones and tablets.

Also, the COMTOOL communication system, as disclosed, includes various forum features. For example, the COMTOOL communication system can include a UI that allows users to create forums and request access to other existing forums. In some embodiments, the forums are sorted by category and/or country in interactions supported by the COMTOOL communication system.

The COMTOOL communication system implements several apps, as previously described. Users can access these multiple apps of the system from a centralized location. That is, the system can have a main interface (e.g., COMTOOL home interface) that presents several interactive buttons, where each button corresponds to a particular app. Thus, when a user selects a button on the main interface, that button serves as a link to the respective app (and its UIs). In some embodiments, order for any person to have access to the apps of the COMTOOL communication system, that person must be added as a user to a user group controlled by the account owner. As an example, the system wouldn't permit a person to have access to another person's photo album without being added to the album user group. In other words, a user may be provided access to one app of the COMTOOL communication system, without necessarily having access to the others apps the COMTOOL communication system.

Referring now toFIG.1, an example of the main interface100(e.g., COMTOOL home interface) implemented by the COMTOOL communication system is shown. The main interface100can be implement as a graphical user interface (GUI), user experience (UX), or any suitable interface that supports interactive components (e.g., buttons, lines, data entry fields) that enables a user to utilize the various capabilities of the COMTOOL communication system. For example, a computing device, such as a smartphone or tablet, can include one or more apps for implementing the COMTOOL communication system installed thereon. The main interface100may be the initial UI launched on the screen of a computing device, in response to a user initially opening the app to access the COMTOOL communication system.

Examples of additional UIs that can be implemented as elements of the COMTOOL communication system are also illustrated inFIG.2-FIG.11. According to the embodiments, the main interface100is considered the “main” or home UI, as it serves as a centralized location that allows a user to easily access and/or navigate to any of the other UIs supported by the COMTOOL communication system. It should be understood that the UIs illustrated herein are merely exemplary and are not intended to be limiting. Accordingly, the COMTOOL communication system, as disclosed herein, can support other UIs and/or features that are not illustrated inFIG.1-FIG.11. Particularly, in the illustrated example, the main interface100includes a plurality of buttons0101-0130, where each of the buttons0101-0130serve as a clickable link that launches a corresponding UI of the COMTOOL communication system respectively, when selected by the user. Alternatively, in some embodiments, an initial interface of the COMTOOL communication system is a login UI (not shown). The login UI provides a user with a login screen with a button link for creating an account, a text field to enter email or phone number to log into the system, a text field for a password and a button link to submit the collected data. The login UI can also provide a designated window on top where advertisements are placed in form of text, video or audio on mobile phones and tablets, which serves a mechanism that allows the COMTOOL communication system to generate marketing-based revenue.

As seen inFIG.1, the main interface100includes a “Change Default Picture” button0101. During operation, a user may press the “Change Default Picture” button0101arranged at the top left on the main interface100in order to select a picture (e.g., visual or graphic file) that is associated with the user's account within the COMTOOL communication system. Preferably, the user's default picture is a picture that can be used by the COMTOOL communication system and other users of the system to identify the person in which the account belongs to, such as a facial photograph. Selecting the “Change Default Picture” can opens the user's photo album and display all the pictures the user has. Subsequently, the user touches or clicks one picture and confirms to set it as the default picture that is associated with their account, and according first displays when an app of the COMTOOL communication system is launched. In the event the album is empty, the application displays a default picture.

Also,FIG.1shows that the main interface100can include a “Settings” button01012on the top menu of the UI. The “Settings” button01012enables a user to configure, or otherwise determine the settings for, the independent applications of the COMTOOL communication system. A “Settings” UI that is presented in response to a user pressing the “Settings” button01012is prominently illustrated inFIG.2. A “myAccount” button0103is also shown to be include in the top menu of the main interface100. The “myAccount” button0103can be configured to provide a drop down menu, in response to being selected by the user. This drop down menu that launches from the “myAccount” button0103can include logon option if the app is being access via a browser (as opposed to a mobile app), for instance when the app for accessing the COMTOOL communication system is on a desktop computer. The drop down menu that launches from the “myAccount” button0103can also include an admin menu for commercial accounts. The admin menu adds, disables and deletes users, uploads content and edits a financial account. Financial setup and edits include, but are not limited to, change of payment methods such as direct deposit to a bank account, electronic check, pre-paid debit cards and location pickup. Where applicable, users can also set and change tax information and personal data such as address, email, and phone number. The COMTOOL communication system can be configured to save changes to the user's data to database system (e.g., external to the computing device executing the app) or in a local memory (e.g., internal to the computing device executing the app).

The illustrated example shows that the main interface100also includes a “Messages” button0104. The Messages button0104can be selected to by the user to launch an UI that accesses and displays any available messages (e.g., email, SMS, IM, chat, and the like) associated with the user's account in the COMTOOL communication system. For example, the user pressing the Messages0104button opens a UI listing of electronic messages to read. Additionally, the main interface100includes a “SendMessage” button0105. The Send Message button0105can be configured to invoke the “Send Message” UI that is prominently shown inFIG.3, in response to being clicked by the user. The Send Message UI can then be employed to send messages to contacts or any ID typed into the address bar via the COMTOOL communication system.

The “My Forums” button0106on the main interface100can provide a listing of all the forums the user has access to. These forums are ordered by category and/or by country in the various applications of the COMTOOL communication system. The forums can further support additional features, such as streaming live charts and videos. These streams can be access in real-time, or saved to servers for later access and download.

InFIG.1, the main interface100also includes a “Request Forum Access” button0107. By selecting the Request Forum Access button0107, a list of forums supported by the COMTOOL communication system are displayed. As alluded to above, the forums can be sorted by category and/or country. Subsequently, the user can select a particular forum to submit an access request for, where the forum is selected from the list launched by the Request Forum Access button0107.

In the example ofFIG.1, the main interface100includes a “Create Forum button”0108. The Create Forum button0108can be configured to provide a user with an interface where they create and name a new forum to be added to the COMTOOL communication system. The user can also add a category (associated with the newly created forum), add forum administrators, accept members, and submit posts to the created forum. Not shown are the buttons for creating a commercial account and requesting access to a commercial account as staff after a user gets a basic account and gets authenticated to the main interface100.

FIG.1also shows that the main interface100includes a “Contacts” button0109. In response to the user pressing the Contacts button0109, a list of all the contacts saved by the user in the COMTOOL communication system is displayed. According to the embodiments, the “Contacts” UI that is shown prominently inFIG.4is launched subsequent to the user clicking the Contacts button0109from the main interface100. The COMTOOL communication system can have contacts specifically formatted to includes certain data that may be deemed relevant for identifying and/or interacting with the contact via the system. As an example, a format for a listed contact can include: a thumbnail of the contact's default picture (if they have one); the contact name; a button link to a photo album of the contact (if the user has access); a button link to calendar of the contact (if the user has access); a button link to the Voice Over Internet Protocol (VOIP) phone of the contact (if the user has access); and a button link for a video chart with the contact (if the user has access). By clicking on any of the aforementioned button links that correspond to the contact, the COMTOOL communication system can automatically launch the respective app. For instance, the user can click the VOIP phone button displayed in the contact list, and the COMTOOL communication system can automatically launch the app for dialing the VOIP phone to start the VIOP call between the user and the corresponding contact.

According to the embodiments, the user uploads a picture (visual or graphic file) when their associated account is created on the COMTOOL communication system. The main interface100can display that picture in its original file size0110or a reduced file size0111(e.g., thumbnail). For instance, a cursor hover over the user's picture that is currently displayed by the main interface100in the reduced file size0111causes a switch, where the picture is then displayed in the larger, expanded original file size0110.

In addition, the main interface100can include various other buttons, shown as an “My Album” button0112, a “My Calendar” button0113, a “Phone App” button0114, a “Video chart and Video Playback” button0115. The video chart app provides real time video charting which may be saved to file as videos accessible at a later time. As previously described, these button0112-115may also be utilized by the user to launch corresponding apps supported by the COMTOOL communication system. As examples, selecting the My Album button0112can open an app that displays the user's photo album; selecting the My Calendar button0113can launch an app that displays a calendar (e.g., events, important dates) for the user; selecting the “Phone App” button0114can launch a phone app for the user; and selecting the Video chart and Video Playback button0115can launch an app that enables video chart and video playback. There may also be an “Add channel” button0116on the main interface100that provides an interface utilized to add content provider channels. In another embodiment, channels can also be added by the user subscribing during video playback. Particularly in the example shown inFIG.1, all of the discussed buttons0104-0116are position in a section of the interface referred to as the header of the main interface100. Underneath of this header, as seen inFIG.1, is a “Toggle” button0117which can be pushed to collapse the header. Collapsing the header allows for that area of the main interface100to be used for other features of the COMTOOL communication system, such as instant messaging. The toggle button0117can be pushed again to restore the header back from its collapsed position in a toggling manner, when the buttons0104-0116need to be accessible to the user, for example. In some embodiments, scrolling upwards on a computer also collapses the header in a manner similar to using the toggle button0117.

InFIG.1, below the header of the main interface100is another section of the interface, this section includes several other buttons0120-0126, and0128-130and can be employed for displaying instant messages (IMs), for example IMs from the user's contacts. The “Like” button0120can be used to interact with the displayed message. The user can select the Like button0120to display a thumbs up to the displayed message, meaning that the user, who is reading the IM, views the message favorably. The “Share To contacts” button0121allows the user to distribute a message to one or more their contacts. For instance, the user can press the ShareTo Contacts button0121, which automatically submits a selected message to be distributed by the COMTOOL communication system to all of the contacts who are on the user's contacts distribution list. Also, this section of the main interface100can include a “Share to Social Media” button0122. By clicking the Share to Social Media button0122, the system can launch a corresponding app displaying a “Social Media Share” UI which is shown prominently inFIG.7. Accordingly, after selecting the Social Media button0122on the main interface100, the Social Media Share UI is opened which provides a listing of social media platforms such as Facebook™, Twitter™, Linked In™, Google+™, and other platforms where a message can be shared from the COMTOOL communication system. As an example, the user can select a specific IM and the Social Media button0122as displayed on the main interface100, and subsequently select Facebook™ from the list of social media platforms on the Social Media Share UI which causes the system to share the IM with the user's followers on their Facebook™ social media page. Each social media platform, or social media groups, listed on the Social Media Share UI (shown inFIG.7) can have a corresponding check buttons next to the name of the platform. Thus, a user can click checkboxes to select one or more of the platforms listed in the social media group in which to share a message. Similarly, the user can share messages or posts they have created themselves to the social media groups via the Social Media button0122.

Furthermore,FIG.1depicts a Mini Photo space holder0123that is included in the main interface100. The Mini Photo space holder0123can be an area employed to display an image of the author of a currently viewed message. In the event the author has no photo, a default image may be displayed in the Mini Photo space holder0123. InFIG.1, directly below the Mini Photo space holder0123is a user ID0124. As alluded to above, a security feature of the COMTOOL communication system involves displaying the user ID0124as color coded. The user ID0124of a suspected fake account can be shown in a color that is noticeably different from known primary accounts, for instance the user IDs0124can displayed in green for a known primary account, while user IDs0124of an account having a similar name to an already existing user can be displayed in red. Thus, the COMTOOL communication system can deter imposters from creating “spoofed” accounts having similar names to existing user of the system in an attempt to maliciously deceive the other users. Moreover, the interface may use cascade style sheets or other technologies, so that user IDs0124are color coded and images are expanded upon touch or click.

According to the embodiments, the user ID0124is a security feature that indicates to a contact that the person writing the viewed message is their original contact. In operation, another person joins the COMTOOL communication system and registers with the same first name and last name that is already in existence within the system, the user ID0124being color coded distinguishes this potentially suspicious contact. In an embodiment, the user ID0124of the known original users are displayed in a particular color such as green, blue, and the like. Alternatively, the user ID0124of the secondary users that register under existing names are displayed in specific color such as red, or yellow, that is different from the color used for the original users. The color in conjunction with the user ID0124serves as a visual cue which helps contacts to recognize that the message posted is not from their original contact, who may be a hacker or another potentially malicious source.

The “Album” button0125, when selected, opens the photo album of the message sender if the user is part of the album user group of that person. Similarly, the “Calendar” button0126opens the message sender's calendar. In some cases, these buttons0125-0126are grayed out if the user has no access to the contact's album or calendar, respectively. Alternatively, in some embodiments, the buttons0125-0126are dynamically not included in the main interface100when a user is not part of the group.

As seen inFIG.1, the main interface100further includes a “Request a Contact” button0128, a “Reply” button0129, and an add to favorites button0130. By pressing the Request a Contact button0128, the user sends a request to the message sender to be added to their contacts in the COMTOOL communication system. In response to clicking the Reply button0129, an UI providing a text area can be launched from which the user enter text to reply to the message, and subsequently selects a submit button in order to send the reply. The Add to Favorite button0130increments a sender's favorite status count, each time it is selected. This favorite count is shown on their sender's profile when displayed to others. The Add to Favorite button0130also saves a link to the message content from that user's account, so that the user can view that message later in another interface, for example within a favorites UI (not shown).

FIG.1illustrates a post content section0127, which is followed by a reply section0131below it which displays responses to the displayed post. There can be as many replies displayed in this section as posted by other users. This reply section0131section also includes the Mini Photo button0123, the Like0120button, the userID0124, the Album button0125, the Calendar button0126, Request Contact button0128, the Reply button0129, and the Add to Favorites button0130as described in detail above.

Referring now toFIG.2, a Settings UI200of the COMTOOL communication system is illustrated. According to the embodiments, the Settings UI is launched when a user selects the Settings button provided on the main interface (shown inFIG.1). The settings UI200is primarily utilized to configure the independent apps of the COMTOOL communication system and configuring the access privileges to these apps. For example, the user can choose which other users on the system are allowed access to a certain app. The user can make these selections by clicking the checkbox next to the groups desired for allowing access. The default application groups are indicated with a grey filling in the checkbox, but a user can selectively change the settings in the settings UI200to be tailored as deemed desirable and/or appropriate.

In the example, the Settings UI200lists a group of features or functions of the COMTOOL communication system that have settings to be controlled and/or set via the UI200.FIG.2shows the features as: Postings0201; Album0202; calendar view0203; calendar view and add0204, calendar view, add and delete0205, phone voice0206, video chart0207; and video playback0208. In reference to the phone calls and video charts, contacts are added to the user groups before they can call a contact or video chart with them. The checkboxes shown are utilized to add contacts to the respective user groups. Access rights to the calendar app are divided into read, read/write and read/write and edit.

FIG.2shows that Settings UI200allows a user to set the user types, the user ID, email or phone number of the person they are inviting to have access to the corresponding feature. Once the setting is selected for the specified users to have access, the other party gets a request which shows up under messages. The other user can approve the request by pressing or clicking the accept button, or deny the request by clicking a deny button, or ignore the request (e.g., delete the message).

FIG.2also shows “disable feature” buttons220corresponding to each of the features in the Settings UI200. By selecting a disable feature button220for the specific feature, the corresponding app which implements this feature is disabled in the COMTOOL communication system. Moreover,FIG.2depicts that the Settings UI200can include a myAccount tab0209for displaying settings related to the user's account. Not shown inFIG.2is a setting for default language, which allows users select the language to be used as the default in the system.

FIG.3depicts a “Send Message” UI300of the COMTOOL communication system. According to the embodiments, the Send Message UI300can be displayed in response to a user selecting the Send Message button (shown inFIG.1). As seen inFIG.3, the Send Message UI300includes the text fields labeled To, CC and BCC where the recipients addresses are placed. Addresses to populate the text fields can be obtained from the contacts button0301. However, the user can also directly type in the address (internal email) to which the message is going. The formatting menu0302of the Send Message UI300provides a spell checker, highlighter and other text formatting features such as bold faced, italics etc. In the example, the Send Message UI300also includes a message content text area0303. The message content text area0303may also implement an auto spell checker. Furthermore, the Send Message UI300includes a “Send” button0304and “Cancel”0305button. Clicking either of the Send button0304or Cancel button0305causes the system to send the composed message entered by the user (to the indicated recipients), or cancel the message (e.g., message not sent) respectively.

FIG.4depicts a “Contacts” UI400. According to the embodiments, the “Contacts” UI is displayed in response to a user selecting the Contacts button (shown inFIG.1). As seen inFIG.4, the Contacts UI400displays a miniature version of the contact's default photo alongside the name. The Contacts UI400also displays various buttons, for instance a photo album0405button that opens the contact's corresponding photo album, and calendar button0406that opens the contact's corresponding calendar. In the embodiments, the user is only permitted access to open the contact's album and calendar, if the particular contact has added the user to their album and calendar group. The contact UI300further includes the phone call button0407and the video chart buttons0408for the user to initiate those services if they have access to them with that contact. Not showed is the religious and political group app interface which is displayed along if one is in a user group. The Add contact button0409of the Contacts UI400adds a contact to a specific application such as album, calendar, phone app or video chart individually.

As an alternative, if the user does not have access to the contact's features, pressing or clicking one of the button links, such as calendar button0406provides a button to request access to that service so that they can interact with that particular contact on calendar. Subsequently, the contact can decide to grant or deny access for the requesting user. If access is granted, the user requesting the access is added to a user group that has access to the contact's features, such as the calendar service, for instance.

In some instances, access to one service from a contact does not necessarily apply to another service. That is, access to a contact's Album does not grant access to the calendar or to phone call or to video chart. A user has to be granted access to each of the services individually, in some embodiments even if they have general access with the provider.

The layout depends on screen size. For a small mobile phone screen, a layout displays two lines for each contact.

The Add Contact button link0409brings up a user interface that enables a user to manually add contacts (shown inFIG.9). The user adds names of their new contact, phones, emails, address, birthday and anniversaries. The contacts don't need to be users of the COMTOOL communication system in order to be added. However, Comtool users are pulled directly from the database to ease data entry.

The address is linked to a navigation software module. For example, when a user presses contacts, a button for address as is presented as well. Part of the address shows navigation. Upon opening the address, the user gets a button to start navigating. When pressed, it executes navigation to lead the user to that address. Touching a picture or name of the contact also displays address of the contact with a navigation button link and pressing the navigate button link, invokes a navigation module that interact with server based software and positioning nodes on the network connected to, to lead the user to that address.

FIG. shows a “My Forums” UI500. The My Forums UI500displays a listing of all the forums a user has access to. The UI500is launched when the user presses or clicks the My Forums button link (shown inFIG.1). The forums can be organized by category and/or by country.

According to the embodiments, the Request Forum Membership UI600is displayed when a user presses or clicks the Request Forum Access from the main interface (shown inFIG.1). Prior to choosing what forum to ask for, the user is provided with two ways of sorting the forums one being by category and the other by country. The categories are then displayed on a different screen not shown for users to select from.

InFIG.7, a “Social Media Share” UI700is shown. In operation, when a user reads a message and finds it to be sharable or creates their own message that they want to share on social media groups such as Facebook™, Twitter™, Linked In™, Google+™ and others, the user can select the Share Social Media button of the main interface (shown inFIG.1) which launches the Social Media Share UI700. To make a choice, the user can select a checkbox corresponding to particular platform for sharing the message content. A confirmation button may be provided before the message is shared. Also, users can get an option of sharing messages to groups in their contacts, and messages are sent to email accounts of the users in the groups when the feature is enabled.

InFIG.8, an “Accept/Deny User Account Request” UI800is shown. The Accept/Deny User Account Request UI800can be utilized to add user account requests to a group or one's account. A requestor enters a name, email, phone number and a message into a form not shown requesting to be added to a group or account. Data is saved to a database or file. When the account or group owner or admin logs onto the system, a add account request button not shown displays the UI ofFIG.8. The upper area0801shows a requestor's name, email and phone number. The next section0802provides a dropdown menu for the admin/owner to select the type of access to be given to the requestor including View or Read only, Contributor, Editor and admin. The Accept user button link0803accepts a user and the Deny user button link0804denies the user access. A disable user button is utilized to delete or disable a user from a group.

FIG.9shows an “Manually Add Contacts” UI900of the COMTOOL communication system. The Manually Add Contacts UI900maps onto the Contacts entity in the database. The Manually Add Contacts UI900is used to add contacts manually though contacts are as well added by pressing or clicking add contact from an incoming message or post. However, contacts added through incoming messages do not contain details such as phone numbers and email. A user obtains and adds them to an existing contact by editing it manually. Manual addition of contacts provides fields for phones, emails, physical address, birthdays and anniversaries. These are only visible to the user and authorized personnel. Additionally, users submit requests to be added to other users' contacts. A request contains name, email and phone number. The host allows or denies the request and decides whether to add the requestor to album, calendar.

FIG.10shows a television remote control1000that is implemented by the COMTOOL communication system. The television remote control1000can be used to effectuate rewind, forward, and pause functions for videos in playback mode on a television screen. The television remote control1000comprises of a remote control hardware1001, a transmitter lens1002for transmitting signal from a pressed button to a television remote control input lens, a selector button1003that confirms a previously selected action’ that is, targets a moving cursor(marker) on a playback control meter1104and pauses or restarts it. It is pressed to transmit a command as a signal through a remote control transmitter and a television lens. The command is converted to a digital instruction that invokes a software module to pause or restart a video. A rewind button1004which when pressed, places the moving cursor on the playback control meter a number of segments backwards as instructed to rewind a video, an up button1005, a forward button that transmits a forward command as a signal through the remote control transmitter and television lens for conversion into a digital command that moves a playback control meter cursor (marker) on a screen a number of segments forward as instructed1006to forward the video and a down button1007. Holding down the rewind or forward buttons moves the marker (cursor) faster. A subscribe button1008transmits commands or instruction to the video playback application to request for a subscription to the current video source channel. The application extracts the cached video id, source channel id and user id from cache memory and transmits it along with a cached user id to subscribe to the channel on the server. If a user has no basic account with the system, the user is prompted to enter name, email and a phone number; and a basic system account is created simultaneously with a subscription to the selected channel. The user then gets the subscription from any device they log onto.FIG.11explains how to subscribe to a channel without utilizing the subscribe button on the remote control but double clicking an existing button (designated). The designated button double pressed or clicked to subscribe may be the selector button1003or other. Users are automatically notified by email and text messaging whenever new content is uploaded to the channels subscribed to. The subscribe button1107on the television screen displays during video pause mode or at end of video playback. Subscribing to a video channel source in pause mode or at end of playback mode is accomplished by utilizing the designated button on a remote control that when double pressed, transmits instructions to the video playback application to request for a subscription in relation to the displayed subscribe button1107on the television screen. The reader that reads instructions from the remote control executes a delay when reading the designated button input to allow for a double press because a single press is utilized to pause or restart video playback. Words similar to “Double Press Selector To Subscribe” are displayed on screen when the subscribe button is displayed. The subscription instruction is transmitted to the processor and saved to a database in server memory.

It should be appreciated that the television remote control1000can include other button links that are not shown inFIG.10. For example, when pressed, a button on the television remote control1000transmits a radio, WI-FI or Infrared based signal corresponding to the pressed button instruction and this is received through a television signal lens as an instruction. It is converted to a digital command that invokes a software module to perform the requested action and display it on the television screen.

FIG.11illustrates an example of a “Television” UI1100of the COMTOOL communication system employed for rewinding, forwarding and pausing a video in playback mode on a television screen utilizing the television remote control UI shown inFIG.10. The television screen is on a television set which is wirelessly coupled to a remote control that submits instructions to the television with an operating system in memory. The television screen comprises of a display screen1101, an options dropdown menu1102that expands on click to display available options such as add to favorites, subscribe to content provider group, like, dislike etc. a rewind button1103, a playback control meter1104, divided up into segments1105whose number (quantity) depends on video length. The algorithm that displays the video playback control meter and execute commands, takes in as parameters a video id, a video length and related data to display. It converts the video length to seconds. The algorithm then assigns the number of seconds in video length (VL) of the uploaded video to number of segments (NS)1105,1479. A subscribed user creates a favorites DVR that is located on a server and accessible by authentication. The television memory is coupled to at least one processor that transmits instructions to a server via a wired or wireless network and retrieves data from the server which data is displayed on the television.

The NS in the playback meter are equivalent to the number of seconds in the video length. That is, a 4 hour video will have 4 hours×60 minutes×60 seconds or 144,000 seconds. Each second is assigned one segment in the playback meter. A playing video advances to one segment every second that elapses. The segments are then drawn in a single row of an html table as table cells. Each table cell=one segment=second. A forward button which is different from the one on the remote control, is represented by1106. When a video loads to play, its parameters including video id and channel id are cached along with the authenticated user id and utilized to subscribe to a channel. The subscribe button1107displays during a video pause and at end of video playback. A hardware key on the remote control1008is designated to transmit a command that is interpreted as a subscribe command or instruction in the video playback application. Similarly, the selector button on the remote control confirms a pause of a video in playback mode and generates segments that represents motion of a marker (cursor) and portion of the video played. It is designated to transmit a subscribe command when a user double clicks. On double click of the selector button of the remote control, the video application invokes the subscribe button1107which takes in video id, source channel id and the authenticated user id as parameters and adds the user to subscribers on the channel. When a video is paused, a single click on the selector button of the remote control restarts the video and a double click selects the subscribe option button1107. User parameters are cached along with video channel parameters during playback wherein double pressing a selector button on a remote control selects the subscribe button and transmits a subscription request to the video source sending channel id and user id to subscribe. The subscription command is transmitted to the processor and saved to a database in server memory.

When uploading videos, users are provided with a text field to enter a message such as a website Uniform Resource Locator (URL) to display during video playback. In another text field, a user enters time at which they want the message to display based on how long (video length) a video plays. If a video is 9 minutes long, the user may specify that at minute 7:23, display the URL in the center, left top or right top of the video play back screen. The video application reads elapsed time and extracts the message parameter from the session cache and displays it on screen at a specified time as a uniform resource locator (URL) or other message.

A marker or cursor is placed in the video playback meter segment to indicate current location of view. A pause stops the marker from advancing, a forward moves the marker forward to the next division and a rewind moves the marker backwards. A drag and drop manually moves the marker multiple segments in each direction as instructed by a user. An action listener determines which playback meter segment the marker is rested in and calculates the number of minutes or hours viewed. The meter is displayed when paused.

A portioned viewed so for is displayed up to where the marker rests during the pause. When the marker is at rest, a play button is displayed instead of the marker for selection utilizing the selection button of the television remote control1003. When a video is playing, the playback control meter is made invisible by giving all the html table elements a Cascade Style Sheet (CSS) opacity of zero (0) which makes them transparent. Other technologies similar to CSS may be utilized to accomplish this.

At a time of a video pause, forward or rewind, the playback control meter is floated on top of the video by assigning it a higher Cascade Style z-index than the video. All elements of the playback control meter represented by a single row of an html table are given Cascade Style opacity of zero (0) to make them transparent and invisible except the central meter part that shows the portion of a video played back so far. This is assigned a greater that zero (0) CSS opacity to make it visible in any desired color.

A mouse click is utilized on a computer and touch screen is used on mobile phones and tablets to pause, forward or rewind videos in this system.

The videos are categorized in the database and indexed based on content type and content providers for easy selection and finding related content. Categories vary from technology, science, politics, travel to whatever.

FIG.12is an example configuration of a universal circuit board1200that executes instructions issued to a processor of a television, computer, tablet or mobile phone that runs the COMTOOL communication system, disclosed herein. Software programs can only run when installed on hardware devices including servers which distributes data to individual devices.FIG.12depicts the universal system board1200that covers computers, televisions, tablets and mobile phones. It illustrates how instructions transmitted by algorithms to the processor via user interfaces interact with database schemas or files in memory to process, save or retrieve data. On a mobile phone or computer device, a user submits instructions also referred to as commands through an icon or button to launch an application that displays a graphical user interface from which the user executes additional instructions. The Input Output (I/O) ports509on the figure are connected to a keyboard, mouse, voice input and display of a device. The device is divided into user devices which include mobile phones, tablets, computers and televisions, and cloud devices such as servers. The I/O receives user instructions and invokes algorithms to submit instructions to the central processing unit (CPU)322or processor via the I/O Controller314and Memory Controller321. The processor invokes algorithms in a particular program or application tasked for an event. Some of the algorithms executes from user devices while others executes from servers. The algorithms results into displaying of more user interfaces, data collection and submission to the server. The processors on the servers' works with the algorithms to process the data and save it to database schemas or files stored in server memory317. Similarly, data is retrieved from database schemas on servers, processed and displayed to the user mobile device, computer or television accordingly. The user device which also carries at least one processor, submits commands to the processor to execute desired I/O tasks.

FIG.13is method1300for creating accounts, authenticating users and managing the user accounts. The method1300can start by the user launching an application1301. When the user's login credentials are not saved1302, the user gets a basic menu (not shown) giving options to choose from login1303, create account1304, reset password1305or display videos1306.

If the user chooses to create an account from the menu option1304, they create an account1308. After creating the basic account, the user is prompted to create a commercial account1309or login1310. If the user creates a commercial account1311, the user logs in1312and exists1313.

If at the menu the user chooses to login1303, the user enters user id (phone number or email)1314and password1315. The algorithm identifies users by user type and transmits instructions to the server processor to test for account completion steps in the database and authenticates a user to display a menu based on user type which includes basic, commercial admin or staff1316, If not authenticated the user gets a message1317to try again or other. An authenticated user receives an authentication code on their mobile device or email1318and the code is validated1319. The user is offered an option to save their login1320. The system extracts user the user id and password from the session1321and saves the login1322.

If login credentials were previously saved, a user session at step1302would read the user's security userId which comes with a color code for preventing imposters, current location and user type1323. The system then test for type of user1324. If user is a basic user1325, they are forwarded toFIG.14else if the user has a commercial account, the system displays a menu interface with the options of accept account request1327, disable or delete an existing user account1329, upload content1331and add a financial account1333all of which comes with interfaces as shown by1328,1330,1332and1334. Financial setup and edits include but not limited to change of payment methods such as direct deposit to a bank account, electronic check, pre-paid debit cards and location pickup. Where applicable, users also set and change tax information and personal data such as address, email and phone number and the changes are saved to database in memory. The option to accept an account request1327includes adding user accounts with different access rights such as viewer/reader (read only), contributor, editor and administrator that performs all functions on the account.

A create account mechanism for creating a user account from a mobile phone, tablet, computer or television set consisting of an account creation, authentication and management algorithm, an initial interface with a designated window for displaying ads from the server, a create account button, a text field where to enter email or phone and another for password to login.

The create account button link opens a new interface with text fields to enter name, email and phone number to create a basic user account. The mechanism also comprises of a button link on the main interface for creating a commercial account after a user is authenticated and another button link for requesting an account as staff to a commercial account. This sets up user types of a basic user, a commercial admin and staff. A submit button transmits instructions to a processor to create a user account and this causes the processor to invoke the algorithm that creates accounts and saves in a database in server memory. A commercial user creates an admin account for managing staff and staff submits a create request to the admin account via a form in the application sending name, email and phone number to create a partial account.

A separate form is utilized to request a staff account to a commercial account when a user does not have a basic account. The user enters name, email and phone number and a partial registration account is created for the user. The commercial admin views the request and completes the account by assigning it a user title which comes with access rights. The confirmation is submitted to the server to update the partial account. The new staff and the admin are notified by email and text messaging that the account is complete. The new staff then acts as a content provider and gets other assignments as the admin may determine.

FIG.14is a method1400for displaying and enabling the various interfaces implemented by the COMTOOL communication system, as disclosed herein. The method executes several interfaces and independent apps. As shown inFIG.13, the method1300authenticates a user and continues throughFIG.14to display the main interface1402. The command1403provides a button link1404to press and display a picture album1405to select a picture to add1406. A confirm button1407is provided to change the picture1408.

The settings option1409provides an interface with options and button links to configure the various applications in the system. Choice1410configures postings1411and determines how postings display on a device. The command1412provides options to configure an album and manage users1413of the album. This includes adding new viewers and deleting other users. The calendar option1414configures a calendar that comes with the system and provides an interface from which a calendar owner adds and deletes users1415. Users added are given permission levels that include read, write, edit and delete. A voice over IP phone app1416provides users with an interface1417from which a user add and remove other users. The video chart option1418utilizes the interface1419to add users of the application from contacts and remove unwanted ones. Similarly, the video configuration interface1420provides a user with options to add users from contacts that can view posted videos.

The functions option1422comprises of several button links on the interface ofFIG.1that issues commands and invoke modules to accomplish the listed functions. The messages command1423invokes the read messages module1424, the send message command1425sends message1426and the myForums command1427invokes a module that lists all forum a user has access to1428as seen inFIG.5. The add forum command1429requests for membership to a forum1430utilizing the interface ofFIG.6which lists the forums by category and can be sorted by country. The create forum command1431provides an interface1432from which a user creates their own forum and manage it. Other users request for membership and the forum creator adds the requests.

If a user hits a Contacts command1433, it invokes a module that displays the interface ofFIG.4. This lists all the contacts as records with functions that can be taken against the contacts and these includes viewing the contacts album, calendar, accessing voice over IP phone call app, video chart and viewing video. The view album command1434opens the album1435, view or edit calendar1436opens the calendar1437, phone call1438invokes a voice over IP phone interface1439for the user to call the contact, video chart1440displays an interface1441from which the user video calls the contact, the video command1442invokes a video playback application1443where videos are only viewed by user groups. The add contact command1444displays a GUI1445which is the user interface ofFIG.9to manually add contacts. When a contact's address is in the system, the address command1446invokes a navigation module1447that leads the user to the contact's address.

If the user decides to write a post utilizing the main interface1448, the interface1449provides a text field and a submit post button link to write, format1450and submit the post145When the user decides to read a post1452, a share with contacts command1453is utilized to share with contacts1454. The share with social media command1455generates a link1456. A module invokes the interface ofFIG.7for the user to choose what social media outlets to share with. The share button submits the post as a link. Social media readers open the link from the user's home page and contents are not saved to the social media outlet. The add to favorites command1457adds the post to favorites posts1458that can be read again. The reply command1459replies to the post1460and the request contact button link1461submits a request contact from sender of the post1462. The view album command1463opens the sender's album1464only when the viewer has permission to view the album. The view calendar command1465opens the sender's calendar with permission1466and access level in place. The messaging module1467provides instant messaging within the system.

The various apps in this system1469are accessed through button links on the graphical interface ofFIG.1. The album1470launches the album app1471, the myCalendar1472launches the calendar1473, the IP phone1474launches a phone GUI1475utilized to make phone calls. The video chart command1476launches the video chart interface1477.

The video playback command1478launches a video playback application1479which creates a session for the uploaded video and cache the video id, video source channel id, user id, device id, video length (VL) and zero or more message parameters. A message parameter is utilized to store a variable such as a URL a video owner wants to display on a television screen when the video is being played. The message can be displayed anywhere on the screen. It does not require the content provider to have special software or skills for placing a URL on a television screen when the system is installed in a television set. The video length (VL) is converted into seconds. The video playback control meter ofFIG.11is divided into small segments. These segments are assigned a value of one second. Utilizing video length of any given video, the number of segments in the video playback control meter is equal to the number of seconds in video length of the uploaded video. The television screen in the interface ofFIG.11shows a video playback control meter (VPCM) that is auto generated from a single row of html table cells. Each cell=one segment=one second. The VPCM floats on a playing video when assigned a higher cascade style sheet (CSS) z-index and it is made transparent by giving it a CSS opacity of zero (0) which makes it invisible during playback. The subscribe button1107displayed on the interface ofFIG.11accessed by double clicking a designated button on the television remote control such as the selector button1003or pressing the physical subscribe button1008invokes the subscribe command1480to get or extract parameters in the video session or cache1481including the video id, id of the video source channel, user id of the authenticated user and assign a high CSS opacity greater than zero (0) to make the video playback control meter and the subscribe button visible. The algorithm submits the instructions to the device processor and server processor to save the subscription to the server memory. This can be in the database, files or elsewhere in the memory.

The myAccount command provides menu options that includes an admin menu for managing a commercial account1483.

Referring now toFIG.15an ERModel1500is shown, which represents the database system of the COMTOOL communication system. The entity users stores details of all individuals that use the COMTOOL in general. There are two types of projects. One is initiated from the COMTOOL directly and the other type is initiated from a different application such as the Scheduler, Move Tool or the Worker Acquisition, Customer Acquisition and Payment System. Any applications that interact with the COMTOOL stores their user details in the Users entity prior to interaction.

For job related apps such as the Worker Acquisition, Customer Acquisition and Wage Payment System, location and current Location attributes of the user entity in relation to a job site allows the algorithm to assign the user to the right communication group based on radius of where they are and match them with the right groups. However, if the user is at their home address, the home address is used in the algorithm to determine the best suited communication group.

The Entity Projects represents a task such as a job or organization for which two or more people working on a project communicate via the Comtool messaging system to accomplish their goals. The Project and User entities generates another entity UserProject to which a client writes names of the scheduled people working on her project. Each record in this entity is established with a project ID and a User ID plus any other activity data that may be saved in the entity.

To access the project communication, the application software reads the record from this entity UserProject and compares the project ID, User ID that corresponds to that project, date and time range of the project to ensure the user belongs to that group communication group since other users may work on the same project at different times. The UserProject entity is now utilized instead of the main Users entity. This is optimization. The main Users entity is accessed only when names or other user details are needed.

One of the attributes in the UserProject entity is “dateProjectSignedOff (completed)”. This attribute is utilized to wipe the communications at the end of the project or when it is decided to clean up the database.

Since many different projects can be started at different times, the entity Projects generates many different project communication teams. The project teams are stored by reference (project team id) in the entity named ProjectCommunicationTeam.

Though there could be many members of an organization in the Users entity, only people inserted into the UserProject entity by reference and their respective communication project inserted into the ProjectCommunicationTeam entity by reference can communicate on behalf of that project. In such a case, the guest application inserts members by means of a button link that calls a module to select all intended users from the entity where they are.

One such example is that of scheduled employees in the Scheduler application which functions in conjunction with the Move Tool to facility communication in a work environment where users are scattered with their mobile devices.

The entity Thread is a result of the many to many relationships between the Users and ProjectCommunicationTeam entities. It stores communication threads. It has a location attribute which provides the relative location of the user. This location determines the users that can see ride requests or offers within a specified radius. It also has a current location attribute for job related and displays and selection of which forum to get place the user to if they need a ride or want to offer rides. All threads to the posts are stored here and ordered by date and time when displaying.

Favorites is the entity where users saves posts that they like by selecting the button link named Add to Favorite on the main interface. Users add posts to favorites and the id of the author is saved as well to identify the author when issuing author status. Videos in playback mode, pause mode or at end of playback are added to favorites in a similar manner. Each time a post or video is added to favorites, it generates points for the author or video content provider. This credit (points) is incremented each time a posting is added to favorite. The points accumulate to elevate the author or video content provider status.

Posts is the entity that stores the actual messages posted by users. It contains an attribute named favoritePostCount which keeps track of the posts that are saved by readers as good or their favorite posts and added to the favorites.

The entity UserAcccess stores user id of the person that gives a user access to a forum. The entity also stores id of the user that was given access and the projectCommunicationTeam to which they were given access.

Below that is the entity named Client-Employer. This one stores client or employer info.

The entity Contacts stores a user's contacts. These include internal Comtool users and contacts from outside typed in or saved from email accounts. A user can manually add in any contacts they want including their phone numbers and addresses so that they access them from anywhere and from any device.

When a user opens the contacts entity via a button link, it displays all the contacts in an ordered manner. They can select one contact and choose to view their photo album, view or edit their calendar if they have edit rights, call the contact over IP if they are part of the phone group or initiate video chart if they are part of that contact's video chart user group.

The Individual Communication entity stores messages between two users one on one only. The myAlbum entity stores a user's personal photographs which are accessed by authentication and the myAlbumAccess entity stores authentication related information to myAlbum.

Similarly, myCalendar stores calendar related info which is also accessed by authentication and the myCalendarAccess entity stores authentication info related to myCalendar. The vApp entity stores information related to video chart access while the pApp stores information related to Phone authentication groups.

The mApp entity stores information related to a separate app not described in this application.

FIG.16illustrates a database schema1600, which represents the Entity Relationship Model ofFIG.15in an expanded form that showing entities and their attributes.

The Users entity has the attributes Security UserID and Security UserID Color are primarily used for securing user posts against imposters that creates accounts to mimic existing accounts. When a user creates an account with someone else's identity and becomes a contact with that person, any posts they put out are not distinguished from the original user's posts. This UserID and color code solves that problem by providing one color for all initial users with a given name and a different color for secondary users that have names similar to some individuals. This is showed inFIG.1where the user id and user id color code are read from the database and displayed in color.

Other attributes are in the entity are used according to the primary keys and foreign keys as seen the related entities.

The Projects entity provides attributes such as project site location, date and time of the project and so on. This information is utilized to build an entity UserProject used to communicate with related entities such as Threads and ProjectCommunicationTeam. In any of the above entities, projectDate, projectStartTime and projectEndTime attributes are used when selecting users for a project communication team from scheduled users. These three attributes are in addition to user id and project id.

In the entity UserProject or any other entity used to track project progress and end time, there is an attribute named dateProjectSignedOff or completed. This attribute is utilized in deleting of the communication threads and posts after completion of the project.

The Thread entity which stores threads to the posts is a resultant entity from the Users and ProjectCommunicationTeam entities which provides userid and projectCommunicationTeam id as foreign keys but they are not used as composite keys because a user may post more than one message which repeats both keys. A thread id is introduced for that reason to act as a primary key. The thread entity also stores the subject of the posts. All are referenced by foreign keys in the other entities. Posts are ordered by date and time in reference to their parent post.

The Posts entity stores an attribute named FavoritePostCount which keeps track of the number of times a post is saved as another user's favorite. The result is displayed to the message poster's profile as number of favorite postings.

The entity Favorites stores links to a user id that adds a post to the favorite entity and the post id so that the post can be retrieved for the user anytime they want to access it.

The Contacts entity stores user's contacts whether internal or external. A user manually types in contacts of any kind with their phone, email, address, birthday and anniversaries. The Comtool application software reminds the user when their contacts anniversaries or birthdays are approaching. Additionally, a user gets access to their contacts data from anywhere either through the mobile app or by logging into the Comtool website.

The myCalendar and myCalendarAccess entities keeps track of the calendar authorizations and access. Various user levels are given out to users and these includes view only, view and add, edit and delete. They keep track of changes and user id's that make the changes. They have access attributes that stores status for each access type. The user can disable and re-enable the service at any time.

The entities myPhotoAlbum and myPhotoAlbumAccess keeps track of album access which is only by authentication. Even if a user is a contact, they don't automatically get access to the photo album or calendar. The owner can disable or enable this service at any time and the status is stored in one of these entities decided after normalizing the DBMS.

The photoCategory attribute allows the user to categorize the photos such that certain users gets access to specific photos but not all users. User groups are created to accomplish this.

The Phone and Video Chart entities also have accessStatus attributes that stores usage status of those services. When disabled, the button links to request for the services do not show on other people's screens and they can't get in touch with the user via those services.

The entity Filter contains several attributes including filterID for identifying the filter, filter word for the words to which contents of the posting are compared when looking for fake news, filter word category for classifying the words and word rating for giving them a numerical value which determines their effect on a related event. Users categorize content when posting.

The entity Social Media contains attributes which includes social media id for identifying the social medial involved, social media name, login data for allowing the user posting a link to access the social media account, and more attributes.

The entity Shares contains a social media id, group id for use with a group, contact id for use with an individual, post date and post time for automating the links to publish at the time the user wants them to and more attributes

The rest of the entities and attributes work according to their primary keys and foreign keys with the entities they relate to as shown in the database schema.

FIG.17depicts a representation of a Religious and political App1700characterized by a tabular display with a screen cell utilized for displaying textual, video and audio ads. Specific modules are used to control input and output in the App.

The Religious App displays registration forms, scriptural references, announcements, institution programs, surveys and personal to do lists, calendar and shopping list among other tasks. The Political App on the other hand displays registration forms, announcements, surveys, postings, response to postings, archives and to do lists, calendar and shopping list among other tasks in the Apps. These tasks results into entities that are to be placed in the ER-Model1500and corresponding database schema in the final application.

The system is made up of a user device with at least one processor coupled to a clock, memory controller and random access memory that processes incoming and outgoing data and issues instructions to communicate through a wired or wireless network. It transmits the said instructions to a server to execute; and a plurality of interfaces invoked by algorithms that interact with a database and files system utilized for data storage. The system further comprise of at least one server with a processor coupled to server memory that stores at least one database and computer executable instructions that when executed by the processor causes the server to launch modules in the application with embedded queries to retrieve data from the database or files, process and save incoming data. The system simplifies the process of electronic communication by integrating functions of various communication applications making them accessible from one interface over wired and wireless networks.

FIG.18depicts a block diagram of an example computer system1800in which the disclosed aspects of the COMTOOL communication system may be implemented. Furthermore, it should be appreciated that although the various instructions are illustrated as being co-located within a single processing unit, there may be some implementations in which processor(s) includes multiple processing units, allowing one or more instructions may be executed remotely from the other instructions.

The computer system1800includes a bus1802or other communication mechanism for communicating information, one or more hardware processors1804coupled with bus1812for processing information. Hardware processor(s)1804may be, for example, one or more general purpose microprocessors.

The computer system1800also includes a main memory1806, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus1802for storing information and instructions to be executed by processor1804. Main memory1806also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor1804. Such instructions, when stored in storage media accessible to processor1804, render computer system1800into a special-purpose machine that is customized to perform the operations specified in the instructions.

The computer system1800further includes a read only memory (ROM)1808or other static storage device coupled to bus1802for storing static information and instructions for processor1804. A storage device1810, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus1802for storing information and instructions.

The computer system1800may be coupled via bus1802to a display1812, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user. An input device1814, including alphanumeric and other keys, is coupled to bus1802for communicating information and command selections to processor1804. Another type of user input device is cursor control1816, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor1804and for controlling cursor movement on display1812. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.

The computer system1800may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system1800to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system1800in response to processor(s)1804executing one or more sequences of one or more instructions contained in main memory1806. Such instructions may be read into main memory1806from another storage medium, such as storage device1810. Execution of the sequences of instructions contained in main memory1806causes processor(s)1804to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.

The computer system1800also includes a communication interface1818coupled to bus1802. Network interface1818provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface1818may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, network interface1818may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, network interface1818sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

The computer system1800can send messages and receive data, including program code, through the network(s), network link and communication interface1818. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface1818.

The received code may be executed by processor1804as it is received, and/or stored in storage device1810, or other non-volatile storage for later execution.

In various implementations, operations that are performed “in response to” or “as a consequence of” another operation (e.g., a determination or an identification) are not performed if the prior operation is unsuccessful (e.g., if the determination was not performed). Operations that are performed “automatically” are operations that are performed without user intervention (e.g., intervening user input). Features in this document that are described with conditional language may describe implementations that are optional. In some examples, “transmitting” from a first device to a second device includes the first device placing data into a network for receipt by the second device, but may not include the second device receiving the data. Conversely, “receiving” from a first device may include receiving the data from a network, but may not include the first device transmitting the data.

The other devices that connects to local or remote servers to execute the applications are laptops, handheld devices, workstations and wearable devices such as a smart watch.