Need your valuable feedback on my weather project available here: https://thappy.me/fcc/weather/
For a better experience, load on Android Chrome
Below are some attached screenshots
The background of the site also changes according to the weather. Blue background indicates a cooler weather and redder background indicated warmer temperature.
Used localStorage to save info locally instead of having to refetch the weather. User can take action to refresh the weather.
Invalid weather location lets the user know, with the help of an disappearing message, that they’ve entered an incorrect location and focuses on input box to let the user retype a correct location.
Hi. I got a blue background, presumably because it is cold.
Personally speaking, I don’t like to have to click a button to get the weather.
Most people have done this project presenting the current weather on load.
Searching for a city it seems I have to click a button first. Again, this is not the best UX.
Again, my opinion, I don’t like the temperature to 2 decimal places. I cannot feel the difference between fractions of degrees so is it important to the user?
And finally, I didn’t see the ability to change to Fahrenheit.
@JohnnyBizzel
Yes. The background color is decided by the temperature, cooler temperature = bluer background and hotter temperature tends to gravitate towards a warmer reddish color.
I used jQuery, and presenting the weather onload is as simple as moving the function call inside the $(document).ready() but I chose to refrain from that approach because User Location specifies that
Recent user studies have shown that users are distrustful of sites that simply prompt the user to give away their position on page load.
It also possesses a privacy risk as users aren’t comfortable giving their location away. So, the button click event triggers the function and asks the user for location, as they initated the call, they’re more willing to accept the request for location. On window load, the user can accidentally deny location request. Clicking the ‘C’ changes the temperature units from Celsius to Fahrenheit, though settings like accuracy of temperature, (number of decimal points, units etc) are best kept in a separate settings ‘window’ that I’ve yet to implement. Should I just completely drop decimal places in temperature? It’s as simple as changing toFixed(1) to toFixed(0).
Localstorage remembers users previous input.
Could you elaborate more on the ‘clicking a button to search’? if I called the event of keydown, then a lot of 404s will occur.