-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Push Versions to External Device? #200
Comments
Excellent question. I have been waiting for some user interest before pursuing a solution because I don't understand your needs. We currently have the "fetch" hack we use for the demos. The URL looks like: https://unc-project-open-aac.github.io/OS-DPI/?fetch=examples/updated/grid_ex_1.osdpi As currently implemented it imports the design and starts it with the editor open. We could easily support variants; for example. If you click the link above several times you will get multiple copies of the design with different names.
This would require you to push your updates to Github where they would be publically available. Maybe a privacy issue? The path (examples/updated/grid_ex_1.osdpi above) could be an arbitrary URL but the receiving site has to cooperate by providing the appropriate CORS headers. We (or anyone skilled in the art) could have a private site and all the above could still work. So, with a remote user you might email them a URL and they (or some helper) click the URL to open the new or updated design. What do you need? |
This conversation probably warrants a call what do you think @lageist? With the current field testing in person my plan is to export the .osdpi files I want to start with to a flash drive and upload to the user's device. Luckily the device can open a browser. I'll bring a keyboard and a mouse so that after we try the initial layout I made we can make tweaks while we are there and I can export as we go and back up iterations to the flash drive. But as I think about some of the designs it would be nice to try with people remotely being able to push a link would be helpful. Obviously with remote participants we can show one layout, get feedback, end the meeting and then make changes and schedule a new meeting. For UI field testing my preference would be sending a link with the "view" - I am not entirely following the "update" would that work in that I would send that link and any edits I make on my end and post to GitHub would automatically update theirs without sending a new url? As far as privacy I'll defer to @lageist about what should and should not be posted at this time. |
Yes, a USB drive is a fine way to work. There are ways to communicate between browsers. With some additional work one could imagine pushing design changes directly from your computer to their computer in seconds. |
Pushing directly would be ideal, for now USB and tweaking things on the AAC user's device will work for the next few weeks. But I can imagine having my computer open to be fiddling while a user is exploring and then pushing new versions could be really useful. |
Jumping in here. Being able to make changes to the design in real-time when doing field testing could be very useful. This is how we manage device use in the clinical world. We're able to edit pages, layouts, dwell times, etc as needed. I'd be interested to see how this could work. |
It sounds like we could with the solution to post to the github and use the update extension Gary is suggesting (that I suppose he still needs to make a capability for us). Then to make updates in real time we could make changes on our computer and re-post to GitHub, presumably with the same extension? So we would want to make sure to same all iterations locally or in OneDrive because we would need to keep updating same link in GitHub? Is that right @gbishop? But agree @aetkie that this would ultimately be the most useful for in-person and remote. |
I think this is entirely doable using the socket component I just added.
The remote server is a trivial Python script, maybe 50 lines of code. It doesn't know anything about what is happening, it is just receiving messages and forwarding them to other connections. Most of the rest of it is already in place. The modifications to OS-DPI would (I think) be simple. This same sort of facility could be used to keep the state of two instances in sync. Sort of a remote control. You browser would update as the subject interacted with their browser and you could modify theirs. If that's what you wanted. |
I tried copying what you did to make the example 1 link above work, but it would not work for me. When I copied the URL I either get a privacy warning or a blank browser screen. Here is where the file is saved in github: https://github.com/UNC-Project-Open-AAC/OS-DPI/blob/main/Testing/halves_v2_6_26_23.osdpi These are the URLs I tried to write: https://unc-project-open-aac.github.io/OS-DPI/?update=Testing/halves_v2_6_26_23.osdpi What am I doing wrong/what steps am I missing? |
Ah, that can't work. The CORS restrictions are getting you. Our program
runs from the domain unc-project-open-aac.github.io but the github files
are at the domain github.com. The browser won't let javascript access files
from another domain unless it offers up the right headers. There doesn't
seem to be a way for us to make github offer the right headers.
The examples are handled by copying them over to the github pages repo. I
wonder if I could create a github action to magically copy them? I'll have
to look into that.
I think the better solution is to offer the ability to sync two instances.
I think it is doable but I haven't implemented it yet.
gb
…On Tue, Jun 27, 2023 at 9:49 AM Sofia B-G ***@***.***> wrote:
I tried copying what you did to make the example 1 link above work, but it
would not work for me. When I copied the URL I either get a privacy warning
or a blank browser screen.
Here is where the file is saved in github:
https://github.com/UNC-Project-Open-AAC/OS-DPI/blob/main/Testing/halves_v2_6_26_23.osdpi
These are the URLs I tried to write:
https://unc-project-open-aac.github.io/OS-DPI/?fetch=Testing/halves_v2_6_26_23.osdpi
https://unc-project-open-aac.github.io/OS-DPI/?update=Testing/halves_v2_6_26_23.osdpi
*^now this is taking me to a new OS-DPI file and adds the extension #new
to end of URL*
What am I doing wrong/what steps am I missing?
—
Reply to this email directly, view it on GitHub
<#200 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABQK7HRTFEHEX73CC3EKBLXNLQHXANCNFSM6AAAAAAZNPJ5CM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Oh so I put in the wrong repository? Having trouble following what the steps are to make this work. |
You put it the only place you can. The implementation of the site is at
fault, not you.
…On Tue, Jun 27, 2023 at 11:32 AM Sofia B-G ***@***.***> wrote:
Oh so I put in the wrong repository? Having trouble following what the
steps are to make this work.
—
Reply to this email directly, view it on GitHub
<#200 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABQK7C7HALUCNTIOPKET4LXNL4KXANCNFSM6AAAAAAZNPJ5CM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Just thinking through best approaches to field testing and managing making tweaks either in-person or remotely to designs. Is there a way to have a design "synched" between my computer and another? So that if I make changes to the designer side it syncs them to the other device? Or is the only solution to be going onto their device and making the changes OR sending them new files to import?
The text was updated successfully, but these errors were encountered: