The other cool thing is that with Om you can serialize record Om state transactions. By doing this you could see how people are using specific components. Perhaps you could cycle through the last 10 users or the 10 most common interaction patterns of a component and view those interactions on a card.
This could be a boon to interaction designers looking to see how people are using disparate components/pages within an application.
I know this is sort of pie in the sky but it gets me thinking.
With this approach, I could put in different devcards for snapshots in time for my components, and debug those in a static manner, and see them all in front of me at the same time.
The one additional feature I'd like to see (or maybe it exists already, I just looked at the project briefly so far) is to have a single Om appstate that mutates over time, going from card to card. Then, if I want to document/debug an action by the user requiring multiple steps, I could see each intermediary in the chain of actions. (i.e. "If the user clicks here, they see this. If they now type this here, they see this.")
It seems obvious now, seeing devcards, that the ease with which Om/React can render "snapshots" makes this the most sensible way to develop for Om.
Projects like this are really making me want to build something substantial in ClojureScript.
I haven't looked into LT integration just yet. But I am open to that of course. Sounds like an absolutely great idea.
Devcards is still super new. And I hoping that people really think about what this means in their particular workflows and hopefully reintegrate knowledge back into Devcards.
BTW, I assume you've seen Bret Victor's talks, but if not, you absolutely must, especially Inventing on Principle.
My initial thought (before seeing your FAQ) was a no-op compile, but you rightly point out that this may not be the best approach due to littering the production code. I will probably go the separate devcards files route and have the production profile exclude these.
Maybe src/ test/ and devcards/ ?
But I'll experiment with it and see what works best for me and let you know.
So, what are your plans?