“Confidential” - a marketing move or an implemented option? Sphere Live Project (beta)


    Hello, dear Khabrovites!

    Continuing the topic of choosing a software development environment, specifically Delphi XE6, which we touched on in a previous publication , we consider it our duty to proceed immediately to a demonstration of what can be done using the capabilities of this programming language, developer talent, and the Firemonkey platform.

    We’ll make a reservation right away, this post will not cover development problems, especially since you can learn about this from an interview with the head of the development department of our company Alexei Glyzin, which he took from a well-known blogger among developers at Delphi, Alexander Bozhko . We will introduce you to the result that we achieved using Delphi XE6. So, let's begin.

    Under the cut you will find a detailed description of the functionality, the announcement of the features implemented in the code, GUI, useful features, plans for the future and much more ...
    ATTENTION! Many screenshots! ..

    Sphere Live is a free multi-platform video conferencing organization system with an unlimited number of participants in the form of symmetric and asymmetric lectures with an integrated billing system, file sharing and cloud storage functions, as well as protecting user information (correspondence, sent and transferred files) , video and audio communication).

    Who is our product oriented to?


    The Sphere Live project is aimed at the widest audience of users, both a regular user who is always “connected”, and a businessman who needs to conduct conferences and meetings remotely, to control the work of employees “out of the office” through the functions of demonstrating the desktop and remote access to the camera, both for an external student who chose the distance learning format, and for any teacher, consultant, blogger.

    The project was implemented "for ourselves", and we wanted to solve the following problems:
    - to provide high-quality and reliable communication during an audio / video call;
    - organize group video calls;
    - have a tool to send multiple files at once with unlimited amounts of information to an unlimited number of recipients at the highest possible speed;
    - "share" files;
    - have a complete history of all types of calls and messages sent and transferred files;
    - Integrate a translator in the chat to communicate in different languages;
    - to be sure that no one will get access to the information transmitted by me, even the software developer;
    - know that no one is listening to your conversation;
    - create a tool for mutual settlements within the program with the goal of organizing paid audio / video calls in order to simplify the task of raising funds and reduce the likelihood of non-payment for the services rendered: individual and group consultations, lectures, etc .;
    - The ability to transfer and view any files on mobile devices;
    - to provide work with files only in the program in order to maximize the author’s rights;
    - save traffic for the user due to the unique technology of transferring audio / video streams and files;
    - organize a convenient and reliable storage with unlimited volume.

    This is just a small list of tasks that we have already solved at the code level. We want to demonstrate the implementation of individual tasks in the interface today. Other functions and implemented tasks will appear in each new version, which we plan to release weekly with a detailed history of changes and an overview on Habré in our blog and website.

    Sphere Live privacy policy


    Before the demonstration, we want to say a few words about how we solved the privacy problems, because This is one of the most discussed topics on the web.

    Firstly, we managed to ensure complete confidentiality from “3 persons” at the architecture level of the client-server application. There is no access to the database. It simply does not exist "from outside." The client application does not receive any access to the database. It only "communicates" with the server. And the server, in turn, using controllers and a specially developed interpreter, operates with user data: correspondence with their contacts, files sent / transferred to him / him, access to their profile and the information contained in it. In general, the server is engaged in the organization of everything, or rather, the server. Therefore, information leakage is possible only if the user provided the username and password to the “3rd party”. However, in this case, we have provided additional security options in the system architecture. If you lose your username and password, the program will inform you about the authorization of new unknown devices, incl. and SMS messages and e-mail messages, and allow them to be blocked.

    Secondly, to protect information from the developer, we integrated such a “feature” as additional information encryption - this applies to both files and communication modes in chat and in an audio / video call session.

    One of the elements of protection against listening is a feature of the developed protocol for transmitting audio / video:
    not only is it necessary to know all the protocols and principles of software operation to connect to the “conversation”, but it is also impossible to connect to the conversation unnoticed, i.e. the conversation participants will always be able to understand that someone has connected to them, as one more “participant” will be added, otherwise it is simply impossible to connect to the conversation.

    Physical intrusion and removal of information from the file storage also will not lead to anything, in other words, if you encrypted the file (for example, yourself) before sending, and then used the tool built into our program, then reading this file is simply unrealistic. It is not enough to know who sent the files and when. It’s not enough to even know the login with the password of the user whose files you want to receive. As we described above, the architecture of the application and the entire system provides for such an option: you will not only be informed about the authorization attempt from an unknown device, but also about all the actions of this client (we have already implemented this option and are now undergoing a testing phase. In our program she will appear soon). In addition, a unique file storage system allows only clients to access files

    We will stop at this for now, otherwise you will not have the patience to read our article to the end (it will turn out to be very voluminous).

    Please note that this article does not contain information about the competitive advantages of the program and PR (this will be a bit later). The purpose of this article is to find out your opinion about our application and get feedback.

    Start: where to download, how to install, application launch


    We are currently testing new servers, and client application shutdowns are possible. You can understand that a disconnection occurred if you notice the following: messages do not arrive or your messages do not reach the addressee, you cannot make a call or you cannot be reached, your login is not determined during authorization, files are not sent or do not come. These situations are short-lived, but to restart the application, you must restart it. We apologize for the inconvenience in the beta version of our software. We plan to finish testing new servers by the end of August.

    It is worth noting that our work will not affect your current calls, regardless of whether it is audio / video calls or conferences. Our architecture and system protocols allow the application to automatically restore current calls and participate in conferences / lectures, including after disconnecting and restoring the Internet.

    To install and run the application, you just need to visit our website www.sphere-live.com and click the "Download" button. The software installer appropriate for your operating system will be downloaded. At the moment, the application cannot be installed for Mac OS X Mavericks, so you will have to wait for the next update (((.

    For windows

    Run the InstallSphere.exe file and go through the installation process (it will take you a few seconds, unless of course you study the license agreement).

    For Android

    In the “Download” folder you will find the InstallSphere.apk distribution that you need to run. After installation, you will see a SphereLive shortcut in the "Menu" section. Launch!

    Yes, the installation process is different, but then everything is identical for Windows, Android, and Mac OS.

    First start





    You see the standard welcome window of the program (Fig. 1), where you can select the interface language (Russian or English, we will appear in other programs in the program as we add them). Go ahead and click the "Continue" button.

    You have a choice: to register or log in (Fig. 2), so if you are launching our application for the first time, then you should go to the “Registration” section, but if you have already used the program, then you yourself know what to do next. )))



    The registration procedure is as simple as possible for the convenience of the user. You need to come up with a nickname / nickname / login in Latin with a length of more than 6 characters, come up with a password and enter it twice in a row. Next, enter a real e-mail, otherwise, if you lose your password, you will have to register again. Read the user agreement, check the box and click on the "Register" button. (Fig. 3)

    Interface Overview.



    Interface. (Fig. 4)



    Let's get acquainted with all the interface panels.

    1. The main menu. (Fig. 5) Only the following sections are active (in the current implementation): profile, search and add contacts, settings, exit from the account and exit from the program.



    2. User information. (Fig. 6)
    Here you can change the status, check / replenish the balance (1) (we will talk about this in future versions, in the process of connecting these options) and go to the "Detailed Information" section. (2)



    (2) Detailed information (Fig. 7).



    In this section you can:
    - indicate your mobile phone number so that users who are listed in your contacts can send you SMS from the program without entering your phone number;
    -change the avatar by selecting it from your archive or by taking a photo from the camera.

    3. Hot keys: audio call, video call, open chat (active when a contact is highlighted). (Fig. 4)

    4. List of contacts (below is the description of the context menu in this section). (Fig. 4)

    5. Contact lists. (Fig. 4)

    6. The information output window (for settings and chat, in the Android OS, these windows open when the corresponding sections and functions are called) ... (Fig. 4)

    Before we go on to consider the main functions of the program, let us “go over” on the “Settings” section without additional description, as the contents of these sections are intuitive to anyone. (Fig. 4)

    a) Basic. (Fig. 4)

    b) Interface. (Fig. 8)



    c) Audio. (Fig. 9)



    d) Video. (Fig. 10)



    d) Video surveillance. (Fig. 11)



    Here we will linger, because these settings are not standard. Video surveillance is organized by the principle of remote access, so if you want your interlocutor (only the one who is authorized in your contact list) to be able to see you at any time, you need to activate this function by “turning on the toggle switch”, then enter the password twice, and, After selecting users from your list, add them to the list of allowed contacts. “How to use this function?” - “Read on!”

    e) Files;

    g) Translator.

    Functions


    In this section we will consider all the possible (in this version) functions, but first we need to make “friends” / contacts. To do this, we can use the “main menu” or use the “contact list management” panel by clicking on the appropriate button. (Fig. 12)

    If you are “alone” and also want to contribute to the development of the Sphere Live project, we recommend that you enter in the search bar, the next name is support and send a request to be added to the contact list. (Fig. 12)



    After the technical support employee confirms your request, the support contact is authorized in your contact list.

    Now we can go directly to testing the basic functions. To do this, you need to select the contact and right-click on it (for Android and devices that support the touchscreen function, you need to select the contact and hold “LongTap”) to call the context menu in which all functions are displayed. (Fig. 13)



    1. Marks. This function allows you to select contacts for the execution of group commands.
    2. Open a chat. This function opens a chat with the selected contact (we will consider the functions and chat interface below). (Fig. 14)



    3. The bell. Audio call contact. (Fig. 15)



    4. Video call. Video call to contact. (Fig. 16)



    5. Calls. (Fig. 17)



    This item contains the submenu: Calls to a mobile phone and Video surveillance.

    A call to a mobile phone is only possible for devices running Android OS, provided that the contact you want to call indicated your phone number in your profile. ATTENTION! A call is made using your mobile operator at the current tariff for the contact’s mobile phone.

    CCTV. In order to use this function, your contact must be added to the contact list of the user to whom you are connecting, who are allowed remote access to the camera. In addition, you must know the password for accessing the camera of this contact, which must be entered in the window that appears.

    6. Send files. (Fig. 18) This option is temporarily not available for Android OS.



    In the file sending panel, you can add an unlimited number of files (1), but with a limit of 200 MB (the total volume of packed / compressed files), as well as add other recipients (2) to your mailing list from your contact list.

    7.Sending. (Fig. 19) The



    submenu includes two active functions: Sending e-mail (1) and Sending SMS (2).

    8. Contact information.

    9. Contact. This menu item includes the contact management submenu: “Add to favorites”, “Remove from favorites”, “Rename contact”, “Delete contact”.

    Chat interface



    1. Window for displaying sent / received text messages. (Fig. 20)
    2. Text message input panel with the editor’s context menu. (Fig. 20)
    3. Interlocutor identification panel. (Fig. 20)
    4. Hot buttons (audio call, sending) file, SMS, sending e-mail). (Fig. 20)
    5. The period of displaying the chat history. (Fig. 20)
    6. Translator. (Fig. 20)

    Here you can choose from which language to which the transmitted and received test messages should be translated.

    Announcement until 08.31.2014

    We plan to connect most of the functionality we implemented in the code, namely:
    - settings for audio and video quality;
    - video conference with an unlimited number of participants (restriction on the level of iron and Internet bandwidth);
    - asymmetric video conferencing;
    - group chat;
    - call history, received and committed files, group chats;
    and also:
    - GUI optimization for the tablet;
    - light skin;
    - release a version for Mac OS X.

    The next publication will be devoted to a review of updates and new features, competitive advantages, and we will also talk about what we pursued and who our client is, what meaning we put in the concept of “confidentiality”, and how this concept differs from other marketing moves.

    All comments (comments, suggestions, recommendations, harsh constructive criticism) write in PM or at the following contacts:

    e-mail: support@sphere-live.com

    Sphere Live: support (just pre-add us to your contact list)

    Forum : forum.sphere -live.com

    In conclusion, a small task for those who love gifts and is endowed with the talent of a researcher: find features that are not published in the article in the application and get a VIP account with advanced functionality and increased file storage. Post the results in the comments.

    See you in new publications!

    PS several Android screenshots:


    Also popular now: