So, I think I can safely call myself a glitch poweruser at this point, although I’m always learning more here. That said, I make a lot of projects, and use glitch for many different scenarios. I use it for full stack and static sites. I boost and unboost apps regularly. I have tried coworking on glitch, I import and export to github, I user the terminal to work with the server directly, etc., etc.
I love glitch. I love the very low friction to getting started with a project. I love that low friction so much that I am willing to put up with the weak browser editor experience over the more full featured local experience just for it. I open up vscode far less now.
But that said, there are some pain points that come up again and again, and I figured I’d just start a thread to share them. The team can take or leave this, and if there’s a better way to communicate this let me know.
For what it’s worth, not only do I pay for your service, but I also am a contributor to and maintainer of a variety of open source projects in the A-Frame ecosystem, and am constantly building demos and funnelling people into using glitch.com–for giving working demos they can borrow (both full stack and static pages), for helping them troubleshoot, etc. I’ve helped numerous projects get a working ‘remix this on glitch’ button on their main readmes on github. I really want glitch to succeed.
give me multiple file tabs, for the love of god. Having to open two separate browser tabs with two separate connections just to look at two files side by side feels like a hack for missing basic editor functionality.
can I edit basic linting functionality? I run into some linting issues (rarely) that I’d like to silence, and it’s unclear how to do that with the built in editor.
extend the keyboard shortcuts a bit, and preferably give me a config file for my profile that preserves them across proejcts. I want to be able to do inline comments in JS, that’s been an annoying limitation, for example.
when I clone a glitch project, don’t make me then have to manually add that project as a remote manually. At least half the time (if not more) I’m importing because I want to work with a branch on the remote that isn’t master
why us it just username/repo.git? Can’t you just let me copy/paste the actual repo url, instead of making me edit out the https://github.com/ part?
I have gotten a ‘cursed server’ more than once, where suddenly what I see from ls isn’t what I can actually access, where node and npm are not available commands, etc. Remixing, unboosting/reboosting, etc., would not fix it, the cursed state stuck with it. Had to make an entirely new glitch and re-import, re-add the remote, re-checkout the branch, re-run the setup commands…
glitch struggles to obey the ‘engine’ syntax in package.json correctly, this has been a pain many times. Please fix this.
while we’re at it, why is node 10 the default? That’s super out of date, isn’t LTS 18 at this point? At least make it 16. Basic syntax features in modern JS are not supported in 10, it’s a very weird default.
please give me the full power of a container that I would have on normal servers. Your pricing and service makes you not so different from a proper service like heroku or render.com; I should be able to access UDP ports, etc. You’re almost there, but not quite.
would love to see the ability to spin up production servers if desired, or, barring that, an easy integration to import to something like vercel or render.com if you don’t want to support that yourself.
the prettify button should be able to be undone. I was teaching someone on glitch and they clicked that button, instantly undoing the formatting I had put together consciously. Prettify has its place, but it is not inherently better. Make it a setting I can toggle on if I want, not a button in the main interface that can’t be undone. but ctrl+z not applying to it? that felt dirty.
I’m sure I have more, but these are just the things I can pull off the top of my head from experiencing today. I’d love to be in contact with the team discussing these needs if that’s better? Otherwise, happy to just keep using this thread as I run into things, I just feel like if I were running glitch I’d want a power user to be sharing their feedback to help improve the product, and these things aren’t going to improve on their own without me saying anything.
staff has historically suggested that you open multiple browser tabs of the editor
this widget really makes it feel like they’re getting close though
I get the feeling this is done to make sure people don’t get the impression that they can import non-github repos this way. I think it’s implemented with github’s git data api rather than actually git’s native methods
that… seems credible, sorry to say. remixing tends to put the new project on the same host as the original project. I think that’s intentional. when the new project is on the same host as the original project, Glitch can re-use the same dependencies from a shared volume (when using pnpm on supported nodejs versions).
might be a backwards compatibility thing. I think the starter projects from back then didn’t have an engines.node set, so upgrading the default might break projects created back then.
I actually quite like how ancient projects on Glitch often continue to work with no maintenance. it’s a little scary, but it’s cool. I’ve decided that I’ll be putting up with the need for an engines.node field
it’d be great to see them make changes based on the feedback here
so .eslintrc is another ‘magic file name’ I can add that the internal editor will recognize? Would love to just see it included in new projects by default, then.
Meh? What chrome extension? I want shortcuts for the editor environment, I’m not trying to modify my entire chrome experience. I also consider chrome extensions a security risk and try to minimize my use of them as much as possible
That’s super neat! But these ‘hidden’ features are a bit weird, and memorizing a url is not ideal. I generally am clicking new project and then import from github, or creating an app, boosting it, and then using the import tool.
They could just use the UI to notify the user that they’ve put in an invalid URL.
They could just have the default package.json have an engine set that is a modern engine, at least. Would also make it clear how to specify which node version. The problem especially is compounded because glitch doesn’t properly interpret the version syntax for the engine field often. I have had multiple projects struggle with this, and have had support emails where they’ve acknowledged this issue. Having it silently (until you open the logs, hope your logs aren’t so noisy that you miss the one liner) fall back to node 10 which often breaks modern code is an issue.
There are other options here to prevent this from breaking legacy projects! I like the idea of not breaking legacy stuff by default, but if it causes new projects to break regularly, that’s not really a great solution…
I just checked, this does work–it probably didn’t work because it was the person I was teaching that clicked it, so I couldn’t undo their change? anyways, ignore that one!
Apparently only port 3000 is exposed internally; that seems to preclude the possibility of using e.g. Mediasoup server. It was already going to be suboptimal because UDP is not permitted, but–maybe I’m mistaken?–I think I can’t have mediasoup live video traffic from multiple users on the same internal port as my general web traffic? Or can I? It would be easier if we just had the option of more than one port…
refresh as a magic terminal command is… I mean, it’s great that it’s there, but why can’t it like automatically check a hash of the filesystem after every command and run itself when the hash changes? All the ‘invisible quiet stuff’ is… so close, you know? it means the functionality is there, it’s just impossible to discover unless you get so annoyed you start searching and get lucky enough to find the secret feature. The functionality is already there, just add it into the GUI! Or at least have like a little ‘tips and secrets’ pop up to teach us about this stuff when we start a new project that we can click through?
the ‘rename a file with the new folder structure to move it’ is an… unusual, but ok idea… except that I can’t move folders this way, only individual files. So, updating folder structure? welp, time to rename the files one by one or open the terminal.
I love that git has a great CDN, cool, but if I need to work on a project that I export to github and need to deploy elsewhere, I’d like to have the option to have the media file within my project directory itself.
while we’re at it, it feels like the media upload interface could be improved a bit–again, multiple tabs would help, but clicking in to the media section, clicking the uploaded item, clicking the copy url button, clicking the file, pasting in the link is not a great workflow. proposal: use internal symlinks. Let me ‘paste’ the media into a directory into my project, preserve the filename I’m pasting, and make it look like the file is where I pasted it, while you keep the CDN infrastructure behind the scenes. When I export to github or download, swap in the actual file.
also, as someone who does a lot of webxr, would be super awesome if there were gltf/glb previews for media, pls.
support markdown in this support forum; having to use phpbb style tags brings me back to 2010, lol!
Actually it’s a official config file by Eslint.org
What I mean by magic is like package.json; standard file name/format, yes, but it magically gets detected and utilized by the app in a way the user wouldn’t expect or know. (Parallel to package.json being that adding it to the root transforms your project into being a server-based app instead of a serverless app.)
a “customize keyboard shortcuts” button like most editors have would be super good!
They could just have a config file like sublim uses (which they reference as what they are roughly imitating).
I think it actually supports markdown…
You’re right! I just clicked the ‘quote’ and saw the square-brackets formatting and the general interface style and didn’t assume markdown was also available, but it is now, and it’s much easier to type this post than the last one. Thanks! heh.
They are actually updating that in future!
When did they say that though?
Thanks for the engagement and ideas. I hadn’t thought of using wget; last time I needed this, I exported project, cloned the git project locally, added files, pushed to github, and recloned. Then was unable to import because of some glitch bug (glitch glitch?), and had to make a new glitch, then import there, and then re-add those who had permissions… Felt pretty painful, definitely a derp moment to think that I could have just used wget.
Hi @kyle.su - this is all really great feedback! It’s a lot to properly digest and respond to all at once right now, so I’m going to break this down into smaller feature requests with the rest of the team and follow up where we can.
I appreciate you (and everyone in this thread of course) not only using Glitch but also taking the time to type this all out and share so we can keep improving the experience!