Progress / answers not saved

I started with freeCodeCamp in 2016 and it’s still not clear to me what the deal is with the answers not being saved.

Last time I checked I thought it was a bug when the new version of FCC was released. Something to do with duplicate accounts or something like that. Then I thought that solutions were saved in cache, but wasn’t sure if only the solutions that were being worked on or the ones submitted as well.

What I see now is that submitted solutions are not saved at all. I found out after being surprised that solutions I submitted just 3 days ago are already gone, without having logged out or cleared my cache. And I saw that the reason solutions are not saved is because of space. Really? Web space is the cheapest thing nowadays, and text from code certainly doesn’t take that much space. Even if hundreds of solutions from thousands of users.

It should really be made clear that the solutions will be deleted and not be saved upon submitting. Like a big red warning should be shown. Really!

It may sound like I’m just criticizing this great project which is FCC, but this is something that can really be frustrating and turn people away. Programming on itself is already frustrating, and finding out that all solutions have been “lost” can be the tipping point for an already frustrated student to decide to quit.

If money/hard disk space is really the issue, I think this has to be rethought and a solution found. I don’t understand how saving simple text can have such a big cost to not do it. I mean, what about this same forum? Isn’t there more text in here than all of the solutions?

Having the solutions saved would add a lot more value to each camper’s profile and to FCC in general. But in the mean time, it really should be made completely clear that the campers should save the solutions elsewhere if the don’t want to lose them.

There are two different types of saved progress for Free Code Camp: your profile and your browser cache.

A list of your completed challenges is saved to your account in the FCC database. You can see the list of completed challenges by looking at your public portfolio. With a growing curriculum already over 1,400 lessons and a community of millions of people, FCC does not store every solution to every challenge in its database. When you complete a challenge, there is a modal that gives you the option to download your solution. This gives you the option to save a copy of any solution that you may want to reference later. There are some challenges which are classified as projects required for certifications. Your solutions to those can be viewed on your settings page.

Your in-editor code is saved in your browser’s local storage. Recent in-progress code from the challenge editor is also saved in your local browser cache when you run tests. If you are completing lessons and do not see your recent code, then your local storage has been cleared or something is preventing FCC from writing to your browser’s storage. This could be a browser setting, a privacy extension, or a browser version incompatibility. Especially as you get to more complicated challenges that may take multiple sessions, I strongly recommend saving your in-progress work outside of the browser cache.

This is a good opportunity to learn the ins and outs of your GitHub account, but you can also just save locally or use a service like repl.it which allows for versioning.

FCC is a nonprofit. They get some hosting in the form of an in-kind donation, but for the most part they have to pay for everything from donations. That means they have to be as thrifty as they can.

In our case it’s thousands of solutions for millions of users.

Every single time you submit a challenge, there is a popup with an option to download your solution.

I understand it’s a non-profit and money is sparse, but how much space could this take and cost? A few gigs? A few terabytes? I don’t actually know how much that would cost, but I would guess not so much for it to be the reason to not save the work. There are probably other features on the site that are less important and are being paid for. Also, there are other nonprofits that do save the user’s work. Of course they are different situations, but it is possible.

How many of those millions of users are actually active? And how many of those active user have actually submitted more than a few dozen solutions? How many submitted more than 100? How does the size of the content of the solutions compare to the size of the content of the forum? Maybe a bit of the space of the forum could be “borrowed” for the solutions?

Everyone has seen a button to download the solution, but no one has been told that that’s the only way they will be able to keep their code and that if not clicking that button, they will never see their code again. Adding such a warning would not cost any money, but could save a lot of frustration.

And again, I think FCC is one of the best things for learning to code, but I can’t understand how money is the issue when we’re talking about one of the cheapest pieces of technology we can buy. If you can show me some FCC user statistics and point me to where I can find out how much such hosting space would cost I will be able to understand, otherwise I will keep finding it weird. I did a quick search, but didn’t find anything. Maybe it could also be good for others to know how much it takes/costs to maintain such a site. Maybe for somebody who might be interested in donating/sponsoring.

@slacle, I’m not a moderator or anything like that. Just a ‘student’ here but I’d like to give my $0.02 if that’s okay.

Where do you draw the line on what to save? In HTML I really don’t think I’d need to ever revisit the first lesson that taught me how to use the <h1> element tag. There are some things that some users may find useful and want to save but for anything HTML or CSS after a while students should be more adept in using Google to find answers to questions. Simple bookmarks to MDN Web Docs or CSS Tricks give one a lot more info than the brief summation that was brought to the student in a lesson. Everyone has a fav site or three that they use for reference.
Moving on to JS, I much prefer repl.it because I can console.log() easier and see what’s happening much easier than in fCC’s lesson. And because of that I save a repl that I may want to reference in the future. (I also use GitHub to save things)

As an aside, when I saw the button to download the solution it kinda told me that they only way I’d see my solution again was if I clicked that button. I didn’t expect it to be saved somewhere/anywhere.

I’m not trying to hijack your thread nor defend fCC…just giving another user’s opinion.

Happy coding!

You bring up a good point, Roma. I hadn’t thought of that, but as you say, it’s not really necessary to save the HTML and CSS solutions. And mostly because there’s only one solution to those questions. But with JS, especially the algorithms, there’s multiple ways of solving the same problem. And a previous algorithm often is very helpful in solving newer ones and also we might want to improve our old algorithms as we learn new things. And it’s very hard to remember how a problem was solved, even a day before. Or maybe it’s my memory that is so bad.

But taking that into account, and considering that probably an even smaller percentage of users even get to the algorithms, it means even less hard disk space is needed.

repl.it, github, and any other method of saving our work is great. We just have to know from the beginning that it won’t be saved on FCC so we do save it in any of those other ways ourselves.

Interesting that for you and maybe others, the download button kinda told you that you wouldn’t see your code again unless you clicked it. For me, and probably many others, at least those posting here wondering about their answers as well, that button was basically invisible. Like ads or signs on the streets become, which we just ignore from the beginning. My own bad, but I just never stopped to wonder why that button was even there. Especially that the problems did get saved in the past.

1 Like