boydsmaps on a phone without cell service

Would you be interested in a version of the boydsmaps app that works without cell service?

  • Yes, might be interested in a more complete version for puchase on a memory card.

    Votes: 0 0.0%
  • Yes, might be interested in a more expensive turnkey "personal web server" version.

    Votes: 0 0.0%
  • Yes, but only interested in a basic, free version.

    Votes: 0 0.0%

  • Total voters
    2

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
offline.jpg


This was just a quick test, not very impressive, but I have the Kobbe map running completely offline on my Android test phone - no internet connection or cell service needed. I used the Kobbe map for this test because it's the smallest one, but it should work with any map. This is just a simple, bare-bones mapping app for a test, but I think the full boydsmaps app would also work. The concept is very simple: run a web server on the phone and upload my site with all the files. Of course, "the devil is in the details" when it comes to this kind of "simple concept" and there are some technical issues to resolve.

Not sure how far I might go down this road but am going to play around with the idea for awhile. This would only work for maps that I actually host, such as these (you couldn't use the NJGIN maps, for example, since that requires an internet connection)

Screen Shot 2023-07-21 at 11.26.58 AM.png


There might be a few different ways to make this available...

(1) Advanced users could install the webserver app (costs $5 from Google Play), download my files and install themselves. This would only offer a limited map selection due to the size of the files. There might be a free version with a couple small maps as demo, then a version with several maps as a purchase.

(2) Advanced users could install the webserver and purchase a pre-loaded micro-SD card with all the files and maps. My full site is currently around 1.3 terabytes and will soon expand to 2tb. Doesn't look like a 2tb card is actually available but a 1tb card costs around $100, smaller cards (with fewer maps) are also a possibility. It wouldn't be free, I would have to set a price depending on the amount of maps installed plus the cost of the SD card.

(3) A "turnkey" version with an inexpensive rugged Android phone (such as the one in the photo above) that has everything pre-installed and ready to use. I think that phone cost $135, not much memory so it would need an SD card for the maps. This is a pretty cool little phone for the price, but the screen is kind of dim for use in the sun. However, it should be possible to set it up so you could connect with your regular phone. Essentially it would be a little web server you could put in your pocket and connect to it on your phone or tablet. Even better, I think anyone with you could also connect their phone and use it just like the "real" boydsmaps. Again, this would be something you'd have to purchase, so it wouldn't be cheap, but still a lot less than a $600 Garmin. :D

(4) An iPhone version might be possible but I haven't tried yet, there's a paid web server app that I haven't tried yet. A big problem is that iPhones don't have SD card slots so you would be limited to the phone's internal memory. Perhaps the best solution would be option (3) above and just use the Android phone as a server? I'll play around with this.

My concern with any of these is that I might be "giving away the store"... one person could buy and then give copies to all their friends. For that matter, they could upload the files to their own server and rip off my whole site. :siren: Not really sure how to deal with all of that, and it might be a good reason for me to forget the whole thing! ;)

Anyway, just thinking out loud here, it would be awhile before any of this happens. But curious as to whether anyone is interested?
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
One vote of "not interested" so far, LOL. No matter, I am moving ahead with this for my own use. :dance:

I'm now running the full boydsmaps app, hosted with Simple HTTP Server Plus on my Android phone. It will need some tweaking, but it works and it's noticeably faster than accessing the site over the internet. The server starts automatically, so it's seamless, just press the button on the home screen like the regular boydsmaps app. I can also connect to the server from my Mac and iPhone with wifi and use the boydsmaps app just like the real site.

It's a web server in my pocket! There's something very cool about that, but I suppose you need to be a geek to appreciate it. :cool: So far, have only installed the 24k legacy USGS topo covering the pines, which is about 1.2gb. Will add a few other maps of the pines and see how big that gets.

offline.jpg


Not much luck doing this on the iPhone, unfortunately. Tried two web server apps but they can't run in the background, so kind of useless for this purpose since you need to use Safari while the server is running in the background. Evidently they are able to run in the background on the iPad, so I'll check that out, but this is one area where Android makes something very straightforward but Apple makes it very difficult. :worms:

In the meantime, I can connect to the Android server from my iPhone and use the boydsmaps app but the GPS doesn't work because that requires a secure connection to the server (or a server on the same phone). There appears to be a way to install a security certificate on the Android server app, but it's complicated and there's basically no documentation for that app.
 
Last edited:
  • Like
Reactions: enormiss

enormiss

Explorer
Aug 18, 2015
607
409
Atco NJ
I’m a user and believer in gps/maps without service. I just got back from WV and I could sit in camp and plan the next days sites and look at routes. Everyone else needed but didn’t have service. I just don’t get out much, or do enough, in the pines anymore. So I didn’t vote.
 
  • Like
Reactions: Boyd

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
I now have two working versions. Here it is on an Oukitel WP5 rugged Android phone with the maps on a 64gb SD card

oukitel.jpg


The other version is on my uleFone Armor x7 Pro (previously shown) with the maps on a 256gb SD card. It holds all my maps of the pines with room to spare. The 64gb card is more cramped, but still workable.

offline-maps.png


There are about 5 million map tiles on the 256gb card and 1.5 million on the 64gb. In both cases I installed the full LIDAR elevation data for the pines which is about 500,000 tiles. These are the fastest cards Best Buy had in stock, Sandisk Extreme Plus. The 64gb card was only $16, the 256 was $35 (four times the storage for about twice the price). Either way, it's likely to be a lot more maps than Garmin puts on a GPS. :D (Seriously, they brag about 50,000 tiles in Birdseye. Granted, their tiles are 16x bigger than mine, however 50,000 x 16 = 800,000 - only half what I have on the 64gb card)

No, I am not suggesting this is "better" than a Garmin GPS, but it's a lot of maps in your pocket. Did some field testing with both phones, they tracked my position just fine and I could "channel surf" through the maps without cellular or wifi. Even though these are fast cards, the maps do not load as quickly as they did when stored in the phone's internal memory. These cheap phones only have 32gb internal memory however. Regardless, they load at least as quickly as they do over the internet.

Still need to fix some bugs and polish up the code, it's a custom version of the app without features that require an internet connection, I'm calling it boydsmapserver :)

The server app costs $5 (from Google Play), it's very easy to configure. Just choose the folder on the SD card and push the start button. You can set it to start automatically if you want.

simpleserver.png


The server does impact phone battery life while it's running however. If you use it on your primary phone, you should stop the server when not in use. I left it running all night and the battery was dead in the morning (but that was the UleFone which has a small battery). During a field test, battery capacity dropped ~10% after about and hour and a half continuous use with the screen on max brightness (on the Oukitel, with a bigger battery). This all needs more testing.

Still no luck getting anything to work on the iPhone but I had limited success on an iPad. It's just not going to be a good platform for a number of reasons however.

I see we now have two votes in the poll - twice as many as before! :dance: The new vote is for a downloadable version. Unfortunately, I don't think that will work due to the amount of data involved. Disk space is expensive and I can't host huge downloads. Could do it with dropbox or onedrive, but even so, it's a lot of data, installation would be awkward and you'd likely need an SD card anyway. I think it needs to be distributed on a physical memory card. The good news is, cards are pretty cheap and it makes installation very easy.

Anyway, it's been an interesting experiment and I'll continue working on it for myself. If anyone is actually interested, post here or send me a PM. No real plans to offer it to the public at this point.
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
This all needs more testing.

Did another test this morning using the Oukitel phone which has a big 8000 milli-amp-hour battery (the Ulefone only has a 4000 mAh battery). Ran the app continuously for 4 hours with a GPS lock and the screen at full brightness. It was 98% charged when I started and still had a 53% charge after 4 hours. The phone software estimated it had over 4 hours left with that usage.

That strikes me as pretty good. I'd be willing to bet that running the mapserver with cellular turned off uses less power than the regular boydsmaps app with a cellular connection, especially in areas with poor reception where the phone expends a lot of energy searching for the best signal.

I paid a little over $100 for the Outkitel WP5 at Amazon a few years ago. Looks like their best deal is the WP8 now, for $100, it has a big 6.5" screen (the WP5 has a 5.5" screen). It also has 64gb internal memory (vs only 32 on the WP5). But the battery capacity is only 5000 mAh. They do have some other models with really huge batteries, but they're more expensive. They also make some rugged Android tablets that might work well in a car. There's a whole world of these inexpensive rugged Android devices out there. :)
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
Another test without cellular on the Oukitel (maps on a 256gb SD Card). Ran with GPS tracking for two hours using the 3d version of the 2007 aerials (3d view uses twice as much data, making the phone work harder and consume more energy). Battery capacity was 98% at start, dropped to 79% at the end. Here it is, with Google Maps on the car screen via CarPlay from my iPhone.

carplay_vs_boydsmaps.png


Closer view of the Oukitel, I had vertical exaggeration cranked up to about 7x!

oukitel.jpg



Just for fun, dusted off my Montana 600 for some comparisons...

montana_vs_boydsmaps.jpg


The Ulefone (on the left) really is a great size for a handheld GPS, the rugged case is nicely sculpted and feels good in my hand. The width and height are very similar to the Montana but the screen is 5 inches vs 4. The Montana 700 has a 5 inch screen but is far larger and heavier. You could stack two of these phones on top of each other and they'd still be thinner than the Montana 600. I'm sure the Montana would win on battery life however. :)

ule_vs_montana.jpg


The Oukitel would please anyone who likes their GPS to feel like a brick. :cool: When you pick it up, it's heavier than you expected - feels about the same as the Montana, but only half as thick. Screen is substantially larger at 5.5 inches. My tests suggest the battery life would be similar to the Montana, with twice the capacity of the Ulefone.

ouki_vs_montana.jpg


As much as I like my big iPhone 12 Pro Max (6.7 inch screen), these smaller phones are really in the zone I prefer for a GPS. And it's too bad, because they are falling out of favor. When I looked at Amazon the other day, there weren't any new 5 inch rugged phones, just what is left of these older models. There were still a few 5.5 inch phones, but most of the current models are in the 6 to 7 inch range. That would be a good size to use in a vehicle however.
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
This gets very geeky, but there might be a couple others here who would appreciate it (@Ben Ruset , @stiltzkin ?). I installed the termux package on the Oukitel phone a few days ago and... wow, very cool. :cool: Has taken awhile to figure everything out, but the phone is now essentially a little Linux server in almost every sense. This isn't a dedicated server app like the one I have been using above, it's a full Linux environment that you can access on the phone or remotely, and no "rooting" was required (or "jailbreaking" as we would say on the iPhone). There are some limitations, but they aren't much of barrier for what I want to do.

I can log into the phone from my Mac and everything is almost the same as logging into the real boydsmaps web server. After lots of trial and error, finally got the standard apache2 webserver running on the phone with SSL, accepting secure (https) connections. This is a milestone because I can now use my iPhone with offline maps by connecting over wifi to boydsmapserver running on the Android phone. The secure https connection is required for my app to access the gps on the iPhone and that wasn't possible with the Simple Server app.

As another project, I'm interested in building a turnkey boydsmaps server "appliance" that can be used by multiple phones and computers in the field with no cell service or internet connection. Each device will have its own private, encrypted connection to the server and work exactly like the "real" boydsmaps site.

Anybody else here ever play around with termux? Very impressive, if you have a need for a little Linux server.

fish.png
 

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
Phones have GPS chips, just like Garmin devices. The internet has never been used to determine position in my app, it always came from the GPS.
 

bobpbx

Piney
Staff member
Oct 25, 2002
14,677
4,851
Pines; Bamber area
Phones have GPS chips, just like Garmin devices. The internet has never been used to determine position in my app, it always came from the GPS.
I knew they had them, but how do you tie in to them with your maps? Or is it just a generic thing they have; where any app that acts like a map gets to tie in. (I'm not sure I'm saying this right, but I think you know what I mean).
 
  • Like
Reactions: Boyd

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
When you go to boydsmaps.com, your browser (Safari, Edge, Chrome) downloads my app, which then runs on your device (computer or phone). You also download a library of commands called MapTalks that is a toolkit for displaying and interacting with maps. It takes very few lines of code to display a map, as you can see in this example.

You only need to provide the coordinates to the Maptalks API and tell it where to find the map data, the software takes care of the rest. Now, if you're using a phone and want the map to follow you, we use the geolocation API which is part of every web browser. Again, it takes care of the lower level details of talking to the GPS chip and simply provides coordinates. So, we just constantly query your position and feed it to MapTalks to update the map.

Normally, an internet connection is used for the browser to load the app and data, but there's nothing special about the internet. The offline version puts the program and data on a memory card and there's a little server that runs directly on your phone. Your browser doesn't care where the server is or where the data is stored.

The GPS and the map are "tied in" like this:

1. Your browser downloads the app from the web server
2. The app runs on you phone
3. You tell the app which map to use
4. The app asks the browser to query the gps for your coordinates
5. The app tells MapTalks to draw the requested map centered on those coordinates
6. Repeat steps 4 and 5 until you say stop
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
I'm interested in building a turnkey boydsmaps server "appliance" that can be used by multiple phones and computers in the field with no cell service or internet connection.

Right now I have the new Apache webserver running on the Oukitel and the app is open with the GPS on. My iPad, iPhone and Mac also have encrpyted connections to the Oukitel and are independently using the app (the Mac and iPad are in desktop mode). The GPS works on all of them. That's four connections to this pocket-sized server and it's surprisingly fast. Seems much faster than my earlier tests with the "Simple Server" app, I guess Apache is more efficient.

The only "gotcha" is that the other devices are "talking" to the server through my wifi router. For other devices to connect to the Oukitel in the field, there would need to be some sort of portable router. Looks like there are a few options in the $30 to $40 price range.
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
For other devices to connect to the Oukitel in the field, there would need to be some sort of portable router.

I knew that my VW had built-in wifi but thought that was just for a hotspot option you have to buy. Turns out, the wifi is active in the car anyway, even though there isn't an internet connection. My iPhone already knew the password (from the VW app?), so I entered it on the Oukitel and was able to connect to the mapserver. Drove around for awhile with both phones showing my position on the map

ouki_serving_iphone.png


The more I use this, the more impressed I am with how fast it is! Both maps responded quickly, like they were native apps. Back home now, server is still running with my Mac and iPhone both connected. The Oukitel phone has been running for four and half hours continuously with the screen at full brightness. Battery was 100% capacity at the start, now it's at 79% in spite of all this usage. That's quite a difference from my last test where the battery dropped to 53% after only 4 hours without any external connections. The new Linux-based server on the phone is a big win in terms of performance, this thing should run all day on its internal battery.

Imagine.... with your own boydsmapserver you could cruise the pines with a car full of friends using my maps on your phones, tablets and laptops. No data charges, no need for cellular service! :dance:
 
Last edited:
  • Like
Reactions: bobpbx

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
The Oukitel phone has been running for four and half hours continuously with the screen at full brightness.

Just now turning over 12 hours with the phone on, GPS active and screen at full brightness. There was a period of, maybe 1/2 hour where the screen went to sleep, but otherwise it was full-on bright. After all that time, this thing still shows 41% battery! :cool:
 

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
More road testing. Here's a 3d view of the hundred foot hill on my iPad (connected to the boydsmapserver running on the Oukitel Android phone). Google maps is on the built-in screen, via CarPlay from my iPhone.

3d.jpg



The 24k topo map looks nice on the larger screen, you can see everything in your vicinity and the text is large enough to easily read. :)

topo.jpg
 
  • Like
Reactions: bobpbx

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
Installed the Linux software on the Ulefone Armor X7 Pro and setup another 256gb SD card for it. Used it as a server for my iPad this morning.

IMG_9162.jpg




IMG_9167.jpg


Battery was fully charged at the start and it dropped to 13% after 8 hours continuous use with the GPS on and screen at full brightness. It has a 4000 mAh battery and this is similar to the test I did on the Oukitel which has an 8000 mAh battery and runs about twice as long. But I do prefer this smaller, lighter phone for handheld use, it's very "pocketable". Wandering around the woods, I thought the screen screen brightness was pretty good. For handheld use, you probably wouldn't run the screen continously, so you would have even more time. The mapserver keeps running in the background even when the screen is off.

These small phones are getting harder to find but Amazon has it for $130. The Armor X6 Pro appears to have the same specs for $118. Would need the 256gb SD card for maybe $20 plus some money for my time and maps if I was going to sell something like this. But that would put it in the same price bracket as the Garmin eTrex 22x which is their entry level handheld at $200 with a 2.2 inch screen, 8gb memory and a maximum 32gb SD card capacity (not included).
 
Last edited:

Boyd

Administrator
Staff member
Site Administrator
Jul 31, 2004
9,829
3,010
Ben's Branch, Stephen Creek
Still working on this and am actually re-writing my app to be more like a handheld GPS. Realized that no router is required to use the android phone as a server for my iPhone. I just enabled the built-in wifi hotspot feature on my iPhone and then connected the Android phone to it. That allows the two phones to "talk" directly to each other on the same local network. This even works one-step-removed, also connecting my iPad to the iPhone which allows it to also access the Android server.

Amazon had a flash 20% off sale on another inexpensive rugged Android phone and I couldn't resist since it runs Android 12 and I wanted to see what was different. Turns out, the "Simple Server" app won't work on Android 12, site wouldn't load and eventually crashes Chrome while trying to access. But the more complex Linux server works very well and even starts automatically (which it won't do on Android 10). Here's the Doogee S41 Pro on the left, with a 5.5" screen and a 6300 mAh battery which is over 50% larger than the Ulefone Armor X7 Pro on the right. Interestingly, it doesn't seem to run much longer than the smaller phone however. This new phone feels good in the hand, with a nicely sculpted rubberized (plastic?) shell. Nice image on the screen, but it isn't very bright unfortunately. Can't expect too much from a $100 phone, I guess. :)

doogee+ulefone.jpg


Finally got around to trying the app on my 8 year old Samsung Galaxy Tab 4 which has an 8" screen and runs Android 4. To my surprise, it works very well and the tablet even recognizes the 256gb SD card. I bent some heavy wire to make a quick-and-dirty mount hanging off the A/C vents. Only problem is that it really struggles with the 3d maps, due to the weaker CPU, but regular maps are fine.

galaxy.jpg


I also picked up a 1tb SD card and am setting it up to use on one of the phones with even more maps of the Pines. I think that having a set of very high resolution aerials is important for a standalone GPS. Using the NJGIN 2012 aerials for this, IMO they're a close second to the 2007 aerials when it comes to clarity and it helps that they're 5 years newer. The quality is so poor on the 2015 and 2020 aerials, I don't want to waste the disk space.

Currently have a version of the 2012 aerials at 2-foot resolution (level 18) which is about 60gb for just Southern NJ (Garmin Birdseye is also 2-foot res). 1-foot resolution (level 19) is going to take around 300gb of disk space. That won't work on a 256gb SD card but will fit on the 1tb card. Working on this right now, but the problems with NJGIN's servers are making it hard. :ninja:
 
Last edited:
Top