Universal Language Selector/Design/Interlanguage links/Compact interlanguage links as a beta feature/Project progress report

Things to do
For a more updated list, you could check http://etherpad.wikimedia.org/p/uls-compact-review
 * Use jQuery instead of JavaScript
 * Access mw.uls functions in ext.uls.compactlinks
 * Position ULS correctly
 * Configure ULS to show only the languages supported by the article
 * Fetch the links to the interlanguage wiki and feed them to the addLanguage function.
 * Fetch the Common Languages in an array
 * Display Common Languages using Autonym
 * Remove i18n for 'More Languages' ULS trigger( Link 1 and Link 2 ) Not needed anymore, using icon instead of text
 * Clicking link in ULS should take to required destination
 * If number of languages too short, display all, remove ULS
 * If number of common languages too short, display some randomly (to be made more intelligent later)
 * Change ULS trigger to a box with ellipsis
 * Add label stating number of more languages beneath the trigger
 * Make ULS compact
 * Add triangle to ULS to connect it to trigger
 * Internationalize 'more languages' in label
 * Do not affect the Personal bar instance of the ULS
 * Add as a Beta Feature
 * Rectify ULS menu positioning, relative to the trigger
 * Check if ULS is in Interlanguage position and load the BF files only then
 * Add a global to turn on/off the feature in the wiki
 * Load the languages in the exact position where the previous languages were to avoid links like "Complete List" and "Edit Links" from coming above the language list

Week 1: 10th December to 16th December

 * 1) Added ULS link in sidebar.
 * 2) Randomly hid a few languages in the sidebar.
 * 3) Moved the code to a new file, ext.uls.compactlinks.js.

Week 2: 17th December to 23rd December

 * 1) Setup Gerrit for review, fixed some errors, and basically learnt the workflow on Gerrit.
 * 2) Installed JSHint

Week 3: 24th December to 30th December

 * 1) Fixed Line-ending errors in ext.uls.compactlinks
 * 2) Submitted 2 patches: Link 1 and Link 2
 * 3) Registered ext.uls.compactlinks as a Resource Loader module.

Week 4: 31st December to 6th January
Had a Hangout with Santhosh Thottingal and Amir Aharoni.
 * 1) Fixed code indentation, whitespaces etc. Switched most of the code to jQuery instead of JavaScript.
 * 2) The code now hides all language links being shown by default and displays them from the displayLanguages function in ext.uls.compactlinks.(Next up, I'll configure it to display the languages I need.)
 * 3) Fixed the issue with ULS not appearing. --Added it as a dependency on the ext.uls.init file.(Could achieve the same effect by adding it in the addModules function in Hooks.)
 * 4) Configured ULS to show only those languages which are supported by the article.
 * 5) Link to patch: https://gerrit.wikimedia.org/r/#/c/104793

Week 5: 7th January to 13th January

 * 1) Fixed the Common Languages section of the ULS to display only those languages which the article supports
 * 2) Displaying only those languages in the Sidebar which the appear in the Common Languages section of the ULS, for now: These are a compilation of : user's current selected language, browser language, previous choices, the wiki's content language and the languages taken from the countryCode.
 * 3) Submitted Patchset 8 & 9

Week 6: 14th January to 20th January

 * 1) Submitted patches 10, 11, 12, 13, 14 & 15
 * 2) Had a discussion with Pau. We are maintaining the reviews here. I will spend the next week on fixing the things he mentioned.

Week 7: 21st January to 27th January

 * 1) Changed trigger to a button
 * 2) Fixed ULS positioning
 * 3) Added label for number of languages
 * 4) Made language links in the ULS redirect user to correct destination
 * 5) Submitted patch set 16 through 19. (17 and 18 failed due to EOL errors, so that's really just two patchsets.)

Week 8: 28th January to 3rd February

 * 1) Did a complicated rebase.
 * 2) Made the Personal bar instance of ULS and sidebar instance independent of each other
 * 3) Sorted the languages and configured them such as to show 3 or more in the collapsed list atleast.
 * 4) Addressed comments on patch. Patch count up to 28 now.

Week 9: 4th February to 10th February

 * 1) This week was spent trying to upload my feature as a Beta Feature on my local wiki-
 * 2) * Installed BetaFeatures extension and configured it
 * 3) * Added the required code, but facing errors with it. It is broken on my system, will continue fixing it next week.

Week 10: 11th February to 17th February
''Note: Project at nearly-completed stage. Work remaining only on trivial enhancements and proper ULS positioning''
 * 1) Added my project files as a Beta Feature
 * 2) Did another rebase and solved problems on local wiki
 * 3) Uploaded patch sets 34 through 36

Week 11: 18th February to 24th February

 * 1) Added the triangle pointer to the uls-menu to connect it to the ULS
 * 2) Resolved issues pointed out by Pau

Week 12: 25th February to 3rd March

 * 1) Resolved more issues pointed out on the patch by reviewers
 * 2) Compressed the svg and png images
 * 3) Fixed the ULS positioning
 * 4) Working on swapping the Beta Feature image for RTL & LTR languages--but turns out it's a bug

Issues
Keeping this only for future reference.
 * 1) Introducing the interlanguages links in sidebar
 * 2) Launching ULS
 * 3) Geo service not working, getCountryCode returns undefined .only my system, no idea why. :(
 * 4) Making changes in the ULS for sidebar reflects the changes in the ULS from Personal bar--is that okay? No, not okay.
 * 5) What about pages with interlanguage links as a box somewhere and not in sidebar, such as https://www.mediawiki.org/wiki/MediaWiki
 * 6) BetaFeatures broken on my installation only :\