Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Local Storage Project

shaun bolak
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
shaun bolak
Front End Web Development Techdegree Graduate 18,080 Points

What a tough video...

I get the (very) basic understanding of what localStorage is from the previous video's example. However, after watching this video, would I say that I am able to reproduce the instructors code - no, I would not. Do I feel that I am able to test for, and utilize localStorage in my code - that would be a resounding, and definite, "no". There were multiple parts of this instruction that were simply written without explaining the rationale of why it is being written.

I truly do not mean any of what I have said to sound as a complaint. Quite the opposite, I absolutely want to understand and be able to use the tools being taught in each one of the modules in this course. Possibly I am the only one that has this viewpoint after watching this module. However, if that is not the case, I think it may be worthwhile to review the content, or simply have a new student watch it, and ask them to use what they have learned - which is a valid metric of effectiveness for any lesson.

Steven Parker
Steven Parker
229,744 Points

You can also make suggestions directly to the staff as described on the Support page.

5 Answers

Roald Jurrian Kamman
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Roald Jurrian Kamman
Front End Web Development Techdegree Graduate 15,543 Points

I agree completely, some of these lessons on Treehouse can be more refined. And I found it frustrating in the beginning. For example, many people love Guil H as a teacher but something doesn't quite click for me.

That's not a bad thing it just means that I need to find multiple resources talking about the same subject. I always end up learning the same thing from different sources to get a broader idea of what is going on.

I just did a quick google search and can see that there are already at least 5 good resources talking about using localStorage in JS. Sometimes you might have to dig a little deeper and that can take time, yes. But taking your time with code is important. The work that I do when I'm not rushing myself becomes much more crystallized and well written than when I'm just trying to run through it.

shaun bolak
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
shaun bolak
Front End Web Development Techdegree Graduate 18,080 Points

Hi Roald,

Thanks for the comment. Actually, you are absolutely right. Searching out additional resources is absolutely warranted. I ended up finding a resource for local storage that worked for what project 7 required. The code that I ended up using (or, rather, reusing : ) was straightforward to understand. Although, this is possibly due to it being simpler code than what was in the treehouse video.

Steven Parker
Steven Parker
229,744 Points

Some concepts are more complex than others, and some videos merit reviewing at least one more time. But I've also found that on occasion, a bit of experimentation in the workspace can be the trick to a functional understanding.

shaun bolak
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
shaun bolak
Front End Web Development Techdegree Graduate 18,080 Points

Hi Steven. Thank you for your comment. I concur with your thoughts on viewing more complex videos a second time; with this lesson in particular, I took a break until the next day and watched it again to try to make sense of each part, and thus the program as a whole; and while, yes, I understand what is happening in each function, and how the script works as a whole, I would not be able to reproduce it myself.

I would have to watch the video to list examples, but as I mentioned, there were a couple of lines of code used that seemed glossed over, or were explained without a rationale as to why they were explicitly written that way (or both).

I used to be an ESL teacher previously. If I said to my students, "'Keep one's eye on the ball' means to maintain focus of a goal. For example, 'We've taken a long break, but let's keep our eye on the ball and get back to work.' Now, go ahead and use that in today's conversation", I can pretty much guarantee that none of my students would use it during their conversations. That one example would not be enough for the students to confidently use that idiom, and more importantly, there was no rationale as to why it should be used. Just giving an example without a reason why it is used will always result in a lack of comprehension. Further, for topics that are perceived by the teacher to likely be advanced or difficult for the student(s), extensive examples and rationale for use are warranted.

However, these are just my thoughts. Possibly this was just a difficult video for that of myself, and not for others; I am by no means clever or prodigious when it comes to programming - quite the opposite, I am afraid : /

Steven Parker
Steven Parker
229,744 Points

This is definitely an "intermediate" level workshop, and the workshops generally don't cover things as completely as the courses.

But if you have a question about a particular line or section of code, try quoting it here and perhaps someone can shed some light on it.

shaun bolak
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
shaun bolak
Front End Web Development Techdegree Graduate 18,080 Points

Actually, I cannot ; ) I remember finding help for both of them on two different stack exchange posts, but it has been a few weeks, so I no longer have the links : /

However, I can post the code that I embellished upon from my project (repo link is below if you want to take a look at the full thing). Any code that I write or improved upon will be as simple as it gets lol^^

https://github.com/shonb6570/Tech-Degree-Project-7

   // <--------          local storage function                ---------> //

   function save(){
       storageSettings.push(togBtn1.checked);
       storageSettings.push(togBtn2.checked);
       storageSettings.push(timezone.value);
       localStorage.setItem('settings', JSON.stringify(storageSettings));
   }

   function load(){    
       let checked = JSON.parse(localStorage.getItem('settings'));
       togBtn1.checked = checked[0];
       togBtn2.checked = checked[1];
       timezone.value = checked[2];
   }

   function clearSettings(){
       location.reload();
       localStorage.clear()
   }