A dev skill map for norns

edit: this is the old tree. see the new one further down: A dev skill map for norns


the norns study group held our first retrospective this weekend. we have a bunch of fun ideas going forward. one thing i wanted to share was this draft of “a dev skill tree”.

<< removed old image because problems >>

the “a” determiner is very important here because this is just one of infinity ways to approach learning how to develop for norns. we’re contemplating making more content geared towards learning the platform and i thought a visual orientation-skill-tree-thingy would be helpful. also i’ve been playing a lot of cyberpunk.

for experienced devs i’d love:

  • feedback or critiques
  • should things be moved around?
  • to know what it is missing

for new devs and those who are norns-curious i’d love:

  • to know if this is this helpful?
  • how does this make you feel about approaching norns?
  • anything particularly scary?
  • anything exciting/fun?
53 Likes

This is absolutely fantastic. It also highlights that I spend most of my time these days hopping between 6.A/B, 3.B, and 4.A, with occasional progress. But seriously – I’ve lately been feeling like my norns and lua skills have been dulled somewhat this year, but this skill tree is putting things back into context for me in a really helpful way. One of these Saturdays I’ll join the study group!! :rocket:

5 Likes

i kinda skipped 4.A and 4.B :sweat_smile:

yeah come on out! we’d love to have you. next one is this sat

this is very helpful for me.
being able to visualize this entire process will give me places to search out new information when I feel as if I’ve hit a wall in one area.

I’m really looking at giving norns some of my time this upcoming year (I just got a shield from the latest batch).

I programmed a video synth for the raspberry pi with openframeworks this year and have spent tons of time with the shbobo shnth. I used to mess around with PD and MAX a lot and have released a couple things. One of my favorite max patches was an extension of Aalto that made use of a TouchOSC layout. I have a feeling hooking up TouchOSC to the norns will be lots of fun.

So I’m starting to see some similarities and have lots of things I’d like to make for norns.

looking forward to joining in

2 Likes

this really makes the idea of creating my own simple scripts some time in the future so much more approachable. imagine if school had a more similar approach? hopeful. ticking off the boxes where you already feel somewhat confident, and getting an overview to more easily find the direction of where to focus next is very helpful. i must start at 2.C and 3.B next i think : )

1 Like

YES!!

yes yes!!


ok cool this is great feedback. expect a v1.0.2 soon… :3

4 Likes

Totally skipped the 4’s too. Glad I came back to them though

slowly working my way from the right side to the left side, as per usual : )

1 Like

to know if this is this helpful?

very! great way to organize and if there were a visual like this with links, as noted by others, it would make for a great reference even if not followed in strict order

how does this make you feel about approaching norns?

mixed…i’ll explain below

anything particularly scary?

all in col 2 except 2c

anything exciting/fun?

3a & all of columns 4, 5 and 7


i can only speak for myself and know i’m in a weird middle ground of having interest in this without following through so far

what i know already makes me unafraid of certain blocks because i can see how they’d be valuable…but others might want a different path

some decisions might make more sense if i knew the value

i’d consider consolidating columns 1 & 2 and eliminating some to read something like:

1a. MAIDEN
1b. LUA SYNTAX
1c. THE DEVS MINDSET

2a. BASICS OF LUA PROGRAMMING
2b. SOFTCUT
2c. SUPERCOLLIDER FOR NORNS
2d. NORNS API & DOCS

3a. LUA TABLES
3b. FUNCTIONAL PROGRAMMING BASICS
3c. OBJECT ORIENTED PROGRAMMING BASICS
3d. DEBUGGING LUA

4a. LUA METATABLES
4b. LUA “CLASSES”

5a. SOFTWARE ARCHITECTURE
5b. SCREEN / UI BASICS *

the last item is something i’d like to see included and seems to fit with the section on planning the apps we develop

last two notes…i feel like most of the blocks listed in row with “the developers mindset” would be better served in a separate resource OR woven into these small guides as inset blurbs to encourage a beginner along the path

same could be said of the more complex CLI and git operations

a bonus learning section at the end of the series (sixth column?) OR to close certain articles w/ links and step-by-step tutorials might be cool

3 Likes

I tend to think of 4a + 4b coming last in this particular flow. 5-7 come out of 3 (and aren’t totally necessary to know outside of basics to accomplish most immediate ideas) to serve/flesh out the sound (softcut/sc). IMO supercollider/engines is most lacking in general to this point - I know I need to spend more time learning it.

maybe put another way, I think if you focus on 1-4, do the studies (4e?) etc, you’ll end up learning a lot of 5-7 without even realizing it.

all that said, I’m sure my inherent biases are at play here. ie I don’t really care about learning 5c, 6a, 6b in my free time.

2 Likes

I am not very far up this tree, just have had some 2a and 2b as a consequence of having to know it to access the internet in the olden days, but I really like this format for thinking about learning. it helps me so much to have it all laid out in front of me like this for both current and alternate paths of study and could be a model for me with other projects as well. looks nice too. I usually just make a list but this is better.

10 Likes

Coming from a visual arts background and having already tinkered (without much success) in norns scripting, I’m coming to realize that maybe I’m lacking some of that 1.C, (among several other things hehe) I’d be grateful for any pointers or references for where to start to grab that Developer’s Mindset.

Also thank you for laying out this information, I had no idea about all I was missing. Eager to learn now :slight_smile:

1 Like

Same here! I have been moonlighting as a designer for a while and it’s humbling (but frustrating at times) trying to make something visual live outside of a static image / concept.
Even Eagle is making me go bonkers (learning not to defy all laws of physics and electrical engineering)

Thank you @tyleretters for all the beautiful design / wisdom.
Makes the herculean task of starting from zero much more encouraging.

1 Like

11 Likes

I have to say I miss having Software Architecthure/OOP on the skill tree, because I feel pretty comfy with learning syntax and lua from the docs but creating a larger-scale script with objects and things is still outside of the scope of my ability, and something I’m desperate to learn more about.

3 Likes

I preferred the original gridded approach but I am the least informed about the topic so I don’t understand why it was problematic beyond that there were more nodes to be added than was feasible in that format.

1 Like

50 page slack conversation we’re still trying to summarize

6 Likes

of all the leaves, supercollider is the most daunting from my approach. i haven’t found a resonant entrypoint for my brand of doc, but i’m assuming there’s an idea of a form of this tree with links at each leaf to a solid introductory primer. same time if you pressed me for the best primer for the things i know cold i’d sputter.

2 Likes

i think this is a crucial an insight.


as a new norns user, SC was one of the most attractive aspects of the platform. i tried learning SC on the norns first. i quickly realized that was not a friendly way to learn due to so much restarting. i moved to my desktop and then realized how deep the thing was. i put out various calls for help (dronecaster) and then pretty much gave up learning it.


@license is an inspiration, tho. you learned it pretty recently and have a very deep command of the thing. what was your path?

3 Likes