'Device 2 Device' Issue, Need Suggestions/Ideas

Discussion in 'iOS Programming' started by loon3y, May 11, 2016.

  1. loon3y macrumors 65816


    Oct 21, 2011
    For our Order Taking app I have an issue taking in new customers.

    Since at the shows the bandwidth gets too cluttered we try to keep it the app in 'offline' mode working locally but using a router to print using air print.

    The problem is adding new customers, since our app doesn't utilize device to device (even if it did i don't know if this scenario is even possible for device to device)

    One Sales Rep/iPad doesn't know if the other had already made that customer or made another customer using a similar or same name and company code (Code is to connect to our ERP system)

    So in theory if a customer comes back to a different Sales Rep/iPad, they might put them as a different customer and customer code which would mess things up.

    I had couple ideas but it does have couple holes.

    1. Have one master iPad/iPod for this device. Sync everything to this device, but is it possible to do this locally with no internet using just the router as communication between the master iPad and the other iPads (using a local IP or some sort?).

    Also from the master iPad can i push the data back to the other iPads immediately? Or in theory, Do i even need a Master iPad? Can the one iPad push data to all others? For instance after they create a customer code, this code will be pushed to all other iPads to make sure they don't create duplicates.

    2. Although there is a bandwidth issue at the shows (too many people using Hot spots, Cellular, and routers), the 4G Hotspot (Verizon) I used wasn't that bad. Maybe at least for customers and inventory, maybe should i just draw it live? This would definitely solve a lot of the issues.

    Since all of it will be just text, and only the Styles would be synced/downloaded at a separate time.
  2. chown33 Moderator

    Staff Member

    Aug 9, 2009
    In this paragraph:

    replace "master iPad" with "demo server" and there's the solution.

    Your app communicates with a server. In the real world, it's an ERP server. At a show, it's a demo server. The demo server either uses the same protocol, maybe in a simplified form, or uses a special demo-only protocol. Consider a demo mode for your iPad app, where it has limited features or uses the demo-only protocol.

    I'd probably setup a Raspberry Pi as the demo server. It has a fully usable Linux on it, there are plenty of tutorials on how to set it up, and it's easy to wipe and reconfigure (just replace the SD card). I can tell you from past experience, you'll want to be able to easily wipe and reset any demo server.

    Actually, I'd bring multiple RasPi's already configured identically as servers, plus spare SD cards already configured. Spares are how you fix things at shows: spare servers, spare SD cards, spare router, etc. already configured, tested, and ready to go.

    Next, I'd probably use a 5GHz wifi router, because its range is less than the 2.4GHz wifi band. Also, there are more channels in that band, so picking a less used channel is simpler.

    You might get away with keeping the router configured to the same channel over multiple shows, but be prepared to do a scan for empty channels at every show, every morning. If you're prepared, you won't be surprised. Being surprised is the worst condition to deal with at a show.

    The router doesn't connect to the internet. It's just providing a WLAN and local routing. If you had only a wifi AP, that would work, but there are many more options in the area of actual routers, and as long as the WAN connection of the router is unplugged, there's no chance of traffic going outside the WLAN.
  3. loon3y thread starter macrumors 65816


    Oct 21, 2011

    First and foremost thank you so much for taking your time and replying to my issue.

    Taking the 'server' there as a 'show/demo' server is what we did before the iPads. We had a laptop as a show server
    and send the orders there. Then we'd DTD the data back to the main server, but the inventory still isn't live if their Main office takes an order it doesn't subtract the inventory from the demo/show server.

    The DTD is great for generating the money for data transfer, but since its time sensitive and there isn't too many boots on the ground, it becomes more of a hassle then a income generator.

    Our selling point is that hey, you go to the shows without needing a laptop, no data transfer, no wires needed only power cables for the printer and router.

    Our other competitors still take laptops with the Demo/show server, but they 'claim' to have LIVE inventory, which I'm wondering how they're handling the situation, if they're even getting the data live.

    Im thinking if they are using Instant SQL data replication. but my end goal is not to take any laptops or have any separate database we need to maintain.

    Oh and concerning the bandwidth issue, it was regarding using a 4G LTE as a hotspot as an alternative to well all this programming logic and alternatives.

    The issue was were the 4G hotspot would be slowing down because of the traffic? <----- I'm not sure if this is true, but this is what other people have told me.
  4. chown33 Moderator

    Staff Member

    Aug 9, 2009
    I can't tell what DTD means in this context. It's probably not Document Type Definition (an XML term), but it could be Data Transfer Device, but probably not in the cryptographic sense.

    You'd have to ask them. Maybe they have local demo servers, or maybe they just connect to remote demo servers. I've been at shows where both were true depending on the vendor. It depends on what one needs from the server(s) involved.

    I'm not sure what advantage it is to your customers that your app would have a Demo mode that doesn't need a server. I can see how it could be useful to your show and sales staff.

    So at this point, I'm unclear who the audience for this in-the-iPad-app feature would be. Is it your customers (people who buy the app), or is it your sales force?

    Then you'll either have to make the iPad apps coordinate among themselves, which seems like a lot of work just for a demo mode, or you'll have to make some kind of separate server.

    The main advantage of making a server separate from the iPad app is that it's separate. You can modify it on a completely different schedule, using completely different developers, targeting a completely different platform (e.g. RaspPi). In other words, the demo is completely separate from the actual product. Separation Of Concerns is a useful engineering principle.

    The advantage of a demo server over a Real Live Server is there's no chance of corrupting or damaging the Real Live Server, or barfing all over Real Live Accounts.

    A 4G LTE hotspot is basically a Wifi-to-LTE converter. That is, it connects to nearby devices using Wifi, and then operates its "backhaul" over 4G LTE.

    You can experience congestion on either the Wifi link or the LTE link. Users might not be able to tell the difference, since both will cause slowdowns.

    One advantage to a separate local demo server is there's no backhaul. The demo server is local. So you only need to worry about Wifi congestion.
  5. AxoNeuron macrumors 65816


    Apr 22, 2012
    The Left Coast
    You might get an LTE Hotspot up and running that let's phones connect via Bluetooth perhaps. Chown also made a good point, if the 2.4Ghz WiFi bands are congested, 5Ghz will probably work fine.

    Nonetheless, if the problem is spotty Internet access, your best bet is to fix that problem instead of worrying about creating demo servers, especially if the data that will be sent to the demo server will need to be sent to the 'real' server. Find a way to fix the real issue here.

Share This Page

4 May 11, 2016