Part of AMP (1) is a web component library grounded in the extensible web manifesto (2).
The plan was that the browser vendors give developers deeper access so that they could test new elements/standards through web components and polyfills.
The AMP component library is one example of this, and stories are one of their forms. So basically if you use their tags to structure your content, it creates a ig/sc style Web Story.
The structure that they have is (3):
Story -> Pages -> Layers -> Elements
Each page represents a tappable screen,
Layers occupy the full screen, stack and have layout defaults like fill or lower-third and
Elements can be regular html elements or other AMP components.
I used thing/color on a project where I needed to generate color palettes and ensure contrast.
I was blown away by the scope of your work, and really appreciate it.
Personally, I've been trying to figure out a literate programming style for clojure, but when I saw that you had given up on it, I figured that if it was a barrier to entry for thi.ng contributions, then I might not stand a chance with my smaller projects.
1. Do you have any advice on building community around your projects?
The main feedback re: LP style was the additional layer of indirection and unfamiliarity with the idea of code blocks within an .org file. Also obviously the dependency on Emacs for a decent editing experience of these files didn't help either, even though I always thought for Clojure this was less of an issue (at least back then). With more popular IDEs available by now, I'd say it'd be even harder to convince people to contribute in that style...
The only practical advice re: community building I can provide is trying to be there for new users, providing answers/guidance/examples/infrastructure, a space to exchange ideas (i.e. our Discord). That's especially important if other things like extensive documentation/tutorials are still missing. Doing this isn't always easy and there're periods when I'll have to disconnect, but I'm super grateful that we now are starting to have more people helping out on that front, even though the community is still rather small...
Thanks for the notespace link, will it check out asap...
The guide's intro reminds me of the SICP intro in that it asks you to put aside your expectations and come learn about this cool thing.
Guide:
"My conscience won’t let me call Ruby a computer language. That would imply that the language works primarily on the computer’s terms. That the language is designed to accommodate the computer, first and foremost. That therefore, we, the coders, are foreigners, seeking citizenship in the computer’s locale. It’s the computer’s language and we are translators for the world.
But what do you call the language when your brain begins to think in that language? When you start to use the language’s own words and colloquialisms to express yourself. Say, the computer can’t do that. How can it be the computer’s language? It is ours, we speak it natively!
We can no longer truthfully call it a computer language. It is coderspeak. It is the language of our thoughts."
SICP:
"I'd like to welcome you to this course on computer science. Actually, that's a terrible way to start. Computer science is a terrible name for this business. First of all, it's not a science. It might be engineering or it might be art, but we'll actually see that computer so-called science actually has a lot in common with magic, and we'll see that in this course"
I was just thinking that what we really want when we say "no-code" is the ability to think in terms of domain specific data structures instead of programming constructs.
# Model of Small Decisions
## Re: Try to avoid multitasking
As a fullstack developer I find this particularly apt. I'm most productive when I deliberately focus on one part of the stack at a time (think days, not hours) and I rely heavily on the notes that I take to provide context.
## Re: Remembering effective rules
When I'm documenting, often I'm in the mindset of, "I solved this problem today, and writing it down ensures that I won't have to re-solve it next month"
## Re: Minimizing decisions
My most productive days revolve around making decisions up-front, ie planning out the steps of a project in a Kanban or bullet journal at a granularity of 30 min chunks (~15 min expected time, 15 min slack)
# Possibly Related Work
## Readme Driven Development
https://tom.preston-werner.com/2010/08/23/readme-driven-deve...
The idea is to write your readme before you start coding. Just enough upfront planning to imagine what the system will be, discuss with team, and make changes, while delaying making all the small decisions that are needed to actually bring it to life.
I think that RDD is an admission that small decisions exist, so we should try to make the best big decisions that we can up-front while the cost of change is lowest. Each of the small decisions that you make in coding adds friction to change.
## Basecamp Hill metaphor
https://basecamp.com/features/hill-charts
"The idea: work is like a hill
Every piece of work has two phases. First there’s an uphill phase where you figure out your approach. You have a basic idea about the task, but you haven’t figured out what the solution is going to look like or how to solve all the unknowns.
Eventually you reach a point where there aren’t any more unsolved problems. That’s like standing at the top of the hill. You can see clearly all the way down the other side. Then the downhill phase is just about execution."
This too I feel is an admission that small decisions exist. It's an understanding that even when you have a plan, projects go through a phase in the beginning where there's a concentration of decisions that need to be made, and each of those decisions introduce some measure of uncertainty.
Wave ( https://www.waveapps.com/ ) has an extensive free tier for accounting and invoicing because they monetize through optional payroll and payment processing.
I found the smartphone app handy before the lockdowns, and I especially like how they handle emailing clients.
If you think that the JVM is icky, GraalVM may satisfy some of your concerns.
Just getting access to Clojure on Windows through a single graal executable saved me some heartache this week, and I can't wait to start packaging apps with it.