How to improve Atom's stability for students


#1

I’m teaching web development to newbies, and I really would like to have them use Atom. However, I’ve found Atom to be unstable in my own personal use, and if those issues come up with students who are already struggling to learn HTML and such, it will be too big of a distraction.

Is there a different release channel that I can go to which will make it more stable, or is there an older version of Atom which is known for being especially stable, even if it has less features?

The main issues I’ve noticed that would really throw off beginners are when you open a file and a ton of red error boxes fill the right hand of the screen, and the bug where opening a file doesn’t create a new tab, but opens the file right on the existing tab.


#2

Atom’s still in beta, so there’s no “stable” version yet. The first version to be considered “stable” will be v1.0. I have found Atom to become more stable with each release though.

As for your problems, the first one should definitely not happen. Are both Atom and the packages you have installed up to date?

I’ve encountered the second one a few times, but running Atom in safe mode (atom --safe) fixed that for me, so it’s probably a package doing something wrong.


#3

running Atom in safe mode (atom --safe) fixed that for me

Ah, this might be just what I was looking for! I assume that most of the key features still work in --safe mode? I’ll have to look up documentation, but I might just have everyone set it up to use safe mode by default.

As for your problems, the first one should definitely not happen. Are both Atom and the packages you have installed up to date?

I’m pretty sure it’s a problem with one of the linter plugins? Yes, everything is up to date, I get various errors constantly, to the point that I’ve stopped filing bug reports because I just don’t have the time. I try to uninstall the plugins causing the issue, but it seems I can never uninstall enough plugins. Totally fair for a project in beta, of course, but I really would like to use Atom as it has better multiline search/replace than Brackets, and is FOSS, unlike Sublime.


#4

Among other things, Atom in Safe Mode does not load packages that do not come with the default installation. So if you uninstall all packages that do not come with the default installation, you’re mostly running in Safe Mode.


#5

Thanks @leedohm. Maybe safe mode isn’t the easy fix I thought it was then, since I really want the linters to be available to students.


#6

Are you using https://atom.io/packages/linter? I’ve found that linter-shellcheck and linter-rubocop, for instance, can raise errors because they don’t ship with their dependencies – you have to have shellcheck and rubocop (respectively) installed locally on your system first.


#7

There really is no easy fix, it’s unstable by nature for at least a while.

Why don’t you use Brackets? It’s free. For beginning web developers it’s super nice editor with lots of linters and integrated docs and intelligent code completion. And it’s stable. Also, the live editing thing is cool if you’re learning html. In my mind “teaching web development to newbies” === Brackets.


#9

Development is still quite active which means every time there is a new update, it may break something (including any packages you have installed which are suddenly incompatible, rare as that may be).

That being said… Keeping your Atom installation up-to-date, upgrading packages as soon as you see the notification in the notification bar etc, usually works ok. Code devs and package devs are usually quick to fix things.
The problem for you is of course keeping a number of client installations up-to-date regularly. I’m not sure there is a way to do this in any centralized way.

Edit:
I suppose you could configure them all to use a dropbox folder for their .atom directory. You can then keep that folder up-to-date from your own installation.


#10

I suppose your problem is with linter which can make some bugs, I had only two types of red errors in atom:

  1. The specific linter dependencies doesn’t installed, just install with npm the specific linter, you can create them a little shell script that will install all dependency in one installation.
  2. Something with watcher, I found a quick fix in Github so again, just make them a file that fix that if they ever see this error (tell me if you want the shell script that fix that).

and IMO someone that learn HTML doesn’t need a linter, even css doesn’t really need one, only JavaScript and the Back-end (of course it’s can help sometimes but no when you learn).


#11

I’ve had problems trying to do that in the past. I don’t remember them exactly at the moment but I think dropbox would get behind with all the changes. And I had some weird problem with Atom not recognizing git repos.

Right now I’m using a partially-automated method where a script copies the packages folder and all the files not in a folder to/from dropbox. I’m about to try using symlinks from the .atom folder pointing into the dropbox folder. One link for the packages folder and a separate link for each file outside that folder…

If this works I’m going to create a package that makes those links and keeps them updated.