Thoughts on missing debugger

The more I think about the current state of JavaScript in Hype I consider the missing debugging capabilities and code editor features a problem.

Veritasium (YouTube) has a great video on what it takes to become an expert in a thing. He outlines a couple of things. So let’s take them to check if Hype offers the needed surroundings.

Valid environment… this is referencing a ration and reproducible outcome vs. random chance on the other hand. I’d consider Hype overall a valid environment (apart from some bugs like changing the first keyframe offsetting all other keyframes etc.)

Many repetitions… given you use Hype for work and the times you create a new project, recreate a project or tweak an existing solution, you will learn. Hype has a lean and empty starter template and offers multiple ways to solve a problem.

Timely feedback… in this regard Hype falls somewhat short as it doesn't give you much feedback, and it requires previewing every change. It also, lacks an overview (tree or something) of nested behaviors/actions. Given JavaScript, it fails with utter reluctance to help you understand what is going on or why your code is failing, even though the information is available if the code would be executed differently. There is also no mapping to the line numbers etc.

Deliberate practice… is up to the user, the resources available and tutors offering guidance. It is also a function of the drive of the user to understand plus the interface offering guidance (like help links, documentation links and community solutions). The community part is somewhat covered by this forum, and the Hype API integration below the code editor is great. Code completion would really help, though. The forum is nice and the documentation also. The link between the app, the forum and the documentation could be deeper. Like in the task app Agenda for example.

Some thoughts on a Sunday afternoon.

4 Likes

Some very interesting ideas here.

Because my interest is education, I can't help but notice that these four areas are what skilled teachers try to provide for their students.

w/r to the feedback within an IDE, I really like the idea of having a console that translates errors into plain english like this one: TypeScript Error Translator

3 Likes

Thanks for writing up the thoughts on this as how they relate to Hype. Coming from a family with teachers, I definitely agree on the needs of these.

From an app perspective, one of the challenges has always been that interactivity and external resources bring to it a non-closed, non-deterministic system. If there was always deterministic state, a lot of this could be easier. This is why Hype punts anything in the interactive domain to preview for testing.

I do think Hype can have at least a few ways in which you can define testing state though. There's a couple top cases that might not be too bad - such as which timelines to be the "basis" for alternate timelines. For other javascript-related points, I think having better external editor support can help as well... quite frankly I think it would be impossible to catch up to VS Code's capabilities :slight_smile:.