everything is programming ♪♫

tosh: Status Report #2

Jan 27, 2016 • 2 min read • Filed under tosh

Here's another update on my pet project, for my several loyal readers, plus all the others following tosh with interest.

In the time since my last proper update, I've done a lot:

  • I went to Scratch2015AMS. (Amsterdam is basically a big version of Cambridge, UK.) I really should have presented tosh...

    Connor and Michael and I accidentally got interviewed on camera. Fortunately, few people have found the video!

    We saw John and Jens' GP programming language in action for the first time, which was pretty cool.

  • On Scratch, the hype about tosh has become its own meme. This is entirely not my fault. (If someone says "tosh tosh tosh" one more time, I'm going to scream.)

  • There'll be a native Mac app, in addition to the free web app. Buying the app supports development and gets you a shiny app: it works offline, supports autosave, and can load bigger project files. (Opening & saving files from inside a web page is a pain.) I've also been asked for a way to donate directly, since not everyone has a Mac.

  • It started to actually look good:

  • I made this quick and terrible screencast to show tosh in action.

  • Yesterday I took a new photo for the homepage. Like last time, it's an "arty" photo taken of my Retina screen. But I have a proper camera now, so the result looks considerably fancier.

    I won't share it here, so as not to spoil the surprise. (And it might not be the final version anyway, since I want to iterate on the angles/lenses used once more to get it perfect!)


Tosh has gained lots of vital new features in the past seven months, including:

  • Defining variables

  • Project open/save

  • "Cleaning up" scripts into a single vertical column when saving

  • Custom blocks

  • Sprite switching (I had to have two goes at this. The first time had lots
    of unusual bugs; this time it's incredibly robust)

  • Importing costumes, plus rename/delete/rearrange

  • A new sprite button, plus rename/delete/rearrange

  • Undo/redo support (I'm really pleased with this one. Because of my silly JS library, the undo manager is about sixty lines of code!)

  • Small stage mode, plus working fullscreen support

  • Variable name validation (you can read some of the design behind this; I'll probably write about it separately)

  • And I still want to rewrite auto-complete for a third time.

What's left is mostly refinements: fixing bugs and adding polish. I want to make sure before release that it's solid enough for you to use.

While you wait, you can enjoy this cat vomiting marshmallows!