-
26 December 2016JapanesePod101 Holiday Countdown Deals extended
The Holiday Countdown Deals over at JapanesePod101 are extended until Dec 27th. Check out the remaining offers here (incl. 47% off Basic/Premium, 55% off 24-Month Premium, and the once-a-year Lifetime Premium access).
The mobile / responsive update is a lot of work! Last week I've been racking my brain setting up webpack 2, VueJS 2 and other things in the website's build process. This is pretty exciting for me as I can start making better UI across the site, with less code than I used to write. I'm also getting up to speed with modern Javascript (ES2015) and learning quite a lot recently. One of the things that I'm looking forward is using more CSS3 transitions and animations to create a more appealing interface, especially on mobile.
All in all this update is about much more than mobile. I'm completely upgrading the front end part of the website, and being able to use modern Javascript and Vue components will benefit both desktop and mobile!Some challenges I needed to solve are using VueJS inside a non-SPA application. It's easy enough to use the provided "scaffolding" templates when you create a new site, but how do you make this work in a non-SPA (single page application) website that also has a lot of older Javascript dependencies?
Turns out the compiled VueJS library plus a few components is currently sitting at ~90kb (30kb gzipped), while the completely outdated old YUI 2 library is a whopping 177kb (50kb gzipped). While both sit under 100kb gzipped for now... it gives an idea of how much code there is in the old YUI 2 framework that had to deal with old browsers as well as a bunch of things that are now native in the browser.
So another challenge for me over the months will be to gradually remove old code, so I can get rid of the unnecessary dependencies and reduce the total page load cost. For some time after the mobile / responsive update, the pages will include both new and old Javascript. The website page load is not heavy to begin with so it will be ok, but it does add one extra bundle on every page (VueJS).
Right now the mobile site is pretty usable I think, based on feedback I've received so far. It doesn't look very nice though, in particular the top navigation I used. I still need to fix some obvious broken layouts, and I think I will be using a "sliding" navigation pane (sliding in from the left side), which is also animated.. and makes for an overall nicer experience.
So all in all the main challenge and decision making going forward is to find a good compromise between desktop and mobile. For example, do I want to use nice checkboxes like these ; which can be a little larger and usable on touch ; or do I want to use a specially adapted on / off toggle like this? Both are Vue JS components which I can now use on the website!
What's interesting here is while the "Switch" component is definitely better for mobile users it also responds to mouse clicks on desktop. But... it doesn't feel consistent with the desktop environment and the way checkbox tend to look. With the direction I'm going, I need to pick some kind of a compromise because I am not building a mobile native app. So for example in this case, I may end up going for the "Switch" because that feels great on mobile. The key here I think is to be consistent throughout the website, even if it's not consistent with the desktp or even the mobile device UI (eg. Android and iOS).
PS: I am looking for a solution to effectively gather feedback once I make the mobile site a "public beta". For this I need the lowest "barrier to entry" for people to be able to tell me what works, what doesn't. Please send me suggestions for services I could use if you know any! Some of things I considered are : forum threads (not ideal since it's kinda off topic), creating an empty repo on github and using their "issues" system which is great.. but quite bad to gather feedback straight from mobile. Maybe I should just put a built in "feedback" button somewhere... but I would rather people can comment on one another's issues which is a big limitation of receiving individual feedback via emails.
By Month
- Oct 2024 (1)
- Sep 2024 (1)
- Jun 2024 (2)
- May 2024 (4)
- Apr 2024 (3)
- Mar 2024 (1)
- Feb 2024 (1)
- Dec 2023 (1)
- Nov 2023 (2)
- Oct 2023 (2)
- Apr 2023 (2)
- Mar 2023 (2)
- Feb 2023 (1)
- Jan 2023 (2)
- Dec 2022 (1)
- Nov 2022 (2)
- Oct 2022 (3)
- Sep 2022 (1)
- May 2022 (4)
- Apr 2022 (1)
- Feb 2022 (2)
- Jan 2022 (2)
- Dec 2021 (4)
- Nov 2021 (2)
- Oct 2021 (2)
- Sep 2021 (2)
- Aug 2021 (1)
- Apr 2021 (2)
- Feb 2021 (3)
- Jan 2021 (3)
- Dec 2020 (1)
- Nov 2020 (1)
- May 2020 (1)
- Apr 2020 (1)
- Jan 2020 (1)
- Oct 2019 (1)
- Sep 2019 (1)
- Aug 2019 (4)
- Jul 2019 (3)
- Jun 2019 (1)
- May 2019 (1)
- Mar 2019 (2)
- Jan 2019 (1)
- Nov 2018 (3)
- Oct 2018 (8)
- Sep 2018 (4)
- Aug 2018 (3)
- Jul 2018 (1)
- Jun 2018 (4)
- May 2018 (1)
- Apr 2018 (1)
- Mar 2018 (1)
- Jan 2018 (1)
- Dec 2017 (6)
- Nov 2017 (4)
- Oct 2017 (4)
- Sep 2017 (5)
- Aug 2017 (5)
- Jun 2017 (3)
- May 2017 (2)
- Apr 2017 (3)
- Mar 2017 (7)
- Feb 2017 (10)
- Jan 2017 (11)
- Dec 2016 (6)
- Nov 2016 (5)
- Oct 2016 (6)
- Sep 2016 (7)
- Aug 2016 (3)
- May 2016 (1)
- Mar 2016 (2)
- Jan 2016 (1)
- Dec 2015 (3)
- Nov 2015 (1)
- Oct 2015 (1)
- Sep 2015 (7)
- Jul 2015 (2)
- Jun 2015 (1)
- May 2015 (5)
- Apr 2015 (4)
- Mar 2015 (5)
- Feb 2015 (4)
- Jan 2015 (5)
- Dec 2014 (4)
- Nov 2014 (3)
- Oct 2014 (2)
- Jun 2014 (1)
- Apr 2014 (2)
- Mar 2014 (4)
- Feb 2014 (3)
- Jan 2014 (4)
- Dec 2013 (2)
- Oct 2013 (1)
- Sep 2013 (1)
- Jun 2013 (4)
- May 2013 (1)
- Mar 2013 (1)
- Jan 2013 (2)
- Oct 2012 (2)
- Aug 2012 (1)
- Jul 2012 (2)
- Jun 2012 (2)
- May 2012 (1)
- Mar 2012 (2)
- May 2011 (1)
- Apr 2011 (4)
- Mar 2011 (3)
- Feb 2011 (2)
- Jan 2011 (2)
- Dec 2010 (8)
- Nov 2010 (8)
- Oct 2010 (3)
- Sep 2010 (3)
- Aug 2010 (1)
- Jul 2010 (2)
- Jun 2010 (5)
- May 2010 (1)
- Apr 2010 (3)
- Mar 2010 (4)
- Feb 2010 (2)
- Jan 2010 (1)
- Dec 2009 (5)
- Nov 2009 (5)
- Oct 2009 (1)
- Aug 2009 (1)
- May 2009 (5)
- Apr 2009 (2)
- Mar 2009 (1)
- Feb 2009 (2)
- Jan 2009 (2)
- Nov 2008 (1)
- Oct 2008 (1)
- Sep 2008 (1)
- May 2008 (2)
- Apr 2008 (1)
- Feb 2008 (6)
- Jan 2008 (5)
- Dec 2007 (6)
- Oct 2007 (1)
- Sep 2007 (2)
- Aug 2007 (3)
- Jun 2007 (1)
- May 2007 (5)
- Apr 2007 (1)
- Mar 2007 (2)
- Feb 2007 (1)
- Jan 2007 (4)
- Dec 2006 (3)
- Aug 2006 (1)
- Jun 2006 (3)
- Apr 2006 (6)
- Mar 2006 (8)
- Feb 2006 (1)
- Jan 2006 (4)
- Nov 2005 (1)
- Oct 2005 (4)
- Sep 2005 (1)
- Aug 2005 (11)