

iOS app advice please - jessica_moyer

Really would like some advise on how you would approach this.<p>Have an FTP server currently full of PDF files (mining permits and maps that are geotagged). Multiple users log in and currently download and print what they need before heading to a mining site. (yes coal mines)<p>Wouldn't it be great if these PDF files were on an iPad! Yipee! Wait:<p>1.) User won't have 3G access in the middle of no where, will need to make an app to sync down the files in advance<p>2.) Some users may have access to 60GB of files and only have a 16GB iPad. So they need to be able to select what they want to sync.<p>3.) When permits or maps are updated the iPad needs to know to download the latest version.<p>4.) One guy asked me "Can we geo-sync those PDF maps to so we can see where we are when we are in the field"<p>I was thinking a custom interface using FTP initially, but now this seems like a monster project and I don't know where to begin.<p>Any advice??? I am ready to hire someone to get it done, probably beyond my skills. Would enjoy learning on the company's dime.<p>-Jessica
======
allenbrunson
The syncing part of this problem could indeed be written as an iPad app,
fairly trivially. Present a list of files from an FTP server, let the user
select the ones to sync, re-sync when needed, etc.

The geolocate part is going to be a lot harder. iOS has the MapKit framework,
which makes it easy to draw a map, and put a pin into it for your current
location. But using an existing PDF as the background? I'm don't think that's
doable without a monumental amount of effort. The original map data is in
tiles, so it stands to reason that the PDFs would also have to be tiled
appropriately. And that's just the first thing that pops into my head.

If you do decide to hire somebody to write such an app, I could do it pretty
easily. Here's some of my earlier work:

<http://www.platinumball.net/portfolio/>

~~~
jessica_moyer
Thanks, I will get in touch this week. What would you foresee the server side
looking like?

I think the sync feels complicated because the app has to ask the server how
much data exists for the user, check itself, allow the user to select certain
permits then download it. And occasionally resync to get the latest permit
info.

On the map side I found a couple API's that I think will be useful. No clue
how the map framework works.

-Jessica

~~~
allenbrunson
for the server: my first thought is to continue using your existing FTP
server. If you want to restrict access, just make a username for everybody,
and make app users log in to start. I haven't looked into it, but I'm pretty
sure I could get a decent FTP or SFTP client going on iOS, using existing
libraries.

And yes, there may be a mapping solution that would make this possible, but I
haven't looked into it. I have used the existing MapKit framework, though.
It's good for what it is, but it's also notoriously resistant to doing
anything unusual, like adding your own map tiles. If you need to do that, then
you typically must discard MapKit altogether and go with something else.

We should probably take this offline after this. My email address is in my
profile.

------
makecheck
Some things to think about...

1\. Maybe there's no good reason for the files to be so large; for example,
maybe the maps are at an extremely high resolution that will never actually be
viewable at the original level of detail on an iPad. Should some effort be
spent up front to create iPad-sized versions of each page of the PDFs? This
type of thing could be automated with the right software, e.g. something that
goes from page to page, scales everything down to 30% and writes a new PDF
(and you'd want that, so that modified versions could be shrunk in a push-
button way).

2\. Look at on-the-fly compression/decompression. The device could hold
_compressed_ versions of each file that are decompressed on demand by an app.

Smaller files would not only allow the device to store potentially everything,
but it would make any transfers/syncs that much faster.

~~~
jessica_moyer
They actually are fairly small files but the number of permits available to
certain users will be monumental. Each file may be 5 to 40MB but some users
have access to thousands of permits.

-Jessica

~~~
makecheck
I guess option 1 isn't worth investing in, then.

But compression (option 2) could still help considerably, even for files of a
few megabytes.

I imagine it wouldn't be easy to change what's in the files, but a 3rd option
would be to look at what they may have in common. For instance, if the user
needs 1000 files that all have a _very_ similar first page, there may be some
way to avoid making 1000 copies of that information.

------
sdfjkl
Take a look at Dropbox and their IOS app. I believe it does 1-3. There's
certainly apps that also do 4. Have a play with that setup for a while, see if
it's worth putting it all into a custom IOS app (you can then build that using
Dropbox's API if you like).

------
alexbosworth
Have you checked out GoodReader? You could make an App that works with that,
GoodReader registers as a file handler for PDF

~~~
jessica_moyer
Thanks,

Actually the bigger challenge is going to be the "sync" between our file/web
server and the iPad app.

It will have to be a custom app because we want to make it all work a certain
way, and provide a secure login since they are confidential files.

-Jessica

