Last week I focused on the user interface, rebuilding features from the first UI demo. This time the code was much better, though:
- all benefits of LazoJS framework are built-in;
- less memory leaks and unexpected behavior (last UI prototype stuck there), for example all views explicitly unsubscribe event handlers before being unloaded from the DOM;
- more reactivity and interactivity across the system.
Long story short, I implemented/polished:
- diary, news, alerts feeds are now more polished, have same endless scroll behavior;
- message inbox and conversation views are now implemented and are working reactively;
- all feed-based views have consistent ad display (which works for items retrieved from the server on the first page load and items added reactively);
- there is a new online list view, which displays last active members on the site; it acts as a roulette, never showing the same member twice within the session; the list is updated with a new photo once every 10 seconds.
During the week Tomas introduced me to the articles on CSS Architecture. They describe how to design CSS classes and align them with HTML code in order to create web applications that are scalable (people-wise) and maintainable. Suddenly, HTML side started making a lot more sense to me - there is a lot of design process involved there.
Pieter and Tomas focused on implementing proper component reuse at Lazo level in the profile page. For example, like button is a reusable component which could appear multiple times on a single page. Their plan is to try and apply this approach to a collection views this week (e.g. news or diary feed).
This week I'm working from Italy (Bologna). I have a bunch of outstanding tickets regarding UI features I implemented, so that's what I'll focus on. We are getting close to another demo and a release in Norway.