Add goals section to README.md#971
Add goals section to README.md#971luleyleo merged 6 commits intolinebender:masterfrom luleyleo:goals-section
Conversation
|
Thanks! I've fixed those. |
cmyr
left a comment
There was a problem hiding this comment.
Okay a bunch of nitty rewording thoughts, take 'em or leave 'em!
| letting users write fast, small, and generally efficient programs with minimal | ||
| hassle. | ||
| Druid is an experimental Rust-native UI toolkit. Its main goal is to offer a | ||
| polished user experience. There are many factors to this goal, including |
There was a problem hiding this comment.
to the developer or the end user? 😁
There was a problem hiding this comment.
To the end user. I think using user to mean end-user and developer to mean developer is a fine distinction to go with.
README.md
Outdated
| - Enable robust internationalization. | ||
| - Ensure accessibility to a wide group of people. | ||
| - Produce small and fast binaries with low memory usage. | ||
| - Have a small dependency tree with a high quality code base and good organization. |
There was a problem hiding this comment.
I think this item is a process goal, but not really an end goal? So I'm not sure I'd include it here.
There was a problem hiding this comment.
I would say having a small dependency tree is an end goal. To put it differently, having a small dependency tree is one of the major reasons I'm personally interested in druid over Electron. I wrote in more detail about it #806.
Also the point about cargo build working is even more of a process goal, because that won't have any impact after the build step, while a small dependency tree will matter at runtime too.
There was a problem hiding this comment.
I guess I see "produce small and fast binaries with low memory usage" as being our shot at electron?
There was a problem hiding this comment.
Aside from being a good goal in general, I think it can be seen as such.
README.md
Outdated
|
|
||
| Druid's primary goal is to provide a smooth and polished user experience with | ||
| pixel perfect design and no behavioral quirks. In order to achieve this we | ||
| strive for a variety of things: |
There was a problem hiding this comment.
This feels vague. I might say,
`Druid's goal is to make it easy to write and deploy small and efficient desktop applications that work on most common platforms.'
There was a problem hiding this comment.
Sure, but then I'd like to see this item added to the goals list:
- Provide a smooth and polished user experience with pixel perfect design and no behavioral quirks.
smooth = no stutter
polished = care has been given to details
pixel perfect = widgets aren't being drawn willy-nilly in roughly the correct location, but instead in just the right pixels
behavioral quirks = application behaving differently under uncommon scenarios, like hot state not working when alt-tabbing out etc
There was a problem hiding this comment.
I tried to strike a middle ground on this one:
Druid's goal is to make it easy to write and deploy high quality desktop
applications with a smooth and polished user experience on all common
platforms.
as the summary, and
Facilitate a smooth and polished user experience with no behavioral quirks
as an additional point.
There was a problem hiding this comment.
I think if we already have the smooth & polish in the summary, then the extra point isn't needed.
There was a problem hiding this comment.
Well, you are right. I suppose it was a bit to late when I wrote that and my brain wasn't working properly anymore. I've removed the extra point.
README.md
Outdated
| strive for a variety of things: | ||
|
|
||
| - Make it easy to build and package on all supported platforms. | ||
| - Provide abstractions to avoid platform specific quirks. |
There was a problem hiding this comment.
| - Provide abstractions to avoid platform specific quirks. | |
| - Provide a flexible and ergonomic API that abstracts common platform behaviour. | |
| - Make it possible to interact with the platform directly when more control is necessary. |
There was a problem hiding this comment.
Just to note that abstracts common platform behaviour wouldn't cover things like the multi-click api in #859 because that's not a common platform behavior. It's an abstraction that builds the behavior.
|
@Finnerale I think we can merge this. If there are any adjustments needed there's always a possibility to make a new PR. However if this doesn't get merged before 0.6.0 then the crates.io readme won't have this. |
|
Ok, I'll do a rebase in about an hour 👍 |
This defines Druid's goals more prominently in the readme and merges the
Alternativessection with theNon-Goals. This is based on the discussion in #806 .Closes #806 .