-
Notifications
You must be signed in to change notification settings - Fork 164
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
Project Q&A #416
Comments
Thank you, @jywarren (@TildaDares & @cesswairimu), I especially appreciate how positive and thorough your responses are, it makes a huge difference in our confidence and overall approach 🌟 💞 💥 Moving forward, I am going to postpone adding milestones to my planning issue until @Forchapeatl and I touch base and develop a more thorough plan, leading with and incorporating UI and Function separation and the dependency concerns you mentioned.
It is my hope to have the UI grid coded and in place asap so that there is little delay with @Forchapeatl jumping in. I DO need guidance to this end... Should we
OR...
The best answer seems obvious, but this is where my inexperience with testing comes most into play. I assume, with a new layout, each component will need to be tested as it is added back in and before implementing the next (and the next...) components. However, we are working with an already functioning site and only changing the layout (initially) so we will only be concerned with UI testing (is this even true?) - not to mention the functionality of many components depends on the presence of other components. Please advise. Once I have a more solid direction, I'll be better prepared and will begin moving forward with coding the layout. Thank you all and happy restoration! 🛌 🌘 |
Hello! For now, you can just create a second index2.html file and don't
worry about connecting any of the functions yet. Using a second file will
mean you won't change anything that's already working... You'll have time
to get it working at least as well as the older version before thinking
about replacing it.
My approach is usually to wait a bit to have time to refine designs before
doing ui testing, so no worries there either.
When the time for UI testing comes, let's think about just getting a single
test running, so you can see how the system works. Then you can gradually
add more. How does that sound?
…On Thu, Jun 2, 2022, 7:37 PM Stephanie Quintana ***@***.***> wrote:
Thank you, @jywarren <https://github.com/jywarren> ***@***.***
<https://github.com/TildaDares> & @cesswairimu
<https://github.com/cesswairimu>), I especially appreciate how positive
and thorough your responses are, it makes a huge difference in our
confidence and overall approach 🌟 💞 💥
Moving forward, I am going to postpone adding milestones to my planning
issue until @Forchapeatl <https://github.com/Forchapeatl> and I touch
base and develop a more thorough plan, leading with and incorporating UI
and Function separation and the dependency concerns you mentioned
<#415 (comment)>
.
My hope is that we can develop a working plan where different systems are
well separated ... so that making changes to two different parts of the
code doesn't cause trouble. That is, each component should have clear
expectations as to how it interacts with other systems, and those
integrations themselves should be stable, while the inner workings of each
area of code can change internally.
It is my hope to have the UI grid coded and in place asap so that there is
little delay with @Forchapeatl <https://github.com/Forchapeatl> jumping
in.
*I DO need guidance to this end...*
Should we
1. plan on implementing the layout with dummy content (i.e. a button
that does nothing but is needed for cross-browser responsive testing) and
then add each tool back in separately and as time progresses and include
additional changes then, on a per tool basis?
OR...
1. plan on immediately connecting all existing tools/functions to
their place in the new layout and only then begin to implement all proposed
changes, AFTER all tests have passed and the site is stable and working
correctly?
The best answer seems obvious, but this is where my inexperience with
testing comes most into play. I assume, with a new layout, each component
will need to be tested as it is added back in and before implementing the
next (and the next...) components. However, we are working with an already
functioning site and only changing the layout (initially) so we will only
be concerned with UI testing (is this even true?) - not to mention the
functionality of many components depends on the presence of other
components.
Please advise. Once I have a more solid direction, I'll be better prepared
and will begin moving forward with coding the layout.
Thank you all and happy restoration! 🛌 🌘
—
Reply to this email directly, view it on GitHub
<#416 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF6JYNUYX4UZY73WL3R3DVNFAVNANCNFSM5XWJEICA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Sounds great! Thanks, Jeff, have safe and happy travels. |
Please are we talking about writing tests for each functionality of the files in Infragram/src/ui directory ? Or testing for the expected output of each HTML element /Browsers and Screen sizes ? |
@Forchapeatl, both. I was concerned that my lack of experience w/testing would slow down the progression of the project. As a side goal, I'm very much aiming to to improve in this area. I believe Jeff was just asking what your level of experience is (w/testing as a whole) and if this might be a side learning/improvement goal of your own. &&& thanks for citing the resources, they'll be a great starting place for me. Thank you for looking over my draft. I know you have one of your own and I think they'll come together nicely. Will be in contact soon 👋 |
Okay @stephaniequintana , I am familiar with the logic of writing unit tests. I did it a while back with Golang for Amass , using Javascript Jest would be quite similar. I won't mind handling the test and helping out. |
Hi all! Yes, just getting an idea of what kind of testing you're interested
in, or experienced with. For some excellent examples of jest tests of UI,
you can take a look at the Editor project, at http://github.com/public
lab/PublicLab.Editor, which @NARUDESIGNS worked on recently! It walks
through steps like pressing buttons, etc. And you can also unit test the
functions in the ui folder, both are valid and useful approaches!
…On Fri, Jun 3, 2022, 1:43 PM FORCHA ***@***.***> wrote:
Okay @stephaniequintana <https://github.com/stephaniequintana> , I am
familiar with the logic of writing unit tests. I did it a while back with
Golang for Amass
<https://github.com/owasp/amass/pulls?q=is%3Apr+author%3AForchapeatl+is%3Aclosed+sort%3Acreated-asc>
, using Javascript Jest would be quite similar.
—
Reply to this email directly, view it on GitHub
<#416 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF6J46QAXE45B5JAT2JYDVNGZSPANCNFSM5XWJEICA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@jywarren, @TildaDares, @cesswairimu, @Forchapeatl - Hi, all 👋 I need to know the best way to submit what I've done so far - my branch is sandbox-grid. I connected Bootstrap through a CDN and wrote internal CSS...just not clear if I should open a PR or get feedback and make changes first. I'm not able to open it in a browser from GitPod. Please let me know how you would like me to proceed. In the meantime, here's a few of my recent thoughts 😄 I've come to a point where I can use some feedback on the sandbox UI. Please, be thorough -- this is actually the first time any of my code has [ever] been reviewed by anyone - I'm certain I will gain greatly from this experience. More than anything, I'd like to know that I'm adhering, as best I can, to PL's standards. I would very much appreciate any and all feedback you may have for me. Please and thank you 🙏 💕 Just a few notes and questions...
It was tough for me to think of this first hurdle in terms of modularity. My brain just very much needed to follow through with settling all the moving parts first. I hope that I didn't unnecessarily complicate the code. It has already nearly doubled and there are still many modals that need to be added in. Please let me know if you think we should return to a single layout. I have a saved copy that we can easily return to... Now that we are closer to having a foundation, I can much more easily grasp each task and break it down into smaller and smaller chunks. Thanks and have a great night/day! |
Nicely done @stephaniequintana . Here are some kind remarks.
Congratulations on your first milestone !!!. |
Hi @stephaniequintana, You are doing great and definitely moving in the right direction. |
Thank you, @cesswairimu. I'll open a PR and we'll continue from there 😉 --openend on PR #417 |
Hi, @stephaniequintana - lots of great questions and forgive me if I don't get to them all at once, but we can circle back and pick them up as we resolve them, i hope? Regarding login flow, SWB is really nice. The issue is that IG is a static app, with no database, so it's hard to have stateful resources that make the SWB flow smoother (also, what's happening behind the scenes in SWB to make that smooth is... nightmarish 😱 OmniAuth + OpenID misused in weird ways... i'm just glad it works 😅 and so grateful to @SidharthBansal for ironing out a ton of that flow!) I agree though that suddenly needing login isn't so friendly (and does it retain the image you saved? in a previous tab i guess?). Could we imagine a UI where it kind of warns you with a popup or expanding area and says Regarding icons, we use FontAwesome, but i hear you esp. with more complex tools... what do alternatives look like? Is it possible for an open source codebase to use a paid-for icon set? I'm just not familiar with it, what the pricing or licensing is like. I think full screen is nice for the live video version - there are some use cases where we connect to a modified webcam, and to be able to full-screen that is nice. Also, would it be helpful for both you and @Forchapeatl to have an infragram camera? I'm not 100% sure how easy it will be to get them to you in the mail but we can try... let me know! |
@jywarren I think you can consider Github Icons or Feather Icons. |
Hello @jywarren , I need to delete all branches of my closed PRs so as to keep the code structure organized. Is that okay with you ? |
Sure that sounds okay! Your local ones or your remote ones? If you're not
going to use any of the code anymore, or if it's already merged, then
that's fine!
…On Thu, Sep 8, 2022, 6:26 PM FORCHA ***@***.***> wrote:
Hello @jywarren <https://github.com/jywarren> , I need to delete all
branches of my closed PRs so as to keep the code structure organized. Is
that okay with you ?
—
Reply to this email directly, view it on GitHub
<#416 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF6J5B5CWSTS6XLJL243TV5JRZ5ANCNFSM5XWJEICA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Those are your remote branches, yes it's ok to delete them!
…On Thu, Sep 8, 2022, 7:00 PM FORCHA ***@***.***> wrote:
These ones
[image: image]
<https://user-images.githubusercontent.com/24577149/189240355-5a8bb082-3db9-4f1a-a0e2-d58cdffedb78.png>
... <#m_-2240420023324752568_>
Sure that sounds okay! Your local ones or your remote ones? If you're not
going to use any of the code anymore, or if it's already merged, then
that's fine!
… <#m_-2240420023324752568_>
On Thu, Sep 8, 2022, 6:26 PM FORCHA *@*.*> wrote: Hello @jywarren
<https://github.com/jywarren> https://github.com/jywarren
<https://github.com/jywarren> , I need to delete all branches of my closed
PRs so as to keep the code structure organized. Is that okay with you ? —
Reply to this email directly, view it on GitHub <#416 (comment)
<#416 (comment)>>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAF6J5B5CWSTS6XLJL243TV5JRZ5ANCNFSM5XWJEICA
<https://github.com/notifications/unsubscribe-auth/AAAF6J5B5CWSTS6XLJL243TV5JRZ5ANCNFSM5XWJEICA>
. You are receiving this because you were mentioned.Message ID: @.*>
—
Reply to this email directly, view it on GitHub
<#416 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF6J7X6GIMSPAWKXUCLZDV5JVZNANCNFSM5XWJEICA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Here are @stephaniequintana's questions from #415; I'll try answering them inline here!
General
You're free to, however many may be old/outdated, irrelevant, etc. -- many were opened during the application phase and we could try to look through them so that ideas don't get totally lost, but generally I think we should Outreachy and GSoC application-related issues.
If you spend some time looking through recent issues, would you mind making a list of ideas which you think have potential for integrating into your and Forcha's plan? Maybe it's best we discuss these on a per-case basis. @Forchapeatl you are free to do the same, we can discuss within one new shared issue perhaps?
TESTING
Testing is a lot of fun, really! A good way to think about it for starters is that the tests on this repository are a form of reassurance that when you make changes, you'll know whether you've accidentally broken something. As you add code of your own, you may be able to add additional tests to "protect" your code. Some types of code are easier to test than others -- UI is a little harder; you can write a tests which presses buttons and then you can check if measurable things change on the page, like... does a modal pop up? Does an element disappear? But back-end functions can be a bit easier to test, because their outputs are less likely to be visual.
BUT! This is an image-processing library. That comes with its own challenges! Much of the code affects things visually, and the only change in output is a different image. Writing tests to confirm images is possible -- we do so in the tests for https://github.com/publiclab/image-sequencer (for example, converting an image, unconverting it, then checking if it's the same as it was in the beginning -- or, converting an image, then comparing it to one we already converted and visually checked). I don't believe we yet do that kind of thing here. So for extra security, you might keep a sample image as a before/after pair of samples, so you can manually check that putting in the 'before' image still gets you the same 'after' image. But eventually that might be a good thing to design a test for. @Forchapeatl have you written tests before and are you interested in it?
Next Steps
EXCELLENT! 🎉
I think i just fixed this.
I think, from your proposal, that you may gain a lot from working with Bootstrap code now, and creating a fully HTML version (or a refinement of the one you made already). I think you're ready to be working in code, rather than a mockup drawing program, but it's just a gut feeling, and if you want to spend more time drawing that's fine too! One big advantage of using HTML is that you can start testing it on different screen sizes, seeing how it changes shape, things like that. I think you can go quite a long way refining HTML before you even start to integrate real functionality with the image processing back-end. You could also get feedback on the design and iterate before starting to hook things up, if you're interested.
As i mentioned above, i do think it's worth reading through other ideas and seeing if you're interested in incorporating some of them. If you find ones you are very persuaded by, let's discuss in a separate issue?
Thanks, this is great! You're absorbing a ton of info, and doing a great job at it!
If you get stuck, please reach out over chat to myself and other mentors. I'm traveling a bit this week so may be slightly harder to get hold of but I'll check in every few days for sure. Thanks!!
The text was updated successfully, but these errors were encountered: