Skip to content

Proposal for simplified user onboarding#454

Draft
emmby wants to merge 397 commits into
StateSmith:mainfrom
emmby:docs-revamp2
Draft

Proposal for simplified user onboarding#454
emmby wants to merge 397 commits into
StateSmith:mainfrom
emmby:docs-revamp2

Conversation

@emmby
Copy link
Copy Markdown
Collaborator

@emmby emmby commented Mar 30, 2025

This is a draft PR to demonstrate how we can make StateSmith very easy to use by new users. At a high level, it consists of a set of docs, a simplified commmand line tool, and build integrations with popular package managers.

You can preview the new documentation here: https://emmby.github.io/StateSmith/

  • Simple, familiar installation for Mac, Linux, and Windows. Users of homebrew on mac, apt on linux, and nuget on windows will have a streamlined installation process. Homebrew and Windows is available now, linux is coming.
  • Simplified onboarding. Users do not need to know anything beyond a diagramming language and a programming language (eg. PlantUML and C++) to be productive.
  • Easy to use documentation. Docs are no longer split across wiki, markdown, pages, and multiple repos. Docs have short and simple chapters for specific needs, such as how to use SS with various languages, how to use actions, events, triggers, guards, history, timers, etc. Advanced topics are covered in the advanced section, and there is a section for contributions to make it easier to contribute. The doc chapter organization makes them easy to reference, and they are also searchable.
  • Interactive examples. Examples are embedded directly in the docs using the simulator.
  • Simplified command line more appropriate for build tools. The more sophisticated command line is still there for more advanced usage, but the simplified command line is designed for most daily uses and for easy integration with other build systems.
  • No reduction in power or customization. Hopefully we haven't made SS harder to use for power users, just easier to use for new users.

The docs also look good in light and dark modes, and they work on desktop and mobile.

The PR still needs more work, in particular there's a lot of content still missing. But I wanted to align on the direction and get your feedback to see if there's value in finishing it up in time for your presentation.

TODO

  • upload .deb package to debian
  • PR to support default callback for C++, C#, Java, Python
  • align on the general framework
  • add more content. In particular, port some of the more sophisticated examples; more statemachine reference; yEd; etc.
  • consistently choose either net8 or net9. Probably net8 since it's long term support? My fault for introducing net9 inconsistently
  • general polish

@adamfk
Copy link
Copy Markdown
Contributor

adamfk commented May 14, 2025

Had a good video call with @emmby a few weeks ago to discuss. We are exploring ways to help simplify StateSmith even more for new users while still retaining power features for advanced users.

@emmby has also been great at consolidating and updating StateSmith documentation which is currently spread between main repo, tutorial repos and wikis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants