GSoC 2020: Some ideas about the Skunkworks-Crow Project

Hi All,

After discussing about the GSoC'20 for Skunkworks-Crow with @dexter21 and @LN, we now have some initial ideas and goals.

  1. Adapt the changes according to ODK Collect and fix the issues to make Skunkworks-Crow work. See Collect will need to stop using /sdcard/odk for files. And make the hotspot feature works in Android 9 (android 10) devices.

  2. Unit tests for the whole project, including the core features like hotspot and bluetooth transmitting. Since we don’t have enough people who reviews code and tests the app on daily basis, we should have some unit tests on core features to verify the behavior.

  3. Add some features: Scanning QR Code to connect for bluetooth (be consistent with hotspot); Build a user feedback system (inside the app, user can report crash and upload suggestions to developers).

  4. Refactoring the code base. Last year, I added a new data transmitting method using bluetooth. But bluetooth feature has many similar code as hotspot feature even duplicate code. We should refactor the code base using some design patterns to make it easier to read and maintain.

  5. UI/UX improvements: Try to make this app easier to get start with a better design and workflow.

We supposed to release Skunkworks-Crow this summer and collect user feedback after that, so the topic of this year should be something like: Complete unit testing; Improve program robustness; Release and collect feedback.

Please give some suggestions and indicate what are missing.

[Note] Dear forks, thanks for your contributions, if you are new to this project, please read these before posting there for a better communication, thanks.

4 Likes

I think 1st, 2nd and 5th points should be the main things we should focus upon.
Can we also include building a website as @Mickys0918 mentioned in the issue section?
Please share your views regarding this :slight_smile:

Can we also include building a website as @Mickys0918 mentioned in the issue section?

Thanks for your reply @devanshi7799. I think this is not in a hight priority, besides, we can use Github Pages to build one in several minutes. It seems @chromicle has some other ideas, it would be great that you can share here.

1 Like

Yeah, I have one cool idea I explained everything in detail in this Doc
@dexter21 @Shobhit_Agarwal @Mickys0918 @LN please give your opinions on this :smile:
If you feel this is good please add it into there

1 Like

Hi @chromicle I've commented out few things in doc, you've suggested to use firebase for form related activities, but skunkworks-crow is based on entirely different thing we wanted to solve a problem without actually connecting an Internet and introducing Firebase will basically involve Internet connection at some point in time for any form transfer (upload/download). This year we're more focused on building it more stable and reliable and less focused on building new features until and unless its really required.

1 Like

Hi @Mickys0918
I think 3rd point will be a nice thing for the app,as the feedback system is really important.
For the 2nd point what are the main core features should one include in unit tests?

For the 2nd point what are the main core features should one include in unit tests?

You can go through the code then you will know, we don’t have any tests for the transmission methods for now.

On which platform is organization planning to do unit testing?
Travis,Junit,Jenkins....

I think you misunderstood the CI and unit tests. We use Travis to hold the tests. You can have a look at our codebase.

I looked at the codebase and got some understanding,I would really like to work on the 2nd point (if possible) mentioned,can you help me getting started :slight_smile:

Yes, the best way to get familiar with the code and show your ability is picking an issue and filing a PR to address that. You can get start with the issue list both ODK Collect or Skunkworks-crow @rheo.

1 Like

Is ODK not participating in GSOC 2020,I checked the organizations list and it's name wasn't there

ODK is participating under the DIAL OSC umbrella. See https://hub.osc.dial.community/t/google-summer-of-code-2020-open-source-center/1025#open-data-kit for more.

Hi! I am interested in working on this project as a part of GSoC 2020. Where should I begin ?