Just completed a proof-of-concept prototype of my chap app for the safe network. It is very rough but it demonstrates basic chat functionality using solely safe network.
If you want to try it you will need:
Tap on âAuthenticateâ button. It will lead you to the Authenticator app where you have to give permission
After that you will be directed back to the Zignals app which will connect to safe network
Once connected tap on âFill in my contact detailsâ and enter your name(s)
On top of the screen there is ânew reachoutâ button, tap on it to initiate connecting to other person.
new screen will open, enter for whom this reach out is meant for, for example âAliceâ and tap âCreate reach outâ button
New screen will open with âCopy to clipboardâ and âShareâ button. If you are using just two emulators side by side use âCopy to clipboardâ. You are using real Android device - use share and send it to the other person
At the other end tap on the dots (home screen) and select âAccept reach outâ. Tap on âFrom clipboardâ (QR code is not working yet). If successful a toast will be shown âReach out acceptedâ.
Restart the Zignals app on the first device (in order to reinitialize)(kill and start again).
At this point on both devices you can go to âContactsâ from main screen, tap on the contactâs name, then âMessagesâ and start chatting. Please note that you need to tap on âRefreshâ icon on the top in order to receive the new messages.
Here is a short video showing the first device (wait for it, at some point nothing happens because I am working on the second device): https://youtu.be/rH_jZyNYX-c
Brilliant work with this @ogrebgr! I love the idea.
Although I could not get this working for me
Iâm using two different accounts. I created a reachout and shared the data via SMS, copied it to the clipboard on the second device and then accepted it there. All good so far.
Once I restarted the app on the first device, the app keeps crashing.
It seems that you forgot to enter contact details on the first deviceâŚ
However such problems will be eliminated in the upcomming versions, this was just a prototype. I think I will have to wait a bit for the API (and types) to stabilize before rewriting the wrapper lib and the app itself.
FATAL EXCEPTION: Thread-2
Process: tech.safenetwork.zignalz, PID: 31378
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String tech.safenetwork.zignals.contact.ContactDetails.getFirstName()' on a null object reference
at tech.safenetwork.zignals.ZignalsImpl.processConfirmedReachOuts(ZignalsImpl.java:285)
at tech.safenetwork.zignals.ZignalsImpl.init(ZignalsImpl.java:105)
at tech.safenetwork.zignals.units.main.InitAndConnectTaskImpl.execute(InitAndConnectTaskImpl.java:66)
at com.bolyartech.forge.android.app_unit.rc_task.executor.DirectRcTaskExecutor.execute(DirectRcTaskExecutor.java:15)
at com.bolyartech.forge.android.app_unit.rc_task.executor.ThreadRcTaskExecutor$1.run(ThreadRcTaskExecutor.java:27)
at java.lang.Thread.run(Thread.java:764)
Force finishing activity tech.safenetwork.zignalz/tech.safenetwork.zignals.units.main.ActMain
I borrowed a couple of accounts from the guys in office and I was able to get it running
Something I noticed was that, the first time I stored my contact details it didnât actually get saved. I had to fill it in a second time. So maybe thatâs something to look into too
I agree! Some interesting new features are cooking
Everythingâs already specified in the RFCs of course, so you can know what to expect!
On a side note, if youâd like more people to try out the app consider sharing this on the SAFE Network forum We have a larger non-developer community there who will love to see this!
@nice
Frankly - no. This is just a proof-of-concept version and it is quite rough, I apologise. It was meant just to test the basic principles of safe network. It should work on 14.1 though but I donât have such device to test it.
Next version will be more sophisticated but for that the API have to stabilize in order to rewrite my wrapper lib and the app itself. I hope that it will happen soon so we can have ârealâ apps running.
Thank you for your quick answer ! Iâll try the next versions then Congratulations anyways, from what I can see on your video it looks really well designed
Have you received anything from me (draw)?
See under âaccept reach outâ.
Or must this share go via another channel like sms or this forum @ogrebgr?
but now Zignals keeps crashing for me. I will reset the phone and try again and see if I have any invites
Dimitar is off to bed (timezones) so we will try again in the morning.
I will be up for a few hours yet myself though. I will keep trying.
Sharing of the reach out data should be done via another channel like email (preferably).
It is just a String data in json format so all channels that donât mess with the encoding should be OK, including this forum. Remote party should copy the string into to the clipboard and select âAccept reach outâ â âFrom clipboardâ.
I copied all of the reachout string to the clipboard but when I try to âAccept reach outâ â âFrom clipboardâ, it just hangs with a red circular waiting icon.
Also it was continually crashing when I tried to add my contact details. I uninstalled and tried again and it seemed to accept the details OK. Iâm using a Samsung S7 with latest updates.
All-in-all probably it was too early to release the app but I really wanted to demonstrate that the concept is working (i.e. reach-outs, each user writes its own messages in own mdata (i.e. not shared mdata), etc.).
At my job I am at the end of a big fat project and in the next few weeks will probably have a little time to work on the Zignals app but I hope that when the Fleming is out I will have more time to remove the bugs and add some features.
BTW, Zignals name comes from âSignalsâ and âzig-zagâ - the way data is zig-zagging trough the nodes using XOR arithmethic ;-).
Again, I want to apologize to the people that had problems/crashes with the app.
I will also prepare a post with the conclusions and lessons learned during the development of the app - there are some points to discuss with the core developers because we will need better sync with them in order to create robust stack of libraries.
There is no need to apologise. We expect there to be problems with new stuff like this. I am only sorry I could not give you better feedback as to why it was failing.
I look forward to the next release and will install an Android emulator so hopefully I can give better crash reports.