Sonic Pi now runs in the web

Hey everyone,

Sonic Pi now runs in your browser. It’s now live on https://sonic-pi.net

Let me know your thoughts!

6 Likes

A nice milestone! Some nice improvements since Sonic Tau I think :slight_smile:

I may bring up something here that you’re already aware of, so in that case, apologies. There’s a few things that tripped me up when having a look around, or that I think might be potentially confusing, mostly to do with the documentation. Here’s a list: (Apologies for a bit of a wall of text :sweat_smile:)

  • Code editor:

    • Having the code editor’s menu item over in the right hand corner of the page in contrast to the tutorial etc in the left corner feels odd, since the editor is a key function of the site, and at least to me, it seems that it would make more sense to group it with the primary navigation items.
    • I’m not sure that the Jam mode button ‘Exec’ describes its function very clearly - maybe something more like “Excl” for exclusive makes better sense?
  • Documentation:

    • Some headings are hard to read: mostly where there is an all-caps heading with a tiny font size. Yes, there are buttons to modify the documentation font size, but if only the headings are hard to read, that means increasing font-size of all documentation text makes other text unnecessarily overly large. Related:
    • I think it would be beneficial to have a smaller variation in font-sizes in the documentation panel - having a range from tiny text in the live preview controls to tiny and small text in the opt cards to larger text for the code preview is not ideal in my opinion - making the tiny and small text larger and standardising the body/paragraph text sizes would also make it much easier to read.
    • It was not immediately obvious as to where the action buttons for modifying the font-size of the documentation were, but I did eventually find them. It may be confusing because it could be natural to assume that the entire button panel on the far left edge is for navigation, rather than a mixture of navigation and action shortcuts.
    • Having documentation jammed into small cards for the opts makes them harder to read (smaller text, and having to shift in large-ish increments across the page to the next card instead of a tiny amount onto the next line - more eye movements are required, which I’d argue is not ideal, especially with large amounts of text.
    • Card Decks:
      • Progressive disclosure of the cards in the card decks is great for a paced reveal that avoids potential information overload, but I’d argue it’s unhelpful if you want to scan them all at once, and suggest making it a toggleable setting.
      • Having the ‘X Decks’ close/back button in line with the current deck’s title is confusing - it would potentially read better if the back button was above the title - however:
      • Displaying a collapsed card deck summary when navigating back to show the navigation menu for all decks is confusing, and hiding the nav menu items makes it much more work to navigate between them. My suggestions: 1) Don’t hide nav menu items, 2) Don’t collapse cards in a deck (or at the very least, again make it a toggleable setting if absolutely necessary).
      • The ‘Carry on’ button can be confusing:
        • It’s placed before the content, which breaks the reading flow, because it’s not clear what you are carrying on from.
        • It could be interpreted as ‘move (on)wards [to the next new card]’, rather than just ‘highlight where we got up to’. (I’d say there’d be less need for that also if the current card was more obviously highlighted).
        • Also, the ‘Play’ iconography could be interpreted as meaning ‘from where we currently got to, move forward’, (or even ‘Play the audio’ of the current (or maybe even all?) cards’)
      • Navigation within a deck:
        • The ‘next card’ button can disappear off the edge of the screen, which can be confusing and/or awkward
        • The carousel navigation seems easy to miss and therefore knowing how to navigate between pages of cards can be unclear
        • It can be confusing that the ‘next page’ arrow button in the carousel nav has a double meaning: ‘go to the next page’ or ‘reveal next card on the next page’. I’d suggest keeping the carousel nav to page navigation. There is already a ‘next card’ button, which can automatically go to the next page at the same time, as that’s a logical action if the new card doesn’t already fit on the current page.
        • Lack of a scroll bar in a multi-page list of cards in a deck forces navigation by the small carousel buttons, which is not ideal. A scrollbar allows quick dragging to scan. However,
        • Long horizontal card lists are often more tedious to scroll through in contrast to a more vertical layout
    • It seems unusual that you can edit built-in cards in the GUI. I would imagine it’s better to allow this only for user-created cards.
    • Live Synth/FX previews:
      • When testing something like the autotuner FX, whose preview is a live_loop, whatever sound source is selected will only trigger once per loop, which is to be expected. However, having clickable UI ‘keys’ available to trigger sounds does not mix well with that paradigm - It seems more intuitive at first glance to be able to mash a key with the mouse/tap with a finger multiple times and instantly re-trigger the sound, rather than clicking a key and only hearing a sound when the loop iterates.
      • Modulating any parameter in the live Bitcrusher FX preview mid-playback causes the sound to die.
      • When dragging a slider of a non-modulatable parameter, I’d suggest adding a larger delay/tolerance between slider movements and re-starting the sound - ie smoothing it out more - having constant retriggers that start and rapidly cut off as the slider is repositioned feels a little undesirable.
      • Sample previews can sometimes take a little to load after you’ve triggered them, causing a delay which might confuse people. There is no feedback that this loading is taking place - perhaps the play buttons can temporarily change their icon to a loading spinner while this is taking place?
      • Would it be sensible to make the clickable area for triggering a sample preview much larger? ie perhaps encompassing the name of the sample also?

I have other thoughts about the documentation in general, but I’ll save that for another post soon. :slight_smile:

2 Likes

It’s especially great that people can now easily try it out on social media without having to install anything.

3 Likes

That’s wonderful news !!!

This will make things much easier so that more people can enjoy it.

3 Likes

Amazing news Sam, live coding now. On my phone :smiley:

2 Likes

I left Sonic Pi some months ago :grin: but félicitations for that new version! And bravo for the huge work you made and all these new wonderful features! Bravo! :partying_face:

2 Likes

@samaaron many thanks! This is amazing work. Sonic Pi Web is Earth, Wind & Fire! Of course, I had to see how far I could push it, so I took my Ruby gem for Figurate Numbers, minified it, and split it into several parts.
Some parts are too big for a phone-readable QR code, but the links still work. On the other hand, I noticed a little issue while trying things out.

I wrote a little laid-back note about my experience here:

What a September!

2 Likes

Hi @beryann

We missed you! I too strayed from the golden path of Sonic Pi, briefly; but the latest updates (5.0.0, and browser-based) have me back in the fold. And lovin’ it! :smiley:

PD-Pi

2 Likes

Thanks Brendan! And now I have to relearn a lot of things that had become second nature to me… but oh well: C’est la vie! :grinning:

1 Like

Hi Sam, this is the small issue I mentioned in my blog about the docs for the different synthesizers. It might be worth standardizing the naming between the search results and the dynamic panel. For example, here it shows “Sc808 Closed Hihat” in the search, but “SC-808 Closed Hi-Hat” in the panel.
Also, as you can see, longer names can sometimes overlap with other parameters/UI elements.