First View from a new Dev


#1

So, randomly someone started talking about Glitch on a server that I moderate, on Discord. This server is about creating Discord Bots - something I not only do, but teach others to do.

The greatest majority of my viewers are young teenagers that have no money to purchase a VPS, no credit card to get free trials (on, say, Azure or AWS), and do not have the sort of technical know-how to understand half of what’s required to run something on Heroku.

I’m always on the prowl for free node hosting. As I said heroku is really complicated (and can’t save files which is a real issue for these sorts of projects), and others like OpenShift or Cloudnode do not support the most recent version of node (these kids are always on the “Cutting edge” so they use async/await and node 8’s util promisify as if it was the new coming of Jesus, I tell you).

So when I heard of Glitch being a free host provided by the people behind Trello and Stack Overflow, I thought finally I might have found a brilliant place to send these budding programmers so they could finally have a home. The rest of this wall of text is my first reactions to using Glitch for the first time.

Fair Warning: I’m a brutally honest person. I’d rather give my honest impression rather than hide behind politeness and small words. This is what I truly think. I don’t want to be hurtful, but I will probably come off that way. I’m sorry that I do.

First off: This horrible, and I mean completely laughable home page you have going. The art itself seems targetted at 3-6 year olds, it’s something I’d see coming from a Scratch website targetted at that age group. Not from a serious company that made Trello and Stack Overflow. I really don’t know what the heck you want to target there but it’s not serious programmers for sure.

Now, after this gut-wrenching reality shifting first impression, I went on to actually click on the “Create a Project” button, which brought me to the editor. And, this was my first good impression: I can start mashing away at the keyboard right away without even logging in, and see the result right away, and that’s pretty cool.

Second good point, is that the editor has code highlight and gives immediate feedback on what’s going wrong. I immediately was under the impression that this was a quality editor. The fact that I could click on the package.json and from there install new packages in a trivial, immediate, easy fashion is amazingly intuitive.

And then it went back downhill. First, I realized that essentialy every single keypress saved the file and refreshed the code. Now, as that might not be immediately an issue with something like express.js, it brings about one first issue. The constant, incessant, flashy save system that causes not one, but 3 different visual changes every character I type (well, 4 with the new character) is immensily distracting. It just deters from the code, will probably trigger a lot of people other than myself, and just basically makes the UI quite literally Glitchy.

Second, as I tried to add something else to the code that wasn’t express code (in reality, some bot code as a test to see if it worked and saved files) I realized that this brought about a massive issues with any code that does anything important on bootup. First, Discord bots have to login with a token and logging in more than 1000 times a day resets that token and emails you saying “yo your bot has an issue mate” (paraphrasing of course). Big problem.

And, unchecking the “Refresh App on Change” from, oddly, my “profile” drop-down, changed absolutely nothing at all because auto-save every character still refreshes it. A completely useless option that does nothing as far as I can tell. Note that changing the “watch.json” file (from what the other user that showed me this told me) did help in that I can refresh it every minute instead. STILL, it’s a big problem in my opinion.

Alright now after all this, I thought “ok there can’t be anything more that’s an issue, right? I got workarounds, everything’s good, I can write up a nice tutorial here?” but NO. Nope. That same user, having been shown that my project’s URL returned what I was expecting, turns around and says “hey by the way nice security token here, might want to hide that”. Because, as it turns out, contrarily to what the readme and homepage seem to alude to, you don’t have to invite people to see your project, they can just straight up open your source code with absolutely no special link or invitation. Just plop right into your code. Like my head did a 360 before exploding into how horrifying that was.

And the horror wasn’t over. I tried to figure out how to make a project secret. Searched on these very forums, no clue (it’s like you guys think your stuff’s actually intuitive, like gimme a break). Searched through the Project settings, nope. Same place as where the “refresh on save” was? nope. Holy shit like really where IS it. Well turns out you have to click “Share” in order to UNshare a project. You know like Windows used to have the “Start” button to Turn off your computer. Nice cue you’re taking from Microsoft circa 1995.

ARG and it wasn’t over. After making the project private, this other person was still in there in the project. And I couldn’t figure out of a way to REMOVE them! There was nothing under share, nothing under their name when I clicked, no way I could figure out. It took them to click on a button to remove themselves.

ALRIGHT! WHEW. I’m done. This covers my initial horrible - and yet somehow, in some places, wonderful - experience with Glitch.com. Now, here’s where I’m a little puzzled. And I mean quite literally, flabberghasted to be honest. You guys claim to be behind Stack Overflow, and Trello - two absolutely brilliant website that I use every day and have no issue with. Trello’s permission system is clear, easy to use, it’s UI is elegant and yet simple. Stack Overflow is also great in that respect, the UI is all intuitive and simple and everything we’d expect from Fog Creek.

So, uhm, at the risk of sounding like an ass if I haven’t already here: What in heaven’s name is up with this service being so inconsistent, hard to use, unintuitive in the Permissions/Settings area, and with a website seemingly developed for my 6 year old daughter? I just can’t wrap my head around this all.

Edit: Now, as blatantly provocative this display of initial frustration is, I am getting a few people to try out the system, though a bit of a walkthrough I made on https://anidiots.guide/other-guides/hosting-on-glitchcom.html - You will perhaps see a small influx of these people on your service in the next few days/weeks.


#2

Hi @eslachance,

thanks for your feedback! I think I can help you at least with some of your concerns:

  1. “Refresh App on Change” lets the app refresh in the preview window when you make a change. It does not modify the restart rules. Those can be changed through watch.json. For example, you can completely disable the automatic restart, and only trigger it manually, or you can only trigger it for specific files. See https://glitch.com/faq.

  2. Just as GitHub, the default for Glitch projects is to be publicly accessible. It does not sound particularly problematic to me, since you can also turn on the “Private” switch, but I can see it can hurt different sensibilities :slight_smile: Anyway, we do provide a way to hide secrets, even in public projects: just put them in .env (or in a file inside .data, but it can only be accessed through the Terminal). Again, this is clearly stated in https://glitch.com/faq. Any token stored in .env is not visible to non-members of the project.

  3. Of course you can remove members!

    22

    with the exception that a member added later can’t remove the creator of the project, which again, seems like a reasonable thing to do. I do agree with you that we need finer control over permissions for more advanced usage patterns.

  4. I know this might seem defensive, but we are continuously looking for feedback like yours, to make Glitch as good as possible. I would suggest you to ask for more issues earlier next time, perhaps there is already a solution in place, or we can solve the issue once you report it :slight_smile:


#3

I don’t know, I like the homepage/art.


#4

I’m not sure I like that pretty much everyone keeps repeating the same thing over an over. “Watch.json can help”. It’s annoyingly echo-y in here.

No, watch.json is not an appropriate solution. It’s a half-useful, lame workaround. Because if I put watch.json on, say, a 10 minute delay, it means when I DO want to save and restart, I either have to drop down to console and refresh, or wait, say, 10 minutes for it to restart. Technically, I can also go to any of the install-watched files but that’s still not intuitive or useful.

I mean… C’mon let’s be honest. Auto-saving is cool - as long as you never make mistakes! This thread has been going on since April 2016 and no one in your group has bothered to sit down for an hour to make a “Auto-Save” checkbox in the same drop-down where the “refresh app on change” is? An hour, I guarantee you, that’s all it takes to resolve this issue that people have been asking for 17 months. Then, instead of the taunting ugly neon green “Hey we save automatically! DURRRRR” popup it can actually save.

Could you please just DO that? Does it work if I challenge you to do it by the end of the day and I’ll donate like $20 to the charity of your choice or something?


#5

As for the Public/Private thing, my annoyance wasn’t towards the fact that a project is public by default. Yes, absolutely, github is public. And a lot of services out there have the same approach.

All these services have this following (or similar) option when creating a new project, though.
image

That’s what’s missing.


#6

I think the home page and the art are very good. :slightly_smiling_face:


#7

@peter and @stefan:

Have you looked at the homepage in incognito/logged out mode? It has this at the top of the page:


And it’s FREE. How it works in 2 minutes


#8

I’m talking specifically about this stuff:

You don’t see it anymore when you have an account. But this is quite literally the very first thing that people see. That’s their first impression of you, your project, your company. And it’s a horrible impression.

SKATER DUDE TURTLE SAYS: YOU GOT THIS. It’s just… I almost closed my browser so hard I was laughing at the ridiculousness of this, and I would have lost out on the opportunity to know about the actual project, what you’re trying to achieve and the greatness that is there right below the surface.

Now, I would like to stop the ranting here, and bring this in a 180 direction.

Glitch is a Marvelous, Wonderful tool for learning and potentially for collaborating. The very idea of it gives me shivers of pleasure, I will evangelize the hell out of it becauses there is an amazing potential for quick, fast-paced development with immediate feedback. Glitch trumps both repl.it (if we only look at nodejs of course) and runkit.com in terms of functionality, ease of use, and development platform.

It has none of the complexities of other systems, none of the setup weight of some online IDEs, none of the headaches that I’ve had to go through before. In the time it took for me to setup a project, learn the basics, figure out the workaround for the kinks I describe above, and get a bot + web server up and running, and write a tutorial on the thing, back when I tried to figure out heroku a few months ago I would have still been scratching my head wondering what the hell a worker and a procfile were.

That’s the beauty of Glitch. In my humble opinion this beauty is heavily marred by the initial issues I’ve faced, the top being the eternal auto-save debate and the other being the kiddy drawings in the front page. But that should not detract from what you guys are trying to achieve. I can see the awesomeness hiding under that scar.

I just wish you were more keen to bring it forward, instead of being apologetic and pacifying.


#9

I think that specific stuff is awesome and is part of what has endeared Glitch to me as much as it has. It’s okay if it’s not for you, but it does have something to say about what’s being offered, which is important in my opinion.

Getting into code today is a lot different than how it used to be. Nobody gave a shit about web dev before the VC party rolled into town, and it was generally looked down upon by programmers in the broader CS field. And for that, it was a freewheeling and creative learning experience among those that just enjoyed doing this junk. And that was fun. You could learn and discover for yourself. Now, it’s a hugely intimidating prospect to jump into web dev, and everyone is so eager to tell each other how they should or shouldn’t be doing things. We lose out on people who have something to offer us beyond helping startups get bankrolled. Not everyone in this field is, or should be interested in building things that they can just pass off to another company for some cash. Glitch helps me remember why I got invested in programming in the first place, and I think it will help welcome others as well.

Glitch is good because it’s promoting the idea of enjoying code for yourself and for your own satisfaction. Everything starts from that. And I see it reflected in this art. If you don’t like a cool, supportive, skateboarding turtle, it’s all good. But I think there’s a reason for it being here in this way. It’s not there to say everyone must love the skate-turtle, but that you’re welcome to create the thing that delights you in the way skate-turtle has delighted someone else. The spirit isn’t to sell what you’re making to potential investors, but to yourself, first. It is creative and helps differentiate glitch from being another web version of a powerpoint pitch deck. The history of web dev hasn’t always been this sleek, smoothly polished product for consumption. If there are any scars, they’re from where web dev has come from and it’s not something to be ashamed of. There’s beauty in pulling from that in building/designing glitch, as well as in its engineering achievements.

So, that’s my honest opinion and I wanted to express my support for what folks are building with Glitch. \ ゜o゜)ノ