Design Principles
Our Goal Is to Be the Fastest. This has been and should be the guiding star for most, if not all, design choices when developing the Flight framework.
Development Time
Goal: The Flight framework should provide good developer tools and then get out of your way, allowing you to focus on creating value for your customers and end-users as quickly and efficiently as possible.
To achieve this, the following things are important:
- Modern, high quality tools and frameworks
- High quality UI and framework components
- Local dev environment, with live reload
- Automated testing
Load Time
Goal: Sub-second initial load times, even on mobile.
To achieve this, the following things are important:
- Performant server side rendering
- Keeping the total number of requests low
- Reduce request payload size
- Eliminating expensive computations and render blocking on the client side
Perceived Speed
Goal: The shopping experience should feel instant and seamless, like a well-crafted native app.
To achieve this, the following things are important:
- Eliminate “jank” and scroll stuttering
- Pre-loading the next step whenever possible
- Optimizing for certain wait times over uncertain wait times when things cant be pre-loaded
- Thoughtful use of loading states and transitions
Time to “X”
Goal: The performance should always be measured.
The "time do do X" is a good KPI for general store performance, i.e. the combination of all of the above together with the design of the shop itself.
"Time to…" could be
- … product page
- … cart
- … checkout