Table of Contents

Qnect App

Current Phase: Phase 1 (0.1.2 - Beta)

Qnect is our cross platform chat app! For Android, Linux and Windows this app is available as a native build, which means the packages are built specifically for each of those platforms and will not be dependent on or require any additional software to run. It has not yet been decided if the Android version will be available through the Play store or as an unofficial apk.

Qnect will also be made available as a web app that can run on all devices (including iPhone and Mac). The web app can be opened in a web browser by going to the Qnect website and in most cases can be installed to your home screen or desktop as a progressive web app. It will probably also be possible to run your own local HTTP server and install the app on that server. This still needs to be tested and all scenarios need to be considered before deciding whether this is a viable option but it is within the realm of possibilities.

The plan is to release Qnect in 3 phases:

Phase 1: The Beta testing phase, at this stage you will be able to pull chat messages from the blockchain but you will not be able not post any messages. All available groups will be presented to you and you'll be able to choose which ones to follow. Chat messages from followed groups will automatically be downloaded and stored locally on your device enabling the much anticipated feature of chat history persistence. If there are any unread messages in a group you will see a badge with the number of new messages on the right side of that group's tile, when entering the chat the app will navigate to the last read message. Qnect will automatically show previews of websites and images inside the chat if you enable that option. A user's info can be viewed by tapping on their avatar, when we get to phase 2 or 3 the latest minting efficiency and history for minting accounts will be presented, this data is already collected but not yet presented at this stage. Due to the current 24 hour limit it will be necessary to open the app once a day for at least one minute to ensure you receive all the chat data, once messages are persisted longer on chain this will no longer be necessary. At this stage all API calls are done over Traxo's and AlphaX's public nodes (thank you for this service guys!). Phase 1 is very near completion and those interested in testing it can do so by going to the Download Guide below!

Phase 2: Support for connecting to a node on your own network will be added as well as Qortal account creation, similar to the way that this is done in the Qortal UI. This will open up the possibility to post message, as well as other functionalities such as making payments, group management and name registration, though at this stage only the posting of chat messages will be implemented.

Phase 3: More advanced chat features such as replies, forwarding messages, user tagging, message editing, advanced search features and the importing and exporting of chat data can be implemented. Features that require a logged-in Qortal account can also be introduced at this stage. We can start paying more attention to detail and add theme customization, emoticons and start implementing any new ideas that have been offered as feedback by the community (if feasible).

As you can see there's still quite a lot of work to be done but what we have so far will already enable us to keep up with Q-chat on the go. I can tell you from experience that it's very nice to be able to read Q-chat messages on my phone when I'm out and about.

Have a look at the preview and enjoy the show…

https://rumble.com/v1l9znv-qnect-sneak-preview.html

Download Guide

https://qortal.link/Qnect/Downloads.html

Notes From Ido

I saw some comments about Qnect being centralized that I'd like to address. Specifically two concerns that were raised in Q-chat:

The first one being the fact that it is served over a web server. This is only the case for iPhone and Mac users, since publishing to the App store will most likely be a no-go for an app such as this. But if another Qortal dev wants to give it a try once I publish the code they are welcome to do so. For Android, Windows and Linux there will be natively built packages. Those can be installed from file directly to your device.

Another option could be to install an HTTP server on your system and run the web app from there, I would provide the files that would normally be served by the website and you can just load those onto your local HTTP server, problem solved.I'm not sure about that option yet, as it would mean anyone could make a website, plop those files in there and use it as a phishing mechanism to obtain people's credentials. These are some of the challenges that come with open source software.

The second reason that Qnect could be called centralized is the fact that it uses our public nodes to make API calls. Within our home network we will (in phase 2) be able to connect to our own node.

Qnect cycles through the list of all current public nodes when it makes API calls. You'll be able to edit that list, this might come in handy if more public nodes become available, or if some public nodes go offline.

Since the lite node does not contain the blockchain and fetches data from a list of peers, it could be argued that that is a bit similar to getting the data from public nodes, albeit a lot more random and with a lot more peers to choose from.

So yes, compared to the UI, Qnect is more centralized, but it's as decentralized as we can expect it to be for a mobile app that is meant to be used outside of our home network.

Phase 1 Notes

Hello all.

The Qnect PWA is live!

Now that the progressive web app is deployed everyone should be able to use the app, regardless of which device or operating system you are using. As long as you have a modern web browser you'll be able to load the web app in your browser and install it to your device as a 'pseudo-native app'. This means that Qnect will run as a stand-alone application but within the framework of the browser from which you've installed it.

If you choose to install Qnect as a PWA it will in principle only be dependent on the Qnect website for the initial installation and to update the app when a new version is released. In theory, the Qnect website could be taken offline and everyone who has installed the PWA will still have a functioning application. I'm considering taking down the site for a while after enough people have installed the app in order to test/prove this premise.

Using the PWA version of Qnect as opposed to the native builds has some advantages and some disadvantages:

Advantages:

- Very easy to install. - The app will automatically update when a new version is found on the website. - Available for all devices and operating systems. - Circumvents big tech gate-keeping infrastructure such as the App Store or the Google Play Store. - Significant increase in potential user-base due to the much lower barrier for getting started. - Experience is similar to a native app while allowing for cross platform deployment. - Offline availability, can still function if the Qnect website goes down. - Can access additional services and hardware on your device if granted those permissions.

Disadvantages:

- Not all browsers support installing a web app as a PWA (Firefox comes to mind). - Deployment aimed at non tech users requires a (centralized) web server, technically inclined users could install the PWA over their own their own server and domain name using SSL or TLS. - Features such as link/image preview and push notifications which are available for native builds will not be available for the PWA or require external solutions. - Native builds will most likely perform better than the PWA, though the difference will likely be negligible on modern devices.

Check it out at https://www.qnect.org