Skip to content
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

Software Requirements Specification #2011

Open
philSism opened this issue Jan 17, 2019 · 13 comments
Open

Software Requirements Specification #2011

philSism opened this issue Jan 17, 2019 · 13 comments
Labels
meta Related to the project but not strictly to code

Comments

@philSism
Copy link
Contributor

I was wondering if you were interested in having a SRS made for NewPipe or if you deem it unnecessary. I apologize if there is one already and didn't see it. If there isn't and you would like one, I would be happy to help and start working on it.

@theScrabi
Copy link
Member

you can do if you like.

@philSism
Copy link
Contributor Author

Ok, I'll get onto it.

@ralienpp
Copy link

Just out of curiousity, what would be the benefit of writing such a doc after the software has already been written?

@gkeegan
Copy link
Contributor

gkeegan commented Jan 24, 2019

Basically so that there is a easy place to recommend people to if they complain about excess lag, their phone being incompatible with Newpipe (e.g. They're on an unsupported version of Android).

@theScrabi
Copy link
Member

@philSism you could start developing, I will migrate your repository to teamnewpipe once you can provide something :)

@philSism
Copy link
Contributor Author

@theScrabi Hopefully it'll be ready by next week.

@philSism
Copy link
Contributor Author

I have included a .zip file with the .pdf document and the .odt for editing. I hope I have got most of the information right and haven't messed up big time. I haven't included information about SoundCloud because I wasn't sure what functions right.

NewPipe_SRS_Document.zip

@philSism
Copy link
Contributor Author

@theScrabi Check if everything is alright or if you want me to change anything.

@theScrabi
Copy link
Member

theScrabi commented Jan 31, 2019

@philSism cool work, I read through it and indeed changes some stuff:

1.4

NewPipe is an Open Source streaming client for Android. It provides a privacy friendly access to existing streaming services like YouTube or Soundcloud. The app is designed in such a way that it only transports information necessary for playing the media to external servers and thus protects the privacy of its users. Basic functions are organized in such a
way that they are accessible to all and several tools that enhance the users' experience
with streaming services are at their disposal.

1.5

...
Bug tracker:

https://sentry.schabi.org/


Here the files:
changes.zip

In addition that I think:

  • The way to change the service should be shown as well
  • at point 4.7 I think a link to our privacy policy (due to GDPR) would be usefull.

Also please be aware you can use our press page as well as the documentation pages if you want to find information.

Also where should we put the SRS once it is done? Into the documentation page or the website?

@philSism
Copy link
Contributor Author

philSism commented Feb 2, 2019

@theScrabi thanks for the feedback. I added the link for the privacy policy at the Privacy section (now 4.8). I also added a small description for the platform change feature with screenshots in section 4.7, just to make sure this is covered as well.

Here are the files:
new_changes.zip

I think the SRS would be fine in the FAQ or Press pages of the website, in case someone wants concentrated information about the app, and there are already links that lead someone to the website in the GitHub page.

@theScrabi
Copy link
Member

@TobiGr could you take a look at this?

@TobiGr
Copy link
Member

TobiGr commented Feb 9, 2019

I think this is a nice idea. There are just some minor things that should be changed.

Please use always 'open-source' and not 'open source' or 'Open Source'. At some point I saw 'Soundcloud'

2.5 Design and Implementation Constraints

NewPipe is developed in Java and it is built using Android Studio. It uses no APIs and
only sends information that are required to get video and channel details through
NewPipe Extractor. Any information that the users want to keep is stored on their devices.

I think we agreed at some point that open-source APIs are good to use.

3.4 Communications Interfaces

NewPipe requires an internet connection to send requests to NewPipe Extractor or update
to a newer version.

The requests are not send to the extractor. The extractor fetches the pages and returns their information. Do you have a better wording? Mine does not make this clear either:
"NewPipe requires an internet connection to retrieve content information via NewPipe Extractor, and media streams or get information about new app releases."


I am curious person. Why did you write this doc? What was you motivation?

@philSism
Copy link
Contributor Author

@TobiGr thanks for checking it out. I have corrected the spelling errors you mentioned and changed 3.4 to "NewPipe requires an internet connection to retrieve content information and media streams via NewPipe Extractor or get information about new app releases." as I didn't know how to phrase it better.

I also changed the "no APIs" line to "no Google APIs".

I mention NewPipe Extractor in sections 2.5, 3.3 and 4.7 too. Have I possibly messed up something there too? I think these parts need a check. I can upload the document again once that is out of the way.

As for your question, I was assigned from a course in my university to contribute to an open-source project and I thought of NewPipe because I use it daily. I thought of asking if you needed a SRS document, as that was an option, while I also searched for code-related issues.

@TobiGr TobiGr added the meta Related to the project but not strictly to code label Jun 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Related to the project but not strictly to code
Projects
None yet
Development

No branches or pull requests

5 participants