Orange-OpenSource / ods-ios

A SwiftUI components library with code examples for Orange Design System
https://orange-opensource.github.io/ods-ios/
MIT License
25 stars 6 forks source link

Orange eco-conception guidelines review #143

Open B3nz01d opened 2 years ago

B3nz01d commented 2 years ago

eco-conception guidelines review

General description

The Orange Eco-Conception team started to write some guideline. They are at a very first draft stage and are still being updated.

The objective is to perform an assessment of what exists today and identify:

Detailed information

Contact: Maria-Jose PRESSO & Pierre RUST Documentation: https://recommendations-preview.innov.intraorange/software-ecodesign-mobile-applications/

Implementation Tasks

jlchee commented 1 year ago

Analysis:

Network communications MOBILE-RADIO-01: Don't make periodic polling : out of scope for design system MOBILE-RADIO-02: Don't use persistent connection : out of scope for design system

CPU : use batching task each time you need a specific processing like processing data or photo : out of scope for design system

Background state : optimize background state to limit resources usage (CPU, network, memory) : out of scope for design system

Low power mode : support low power mode when activated by the user, example : remove animations : can be illustrated in the demo app

Support dark mode : already done in the demo app

Measure energy impact : out of scope for design system (not relevant for demo app)

Use of assets - 1 : optimize assets, prefer vector format (PDF, SVG), when it’s possible: already applied in the demo app Use of assets - 2: re-use SFSymbols when it’s possible: can be illustrated in the demo app

Use of animations - 1 : avoid complex animation, limit the number of animation and prefer small animation of icons: can be illustrated in the demo app Use of animations - 2 : prefer optimized framework for animation like ‘Lottie’ or ‘Core Animation’ (native): can be illustrated in the demo app

Webviews - 1 : use optimized content for your web views - you can check it by using tools like PageSpeed Insight: out of scope for design system (not relevant for demo app) Webviews - 2 : stop using UIWebView and move to WKWebView or SFSafariViewController: already done in the demo app (module « About » )

Use of analytics : When needed, choose an analytics tool with minor impact on resources (size of library, number of request calls, memory usage, …) and minimize the number of analytics in your app : out of scope for design system (not relevant for demo app)

jlchee commented 1 year ago

In addition , more information about the size of some applications:

Size of the APP (TestFlight):

On Apple Store:

It seems that Apple doesn't want to share about apple app's version and size ....

B3nz01d commented 1 year ago

Great feedback, I can see 4 actions we need to list in our backlog to see how to be dealt with