mozilla-mobile / shared-docs

⚠️ shared-docs moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
https://medium.com/firefox-mobile-engineering
Mozilla Public License 2.0
34 stars 32 forks source link

Add initial RFC for wallpapers v2 #112

Closed MatthewTighe closed 2 years ago

MatthewTighe commented 2 years ago

This is an initial RFC for wallpapers V2 networking. This format is based primarily on what can be found in the Android Components RFC section, and I would recommend that as a starting place to anyone unfamiliar with this type of process.

Open questions:

mcomella commented 2 years ago

@MatthewTighe It seems I was automatically added to review as a code owner but since I'm not actively focused on mobile features, could you find another reviewer?

Amejia481 commented 2 years ago

Should we include other wallpaper V2 client side improvements in this document?

I think it would be easier, if we just focus on one topic or improvement per RFC, it looks like this one is mostly for the changes needed downloading dynamic wallpapers, if there are other new non related functionality I would prefer to cover it on another RFC.

Should we explicitly define an initial JSON schema?

Yes, that will be really helpful to have a concreted idea,.

Is there anything else that should be included or changed that is not?

Could we also include, how are we going to handle downloading, parsing the JSON file and how often we will look for updates on the server.

adudenamedruby commented 2 years ago

For how often we look for updates on the server, I was thinking we should be checking once a day. If we have both availability & expiration dates in our schema, then marketing/pm/whoever wants to add new wallpapers can add it whenever, without worrying that things need to get downloaded on the "right" day.

MatthewTighe commented 2 years ago

Could we also include, how are we going to handle downloading, parsing the JSON file and how often we will look for updates on the server.

IMO those are client-side implementation details. My intention with this was to keep it as platform-agnostic as possible, such that it could be used by iOS as well.

MatthewTighe commented 2 years ago

Updated with some example JSON, as well as some detail around @jonalmeida's points around the risks of using JSON.

Additionally, @csadilek suggested that we continue using the hosting solution that we are now. He also suggested looking into using RemoteSettings to handle delivery of this assets on Android. It looks like it could be a good fit, but it may be simplest to wait until both mobile platforms have adopted it before investigating further in the interest of sticking to a single remote source.

MatthewTighe commented 2 years ago

Updated the JSON example to include @electricRGB's suggestion to group wallpapers by collection

MatthewTighe commented 2 years ago

@electricRGB

Wanted to check in about this with you again. Is there anything else you feel should be added before we move on to implementation details offline?

adudenamedruby commented 2 years ago

@MatthewTighe Nope. All good on my end. :)

MatthewTighe commented 2 years ago

Great! I'll merge it once an approving review is submitted