Create a Post
"Event Drawer" feature to send events without clicking the state chart, making it easier for client to see the chart as a black box when trying to think from the perspective of a user. David: Any wish-list items that would make it even easier for them [client] to understand the flow? Me: Actually yeah. I had a hard time explaining how both CANCEL transitions trigger the same event because I had to actually click one of them to send the event. The subtlety that it was just firing the same event and tripping the inner CANCEL was hard to get them to see. I used the outer (higher level) CANCEL because that one was clickable in both states whereas the inner CANCEL is of course only clickable for the inner state. I was thinking it might have been nice to slide out some kind of “event drawer” from the toolbar and send events to the machine without having to click on the state chart itself. I think something like that would have greatly clarified the relationship between my action and the machine since I’d be clicking an event in more of an isolated “command palette” instead of a specific node on the state chart. Would make it easier to see the machine as a kind of black box from the external event sender’s perspective (user doing user things) The fact I was clicking the chart was really confusing them and I had to explain that I’m clicking the outer node to prove the event trips the inner node first regardless of where the event fired from. An event palette could be seen as a kind of mini user interface where the client can just think “user does X” and then sure enough there’s an event called exactly that, “user does X” right inside the event drawer. It would help encapsulate the idea that the user, knowing nothing of state machines, just does user things and the machine sorts itself out. For example, putting the client in front of the “event drawer” would be like putting them in the driver seat of a car. Even if they don’t fully understand the inner workings of the car it’s still cool to interact with the familiar API surface and watch the car work. Client could then take user actions at will without having to look closely at the state chart, and then watch the chart change as they do so. Might really ease them into looking at the chart in the first place because they get to play with it and then be like “Ooh! what’s happening over here as I do that?”.
Load More