Forum Discussion
How Rise Canvas was created
What Made It Work
A few things made the difference between a collection of useful tools and a cohesive product:
Establishing the pattern early. The decisions made on the first builder, stateful S object, refresh() function, buildHtml() output, consistent UI structure, meant every subsequent builder had a template to follow. Consistency was free once the pattern was set.
Treating the output as seriously as the UI. The HTML that comes out of these builders lives inside a Rise lesson that real learners interact with. Every component had to meet the same standard as Rise’s own blocks, accessible, responsive, reliable.
Iterating based on real use. Each new feature came from an actual friction point, the canvas was too cluttered without a design mode; losing work to a browser refresh was frustrating; manually aligning blocks was tedious. Features that solved real problems stayed. Features that added complexity without clear value didn’t make the cut.
Keeping it self-contained. The zero-dependency, single-file approach meant the tools could be distributed, opened and used with zero setup. No npm install. No local server required (for basic use). No accounts. Just open and go.
Related Content
- 10 months ago
- 9 months ago