(It can be tested at http://social-tools.wmflabs.org/wiki/Calendar)
Someone I know always says "don't reinvent the wheel!" (cough @jack cough ) so I decided instead of doing that, is to help and improve this. :P
There are 4 main flaws that I've found in the Calendar extension, which are **readability**, **navigation**, and **user control**, and **design**. Here's how I suggest it could be fixed:
== Readability ==
[ ] Increase font size: Right now, the font size is at **9px**. 9px is simply too small to be able to read comfortably - I suggest 1em (which is by default equivalent to 16px) as a comfortable reading size. Not only that, `em` units are responsive while `px` units aren't!
[ ] Increase spacing between elements: Most of the elements are way too close together, they should have at least some space for breathing and so it's easier to comprehend.
[ ] Wrap the days of the week into `<abbr>` tags with `title` attributes so that when on hover, it shows the full day name as a tooltip. This will mean pushing i18n variables into those `title` attributes as the attribute value.
== User control and feedback ==
[ ] Give user feedback by creating hover, active and focus states
[ ] Add `cursor: pointer;` so users know it's a controllable component
== Navigation ==
[ ] Decrease lag for the pagination (clicking between months). I assume this is the AJAX pagination bug? (__Note:__ this action should be immediate, the lag makes it a pain trying to get from point A to point B)
[ ] Elaborating on previous point - navigating from 2 points especially when they're far away, such as if the start is July 2016 (now), and the user's goal is going to another date such as June 2017. What I suggest to improve navigation for the MediaWiki Calendar extension is also making it into a '''datepicker''' - right now it's just a simple calendar.
[ ] Add sliding left transition (for moving into the past) and add slighting right transition (for moving into the future) for smoother movement
== Design ==
[ ] Replace arrow text symbols with visual icons from the Wikimedia WikiFont project (https://github.com/wikimedia/WikiFont)
[ ] Replace current colors with official colors values of whites, blues and blacks
[ ] Match __overall__ style of Wikimedia Design
== HTML & CSS ==
[ ] Classes and IDs should be lower case instead of camelCase standard, along with using hyphens.
[ ] There should be more classes for customisability. List of classes as a suggestion in "class organization" section
=== Class organization ===
Most of these `class`es are self-explanatory and obvious just simply by looking at them, but here's a short description just in case. :P
* `.days-of-week` for days from Monday to Sunday, should be attached to `<tr>`
* `.calendar-week` for `<tr>` wrappers of the calendar says
* `.day` for any days from 1 - 31, should be attached to `<td>`s
** `.today` for current day
** `.past` for past days
** `.future` for future days
== Calendar Navigation via Datepicker ==
(Some MediaWiki volunteer and designers have created a **rough mockup** of MediaWiki UI elements - however I think some things could be *slightly changed* and improved upon - Here it is if you want to check it out: [mediawiki UI image mockup](https://phab.wmfusercontent.org/file/data/eoecegkortku4csrj4gx/PHID-FILE-vnoeyoiq6z5ylelc2xvc/Artboard_M101_160629.png) And task at [phab M101](https://phabricator.wikimedia.org/M101) )
**WIP - SECTION IN PROGRESS**