The BEEM project is not maintained anymore.
You'll find a lot of good alternatives available in the Google Play store
The goal of Beem is to provide a full featured and easy to use a Jabber/XMPP client on Android.
Beem is under constant development. Releases are usually frequent and driven by user contributions, such as bug reports and patches.
Beem is free and contains no ads. All our code is open source and licensed under the GNU General Public License 3 and any later version. This means you can get Beem's code and modify it to suit your needs, as long as you publish the changes you make for everyone to benefit from as well.
Beem is available on the Google Play Store . You can also install it by flashing the QR code above.
We also provide you the Android package file (apk) for the latest version of BEEM at the files section.
You can also download a live version of BEEM. This Android package is regenerated with the last source code every night: download.
If you want to use the last unstable development version, then you should checkout the mercurial repository.
The mercurial repository is available at this address: http://beem-project.com/hg/trunk and viewable here and here. You can see development repositories here.
Under GNU/Linux
In order to download BEEM sources, here is what you have to do: You first have to install mercurial (apt-get install mercurial under Debian).
Then in a console, enter the following commands:
hg clone http://beem-project.com/hg/trunk/ beem
To install the developement version please see the file INSTALL for details: source:INSTALL.
Once you have the repository, you can update it periodicaly so it matches the latest version from the main repository with the following command:
hg pull -u
Lib XMPP
aSmack - buildsystem for Smack on Android: https://github.com/Flowdalic/asmack
We have a little FAQ.
For getting help or discussing about BEEM, you can join #beem on the freenode IRC network or on XMPP MUC room: xmpp:beem@conference.elyzion.net?join.
We have a public mailing list, feel free to subscribe here and send mail to beem-dev@list.beem-project.com.
Important Note: this is a mailing list, you may not receive an answer if you have not registered.
You can also contact privately the BEEM Team at contact@beem-project.com.
We are currently not interested by any advertising services. Such requests will just be ignored.
Before submitting a bug report, a patch or a feature request here, please read the submission guidelines.
If you're interested, you can also have a look at our Privacy Policy
Beem is built and maintained by community volunteers. If you enjoy using it and would like to give back to the community, the contribute page has several ideas. Software development experience is not required.
Il faut lancer wireshark sur localhost, et filtrer nos echanges (tcp.port == 5222 pour une conf de base).
Apres le soucis c'est que les communications vont etre compresser, pour desactiver la compression :
Server > Server Settings > Compression Settings > Client Compression > Not Available.
So you want to contribute?
They are many way to contribute on the BEEM project. The simplest one is just to help promote BEEM. Use it, show it, talk about it, share it with your friends.
Here's a list of other things you should do:
Comme nous l'avions precedemment ecrit dans le cahier des charges du projet BEEM, nous allons ecrire du code qui respecte une certaine norme notamment au niveau de la documentation javadoc des classes.
Pour vous faciliter la tache et vous pourrir la vie, je mets a votre disposition un fichier de regle pour CheckStyle qui est un programme qui verifie certaine regles dans le code source. Celui ci est utilisable avec le plugin eclipse http://eclipse-cs.sourceforge.net/ Pour les pressees, vous pouvez utiliser ce site dans le software update d'eclipse http://eclipse-cs.sf.net/update
Ces regles ont ete teste par Marseille. Si certaines regles ne vous conviennent pas pour une raison ou une autre, on en discutera dans ce ticket.
Ce fichier sera prochainement disponible dans le depot des sources du projet, ne vous inquietez pas ^^
BEEM means "Boost your Eyes, Ears and Mouth".
Yes. You can find us at beem@conference.elyzion.net. You can also find us on the IRC at the channel #beem on freenode network.
Here is a list of the different permissions used by BEEM:
Permission | Need |
---|---|
android.permission.INTERNET | to access the internet connection |
android.permission.VIBRATE | to set vibrate on Beem notifications |
android.permission.WRITE_EXTERNAL_STORAGE | to stock the avatar datas on the SDCARD |
android.permission.READ_EXTERNAL_STORAGE | to read the stocked avatar datas on the SDCARD |
android.permission.ACCESS_NETWORK_STATE | to check the connectivity status |
com.beem.project.beem.BEEM_SERVICE | Custom permission which will be used to allow other applications to use the Beem service |
android.permission.GET_ACCOUNTS | As the 0.1.8 release, this is needed to be able to log you in Google Talk by using you device Google accounts |
android.permission.USE_CREDENTIALS | As the 0.1.8 release, this is needed to be able to log you in Google Talk by using you device Google accounts |
You can use the source code of beem (in free or paid apps http://www.gnu.org/philosophy/selling.html) as most as you want as long as you respect the requirements of the GPLv3: http://www.gnu.org/licenses/gpl.html.
We have no commercial business around BEEM but we will really glad if other people can bring back to the upstream their ameliorations.
If you have any question we will be glad to help you.
Lots of stuff to do. Just see all those crazy tasks.
That's OK. If you are into drawing stuff, you could design an icon set, emoticons set, or such. If you know some languages, you could help with translations. In either case, please just use BEEM, report your ideas, suggestions, tell us about your experience and feelings.
And, of course, help us to build a community, stay around in our XMPP MUC room, beem@conference.elyzion.net, chat around, answer newbies' questions and such. You can't imagine how it helps when there is at least a person or two that can help you with all that support-related stuff so that you can free a bit of time and context switches to write a bit more code.
The Google Talk (GTalk) server use a non standard authentication scheme: they don't use the user part of the JID to authenticate but instead they use the full JID.
Starting to Beem-0.1.5 version, you can use an option in the advanced preferences to use the full JID to authenticate.
For previous version, if the domain part of your JID is not gmail.com or googlemail.com you have to enter in BEEM a JID in this form: user@example.com@example.com.
(From : http://mercurial.selenic.com/wiki/CommunicatingChanges)
This method is useful for receiving small numbers of changes from contributors and is a traditional method for open source projects. This is primarily used in scenarios where changes get reviewed before being applied to a central repository.
In combination with the push/pull method, it's common to post patches generated by export to a mailing list, along with instructions for pulling from their source repository.
This can also be useful for "cherry-picking" individual patches from one repo into another.
$ hg export 1135 # HG changeset patch # User Thomas Arendsen Hein <thomas@intevation.de> # Node ID e455d91f62598b8f255ce6c0291afe8f8565e0d2 # Parent 2cd33ea2f66bae0eb7415cfcd7eab88566fdb1aa Variable 'body' was missing in patchbomb script. diff -r 2cd33ea2f66b -r e455d91f6259 contrib/patchbomb --- a/contrib/patchbomb Sun Aug 28 16:30:40 2005 +++ b/contrib/patchbomb Sun Aug 28 16:52:55 2005 @@ -107,6 +107,7 @@ def makepatch(patch, idx, total): desc = [] node = None + body = '' for line in patch: if line.startswith('#'): if line.startswith('# Node ID'): node = line.split()[-1] $ hg export 1135 > ../body.patch $ cd ../work $ hg import ../body.patch
This method allows communication of patches by exchanging "bundles": a compressed group of changesets in a native file format. These bundle files can then be exchanged via email attachments, FTP, floppy disk, etc.
This also allows you to publish your changes without publishing a copy of the entire project history.
$ hg bundle changes.hg http://upstream/repo searching for changes $ scp changes.hg server:public_html $ cd ../other $ hg unbundle http://server/~user/changes.hg adding changesets adding manifests adding file changes added 13 changesets with 20 changes to 6 files
http://www.networksorcery.com/enp/rfc/rfc3551.txt
PT encoding name audio/video (A/V) clock rate (Hz) channels (audio) Reference -------- -------------- ----------------- --------------- ---------------- --------- 0 PCMU A 8000 1 [RFC3551] 1 Reserved 2 Reserved 3 GSM A 8000 1 [RFC3551] 4 G723 A 8000 1 [Kumar] 5 DVI4 A 8000 1 [RFC3551] 6 DVI4 A 16000 1 [RFC3551] 7 LPC A 8000 1 [RFC3551] 8 PCMA A 8000 1 [RFC3551] 9 G722 A 8000 1 [RFC3551] 10 L16 A 44100 2 [RFC3551] 11 L16 A 44100 1 [RFC3551] 12 QCELP A 8000 1 13 CN A 8000 1 [RFC3389] 14 MPA A 90000 [RFC3551][RFC2250] 15 G728 A 8000 1 [RFC3551] 16 DVI4 A 11025 1 [DiPol] 17 DVI4 A 22050 1 [DiPol] 18 G729 A 8000 1 19 Reserved A 20 Unassigned A 21 Unassigned A 22 Unassigned A 23 Unassigned A 24 Unassigned V 25 CelB V 90000 [RFC2029] 26 JPEG V 90000 [RFC2435] 27 Unassigned V 28 nv V 90000 [RFC3551] 29 Unassigned V 30 Unassigned V 31 H261 V 90000 [RFC2032] 32 MPV V 90000 [RFC2250] 33 MP2T AV 90000 [RFC2250] 34 H263 V 90000 [Zhu] 35-71 Unassigned ? 72-76 Reserved for RTCP conflict avoidance [RFC3550] 77-95 Unassigned ? 96-127 dynamic ? [RFC3551]
Retrouvable sur http://www.iana.org/assignments/rtp-parameters
Voici une liste d'extension qu'ils nous faudrait implementer dans BEEM. Cette liste est non exhaustive et sert surtout pour avoir une idee des differents ecrans utilisateur (activite android) qu'il faut realiser.
Les rfc 3920 et 3921 sont mises a jours par ces 2 rfcs rfc3920bis et rfc3921bis . Dans l'ensemble ces 4 specifications sont implementes dans Smack donc niveau protocole, il ne devrait pas y avoir grand chose a coder. Je vous conseille de parcourir le sommaire de ces specs afin de voir quel fonctionnalites activer dans l'interface utilisateur.
La XEP-0085 ne semble pas tres interessantes pour BEEM car elle cause aussi une utilisation supplementaire de la bande passante sans apporter de reel interet pour une utilisation sur mobile.
La XEP-0054 est deja assez ancienne et risque fort d'etre remplacer par la XEP-0154: User Profile qui est en status experimental.
PEP est une simplification de l'extension Publish-Subscribe realise dans l'optique de permettre a l'utilisateur de definir des information contextuelle tel que la musique qu'il ecoute ou encore son activite actuelle. Elle definie un ensemble de specifications pour chaque possibilite.
XEP-0118: User Tune pour la fonction "Je suis en train d'ecouter ..."
XEP-0108: User Activity pour "Je suis en train de dormir"
XEP-0107: User Mood pour "Je suis fatigue"
XEP-0080: User Location pour "Je suis a la Tour Eiffel plus precisement a latitutde 42 longitude 42"
XEP-0084: User Avatar pour envoyer son nouvel avatar
XEP-0138: Stream Compression pour compresser la connexion avec le serveur
XEP-0237: Roster Versioning Cette extension permet d'eviter l'envoi de toute la liste de contact. Elle met en place un mecanisme de version de la liste envoie uniquement les changements entre les differentes version de la liste de contact. Elle est egalement specifier dans la rfc3921bis
XEP-0126: Invisibility pour apparaitre deconnecte.
XEP-0154: User Profile Cette extension est destine a remplacer les vcards. Elle permet le stockage de beaucoup plus d'informations et pourrait meme servir a mettre en place un social networking <-- Deferred by the XMPP Standards Foundation, en gros faut plus l'utiliser!
simple. dans votre depot vous faite : (ou $base est le numero de la revision de base de vos modifications)
hg export $base > monpatch.patch
Vous obtenez un joli fichier de diff que vous pouvez utiliser normalement (voir man patch)
L'inconvenient est que ce ficihier ne contient pas les informations de commits, etc. On va d'autre utiliser une autre commande de mercurial pour obtenir un fichier bundle qui contiendra le patch plus les infos de commits etc
hg bundle --base $base monbundle.bz2
ou
hg bundle monbundle.bz2 $depot
Il est alors possible d'importer ce bundle
hg pull monbundle.bz2
Bon pour plus d'infos n'hesiter pas a voir la doc de mercurial (man hg)
You don't have to take our word on all of this. Beem is an open source project. Anyone can study our Source Code and make an informed decision.
Beem is an XMPP client that allows you to connect with a third party XMPP provider of your choice. Beem or its developers don't have control other the data you send to this provider through the application.
You should also consult the privacy policy of your selected XMPP provider.
We never share your data with anyone.
We never store your data.
Roles : Participant
Participant : Joindre Room, Quitter Room, Changer Pseudo, Inviter, Transformation 1on1 -> 1on multi, Envoyer Message, Envoyer message prive, Requesting Voice.
Affiliation (lien avec le chan) : Owner
Owner : Creer Room, Detruire Room
We need to think about how we store user avatar. also need to finish the smack implementation, this should be easy.
Necessite l'utilisation du contact provider. Une activite qui affiche la liste des ressources d'un contact lorsqu'on lui passe un jid incomplet (test@exemple.com) afin de choisir a qui parler. Cette activite lance directement l'activite Chat si il n'y a 0 ou 1 ressource connecté ou un jid complet (test.exemple.com/pc)
On peut creer une implementation abstract de l'AsyncTask. Cette abstraction lancerait juste la connection, a charge a ses sous classes de definir leur changement niveau UI.
Exemple d'utilisation :
Lancement de l'activite Chat sans connexion. La connexion s'effectue en arriere plan pendant que l'user tape son message et des qu'elle disponible on active le bouton 'envoyer'
On ne gere qu'un seul chat par contact. Si on obtient un nouveau chat pour le meme contact le nouveau remplace l'ancien et l'ancien est definitivement perdu.
Faire des tests en ouvrant un chat avec gajim puis en le fermant et reouvrant un chat.
Ca peut etre interessant a faire rapidement. Ca permet d'envoyer des messages avec un sujet. Des messages plus en mode sms/mail.
A definir
You can make a submission anonymously. However, to comment on your issue, you must register on the issue system.
Do not create a new issue just to comment.
Submissions should be written in english, french is also accepted but less desirable.
How to report bugs effectively
This document contains general information about submitting a bug report. Please read it carefully.
And have a look at the bug list and the FAQ to see if it has not already been reported.
When filling a bug report, please give the following information with the description of your problem:If you have access to an Android SDK, please give the stacktrace of the crash. You can obtain it by typing in a console when the phone is plugged on your computer:
$> adb logcat
The simplest way to get information about your Android version is:
Settings -> About Phone -> Model Number + Model Version
When you edit a wiki page to improve its content, make sure that you fill the comment field with a descriptive summary of the changes you've made to the page. This way we'll be better able to "monitor" and "maintain" the quality of the actual wiki content.
The prefered way to submit code is to make a mercurial pull request. Submit an issue to the "Pull request" tracker. Don't forget to fill the repository field and add a descriptive summary of your changes. Please specify also the revision you wish us to pull.
Alternatively, you can submit changes by sending us a patch: