3 ms·
I don’t get what the author means by “design”. Do they mean architecture or UX design or ??? I have a much simpler approach. Most engineers I have met (mysel
by efitz 2y ago
I don’t get what the author means by “design”. Do they mean architecture or UX design or ???
I have a much simpler approach. Most engineers I have met (myself included) tend to design an architecture and data model, then overlay an API on that and finally overlay a UX. Both UX and API tend to be CRUD shaped around whatever object model the engineer implemented.
I’ve found that you get better results if you work backwards. Start with the goals/tasks that your typical user will want to perform, and design a clean, minimal UX to do those tasks. Then design the APIs that you need to enable that UX. Business logic should be in the code that calls the APIs, not in the APIs themselves- an app then becomes an API call composer/orchestrator.
Finally, define the service and data model/stores needed to support your API.
If you’re just doing an API and not a UX, then start out by writing the program that your customer would write - make up the APIs/objects & methods that most elegantly match user concepts, goals and expectations. Then work backwards to the service and object model.
This also works for classes and libraries as well- be your own user/customer first, then implement the code to deliver that experience.
- chrisjj 2y agoI don't get it either. He should test his notion on a bridge.
- gffrd 2y agoWhat do you mean by this? Are you saying the process the author proposes—that the user’s needs should define the solution, and that process should be performed separately from engineering—won’t work on something like civil or structural engineering?
- chrisjj 2y agoI am saying decoupling design from engineering won't work. "Define the solution" does not equate to design.
- datadrivenangel 2y agoA bridge should be designed backwards from intended use...
- jjk166 2y agoWhich is not the approach being advocated here by the author. A bridge should be engineered and then designed according to the following process: Determine requirements based on intended use and available resources (engineering) -> make something that looks nice while meeting those requirements (design) The author's process is: Make something that looks nice while deliberately ignoring constraints (design) -> figure out how to make that and also satisfy requirements (engineering)
- deleted 2y ago[deleted]