type-x
type-x copied to clipboard
Possible features to add in a v2
I'm going to start a list of features that I think might be helpful, as I use this and/or as I have beta testers use it.
DONE: Bail out "restore defaults" button
While we're developing this, it's very easy to hit the "reset" button on the chrome://extensions/
page to bring back the default font options. However, end users that get this through the Chrome store won't have that option. What if they delete font overrides, and then aren't really sure how to go back?
A "reset" button isn't the only way to solve this problem, but it might be one simple way.
UPDATE: If it is helpful to see previous redlines/specs for the visual design of UI elements, these are available in https://github.com/kabisa/recursive-extension/issues/16
UPDATE 2: We did eventually add a reset button, and it's very helpful.
Full-height extension panel in the viewport, rather than a popup
As I use this, I notice that even though the UI is relatively compact, I keep wanting to have more vertical space – say, to work on CSS Styles for two different fonts.
So, instead of a default popup, it would be nice (if it's not super labor-intensive) to adapt this to an in-page overlay, something like this:
A nice example of an extension that does something similar is VizBug, which places a toolbar into the page (on the left in the image below):
DONE: A keyboard shortcut for "apply edits"
If I'm making a lot of changes, it gets annoying to keep moving my mouse to the "apply edits" button to see them. It would be a nice enhancement if I could just hit a keyboard shortcut like command return
to apply the edits.
This one seems like it would (probably?) be simple, so long as an extension popup will support keydown event listeners.
It would have a small design requirement, as well: finding the best way to inform users of the possibility. In the docs? On button hover? In very small text somewhere?
UPDATE: we changed from the "apply edits" button to just applying edits as they are made. This is a much nicer solution.
@csimpkins and @gorjious discussed with me today that Gor is using Chrome and Chrome Canary to be able to run 2 tabs/windows with 2 versions of the same family to A/B test. It would be good to support such A/B testing without a 2nd browser :)
A way to auto-update from local changes to a font file
I'm not sure whether it is possible for a chrome extension to watch for changes to a local file (it seems like it might be blocked for security reasons), but a request I got recently from a user reminded me of a common usecase I would also have:
While designing a font, it would be awesome to be able to build a version of it and instantly see that update in the browser. As of now, you have to either quit the browser or select a different font in order to update the font in a browser – updating the font file locally doesn't affect the version used in the browser's memory.
Currently, approximating this requires one of two approaches:
- Not using type-x, setting up your own test web project, and using a tool like lite-server to hot reload on file changes
- Using type-x, you can adjust the font name before each build (e.g. appending a version number to the family name), then select that new font name in the type-x menu.
If watching for changes on a local file are blocked maybe there can simply be a stationary refresh/update button which when clicked that will reload the file (whether it has changed or not). This will at least save a few clicks and menu selections.
If it does become possible to do A/B testing in the same browser then this manual updating can be useful. For example, if there are two identical tabs then one can have an updated version and the other an un-updated version. This will allow for quick exporting and then switching between versions.
Re: the full height thing, if we do this with the extension, we need realize it's not always opened to the right of the window:

Injecting a control panel directly into the page, like VizBug seems to do, is possible but needs a more robust approach to avoid conflicts with the rest of the page.