I saw this #goodneon last night in Greenpoint. I may be a millenial, but I still like hot pink. I appreciate the cheeky lettering here. The artist uses continuous lines to make each letter rather than making a doubleback to create a single width line on each stroke of the letters.
When I moved to the LES two and a half years ago, I wanted to get a neon for my tenement apartment wall which had been freshly painted for the 30th time. Without anything specific in mind, I spoke to folks at sign shops in the LES who offered a non-specific sign for $300.
I found out that Brooklyn Glass offers two-day intensive neon workshops for a similar price. I took one and had a blast. David Ablon led the workshop. He is a great teacher and all-around gem of a human being. I highly recommend their neon classes if you want to blow a few hundred dollars and have a good time.
The first day you get a feel for bending glass with the ribbon burner, and make a “squiggle.”
My squiggle was this trombone sorta jam
My friend Jenn took the class with me. This is her awesome squiggle.
That fall I took the 6-week neon course also taught by David. Kate Hush TA’d the class and is a rad neon artist. Here’s a piece from her show earlier this year:
When writing with a pen and paper, you can draw lines in any order to make letters. One stroke has no affect on the next; you’re just putting ink on paper in one place or another.
When making a word in neon, you can’t be so naive. You could easily try to bend glass over itself without proper planning. So you draw out the word on fireproof fiberglass paper. The order of bends is planned using this notation language which you use as a recipe during production.
You can see the source code right next to the running page, and make edits that show up as you go. Super useful.
These websites let you load bundled libraries, like jQuery or React. However, many libraries expect users to install the library via npm, and don’t distribute bundled versions of themselves. That means they’re incompatible with these online editors.
Gomix is an online code editor from Fog Creek Software that came out today. It is totally rad and solves this problem.
For example, I created of a ProseMirror editor in the browser. You can see the code here. If you wanted to use this boilerplate, you can fork it (“remix” in Gomix’s vocab) to create a copy in your account and go wild.
In Gomix, you edit in one window while your example displays in another.
The const statement is similar to let, but also creates an “immutable binding.” That means the variable can’t be reassigned, and increment and decrement operators can’t be applied to the variable. const x = 3; x = 5; throws a TypeError exception, and so does const x = 3; x++;.
Const is not an immutable variable though, contrary to its semantics. const x = ; x.push(4); is error-free code, and results in x = [3,4].
I like and use the let statement. I don’t use const because the effort to keep its utility in my head outweighs its functional benefits while I’m writing code.
Keyboard shortcuts give users fast methods to interact with an application. Native apps like Microsoft Word have shortcuts for nearly every editor command. This lets the user focus on authoring text rather than shifting their focus to navigating an involved File menu.
If the web is the application platform of the future, websites should also offer keyboard shortcuts for efficiency. However, you can’t pick just any shortcuts.
For example, a few weeks ago a bug was reported in ProseMirror, an in-browser text editor. Normally when a Mac user is editing text, pressing Option+Right moves the cursor right by one word. Pressing this shortcut in ProseMirror was not doing this, because Option+Right was internally bound to custom, two-step shortcuts. For example, pressing Option+Right then * in ProseMirror would wrap the text selection in a bullet list. Oh crap!
This bug has been fixed 🎉 but gives you a feel for the rocky terrain of keyboard shortcuts on the web.
Use familiar shortcuts
Google, Twitter and Facebook provide some common shortcuts. It’s likely your users will try these shortcuts on your site too.
If your website is a list of items (like emails in GMail or tweets in Twitter), pressing Up and Down arrow may navigate the user’s focus through the list. The browser default of scrolling up and down the screen is ignored, replaced by a behavior similar to the default in spirit but with more awareness of user context. The keys J and K often navigate up and down as well, which is a shortcut borrowed from the Vim text editor.
The Enter key may expand the view of a selected item (like opening an email).
The / key (forward slash) may focus the user’s text cursor in the site search (Also from Vim). Update: Eeveetold me the / key opens Find in Page in Firefox, so keep that in mind while deciding whether to use this shortcut.
Make Shortcuts Discoverable
If your website offers keyboard shortcuts, your users will want to know what they are. Provide a link somewhere in your application to see a list of them, like under a menu. Users should not have to try key combinations to find shortcuts like a game of bobbing for apples. Shortcuts should be discoverable.
Pressing the ? key (question mark) is a common shortcut to bring up a list of available shortcuts.
Keep in mind that screen readers used by those with impaired vision override almost every single key shortcut. If a shortcut is critical to navigate your website consider placing them under modifier keys.
Using modifier keys
You may want to create multi-key shortcuts that include modifier keys (e.g. the Control, Command or Alt key).
If your website includes text input fields, you may want shortcuts on modifier key combinations so can trigger a shortcut while focused in an input field. If your website has a save command, you may want the familiar shortcut Command+S/Control+S to trigger this save command, rather than the browser default of saving the HTML of the current webpage to your computer.
It is up to you to decide what shortcuts to offer users, and whether to override browser shortcuts.
Lea Verou makes an interesting case for overriding browser defaults. Her argument is that if your websites has tabs, overriding the browser shortcuts for switching between tabs is useful, and avoids hard-to-remember shortcuts like Control+Alt+1. She says,
the browser environment is merely a host, like your OS. The focus is the web app. When you’re working in a web app and you press a keyboard shortcut, chances are you’re looking to interact with that app, not with the browser Chrome.
These choices are up to you, but they are user experience questions which I don’t have answers for. Make informed decisions and consider what the user intends to do when they press a shortcut, and how your application reacts to it.
There are some shortcuts that should just work. Take the ProseMirror bug I mentioned before. When a Mac user is entering text, pressing Option+Right moves their text cursor right by one word. I’d expect this to work when I’m typing into a text field on a website, so a shortcut shouldn’t override it while I’m typing.
Expect edge-cases in international contexts
Operating systems around the world have made hard choices in the last 30 years to make the QWERTY keyboard work across different languages. This can lead to unexpected behavior, for example Polish users could not enter the Ś character into Medium’s editor, and saw their document getting saved instead. Medium fixed this bug 🎉 and if you get a bug like this, you should respect user intent too!
Now close this tab in your browser (Command+W/Control+W) and go add shortcuts to your website!