Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, SYSTEM, SOFTWARE, ENGINE, AND A MOBILE APPLICATION PLATFORM FOR VIDEO CHAT
Document Type and Number:
WIPO Patent Application WO/2018/031438
Kind Code:
A1
Abstract:
A server-based Internet service, with user/client-side applications, is described that enables users to chat between electronic devices such as smartphones, tablets and personal computers by two-way broadcasting live (or prerecorded, or prestored) video, voice and/or text via an internet protocol (IP) address. Broadcasting can be done in both private and public formats. Private broadcasts can be made "one-on-one" between two registered users or among a group of private contacts. Public broadcasts can be accessed by any registered users and can also be transmitted to registered 'Followers'. In addition to designating 'Followers,' users can also designate types of content that they wish to follow, e.g. video, voice and/or text. Preferably, public broadcasts are stored on service provider servers, while private broadcasts are stored on the user devices, and can be searched by title, category, proximity or by description, and accessed at a later time. Broadcasts may also be designated as 'Favorites' for easier access in the future. Once accessed, broadcasts can be organized alphabetically or chronologically.

Inventors:
SANDHU CHARANJIT SINGH (US)
Application Number:
PCT/US2017/045679
Publication Date:
February 15, 2018
Filing Date:
August 07, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SANDHU CHARANJIT SINGH (US)
International Classes:
G06F15/16
Foreign References:
US20120102409A12012-04-26
US20140310754A12014-10-16
Attorney, Agent or Firm:
AGARWAL, Dinesh (US)
Download PDF:
Claims:
WHAT IS CLA IMED IS:

1. A system for selectively providing reciprocal streaming services in a network environment, comprising:

a) a database including a plurality of registered user accounts for a first service provider, each user account having a unique identifier assigned to a user of the account by the first service provider or a second service provider, and

b) a network server configured to:

establish a first network connection with a first user device associated with a first user account;

receive instructions to begin a first streaming session;

send a notification of the first streaming session to a second user account;

receive first steaming data of the first streaming session from the first user device;

store at least part of the first streaming data in association with the first user account;

receive a confirmation from the second user indicating acceptance of the streaming session;

establish a second network connection with the second user based on said confirmation; and

deliver at least part of the first streamed data to the second user via the second network connection;

c) wherein the server is further configured to receive second streaming data from the second user device and deliver at least a part of the second streaming data to the first user,

d) wherein the server is further configured to simultaneously deliver at least a part of the first streaming data to a plurality of users via multiple network connections; e) wherein the instructions to begin the first streaming session include a streaming mode selection that identifies the first streaming session as a public broadcast or a private broadcast; and

f) wherein the server is further configured to make public broadcast available to all of the registered user accounts, and to make private broadcasts available to a select subset of the registered user accounts.

2. The system of claim 1, wherein the server is further configured to simultaneously deliver a part of the second streaming data to a plurality of users via multiple network connections.

3. The system of claim 1, wherein the server is further configured to receive streaming data from any one of the user devices and deliver to any one of the other users.

4. The system of claim 1, wherein the server is further configured to receive and cluster streaming data from a first set of a plurality of the user devices and deliver at least a part thereof to a second set of a plurality of users based on a selection criterion utilized by the server or any one of the users.

5. The system of claim 4, wherein the criterion is one of a viewing angle or rating category voted by the second set of the users.

6. The system of claim 1, wherein the first or second streaming data comprises one of pre-recorded, pre-broadcast, and live event

7. The system of claim 1, wherein public broadcast is stored on the server, while a private broadcast is stored on a corresponding user device.

8. The system of claim 1, wherein the unique identifier is a phone number or an email address, and the server is further configured to automatically determine the validity of the phone number or the email as part of registering a user account

9. The system of claim 1, wherein the first service provider is a video streaming service, the second service provider is a phone company, and the unique identifier is a phone number.

10. The system of claim 1, wherein me server is further configured to: receive contact information from the first user device;

compare the contact information to the unique identifiers of at least some of the user accounts stored in the database; and

generate computer instructions that allow the first user device to show registered user accounts having unique identifiers that match the contact information.

11. The system of claim 1, wherein sending the notification of the streaming session to the second user includes sending notifications to contacts associated with the first user account and followers associated with the first user account

12. The system of claim 1, wherein the server is further configured to receive contact selection information from the first user device, the contact selection information identifying registered user accounts that a private broadcast is to be shared with.

13. The system of claim 1, wherein the server is further configured to receive identifying information from the first user device, the identifying information associated with the first streaming session and including at least three of a time stamp, a location, a title, a category, and a streaming mode.

14. The system of claim 13, wherein at least some of the identifying information is received from the first user device after receiving at least some of the streaming data of the first streaming session from the first user device.

15. The system of claim 1, wherein the server is configured to support a chat session between registered users, and to begin the first streaming session between registered users participating in the chat session.

16. A reciprocal streaming application comprising:

a) computer instructions configured to exchange information between hardware onboard first and second personal computing devices and a remote server associated with a first service provider, and

b) a graphical user interface that is presented on each respective display of the first and second personal computing devices, the graphical user interface including a plurality of different interactive screens including: a registration interface configured to receive commands for registering the corresponding personal computing device with the first service provider using a unique identifier assigned to the personal computing device by the first service provider or a second service provider,

a contact synchronization interface configured to identify potential contacts for the streaming application based at least in part on scanning for contact information, extracting unique identifiers from contact information found by the scan, sending indicia of the unique identifiers to the first service provider, and receiving confirmation from the first service provider mat one or more contacts associated with the unique identifiers are registered users of the first service provider;

a streaming initiation interface configured to allow at least one corresponding user of the first and second personal computing devices to initiate a streaming or reciprocating session from among a plurality of streaming modes, the plurality of streaming modes including at least a private mode and a public mode;

a private session interface, initiated by selection of the private mode and configured to allow at least one corresponding user of the first and second personal computing devices to identify certain registered users of the first service provider that the streaming or reciprocating session will be shared with; and

a public session interface, initiated by selection of the public mode and configured to share the streaming or reriprocating session with at least some registered users of the first service provider that are not specifically authorized by the user.

17. The application of claim 16, wherein the computer instructions are configured to exchange information between hardware onboard multiple computing devices, each of which comprises the graphical user interface.

18. The application of claim 16, wherein the public mode shares the streaming or reciprocating session with all registered users of the first service provider.

19. The application of claim 16, further comprising a chat interface configured to present chat sessions between registered users of the first service provider, and to begin the streaming or reciprocating session between registered users while participating in a chat session.

20. The application of claim 16, further comprising instructions for establishing a network connection with a streaming server associated with the first service provider,

sending instructions to the streaming server to begin the streaming or reciprocating session;

capturing image data via a camera; and

sending streaming or reciprocating data of the streaming or reciprocating session to the streaming server, the streaming or reciprocating data including the captured image data.

21. The application of claim 20, wherein the computer instructions are further configured to allow a user receiving the streaming or reciprocating data in the public/private mode to re-broadcast the received data.

22. The application of claim 16, wherein the unique identifier is a phone number assigned to the personal computing device or an email address of the user.

23. The application of claim 16, further comprising instructions for receiving identifying information associated with the streaming or reciprocating session and including at least three of a time stamp, a location, a title, a category, and a streaming mode.

Description:
METHOD, SYSTEM, SOFTWARE, ENGINE, AND A MOBILE

APPLICATION PLATFORM FOR VIDEO CHAT

Charanjit S. SANDHU

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This is a continuation of U.S. Application S.N. 14/922,924, filed Oct 26, 2015, which claims priority based on prior U.S. Provisional Application S.N. 62/158,747, filed May 8, 2015, both of which are hereby incorporated herein in their entirety by reference. This application further claims priority based on prior U.S. Provisional Application S.N. 62/371,910, filed August 8, 2016, which is also hereby incorporated herein in its entirety by reference.

FIELD AND BACKGROUND OF THE INVENTION

[0002] The present invention is generally directed to video communications, and more particularly to a method, system, software, engine, and a mobile application platform for video chat.

[0003] Significant advances in digital communication have occurred since the advent of the PC (personal computer) in the mid-eighties. As the popularity of the electronic mail (e-mail) of the nineties fades away to make room for newer and faster communication means, such as text and instant messaging, portable devices, such as smartphones, tablets, laptops, etc., are becoming the preferred medium for modern communication, both in the personal and professional worlds. The latest communication platform can be said to be video chatting, where people engage in live conversations with the added ability to see each other via the Internet or a cellular network. One such platform is known as "Skype" that allows the users to exchange various digital information and documents as images, texts, video, and others, and may also transmit both text and video messages. Essentially, Skype allows users to make video conference calls. In other words, Skype allows the reception and transmission of audio- video signals between individual users at different locations for communication in real-time. ASPECTS AND BRIEF SUMMARY OF THE INVENTION

[0004] The present disclosure is directed to various aspects of the present invention.

[0005] One aspect of the present invention is to provide a web or cellular network- based video chatting (broadcasting) between multiple people simultaneously.

[0006] Another aspect of the present invention is to provide a method, system, software, engine, and/or a mobile application platform for video chatting (broadcasting) between multiple people simultaneously.

[0007] Another aspect of the present invention is to provide a software application for video chatting (broadcasting) between multiple people simultaneously that uses an individual's telephone number and/or e-mail address as the unique identifier for mat individual.

[0008] Another aspect of the present invention is to provide a software application for video chatting (broadcasting) between multiple people simultaneously that allows the users to engage in a video chat in both public and private modes. In a private mode, a video chat would be limited to only those users that have been pre- selected for participation purposes. In a public mode, the video chat is available for participation by anyone, including those who are not pre- selected or are not part of a selected group. The private video chats are preferably saved or stored on individual user's device (mobile phone, smartphone, tablet, laptop, etc.), while public video chats are stored or saved on the software application servers.

[0009] Another aspect of the present invention is to provide a system for selectively providing reciprocal streaming services in a network environment, which comprises a database including a plurality of registered user accounts for a first service provider, each user account having a unique identifier assigned to a user of the account by the first service provider or a second service provider, and a network server configured to establish a first network connection with a first user device associated with a first user account, receive instructions to begin a first streaming session, send a notification of the first streaming session to a second user account, receive first streaming data of the first streaming session from the first user device, store at least part of the first streaming data in association with the first user account, receive a confirmation from the second user indicating acceptance of the streaming session, establish a second network connection with the second user based on said confirmation, and deliver at least part of the first streamed data to the second user via the second network connection; wherein the server is further configured to receive second streaming data from the second user device and deliver at least a part of the second streaming data to the first user, wherein the server is further configured to simultaneously deliver at least a part of the first streaming data to a plurality of users via multiple network connections; wherein the instructions to begin the first streaming session include a streaming mode selection that identifies the first streaming session as a public broadcast or a private broadcast; and wherein the server is further configured to make public broadcast available to all of the registered user accounts, and to make private broadcasts available to a select subset of the registered user accounts.

[0010] Another aspect of the present invention is to provide a reciprocal streaming application which comprises computer instructions configured to exchange information between hardware onboard first and second personal computing devices and a remote server associated with a first service provider, and a graphical user interface that is presented on each respective display of the first and second personal computing devices, the graphical user interface mchiding a plurality of different interactive screens including i) a registration interface configured to receive commands for registering the corresponding personal computing device with the first service provider using a unique identifier assigned to the personal computing device by the first service provider or a second service provider, ii) a contact synchronization interface configured to identify potential contacts for the streaming application based at least in part on scanning for contact information, extracting unique identifiers from contact information found by the scan, sending indicia of the unique identifiers to the first service provider, and receiving confirmation from the first service provider that one or more contacts associated with the unique identifiers are registered users of the first service provider, iii) a streaming initiation interface configured to allow at least one corresponding user of the first and second personal computing devices to initiate a streaming or reciprocating session from among a plurality of streaming modes, the plurality of streaming modes mchiding at least a private mode and a public mode, iv) a private session interface, initiated by selection of the private mode and configured to allow at least one corresponding user of the first and second personal computing devices to identify certain registered users of the first service provider mat the streaming or reciprocating session will be shared with, and v) a public session interface, initiated by selection of the public mode and configured to share the streaming or reciprocating session with at least some registered users of me first service provider that are not specifically authorized by the user.

[0011] In summary, the present invention is directed to a software application or platform for real-time video chatting (broadcasting) between multiple people simultaneously, using various computing or electronic devices, such as smartphones, mobile phones, tablets, personal computers, laptops, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] One of the above and other aspects, novel features and advantages of the present invention will become apparent from the following detailed description of a preferred embodiments) of the invention, as illustrated in the drawings, in which:

[0013] Figures 1A-1B illustrate a flowchart of the overall methodology/technique/operation of a preferred embodiment of the present invention;

[0014] Figure 2 is a schematic diagram representing a network environment in which video chat are shared among various user devices via a network server, according to an embodiment of the present invention;

[0015] Figure 3 illustrates the profile page of a user, according to an embodiment of the present invention;

[0016] Figure 4 illustrates an example screenshot or graphical user interface (GUI) of the main menu, according to an embodiment of the present invention;

[0017] Figure 5 illustrates an example screenshot or graphical user interface (GUI) of a private/public video chat selection page, according to an embodiment of the present invention;

[0018] Figure 6 illustrates an example screenshot or graphical user interface (GUI) as seen by an invitee to a video chat request, according to an embodiment of the present invention; [0019] Figure 7 illustrates an example screenshot or graphical user interlace (GUI) of an ongoing private video chat and showing option to add other people into the chat, according to an embodiment of the present invention;

[0020] Figure 8 illustrates an example screenshot or graphical user interface (GUT) of an ongoing public video chat and showing option to add other people into the chat, according to an embodiment of the present invention;

[0021] Figure 9 illustrates an example screenshot or graphical user interface (GUI) as seen by a video chat initiator, according to an embodiment of the present invention;

[0022] Figure 10 illustrates an example screenshot or graphical user interface (GUI) showing ending of all broadcasts by an initiator, allowing selecting a title and category for saving/storing a broadcast, according to an embodiment of the present invention;

[0023] Figure 11 illustrates an example screenshot or graphical user interface (GUI) of all pre-recorded videos, according to an embodiment of the present invention;

[0001] Figure 12 is a schematic diagram showing synchronization relationships between a first device, a streaming server and second device, according to an embodiment of the present invention;

[0002] Figure 13 is a schematic diagram showing streaming relationships between a first device, a streaming server and second device, according to an embodiment of the present invention;

[0003] Figure 14 is a schematic diagram depicting aspects of a public broadcast between a first device, a streaming server and various other devices, according to an embodiment present of the invention;

[0004] Figure IS is a schematic diagram depicting aspects of a private broadcast between a first device, a streaming server and various specified contacts, according to an embodiment of the present invention;

[0005] Figure 16 is a schematic diagram depicting aspects of a 'Quick Clip' broadcast between a first device, a streaming server and various contacts and followers, according to an embodiment of the present invention; and [0006] Figure 17 is a schematic diagram depicting aspects of a coordinated broadcast (clustering), according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT^)

OF THE INVENTION

[0007] In the following description, various embodiments of the present invention will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the embodiment being described.

[0008] It is understood that the invention is not limited to the particular methodology, protocols, etc., described herein, as these may vary as the skilled artisan will recognize. It is also to be understood that the terminology used herein is used for the purpose of describing particular embodiments only, and is not intended to limit the scope of the invention. It also is to be noted that as used herein and in the appended claims, the singular forms "a," "an," and "the" include the plural reference unless the context clearly dictates otherwise. Thus, for example, a reference to "a server" is a reference to one or more servers and equivalents thereof known to those skilled in the art

[0009] Unless defined otherwise, all technical terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the invention pertains. The embodiments of the invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments and examples that are described and/or illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale, and features of one embodiment may be employed with other embodiments as the skilled artisan would recognize, even if not explicitly stated herein. Descriptions of well-known components and processing techniques may be omitted so as to not unnecessarily obscure the embodiments of the invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the embodiments of the invention. Accordingly, the examples and embodiments herein should not be construed as limiting the scope of the invention, which is defined solely by the appended claims and applicable law. Moreover, it is noted that like reference numerals reference similar parts throughout the several views of the drawings. It is noted that me term "broadcast" (and variations thereof) includes, but is not limited to, two-way and multi-way chatting between two or more people, and the term "reciprocal" (and variations thereof) is used interchangeably with two-way or multi- way communications, chatting, etc.

[0033] Referring to Figures 1A-1B, the overall concept and methodology/operation of a preferred embodiment of the present invention will now be described. It will be understood henceforth to those skilled in the art that the overall methodology/operation will preferably be in the form of a software or related application (app) that when executed on a computing device, such as a personal computer, laptop, smartphone, mobile phone, tablet, etc., will make available to the user an interface to engage in a chat allowing two-/multi-way (reciprocal) exchanging of audio, video, text, photos, and other daWinfonnation, and combination thereof, in any form including analog, digital, etc., now available or developed in the future, with multiple people simultaneously, along with various other options, as described below in more detail.

[0034] Presuming a user (initiator) has not yet downloaded the software or app, upon start (step 10), the software or app would be downloaded on the user's device (step 12). The user would men be prompted to create a profile (step 14) by providing the requested information, such as name, e-mail address, company name, status, personal choices, etc. (Figure 3). The user's profile will also include an event calendar where profiles of other users of the same software or app would be accessible by clicking on their picture (or other suitable means or graphic, such as an avatar), as well as the event calendar and the videos that may have been publicly broadcasted by those other users. Once in the profile of another user, the user (initiator) would also be able to follow that person and receive notifications of their public video chats. The option to follow one another will be available to all users of the app.

[0035] Once the user (initiator) has created his/her profile in accordance with step 14, a main menu would be presented to the user (Figure 4), from which a selection for a video chat can then be made (step 18). The user (initiator) would then make a selection fbr a private or public video chat (step 20 - Figure 5), which will be followed by transmitting invitations to the user's contacts for the selected private or public video chat (step 22). The contacts) may accept or reject the invitation (step 24 - Figure 6). If the contacts) accepts the invitation (step 26), his or her acceptance would appear on the initiator's device/screen (step 28). On the other hand, if the contacts) rejects the invitation (step 30), follow-up messages/reminders at various pre-selected time intervals will then be sent to the contacts) (step 32). The time intervals can preferably be in minutes (5, 10, IS, 30, etc.), hours (1, 2, 3, 4, etc.), various times during the day (morning, afternoon, evening, next day, in a week, etc.). The user/initiator will have the option to select one or more of these time intervals at which the follow-up messages/reminders will be sent to the contacts) who rejected the invitation for a video chat

[0036] Upon a desired number of contacts accepting the invitation, the chat will begin (step 34) and continue at the initiator's preference (Figures 7-8). The initiator will have the option to pause, resume, and/or end the video chat with one or all of the invitees (step 36). The user/initiator shall also have the option to add other contacts during an ongoing video chat (Figures 7-8). Specifically, more people can be added to the chat by the initiator. The sign shown in Figure 8 is to pause the chat, whereas the eye-shaped button can be pushed to take screenshots while broadcasting.

[0037] The initiator will have the capability and option to end the video chat completely (step 38) and save the video by title and category (step 40) before ending the chat (step 42 - Figure 10). Regarding a public chat, it is noted that the initiator has sole control over the chat; other users who are in the chat or not in the chat are able to comment and like the chat However, only the initiator has that control. It is noted that any user can initiate or participate in a chat by downloading the app.

[0038] It is preferable that the public video chats be saved or stored on the app's servers, while the private video chats be saved on the initiator's device. All saved video chats would be searchable by title, category, proximity and location. The public video chats would preferably include live, broadcasted, and pre-recorded videos, where the prerecorded videos can be uploaded as a public video chats and have an option to upload still pictures. For the purpose of sharing and searching, the still pictures would include description fields fbr titling, description, and sharing. The pictures would also be searchable by category, proximity, title and location. The app would also have its own camera built within the application, which will allow a user to record a video in case there is no Internet connection so it can be uploaded later. The video would be stored on the application and can be set to upload the video automatically or manually upon availability of Internet.

[0039] It is noted that the private video chats will indicate the locations (city, country, etc.) of all of the participants, and all video chats would be viewable in landscape and portrait modes. Added features would include zoom-in and zoom-out capabilities for the initiator, as well as the participants. Another option for the initiator and the participants would include enlarging the screen images one at a time.

[0010] Figure 2 is a schematic depiction of a network environment in which video chat broadcasts are shared among various user devices via a network server, according to preferred aspects of the invention. As shown in Figure 2, a service provider server 50 may communicate with various user devices via network 52, such as the Internet User devices 54-60 may be registered with the service provider server 100, preferably via phone number, email address, or other bona fide unique identifier.

[0011] As described further herein, any of user devices 54-60 may be used to generate and/or consume video chat/broadcast information via the server 50. For example, a user of device 54 may initiate a public video chat/broadcast whereby any of devices 56-60 may be able to access/consume or reciprocate the video chat broadcast Alternatively, the user of device 54 may select one or more contacts associated with devices 56-60 to share a private video chat/broadcast with. Preferably, a public video chat/broadcast is communicated to the server 50 and stored thereon, while a private video chat/broadcast will be stored on the device 120. The broadcast can be distributed by the server to other user devices in substantially real time, and/or played at a later time upon request of an authorized device. As such, different users are provided maximum flexibility in being able to consume or reciprocate a 'live' broadcast, or go back and watch it later, if that is better for their schedule, etc. Additionally, all users of a public/private broadcast would have the flexibility of re-broadcasting any broadcast to anyone else.

[0012] In some examples, the server 50 may push notifications to all or some of user devices 54-60 regarding video chat/broadcasts that are directed to, or accessible by, those devices. This may be accomplished in myriad ways, such as using application-specific protocols, text messaging, email, or any other communication means linked to the registered user device or other designated means. Preferably, notifications sent to the user device include embedded instructions that allow the receiving user to seamlessly launch the broadcast, e.g., by pressing a 'Play * button or any other similar icon.

[0013] The server SO and user devices 54-60 may include memory and one or more processors that collectively execute instructions stored in the memory for performing functionality described herein.

[0014] The one or more processors of user devices 54-60 may operate an application that collects information and performs operations in accordance with the present disclosure. For example, the one or more processors may enable the user devices 54-60 to implement an application that determines various menus and presents the various menus to a user via a display, speaker, or other output of user devices 54-60 or other associated device (e.g., a home entertainment system in communication with one of the user devices). In some examples, the client applications may be configured to broadcast directly to a television or other device utilizing Bluetooth or another connection.

[0015] The memory may additionally store various information that allows for various deteaninations to be made for the presentation of dynamically determined menus in accordance with the various embodiments.

[0016] The present invention is well suited for use with a global computer communication network, such as the Internet However, it can be appreciated that, as future technologies are created, various aspects of the invention may be practiced with these improved technologies. In addition, various wireless/cellular technologies provide a suitable communications medium for operating aspects of the present invention.

[0017] As noted above, in step 14, users would create a profile identifying themselves on the platform. This may include presenting an application screen 62 such as shown in Figure 3, and communicating the information to the platform server. In the profile interface users can edit their name 64, company 66, status 68, privacy or other preferences 70, other social media account information, or any other relevant fields that the platform allows. For example, users may also complete an 'About' section in which they can add whatever text they wish. Phone numbers, or other unique identifiers, however, may be controlled such that they may not be edited, or may only be edited under certain circumstances, such as the user substituting another bona fide phone number. Users may also add a picture album and video, audio or text blogs to their profile. Images can be selected from their device gallery or can be taken by camera.

[0018] As shown in Figure 4, the user would be presented with a dashboard or a pulldown menu with various commands such as the screen 72 shown in Figure 4. These may include, for example, commands for accessing/editing profile information 74, chat 76 and/or broadcast 78 launch buttons, a button 80 to access videos (or other broadcasts) created by that device, a button 82 to browse all broadcasts that the user has access to, and/or button 84 for broadcasts that the user is 'following,' a synchronize contacts button 86, and a button 88 to begin a video chat, etc.

[0019] The user may initiate contact with other users in various ways, such as by synchronizing a user's contacts with registered users of the platform, inviting known contacts to 'Join' a chat session (step 22), inviting a contact to view a broadcast, etc. As shown in Figure 5, a list of all corresponding contacts/users 90 may then be presented on the display screen 92 of the user device such as shown in Figure S, allowing the device user to select any or all contacts that they want to associate with the platform application via corresponding select buttons 94, as well as to select "Private" or "Public" video chat As shown in Figure 6, the invitation to join the video chat would appear on the invitee's screen 96, with buttons 98 to accept the invitation. After the contacts are selected, they may show up in a command window as contacts 100 in a chat launch screen 102 like shown in Figure 7, a broadcast launch screen, etc. The user (initiator) would show up as a window 104 with buttons 106 and 108 to pause the video chat and snap screenshots, respectively, during the video chat

[0020] As shown in Figure 7, the chat launch screen 102 would also present the user (initiator) to add additional contacts 110 by selecting corresponding buttons 112. Figure 8 shows a launch screen 114, similar to screen 102, except displaying a Public video chat As more clearly shown in Figure 8, the user (initiator) will have buttons 116 and 118 to end individual or entire video chat, respectively. [0021] In some examples, broadcasting different types of content can be done simultaneously to the same or different audiences, e.g. using different, or combined, windows of an application. For example, users may have a portion of the application window displaying an instant messaging discussion, while viewing a live broadcast with other viewers of the same broadcast in another portion of the application window.

[0022] Still pictures can also be taken, or captured from a video stream, while video chatting/broadcasting, texting or talking. This may be performed, for example, using a 'snapshot' icon included on the broadcast or other screen that instructs the application, user device or server, to take a picture (if the camera is not being used) or isolate a frame from a video broadcast, and store the captured image. In some examples, the stored image may be automatically associated with the streaming session during which the image was captured. For example, a video broadcast may be linked to static images that a viewer can access while streaming the broadcast, the image(s) may be used as a reference image when user(s) are scrolling through available broadcasts, like in Figure 11. In other examples, still images may be stored in association with a chat (or other broadcast) session, such that when, looking back on the chat session, a user can see the associated images.

[0023] In some examples, users may be able to send invitations to other users to specific types of content streaming. For example, a user that is viewing a video stream from another user may invite the broadcasting user to join a chat session, e.g. via a link that is displayed in the chat window 280 or video broadcast window 290, while viewing the broadcast By way of further examples, a user may engage in video conferencing or a voice call while also instant messaging or broadcasting video (to the same or different audience).

[0024] In some examples, user-/client-side applications may include features mat allow a user to disable all, or some, notifications, e.g. via one or more icons, when broadcasting and/or viewing streaming content The notifications that are disabled may include, for examples, incoming phone call, e-mail, appointment, or any other visual and/or audio, notifications presented on the user device. In some examples, a broadcast screen, like shown in Figure 7, may include an icon, or other option selector, that allows "interruption free" broadcasting. These may apply, for example, to calls received through other applications and/or services, such as the user's existing phone service or calls received through the applications' phone or other service, once it is available. This may be advantageous in many ways, such as (at the system level) preventing streaming processing from being interrupted, or (from a display perspective) preventing portions of the streaming screen from being blocked by such notifications, e.g. when the user has an incoming call Since users may want to broadcast live and/or continuously, with no editing or retakes, this feature may be important for users broadcasting significant events, or a TV or radio show.

[0025] In some examples, the notification disable function may allow the user to select certain applications and/or types of notifications that are allowed, such as specifying 'disable text message visual notification; allow text message vibration notification,' etc. Applications may also be configured to change other applications' settings, such as sending a call immediately to vricemail, when an event notification would otherwise be generated. In some examples, a log of blocked notifications may be generated, and presented to the user after the broadcast is completed.

[0026] Although not shown, broadcast screens may also include a 'pause' icon that allows the user to pause a stream while broadcasting, e.g. video, audio, etc. The server (e.g., 140) may be configured, for example, to present a static image to broadcast viewers while the broadcast is paused, and/or to pause storage of the broadcast file on the server. This allows a broadcaster to temporarily pause broadcasting and then resume broadcasting within the same broadcast The server (e.g., 140) may be configured to notify viewers when broadcasting restarts, using similar techniques to the initial broadcast notifications). This may also allow the broadcaster to keep the footage in one clip before it is posted in 'All Videos' or 'My Videos.' In some examples, once the broadcaster stops broadcasting, that video may be stored and accessed as an individual clip. Such features may be beneficial in various situations, such as when a broadcaster wants to broadcast different views of the same site or event, but wants to leave out the footage while they are walking from one point to the other (without having to go back and edit the video file).

[0027] Public broadcasts and/or Quick Clips can also be sent to 'Followers'. Followers are registered users for whom the broadcaster does not necessarily have phone numbers/e- mails and to whom the broadcaster may not be able to send private messages. Followers can be categorized according to various user information, such as those previously discussed, including demographics, associated companies, etc. Followers may receive only public broadcasts from the users whom they choose to follow. Followers may be able to forward broadcasts to other users, post comments regarding broadcasts and they may also create forums regarding specific broadcasts in order to share their opinion and stimulate discussion among viewers, via the streaming service servers. In some examples, a 'Followers' selection screen, or other interlace, may further include controls for designating specific content type to follow, e.g. video, image, text, etc., as well as categories, or other identification data, that may be used to limit the alerts that are sent Embodiments may also include functions allowing users to turn notifications on or off, e.g. for another user, content type, category, etc. Accordingly, users may be provided multiple ways to customize their alerts, e.g., to only receive notifications for the content they wish to follow for a particular broadcaster. This can prove beneficial in many ways, including preventing users from becoming inundated by notifications, focusing the types of alerts that the user receives, screening content that the user may find objectionable, etc.

[0028] Video conferencing may also be initiated using a 'Call' button (not shown) from, for example, the launch screen (Figure 7). Users may add, for example, up to four people (excluding themselves) on a video conference call. Users who are invited to join the call may in turn invite other contacts to the call as well

[0029] Users can also access all of the broadcasts that they created, e.g., by selecting 'My Videos' and via screen 72 like that shown in Figure 4, which lists all of the videos created by that device stored on the platform server (public video chats) and/or the user device (private video chats). Edit and/or delete commands may also be provided for use by the user.

[0030] Likewise, the user can view lists of 'All Videos' that they have access to, like shown in screen 72 of Figure 4, and/or the available broadcasts that they are 'Following', like shown by button 84 in screen 84 of Figure 4. These lists can be served by the platform server based on user permissions, preferences, etc. The broadcasts in these lists may include various indicia such as time stamps and user IDs, and may be searchable or organized based on any other available information including creator, title, time stamp, categories, proximity, locations, etc. [0031] In embodiments, the combination of the client-side applications and streaming server can allow broadcast and two-way communication by video, voice and text These can also broadcast in various combinations, e.g. music or other audio files while broadcasting video, texts while broadcasting or viewing video to others viewing that same video, etc. Additionally, the client-side application can receive uifbrmation from the server indicating which contacts and/or followers are viewing the streaming session. Accordingly, the display on the user device can include indicia of specific contacts/followers that are connected to the streaming session.

[0062] Figure 9 shows an alternative screen 120 presented to the user (initiator) that shows the contacts 122 with their geographical locations 124. This is a very useful and desirable option when selecting the contacts, for example, located in the same city, for a video chat

[0063] Following selection of the contacts and their acceptance (steps 20-28 - Figures 5-9), the user (initiator) begins the video chat by selecting, for example, button 126 (Figure 8), and has the option to end the video chat completely by selecting "End All Bradcasts" icon 128 (Figure 10). Upon ending the video chat, the user (initiator) would be presented with an option to save (button 130) the video chat by, for example, "Title'* (132) and "Category" (134).

[0064] Figure 11 illustrates a library screen 136 cataloging stored video chats 138, which can be viewed in portrait and landscale modes, and are searchable/organized by, for example, category, title, proximity, geographical location, etc.

[0032] Figures 12-17 illustrate example operational relationships between various devices, components, users, etc. Specifically, Figure 12 is a schematic diagram showing synchronization relationships between a first device 142, a streaming service server 140 and second device 144, according to an embodiment of the invention. In this case, the device 142 may be used to synchronize contacts, including scanning various files on device 142, another remote server, such as an enterprise email server, or crawling social media or other sites mat the user is registered with, for any 'contacts,' which may be determined using various data file classification techniques. The identified contacts can be further reviewed for specifically formatted unique identifiers, such as phone numbers. Once garnered, the unique identifiers (or indicia thereof), may be transmitted to the server 140 and compared against the registered user accounts to identify any having matching unique identifiers. In some examples, the server 140 may send contact requests via common client-side application (or IM or email) to device 144 of any registered users that match the unique identifiers, or that the user of device 142 requests to add to their contacts.

[0033] Upon confirmation from user device 144, the server 140 may generate a message including embedded instructions that allow the application on device 142 to add the identified contact, after which the user of device 142 can chat and/or establish private broadcasts to the device 144. As mentioned previously, the foregoing method ensures a degree of privacy and verification that is not present in current systems that either allow unrecognized contact requests, or do not link a user with a unique and verifiable identifier.

[0034] Figure 13 is a schematic diagram generally showing streaming relationships between first device 142, streaming server 140 and second device 144, according to an embodiment of the invention. As discussed previously, when initiating a streaming session on a first device, like device 142, the streaming service server 140 acts as an intermediary between the device 142 and any number of devices 144 that access the stream. The server 140 can store the streamed data, provide it in nearly real time to device(s) 144, and also make it available for searching and later viewing by devices 142, 144. It is noted that the server 140 would likewise act as intermediary between the devices 142 and 144, when a streaming (or reciprocal streaming) session is initiated on a second device, like device 144.

[0035] Figure 14 is a schematic diagram depicting asp

a first device, streaming server 140 and various other devices, according to an embodiment of the invention. In this case, a user viewing screen 146 selects a Public broadcast option, which causes transition to a second interface 148. The user device may send a first message to the streaming server 140 along with transitioning to the second interface 148, e.g. to prepare a cache or other storage allocation on the server to minimize lag once the streaming session is initiated. When viewing interface 148, a user can initiate a broadcast, with or without adding title, category or other identifying information. When the user initiates the broadcast, the streaming data is sent to the server 140 and stored according to any naming convention and categorization that have been preset or determined automatically. The server 140 also makes the streaming session available to all, or a subset of, the registered users. In mis regard, various devices 150-158, including similar streaming applications and capabilities, may access the streaming session via server 140 in near real time, or at a later time. In some examples, registered users who are contacts and/or followers of the streaming session initiator/creator, may be sent alerts that the streaming session is available. In other cases, the streaming session may be discovered, e.g., using a search function of the application software. It is noted that each of devices 150-158 would likewise have the capability to initiate streaming, or reciprocate by responding to an existing or ongoing streaming session. In other words, a streaming session functions as a reciprocal or two (or multiway) video chat

[0036] Figure IS is a schematic diagram depicting aspects of a private broadcast between a first device, a streaming server and various specified contacts, according to an embodiment of the invention. In this case, a user viewing screen 146 selects a Private broadcast option, which causes transition to a second interface 160 that allows the user to select contacts that the streaming session will be shared with. In the example shown in Figure 15, the user selects contacts 1, 4, 5 and 8 to share the broadcast with. It should be noted that, in some cases, a user may also be able to share a broadcast with a predetermined group of contacts and/or follower(s). After selecting the contacts in 160, a third screen 162 may be presented including a front/back camera select icon. After selecting the desired camera, another screen 164 may be presented including a view of the broadcast As mentioned previously, during streaming, a camera select button may also be included that allow transitioning between different cameras during a streaming session. Embodiments may also support capturing videos from the front or back camera in 'Portrait' or 'Landscape' modes. In some examples, the camera may be rotated while broadcasting and the orientation of the video modified accordingly without interruption, such as shown in Figure 16. This may be done, for example, by configuring the streaming server to automatically detect changes in the orientation of the video images, and to modify the broadcast accordingly. Additional link buttons may also be included that allow various multimedia content to be included in the streaming session, e.g. music stored on, or otherwise accessible by, the user device, other application data, documents, phone calls, texts, etc. [0037] The user device may send a first message to the streaming server 140 along with transitioning to any of the various interfaces, e.g., to prepare a cache or other storage allocation on the server to minimize lag once the streaming session is initiated. When viewing interlace 162, a user can initiate a broadcast, with or without adding title, category or other identifying information. However, in some examples, a user may be presented with a screen like 148 before, during or after the streaming session. When the user initiates the broadcast, the streaming data is sent to the server 140 and stored according to any naming convention and categorization mat have been preset or determined automatically. The server 140 also makes the streaming session available to the selected contacts, in this case contact 1 via device 166, contact 4 via device 168, contact 5 via device 170, and contact 8 via device 172. hi this regard, devices 166, 168, 170 and 172, including similar streaming applications may access the streaming session via server 140 in near real time, or at a later time. In some examples, me server 140 alerts me selected contacts and/or followers of the Private broadcast via alerts sent to similar applications and/or IM, email or other messaging techniques. It should be appreciated that, depending on different features supported by various applications and operating systems, notifications may still be received by a user even if the specific streaming application is not 'open' at the initial notification generation time. As noted above regarding public broadcast (Figure 14), the devices, like 166-172 of the contacts, would have the capability to engage in reciprocal or two- (or multi-way) video chat

[0038] Figure 16 is a schematic diagram depicting aspects of a 'Quick Clip' broadcast between a first device, a streaming server 140 and various contacts from list 174 and followers from list 176, according to an embodiment of the invention. This type of broadcast may be configured to bypass or omit certain functions that are presented to the user as part of another broadcast mode, such as the Private broadcast described in the context of Figure 15. For example, upon selecting the 'Quick Clip' icon from screen 146, the user application may initiate a video streaming session with the server based on predctennined parameters, or a limited set of parameters, such as a front/back camera select option shown in 178. The server may automatically assign an identifier for the stream and begin storing and/or broadcasting the video. Automatic identification may be based, for example, on timestamp, location, and/or phone number information. In some examples, a plurality of different 'Quick Clip' or similar icons may be presented with different preset parameters used to acquire, name, store and/or broadcast streams. For example, a user may preconfigure a plurality of icons for each of their children, so that when they select a certain 'Quick Clip' icon it automatically categorizes and/or names the stream with the corresponding child. Myriad other options are possible such as predesignated streaming groups with associated contacts, e.g. 'Grandparents,' 'Soccer Fans,' 'Music Fans,' etc.

[0039] In the example shown in Figure 16, the 'Quick Clip' icon is configured to automatically alert a plurality of the users' contacts 166, 180 and 182, as well as the user's followers 184, 186 and 188, via contact list 174 and follower list 176. In some examples, the server 140 may store such broadcasts in a way that prevents the user from editing and/or deleting the saved stream from the server. In some examples, different hierarchies for editing and/or deleting may be assigned based on the type of stream, and may require some edit/delete requests to be approved by the service provider.

[0040] In some examples, the user may be presented with an option to assign title, category or other identifiers (like shown in Figure 10) after the stream is stopped, or at some other time (e.g., if the user selects the saved video from their 'My Videos' button 80 (Figure 4).

[0041] In some examples, two or more broadcasts can be coordinated (or clustered) into a single broadcast, e.g., that shows in a single screen or a view that rotates broadcasters. For example, as shown in Figure 17, a plurality of broadcasters 190-196 may be streaming content to streaming server 140, for example, a single event, but from different locations or perspectives/angles. The streaming server 140 may automatically associate these broadcasts, e.g., by location, by assigned category, by user groups, by user 'event registration' provided by the streaming service or other social media sites accessible by the streaming service, etc. In some examples, one or more of broadcasters 190-196 may initiate the association by sending a request to streaming server 140. This may be facilitated in many different ways, such as one of the broadcasters (e.g. 190) detecting or linking one of the other broadcasters (e.g., 192-196), a broadcaster sending invitations to other user(s) to join a broadcast, a broadcast viewer clicking a 'join broadcast' icon presented during a broadcast, etc. [0042] The streaming server 140 may broadcast associated streams as a combined (or viewer-configurable) broadcast to various users, such as user devices 198 and 200. The combined broadcast can be configured in various ways, such as presenting a selected broadcast 202 (which may be provided by broadcaster 190), and selectable icons 204-208 (which may be associated with broadcasts from broadcasters 192-196). The streaming server 140 may automatically cycle through the different broadcasts in the broadcast provided to user device 198 (and/or other viewers), or may allow the user to select between associated broadcasts. The streaming server 140 may also present a combined broadcast with simultaneous display of a plurality of individual broadcasts, e.g., as shown on user device 200 with streaming windows 210-216, which may be derived from broadcasters 190-196, respectively. In some examples, the content of one or more windows 210-216 may be selected by the server 140 based on, for example, the best viewing angle, from a larger number of associated broadcasts, e.g., from dozens or hundreds of broadcasters at a particular event The application presented on either of user devices 198 or 200 may also allow a viewer to rate a specific broadcast, which may be used, for example, by the streaming server 140 (or user device) to weight the priority for individual broadcasts in a combined broadcast For example, the streaming server 140 may determine which broadcasts are rated as best by viewers and present those more frequently (e.g., among display windows 210-216) or uniquely (e.g., in display window 202).

[0043] Combined broadcasts may be stored in various ways. For example, each of the individual broadcasts may be stored in association with the originating broadcaster (such as previously described), and a file that associates the broadcasts may be separately saved. A user may men select the associating file (e.g. linked to an icon in the 'All Videos' button 82 shown in Figure 4) at a later time, and be presented with the combined broadcast from the separately stored broadcast files. The streaming server 140 may also store records that associate specific broadcast streams that a user chooses to watch during specific times, e.g. so mat the user can easily go back and view the parts, individuals, and/or perspectives of an event that they focused in on during a combined broadcast, etc.

[0044] A further use example may involve a group of people attending a concert or other event, and one of the users creates a combined broadcast by selecting other users that are at the event or in the area. The combined broadcast may be viewed and/or stored by the streaming server under its own name, assigned by me creating user. Such features may also be used with videos mat have already been created. For example, if a user wants to create a collage of their own videos, they may select from among existing accessible videos, and select "My Videos" button 80 from screen in Figure 4, or a suitable icon or the like, to create a combined broadcast that may be stored under a new file name.

[0045] Streaming sessions discussed herein can also be linked to various social media accounts, and/or registered as a 'TV channel' name (similar to registering as a business) and broadcast videos through that 'channel.' In addition to a TV channel, users can also create a 'radio channel' if they wish to only broadcast voice/sound.

[0046] In some embodiments, the streaming server may be configured to selectively provide public content to other streaming services for broadcast via other websites. Such distribution may be based on, for example, separate licensing or other arrangements with such services, whereby certain content (e.g. content that is viewed a certain number of times) becomes available to the other services for access by users that are not registered with the originating streaming service.

[0047] In some examples, systems and methods described herein may also include functionality that adds advertisements, such as commercials, before or after a streaming session, or adds banner advertisements or the like to public streaming sessions. This may be done, for example, via the streaming server and may pull advertising content from various third-party sources, and included in streaming broadcasts. In some examples, users may be able to pay an additional fee to remove such advertisements from the content that they are broadcasting or receiving.

[0048] In some embodiments, the streaming service provider may also limit users from broadcasting content from which they receive revenue, e.g., by scanning streaming data for embedded advertisements, etc. This can employ techniques such as scanning for static portions of image or video data, Thus, the service provider can be equipped with means for reserving the rights to revenue streams generated by videos or advertisements on videos. In some examples, streaming sessions may be monitored for content that is prohibited by the service provider's terms of use, or the like, and accounts may be automatically suspended based at least in part on such scans. [0049] In some embodiments, me application may also be configured to upload prerecorded or produced content (such as videos, audio files, etc.) to me streaming server. This may be implemented, for example, via icon(s) that access files stored on the user device, or that are otherwise accessible, and transferring those files to the streaming server where they may be stored in association with the user account Such files may be accessed by other users in similar manner to the streaming session examples discussed above.

[0050] In addition, embodiments of the present invention further include computer- readable storage media that include program instructions for perforating various computer-implemented operations as described herein. The computer readable medium is any data storage device mat can store data which can thereafter be read by an electronic system. The media may also include, alone or in combination with the program instructions, data files, data structures, tables, and the like. The media and program instructions may be those specially designed and constructed for the purposes of the present subject matter, or they may be of the kind available to those having skill in the computer software arts. Examples of computer-readable storage media include magnetic media such as flash drives, hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.

[0051] The computer readable medium can also be distributed over a network coupled to electronic systems so that the computer readable code is stored and executed in a distributed fashion.

[0052] The description given above is merely illustrative and is not meant to be an exhaustive list of all possible embodiments, applications or modifications of the invention. Thus, various modifications and variations of the described methods and systems of the invention will be apparent to those skilled in the art without departing from the scope and spirit of the invention. Although the invention has been described in connection with specific embodiments, it should be understood that the invention as claimed should not be unduly limited to such specific embodiments. [0053] Preferred embodiments of mis invention are described herein, including me best mode known to me inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise man as specifically described herein. Accordingly, mis invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context

EXAMPLE

[0087] The following represents an example of the operational details of an embodiment in accordance with the present invention.

[0088] Software for video chatting with multiple people simultaneously.

[0089] Registered only by phone number and/or email ID to create a unique ID.

[0090] Can be used on smartphones, tablets, PCs, etc.

[0091] The profile page provides the options to register users' name of choice

(mandatory) and company name or stage name (optional). One can keep the phone number hidden.

- Status. Field provided

- Gender field

- About field provided

- The other contact field provided

- Event calendar provided

- Optional profile picture field provided with a 10 picture album. One can choose any one of these 10 pictures for a profile

[0092] Do not disturb button on profile page.

[0093] Do not disturb button deactivates the software.

[0094] The event calendar can be found by clicking on the picture of anyone who is using this software as this will give access to the profile information, the event calendar and the videos they have publicly broadcasted. [0095] Once you are in someone's profile, you can also access their public video chats by clicking on public video chats.

[0096] Once in someone's profile, you can follow that person. This will give you a notification of all their public video chats.

[009η Contact list.

- This will display all the contacts in the users phone contact list who are using the same software.

- Users can click a video chat button displayed on the contact menu.

- This will ask the user to select a private or public video chat

- If private video chat is requested, then the users friend will get a private video chat request

- If public video chat is requested, then the users friend will get a public video chat request

- Public video chats are available for anyone to watch live or at a later time by using the same software, and public video chats are saved on software's own servers. They are not deletable after a certain time.

[0098] User's friend can accept or reject the request in order to proceed with the video chat

- If video chat is accepted, then the requested friend will appear on the screen of the user who sent the request

- If request is rejected, this will ask the user (requestee) to send a message back to the friend who had sent the request (requestor).

[0099] For video chat

- A message option will appear in the following order when the video chat is rejected:

■ Can chat in:

• 5 mins.

• 10.

• IS

• 30

• 1 hour

• 2 3

4

In the afternoon

Indie evening

Tomorrow

In a week, etc.

Select one of these to send the chat initiator

- If nothing is prompted then it will simply say not answering.

[0100] This process will be repeated for any of the friends who have been sent the video chat request

[0101] The sent public requests will display as follows:

- Mr. X requested a public video chat

[0102] When the public video chat request is sent to the third friend, fourth, etc., they will also get the text display on their screen along with the request notifying who is already on the public video chat that is already engaged.

- This process is started only by the initiator and none of the other parties. However, if the initiator is dropped out of the video chat by choice or due to bad connection, the initiator status would fall to the next user who is a part of the video chat.

[0103] The initiator of the public video chat would be the one who can title the public video broadcasts at the end of the video chats and is the one to retitle it This can be done at the end of the video chats or later.

[0104] The initiator is the only chat member who can pause and resume the video chat

[0105] Once the video chat is titled and saved, it remains on the software servers for public viewing.

[0106] Public video chat will show the locations of all the participants on screen.

[0107] All public video chats are searchable by proximity, title, category and location.

[0108] Pre-recorded videos can be uploaded in the public video chat as well.

[0109] Public video chats will have 3 types of videos:

- Live

- Broadcasted - Pre-recorded

[0110] Pre-recorded video chat will have an option to upload still pictures

- (same way as pre-recorded videos)

- These pictures will have a description box

- For titling, description and purpose of sharing

[0111] These pictures are also searchable by category, proximity, title and location.

[0112] Private video chat works the same way as public video chats except

- It is only available to the participants and no one else. Not saved on software servers and can be saved on private chat initiator's device.

- It can be uploaded in public video chats later, as pre-recorded video.

[0113] Private video chat will show the locations of all the participants.

[0114] All the video chats can be viewed in landscape mode or portrait mode.

[0115] All the video display screens have an option to enlarge one of the participants at a time.

[0116] The camera is able to zoom in and out.

[0117] Video Clustering (Figure 17): Public chats can be broadcasted from more than one angle:

- Up to 4 phones can be registered under 1 ID.

3 of these phones can be recording one particular (same) event at one time from different angles.

- Live or recorded, the 3 pieces of footage are sent to the fourth phone who then chooses which perspective to broadcast Each video will have a button that allows the fourth user to select the video.

- This video is then titled and categorized. It will be saved on the server as it can only be done publicly.

[0118] While this invention has been described as having preferred sequences, ranges, ratios, steps, order of steps, materials, structures, symbols, indicia, graphics, color schemc(s), shapes, configurations, features, components, hardware architecture, or designs, it is understood that it is capable of further modifications, alternative constructions, equivalents, uses and/or adaptations of the invention following in general the principle of the invention, and including such departures from the present disclosure as those come within the known or customary practice in the art to which the invention pertains, and as may be applied to the central features hereinbefore set forth, and fall within the spirit and scope of the invention and of the limits of the claims appended hereto or presented later. The invention, therefore, is not limited to the preferred embodiments) shown/described herein.