nutomic / ensichat Goto Github PK
View Code? Open in Web Editor NEWProject discontinued
License: Mozilla Public License 2.0
Project discontinued
License: Mozilla Public License 2.0
Maybe it would be nice to have message deliverance notifications like in whatsapp. Get the protocol to send a message to the sender telling him that the message has been sent.
For situations where keys must be exchanged before bluetooth connection is possible.
For example: Two people plan to meet for the first time in a busy subway station. Having exchanged keys OoB (OTR chat for example), one can contact the other when they arrive. A secondary verification may be useful during this in person exchange.
I do not know if this already exists in EnsiChat. I am assuming it does. So the question is does it, it seems so.
Maybe I am getting confused with the user verification feature.
Does EnsiChat support data encryption?
It would be possible to add (now or in future) AES technologies to encrypt communications?
This is a future feature request. But I feel like I should put it here.
A cool feature would be to add an "Add Contacts" button to the main activity when the user has a blank screen (no contacts).
It would be cool to see a feature implemented to add to the protocol information to when the message was sent. At what time it was sent.
I think EnsiChat could really do with a library (Shared Library - is that the word for this situation) as this could really open up the abilities to silently interact with EnsiChat and send data from one app to EnsiChat and then to a node.
Something like a little EnsiChat API.
I can longer find the button to add contacts in EnsiChat.
Add a black theme "AMOLED" for save the battery
I was thinking of a really cool idea.
What if you could include a piece of code that could run a multi-threaded TCP server to handle requests from other apps that want to communicate to other apps that are on another phone on the EnsiChat mesh.
Like so:
Phone 1
has an app that say now sends messages.
Phone 1
wants to send a message to the same app on user's Phone 2
.
Phone 1's app
then makes a TCP connection to the local TCP server on port 6969
and then via a protocol designed by @Nutomic - it can take that data and send it over the mesh via your bluetooth + internet routing protocol and then to the device specified in the packet sent to EnsiChat TCP server. Once received it can then send the data back from EnsiChat on Phone 2
to the required app by sending a data message via TCP to the app.
This is just an idea, however you would like to implement a "Router API" is up to you. I just think it would be neat to see apps using your protocol to transfer information other than EnsiChat's.
https://github.com/schildbach/bitcoin-wallet/issues/212
This is currently in some kind of lingo. It's implemented in both apps and worked for me. But I have to wait until Andreas merges the code into his app.
Maybe the server should have its own repo and use the GNU AGPL v3?
I think that EnsiChat should save the status of the state of Bluetooth being on or off. so say now Bluetooth is off in the device once when EnsiChat starts then it should start Bluetooth for the duration of the application running and once ensichat exits it should return the Bluetooth state to the original state (in this case, off).
This is a feature of what I think needs to be implemented for the best user experience.
In particular, it would be good to be able to make the notifications silent.
The ability to send files through the mesh would be awesome. And maybe even (sign the files, I think though that signatures are already in the protocol for text messages in EnsiChat if I am correct.
The app is really great, but is possible add an encrypted PTT (push to talk) functions like a Walkie Talkie??
I would like to know how the system works.
Does it create a mesh network using Bluetooth as the communications system? If not it would be cool to see it work in a mesh nature.
Maybe a documentation in Markdown format of how it works would be great. :D
I think that if this creates a Bluetooth mesh network, you could possibly create a fork of this project and call it EnsiRouter. And basically allow applications on Android to use EnsiRouter's API for sending data from one node to another. This is just an idea, but I think it s a great one.
It would be really cool to have a page dedicated to the network information.
Little update:
Maybe you could include something like a ping time or somehting, I don't know, just for fun. It shouldn't be that hard. UI have some pseudo-code below which could help:
# Gather ping info
var startTime = currentTime()
sendPacket(nodeAddress) # This should be a special packet of which teh node can see it must send a reply to the sender of the packet.
wait until packet is received
var endTime = currentTime()
var ping = endTime - startTime
There is one thing I want to know. If some one takes your username how can the connectee decifer which drive is the real @deavmi . Couldn't there be some kind of MAC address stuff put into here or something, some signature of proof.
Also if this is the fingerprint, system, maybe (I am lost in my one thoughts) there should be a view fingerprint option somewhere. Idk, I am just throwing ideas around here. ;)
I was reading a question on how blue tooth works on Wikipedia. The way EnsiChat works, say now you have three nodes within the same distance from each other a triangular topology. All with a 5 meter distance between each other. And the all connect to each other in a mesh. Is it completely decentralized, like there is no super node or node that runs the whole network.
is there any way to getting beta builds of ensichat?
Is it possible to add a way to share the app ?
The case where the app would be the most needed are those when we don't have a connection or a bad one (or at least for me ^^) so other people can't go on the internet and get the app.
Works the second time though.
It would be very cool for there to be a feature implemented that allow for profile pictures per node (user).
notification while EnsiChat is running would be quite cool, also if it has options to turn ensichat quickly on or off (toggle button)
Maybe a feature that can allow status indicators with a green circle meaning available, and orange meaning busy and red being offline.
This would be a great feature to add to allow conversations between groups of people.
I would suggest this strongly as it will allow the network to do way more (not that it already can) but in a way more efficient way.
There are things like video and voice chat that I think could be awesome but only would work well if the router uses dynamic routing.
The addition of a start on boot option for the EnsiChat would be nice. Allow it to start as a notification.
notification on message arrival
I am experiencing a crash on startup of Ensichat after the latest update.
I think allowing EnsiChat to start on boot would be great.
How does the network send messages (Bluetooth isn't special as in I doubt it having its own protocol for networking as all it is is a radio). What is used for the networking, TCP?
https://github.com/AlexKang/blue-chat
https://github.com/n8fr8/gilgamesh/issues
Is there an eye to playing well with others?
Discover users indirectly connect to your node.
I was wondering if zipping all the data that gets sent over the network would be a good idea. There will probably be more overhead, but of which is not bad. Because of compressing and decompressing.
I think that there should be a page for chats, then one for added nodes and one for discovering new nodes. Like whatsapp has the contacts and chats pages.
It would be really cool to see a feature implemented allowing the node (user) to have status message for his profile set.
If the receiver of a message is offline (not connected to the same mesh as the sender) the message will never arrive. This is also not indicated to the sender (ref #22).
On first launch everything was fine but just after quitting the app, it crash several time without relaunching it. And now it crash on every launch
On a wiko cink peax 2 with android 4.1.2 and the version 0.1
I think that the addition of the ability to send and receive arbitrary files would be awesome.
I think you could have a little button for it in the chat in the toolbar for sending a file or an image (because i think the media side should be separate from the file side).
Would be great if anyone could contribute one :)
My graphics skills are unfortunately nonexistant.
Include a Changelog Link, within the F-Droid App', on Info' Page. Not present, as of: 0.2.1.
Latest version in the F-Droid store is 0.2.1.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.