This article describes the ideal scenarios that we are aiming to achieve.
The current release of Anahita is using Bootstrap 2.2.4 which is primarily developed for desktop devices while providing a responsive mode for mobile screens. Mobile traffic is now surpassing the desktop traffic on the web so it makes sense to treat mobile users as primary users. Latest releases of #Bootstrap and #MaterialDesign have already rewritten their libraries for the mobile devices as primary users.
Quite likely we will be using the Material Design library for the next release of Anahita which seems to be more suitable for web applications compare to the Bootstrap library. We will be using #Sass instead of #LESS to write the CSS code. The built-in LESS compiler in Anahita will be removed and instead we will be using GruntJS to compile the Sass code into css files. All icons will be in scalable vector graphics SVG to ensure high quality rendering on all types screens. We'll also be using HTML5 semantic tags for all the layouts and UI elements.
Designing for Mobile First is a further push towards minimalism by focusing on absolute essentials for every screen rendered by Anahita.
Technologies such as #Flux by Facebook enable us to create a unidirectional data flow which means when data state changes, the UI automatically re-renders itself.
It is quite likely that #JQuery will be completely removed from Anahita. JQuery is good for animating DOM elements and making ajax calls, but not the best choice for generating HTML code or 2 way data binding.
We currently have other API endpoints such as follow, unfollow, addcomment, deletecommnet, etc. Ideally we would want all controllers to only provide the BREAD operations. We want to follow the Convention Over Configuration concept, because it will make it easier for developers to identify and use the API endpoints.
Since the advent of web2.0 and read-write-web applications, the user generated content has been displayed as database records and cards. We think it is important for a knowledge sharing platform to render its published content in an easy to consume and visually pleasing fashion. We want to improve how an individual node is displayed with as little as possible clutter around it. Services such as Medium, Vimeo, and 500px are quite inspiring with the way they present a piece of content with full width images, videos as well as large and readable typography.