• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Real time, robust messaging app

dejswa

Lurker
Oct 6, 2012
7
0
I am in need of an app, eventually to be implemented on Android and Iphone.

Here is a pseudo description in order to simplify and identify the technologies / interfaces needed. Starting simple and then elaborating . . . Suppose there is an app user "A" and "B".

The app on A's mobile device send 'messages' to access and change database flags on a cloud or local (not Android based) DB server. This would be done by clicking a button on A's app that then toggles button appearance. User B runs the same app also and is logged in. When the database flag changes, a program on the server will push a message to the app of user B. On receiving this message, a particular icon or text field will change appearance on B's app. B's app will send a message to the database, acknowledging receipt of the message and a receipt will be sent to A's device, indicating such receipt, perhaps with some color change or visual indicator on the button originally pressed. Consider this a robust way to send specific messages between two individuals who are running the app and should always have data access, either through the cell data network or WiFi. This is similar to some SMS programs that acknowledge message receipt, but these are sort of canned messages that are used repeatedly.

The app must be able to run in the background and be able to respond by getting the focus or popping up a message (much like your SMS app) even when the phone is in standby. The pop up might allow a quick response, or allow the user to bring up the entire app interface. The app message must be able to pop up during phone calls or during the operation of any other app in the foreground (or at least be in the queue to pop up when other popups of similar priority have been addressed), the whole idea, being to creation of a reliable messaging system.

The aforementioned descriptions gives you a basic idea of what is going on, but I will elaborate a bit more now . . .

The database is used because other apps, perhaps running on an internet server might be accessing and setting these flags (or database records) and causing other messages to be sent. I need to log the timing of button presses and responses for QA and accountability among users of the system. I will probably want a PHP app web interface replica of the app to be available for some users of the system.

Of course, there will be more users than just A and B and there will be different classes of users who will be created through a web interface to the database. Classes and groups of users will determine who will get what message by some well defined rules, most of which could simply be SQL queries. For the purpose of this description, let's say the users are factory workers making widgets that involve several steps and require intermittent supervision by managers. The managers are on foot and mobile and need to physically attend to the workers in a timely manner when they receive a 'message'. Sometimes any manager may suffice, and sometimes the worker requests a specific manager. Some logic in the server or whatever app is monitoring the DB will determine this. There may be some logic on the app of manager that shows him when another manager is loaded down with requests. Likewise there may be some logic that shows managers who is available at any given moment and a busy manager may defer a request for help to one of these less busy managers. In addition the top manager will have some logic available to show him by the end of the day whose workers have finished their daily work. This top guy has the ability to reassign workers between managers and consolidate the work and send home managers in order to create efficiency in the system. Don't worry about any details here. I'm just trying to show you where I'm going with this app or system.

Other programs will access the database and may modify the work schedule and will in fact create the daily work schedule consisting of the list of widgets to be produced and which work station they will be produced at. These programs will also assign the workers and the managers at the beginning of the day. There may be some tag-team action during the day and workers, managers and top-managers come and go. This ability to change staff will be implemented on the system as well.

Currently, some of this is being done at the 'factory' with SMS messaging and scraps of paper, but we want a more robust system. SMS doesn't always arrive on time or at all and we never know when an SMS has been received. We need to look at data to see who is being responsive and identify ways to improve slow downs or bottlenecks.

My background . . . Have programmed for 35 years from punch card Fortran to toggle switches on a primitive microcontroller system to MS VB.net .aspx applications and complex database systems with triggers and stored procedures. I eventually want the web interface for this project to run on LAMP (Linux, Apache, MySQL, PHP). So, incidentally, some knowledge of LAMP would be helpful but not strictly required. I am learning PHP and Linux to migrate some of my old projects (unrelated to this one) from MS to open source LAMP. I about to taking steps to learn Android app development in Eclipse / Java. But I am sort of overwhelmed with projects right now.

My plan would be to prove the concept with a very simple two-user example to verify the feasibility and identify any problems. As one of the managers, I am developing with my own money and need to be a bit thrifty. If things work out and others like it, perhaps there will be a decision to proceed with the system and I can sell others on it. I would hope the developer would use a standard, open development platform and that I might become involved (as tolerated) at some point as things progress.

I am in Dallas. Local help would be a plus if it works out that way, but this is by no means a requirement.

Thanks for your time in reading this long message!

Cheers,

DJ
 

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones