Hacker News new | past | comments | ask | show | jobs | submit login
Using Python to generate JavaScript for creating interactive website tours (github.com)
84 points by seleniumbase 27 days ago | hide | past | web | favorite | 16 comments

I've never seen a website tour that wasn't more of an intrusive distraction than a helpful tool.

idk if that's because I'm impatient but I also typically want to visually explore an interface first before it all blacks out and I'm forced to look at some random button in the top corner before I've gotten my bearings.

Interactive website tours are an indication that the thing being toured isn't intuitive. The solution is to an unintuitive interface is to redesign the interface, not create a modal unskippable tutorial.

I acknowledge that some interfaces may be needfully complex, in which case this tool might be useful. However, I suspect more often than not, this tool will enable frustrating, disorienting, and confusing tutorials to a degree where they become even more pervasive.

Some UIs are inherently complex thus have a learning curve that can't be merely factored out with a redesign. Like DAW software and Photoshop/Gimp and 3D modeling software.

Though you yourself built a false dichotomy with a poorly-done "unskippable" tutorial. How about a well-done skippable one then?

Back when FLStudio was Fruity Loops, it had a cool modal-driven (skippable) tutorial for various features you could opt into in the respective component's "?" menu, like how to get started with the piano roll system or the fx system. And frankly the UI was already pretty intuitive, it's just not obvious where to start when you're a beginner.

Btw, unless it's a toy/trivial project or catastrophically dysfunctional, one does not merely redesign a UI. That's been the main driver of second-system effects I've seen in the wild.

100% of tutorials I've seen have been bad; nearly all of them were an attempt to bandage over a bad UI.

I don't think that's necessarily true. Intuitive to whom? Lots of people have trouble with interfaces that seem intuitive to developers...

Devs live in their world most of the time. I had this problem as well when I was younger. I got cured very easy by employing 2 tactics:

1- Talk to your users. Watch them using your interface. Ask them what can be improved.

2- When direct access to users is impossible (one example can be: your work goes to another software company which in turn has access to those users) then you use it. Start making at least 100 entries using your interface, that should cure you really fast of your ivory tower. You might lose 2 or 3 hours but trust me, your interface design will improve ten-fold.

I'm definitely not limiting the authorship of bad UIs to just developers; UX designers are some of the most guilty parties.

Does Python generate ES5 code for maximum compatibility?

Or does the Python generate the Typescript which is transpiled to ES6 which is then transpiled to ES5 for browser compatibility and the SASS is transpiled to base CSS templates for browser compatibility as well?

What if I'm using web assembly to generate my Python which generates the JS which transpiles to Typescript then to ES6 then to ES5?

I'm a big fan of how flexible all of our web language API's are!

Someone should make one language that transpiles down to Javascript AND Python AND Ruby AND Erlang even! Then you could code in ALL languages with just one language!

Like a terraform for programming languages.

> Someone should make one language that transpiles down to Javascript AND Python AND Ruby AND Erlang even! Then you could code in ALL languages with just one language!

While not hitting all these targets, you might be interested in Nim, which can compile to both machine executable code (via C-family targets) and JavaScript (for the web).


> Someone should make one language that transpiles down to Javascript AND Python AND Ruby AND Erlang even!

Well, not every language, but Haxe has you pretty well covered:



and that one language could be Brainf*ck!

Brainf*ck is great but coding in ArnoldC makes you feel really manly.

And then we'll need to find a programmer-hobbit to throw that One Ring into the fire for us.

One step at a time, there, sparky.

It appears this can go a long way for building training to teach new employees/etc how to interact with internal tooling.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact