Senior Member
Join Date: Mar 2013
Location: Greater London, UK
Posts: 2,623
|
Quote:
|
|
#41 |
Senior Member
Join Date: Jun 2016
Posts: 204
|
Might be worth looking into how Resilio Sync works on the iPad. I use it between my desktop and laptop (I use HL on both) to sync everything, including packages and custom modifications. Works well.
Think DropBox, but no cloud portion. Only syncs between devices you configure. If on the iPad Resilio Sync can sync any user-accessible folder on the device, then you could potentially sync the folder HL uses to store files locally. |
#42 |
Member
Join Date: Apr 2015
Posts: 32
|
Why is Herolab not updated to either use the new v2 Dropbox API or use iCloud instead?
Dropbox anounced the move from v1 to v2 in June 2016, that's one year to update the API calls. |
#43 |
Senior Member
Join Date: May 2015
Posts: 830
|
To put it bluntly they probably have had to prioritize things, and this complex coding task has been something that they wanted to do but have not had the man hours to divert to it.
|
#44 |
Senior Member
Join Date: Sep 2015
Posts: 435
|
Yeah, that's a shame.
I'm curious what changed in the API that made it so much of a hassle to convert existing code...? I mean, it's a file sharing service, right? So it has open/read/write/close, and then probably optional parts to allow for versioning, sharing, and so forth, all of which HL doesn't use (most applications don't need those features). Some day I'll go look at the API changes and see how much of a difference there is. I gotta believe that an emulation layer that converts the old API calls into the new ones wouldn't be that tough, but some of these third party APIs can get tricky... All the more reason for either iCloud (tough to use on Windows, though) or WebDAV (cross-platform standard) to be chosen. |
#45 |
Member
Join Date: Apr 2015
Posts: 32
|
|
#46 |
Member
Join Date: Apr 2015
Posts: 32
|
I use two iPads, a Pro and a Mini 2. Today one of my players edited his character on the Pro while I used the Mini. Turned out that the Mini was slowing me down, so we switched iPads. No problem using Dropbox.
Then I had issues creating a Spellbook for his char. I thought that maybe this was a bug of the app and checked via PC version. For that I remote connected to my PC via iPad, opened Hero Lab and opened his char, again directly from Dropbox. Then I printed his char as a PDF file to a shared Onedrive folder for him to download, all while sitting in another town via mobile internet. One Dropbox gets dropped characters are jailed to a single iPad until you get an opportunity to move the data around. An "Open in" function would at least help by allowing to directly move character files out of HL to the Dropbox app (or whatever cloud app is used). I never connects my iPads to the PC via USB cable, using Itunes to move files is very incovenient. Last edited by Weissrolf; May 18th, 2017 at 02:44 PM. |
#47 |
Senior Member
Join Date: Sep 2015
Posts: 435
|
Thanks for the link, Weissrolf.
With just a casual glance, I don't see anything that's really a road block. I presume that LW is using the Obj-C SDK and not making http calls directly (!) so some front-end functions to map return values would work for much of the changes. For example, the metadata returned when scanning a directory for filenames (which the iPad has to do in order to present a list of portfolios) is different between v1 and v2. The differences appear to be in the data's structure, not a fundamental change. So mapping the values back into the older format would probably still work. However, there's a big change in how errors are handled. This would likely cause a ripple effect through higher level functions than the ones doing the actual IO, since many functions that detect an error probably just return that same error to their parent. Mapping the error messages doesn't look feasible, so that portion of the code would need to be completely revamped. Another thing I noticed is that some of the functionality was demonstrated using Swift and LW wrote the iPad app in Obj-C. There is an SDK for Obj-C on the iPad, but when the examples are in Swift, that might make it more work to translate code examples... Overall, it doesn't look like it would be impossible. However, it will be a fair amount of work (the error handling definitely; it may be possible to auto-generate the front-end stubs, or at a minimum, teach your favorite editor a macro or two to help automate it). Regardless, whatever approach they use in the future (Box, SugarSync, WebDAV, whatever) will likely need stubs similar to the ones I'm thinking of, since whatever system they migrate to could also change in the future. Having a separate interface layer that can mitigate the ripple effects will be important. The Facade and Strategy/Template patterns will be applicable, and depending on how they use DropBox, the Builder pattern. It'll be a fair amount of work. |
#48 |
Senior Member
Join Date: Sep 2015
Posts: 435
|
TL;DR version: HL might be able to (somewhat easily) support Dropbox and other file sharing apps by supporting iOS 11’s new drag/drop facility.
Now the TL version: For those who missed the Apple WWDC announcement today, it appears that iOS 11 will support drag and drop of files between applications. Perhaps LW knew this (as registered developers they may have had advance information) and that may be one reason why they decided not to try to update to the newer Dropbox API -- if they support the drag/drop API instead, then HL zone the iPad will work with any other app that supports drag/drop of files. Which I have to assume will include Dropbox, Box, GoogleDrive, and so on. I'm not a registered Apple developer so I don't know what the new API will look like, so no telling how tough it might be for LW to implement compared to the existing DropBox API, but it might be that it sits on top of the typical "Open In..." technique that the iPad uses to communicate between apps. If so, it might not be too tough (although I don't know if HL supports the OpenIn approach -- I've never tried it). |
#49 |
Senior Member
Join Date: Jun 2008
Location: Jersey City
Posts: 326
|
ICloud is presumably a non-starter for it's relative unpopularity and expensive price for the capacity you get. It doesn't have that much of an appeal to Windows users.
|
#50 |
|
|