This “do EVERYTHING in your browser” fad has gone far enough. We have the most powerful desktop gear ever but every blinking of the cursor has to be done by a remote service?
This “do EVERYTHING in your browser” fad has gone far enough. We have the most powerful desktop gear ever but every blinking of the cursor has to be done by a remote service?
This makes a TON of sense for those groups where someone doesn't spend half of their class time walking people through installing and configuring apps, dealing with whatever weird system customizations they've made, etc. Every time I've helped at a tutorial, that's been a big problem with some people never getting fully up and running in time.
Instead, it's “click this link” and you're actually in the class, with the ability to have pre-canned examples and starting points ready to go without also having to cover things like version control first.
Granted, plnkr.co probably would have worked just as well, but giving everybody a consistent (and persistent, and reasonably performant) dev environment in an educational setting makes a huge difference.
When I first starting programming a lot of my difficulty and frustration was trying to get my free copy of Borland Turbo C++ running. Once I got a bit older and started to learn Linux and more fundamental things about operating systems, programming became a much easier because the additional tooling steps were much easier.
EDIT: It's certainly possible tooling will soon become a thing of the past, but judging by the trends and past experience, I do start to wonder if it's time to expect it as a necessary evil and start to handle if head on as opposed to trying to avoid it.
If you are struggling with getting your environment setup you need to take so and so class. There should be a class for just getting an environment setup and doing basic sys admin tasks.
Maybe we should be working to improve the dev environments in the "real world" so that programmers can focus on programming?
What I'd really like to see is a strong focus on making the the default experience decent so many people can avoid needing to tinker but having some obvious directions to look in when you realize that you've outgrown the defaults.
A small example I'd use is the way the Python infrastructure around the package installer (pip) has improved over the last couple of years. Experienced developers used to have a ~/.pip.conf to set defaults like caching, timeouts, failover, etc. but it was a perennial hassle for newcomers. Since then, a lot of time has gone into removing the needs for that config (e.g. adding a CDN, making caching better and enabling it by default, etc.) which saves time for newcomers and means that experienced developers can stop maintaining another dotfile.
I am an educator and a volunteer contributor to Mozilla Learning. I can honestly say that everything I have learned about HTML/CSS is due to using Thimble in my teaching for the last year and a half.
For my students, who are not in digital arts, computer science, or web design programs Thimble is a wonderful scaffold. This new version is even better.
If they get to the level where they are editing locally my students will now be able to download projects.
It is right on the front page: "Thimble is an online code editor that makes it easy to create and publish your own web pages while learning HTML, CSS & JavaScript."
The “while learning” bit is a nice nod in that direction but it's in de-emphasized text at the end of a block (the only other text that small is the login link in the upper corner). Given the number of people who didn't get why the project exists at first, I would suggest that it should be more prominent. This could be as simple as changing the highlighted text “Write the Web On the Web” title to “Learn to Write the Web On the Web” so it doesn't give the impression that this is intended to be a general-purpose editor.
It won't let me write node.js style code right now, but then they just completely rewrote this from a pretty simple jsbin-alike (single file, live preview, friendly error reporting, that was it) to a full blown Brackets with an in browser POSIX file system that automatically syncs on file changes. It's both insane and beautiful, and I'm already finding myself firing it up instead of jsbin or jsfiddle or codepen, and having far more fun because I have a full editor under my finger tips.
Reading through http://blog.humphd.org/thimble-and-bramble, which explains the whole thing in a level of detail that doesn't belong on the front page, is fascinating, and might make you acknowledge that there's definitely a place for this kind of thing on the web, and that there are plenty of people who would have loved to have something like this from day one.
I mean, come on: if this is their MVP launch, imagine what this thing can do in a few months or even a year.
I use my browser to browse. And that's all. This allows the browser to be smaller, faster, less complex, and, if it matters, more secure.
Contrast that to just loading up a page on a browser.
well don't you need to write the app at first place ? there is a difference between loading an app and developing it.
It helps them in this because they don't have to install and editor, they don't have to configure it and best of all the don't have to install and configure their development environment. All a user has to do is sign in, pick a language and start coding, it literally takes less then a minute.
Also the fact that they can collaborate in real time and get help from a friend, is not a small feature to have for them.
Although this may not sound appealing to you...their are many people where these features will make or break their initiative to start coding.
Disclaimer: I am the founder of the Cloud IDE - Codeanywhere.com
You really can do almost everything in the browser there - the (remarkably solid) editor plugs into an actual terminal on a VM, with full build tools, deployment integrations, etc.