I’m fine with the all-git workflow being documented, but there is another important reason it shouldn’t be the default set of recommendations for new users:
The things published to the Arduino Boards Manager platform are releases. We have a reasonable confidence that they should be a working, coherent whole. While that’s always a goal for git master, it’s a goal, not a commitment. That’s not the right default experience for an inexperienced user.
Once the platform is installed with the Arduino IDE, there’s no requirement that you use it to do your hacking.
A newbie who’s unwilling to launch Arduino to set up their environment and would rather mess around with git repos…isn’t really a newbie.
Good point about the stable releases. However, it’s not necessary to “mess around with git repos”; once they’re cloned, you can just ignore git and edit files. For some people, it’s just much easier to follow instructions of the form “type the following commands” that to follow GUI navigation directions. And, at least on some systems, all you need is to start a shell, enter commands, and maybe edit a text file, and you can flash new firmware on your keyboard. That’s so much simpler (to some people) than “click here”, and “select this menu item”, et cetera.
I’m convincing myself to write some shell scripts to make this even simpler…
On less relevant note, there are programmers who are proficient in other languages, and git, but aren’t familiar with Arduino or C++. Everybody’s a newbie at something.
That’s making a bunch of assumptions about end users, some of whom haven’t used a shell before.
There are many different kinds of users out there. I’m happy to have a variety of sets of instructions for different kinds of users and different use cases. The ‘getting started’ flows that I want to be the default for people who don’t otherwise know what they’e doing are already the default under ‘New User Setup’ here: Home · keyboardio/Kaleidoscope Wiki · GitHub
Since Benji explicitly scoped the page in question as “This page is for developers who want to go beyond using the Arduino GUI in order to do more complicated things”, it’s safe to say that this isn’t intended as the default onboarding flow.
@benji - I made some edits to the wiki page you contributed. I also added some TODO notes.
Because it’s still pretty incomplete and platform specific, I pulled it out of the sidebar for now. Once it’s somewhat further along, I’d be happy to put it back.
I’m making no assumptions about end users as a whole; I’m stating what I know to be true about a subset of those users.
My point exactly.
I certainly don’t think that the CLI setup instructions should be the only ones, or even the default. But for some people, as I thought I had made clear already, a sequence of shell commands is much clearer and easy to follow, even if the user doesn’t understand what those commands are doing.
I’m way behind on all this, with no time to catch up right now sadly, but the OP sounded vaguely reminiscent of https://github.com/keyboardio/Kaleidoscope/issues/234 so I thought maybe it was worth mentioning just in case it’s relevant. Thanks everyone for your awesome work; this community rocks!