I am not a professional programmer, I am more on the business side and haven’t coded for a while really. The thing is that I am planning to develop a new IM service for mobile phones, and wanted to know, in your opinions, which are the best programming languages that I should use in the process (to hire people with those knowledge!).
The client application will be for android and iOS, so there’s no doubt that Java and Objective C will be used for them. The actual doubts are, first, what database system do you think it would best fit my needs (it is a chat application, so it will probably just record user registration details, friends and possibly logs, but not anything really heavy, and it must be easy to access via mobile devices?) and, secondly, which programming language should I use to program the server based application, which will basically manage the communication itself.
I have been recommended by a friend JSON, for the DB, as it is commonly used in Android applications, and Ruby on Rails for the server. What do you think about that?
Should use XMPP/Jabber. It’s a protocol built for instant messaging. A server like ejabberd (written in erlang and open source) will do pretty much everything for you. What you will have to do yourself is to build a client for all the different platforms you want your IM service to work on. For Android you can use something like asmack. I have used the Javascript library Strophe from the same author (I think) and it worked well for me. Asmack should be good too I presume.
JSON is a data interchange format. You can actually embed JSON data inside the XMPP data packet.