June 18, 2012
Working on web sites is one of my favorite hobbies. I never thought of it as a hobby but I do it in my spare time and enjoy it. I don’t make any money off of it and it costs me money. I think that’s the definition of a hobby. I spent this weekend working a lot on Ice Cream Helmet. Here is a summary of some of the changes and new things I worked on.
A few months ago I started reading about Local Storage. It seemed interesting but I didn’t have many ways to utilize it. Local Storage is client side and I’d have to do some major overhaul to switch from all my server side code.
I finally decided it could be helpful with friend lists. They don’t change constantly, there aren’t any calculations to be done, and for people who have Facebook connected to the site, it would save API calls to get their friends.
I think it’s simple enough, at least to describe:
1) You go to ICH and if you don’t have your friends stored in your browser or it hasn’t been updated in a little while, it will make the calls and download.
2) Every page load after that will load your friends from your browser storage and not have to make any calls to the web, besides to get your friends pictures.
3) When you add or remove a friend, it updates right away instead of waiting until your storage expires. It will be a little slower if someone accepts your friend request. Since that action takes place on someone else’s computer, your computer doesn’t know it has happened. It’s possible to work that out, but I didn’t do it this time around.
Right now it works on your friends page and the user box that appears on a lot of pages. There are a few other places where you see your friend list that I’d like to add it to soon.
Since this is a newer concept, it doesn’t work on old browsers. Your friends should still show up, it will just have to make the requests every time. If you run into a problem, let me know what browser you are using and I can see if it is a lost cause or not.
I also fixed up requesting, accepting, and deleting friends. Less chance of things breaking there now.
Your Card still looks mostly the same but it’s a little cleaned up. My card looks like this.
I’ve pulled out things like friends, favorite teams, and other profile details I used to ask for. Most people never set any of those things. I’ll prefer people connected with Facebook so all their friends are loaded in. Oh, and there is something new on the Card.
I wanted to have some sort of achievement system, so I setup a badge system and will continue to work out how best to do it. I don’t want to have a badge for every group you win, that seems excessive. Winning overall games, that is worth it, and I’ll be working on creating those. They are more achievements than trophies. Most things won’t be year specific. For example, winning the Daily Pick for a year is an achievement. I’ve one it every year, but I only have one badge. I’m also considering things such as creating 5 groups and things like that that promote doing things on the site.
So far you get a badge for joining and things related to the Daily Pick. I’m going to change up how the standings work for the Daily Pick, moving to show Monthly/Yearly/All Time lists. I’ve already gotten all the past calculated (and given badges for past streaks and wins), I just need to redesign the actual Daily Pick page.
The badge system is easy to for me to work with. The hardest part is actually creating the badges. As you can tell what a Photoshop wizard I am with these gems. Don’t worry, it’s also very easy to replace all of these with better looking versions when I get the time to spend on them.
There are probably some other new cleaned up things. Next up, I mentioned the Daily Pick page will be changing and I have a little bit to finish up with for the football games before I turn them on in a few weeks.