Style: Difference between revisions

From SoylentNews
Jump to navigation Jump to search
m (obfuscated email address to dissuade spammers)
 
(50 intermediate revisions by 15 users not shown)
Line 1: Line 1:
'''''Style is made up of many things.'''''
== Subpages ==
*[[Style:WishList|Wish List and Identified Problems]] - Look here for something to work on.
*[[Style:Resources|Resources]] - References and reading list.
*[[Style:Art|Art]] - Artwork links and discussion
*[[Style:UI_Design|User Interface Design]] - Discussion and definitions for UI design
*[[Style:Color|Site overall color]] - Explanation of how the site's color / colour should be chosen and some points on colour perception.
*[[Style:Typography|Typography ]] - Font choice, spacing and markup.
*Testing
== The Project ==
== The Project ==
===Description===
===Description===
 
"Style" is a project concerned with how the website and ''other aspects of the project'' look, feel and function. Our aim is to produce the slickest, best looking, easy to use user experience whilst preserving all the functionality that the community puts into place. Our areas of work closely integrate with those of #Dev:
Soylent News is not merely a feat of software engineering but a work of art. "Style" is a quality assurance project concerned with how the website looks, feels and functions. Our aim is to produce the slickest, best looking, easy to use user experience whilst preserving all the functionality that the community puts into place.  
*Graphic Design
*UI Design
*Artwork
*Heuristics and Usability
*CSS / HTML


===Scope===
===Scope===
Line 12: Line 26:
<li>'''User Experience:''' the final arbiter of the success of our work is the community. Our task is to assess the quality of our work by monitoring the usage of website elements, studying user workflow patterns and giving the community the opportunity to give feedback on style related matters.</li>
<li>'''User Experience:''' the final arbiter of the success of our work is the community. Our task is to assess the quality of our work by monitoring the usage of website elements, studying user workflow patterns and giving the community the opportunity to give feedback on style related matters.</li>
</ul>
</ul>
We direct, coordinate and liaise with all of the creative groups of the project (Coding, FrontEnd - CSS/HTML, Graphics, Core content creators - Editors and Posters) to ensure that all development of the site works towards a common goal of being the most awesome thing ever to happen to the World of Nerd.


===Basic Plan===
===Basic Plan===
*'''Phase 1''' [http://wiki.soylentnews.org/wiki/index.php?title=Style#Phase_1_Repair_List we repair the existing site]
*'''Site Reskin''' - We are now at the phase of designing / planning a reskin of the project's user interface. The implementation phase of this task will become feasible once dependencies are met:
*'''Phase 2''' we design a new and improved interface, (not a buck feta), which retains the same functionality but is slick, quick and works well on contemporary devices, not just large landscape monitors.
** The site name needs to be finalized as this could significantly impact the style of the user interface and visual appearance. A name change is potentially a direction change.
** CSS needs to be easily edited and modified to meet the user interface specifications
** The site needs to be able to fully and easily function '''without Javascript'''
** Javascript components must be carefully implemented to facilitate the function of the site with graceful fallback at all times
** Agreement on the final skin needs to be made with the PTB's of the overall project.


===Members and Roles===
===Members and Roles===
<ul>
<ul>
<li>MrBluze - Overlord</li>
<li>FrogBlast - Art / Graphics Design</li>
<li>shogun - HTML</li>
<li>Others - if your name does not appear here, mail us: style (at) soylentnews.org
<li>moo_kuh - Testing</li>
<li>Hyper - Testing</li>
<li>ragequit - CSS / JQuery</li>
<li>mtrycz - User Interface</li>
<li>CynicGalahad - Website Design</li>
<li>FrogBlast - Art</li>
<li>xlefay - IRC</li>
</ul>
</ul>
*All members please supply MrBluze with your email contact details. Email [mailto:style@soylentnews.org style@soylentnews.org]


===Recruiting===
===Recruiting===
Line 42: Line 51:
===Contact===
===Contact===
<p>
<p>
[mailto:style@soylentnews.org style@soylentnews.org]
style (at) soylentnews.org
or
or
'#style' on irc.soylentnews.org
'#style' on irc.soylentnews.org
Line 50: Line 59:
==Work in Progress==
==Work in Progress==
===Handheld Devices===
===Handheld Devices===
*Hand-held devices (eg: up to 7 inch screen device) are usually held in portrait mode for reading.
*Efficient use of space requires a single column view
*These devices, when held in the portrait orientation, are not generally suitable for extensive content creation and the UI should not be geared towards content creation
*Functionality can be curtailed for these devices to a MINIMUM NECESSARY to perform normal tasks
====User interface principles:====
====User interface principles:====
*Consider [http://i.imgur.com/ayOGVps.png how a device is held] in a right handed person. The edges of the screen are the places where fingers can accurately pick off small items, the right side of the screen is where fingers can do common tasks without impeding visibility. At the top of the screen there is usually just enough room for a utilities bar, this should be a drag down which essentially should reveal a site-map for the mobile device.
*Do not put any buttons or functions at the bottom of the page, at most a short copyright / authorship notice or a courtesy shadow to indicate bottom of document, but nothing that can be accidentally touched to cause a navigation event.


===Developing new Theme===
===IRC Web Interface===
===Typography===
*Owned by: xlefay
Paragraph element:
*Information needs to be provided as to specs required and who is going to write the css/html.
This needs to be narrower in all cases:  
====General Ideas====
<code>.intro p, .full p { margin: 0 0 0.4em; }</code>
* The web interface needs generous screen space and it may well be best to use the proposed single column user interface, ie: no left and right columns, limited functionality in a header '''and''' footer containing eg: Login/Logout option, User Prefs link, Home link. This minimalistic interface is originally intended for mobile devices where screen real estate is a premium and content must have pride of place.
* The theme should be exactly the same as of the rest of the site. The web interface itself looks fine and should be simply embedded in the standard red-banner window as currently exists, so that re-theming is trivial.
* This will require a separate perl file eg: irc.pl. It should be fairly easy to strip down the features of another similar file and include html that provides a frame which loads the web interface.
* There should be checking for javascript and a polite apology that this is required, with links to one or two suggested real IRC clients.
* Ideally the log in and username should be automated to be that of the logged in user, but the wherewithal of this is outside the scope of #style (although this is the 'feel' of look and feel).


===Lynx mode===
===Lynx mode===
I (Shogun) decided to create non-CSS, non-JS theme for site.
Shogun (missing, presumed having a good time) decided to create non-CSS, non-JS theme for site.
It would be advantageous for some users because:
It would be advantageous for some users because:


Line 92: Line 111:
*Need basic navigation items to duplicate at top and bottom of pages
*Need basic navigation items to duplicate at top and bottom of pages
*Need user preferences to be complete on a single page
*Need user preferences to be complete on a single page
==Identified Problems & Wish List==
===Phase 1 Repair List===
These are what needs to happen as a priority on the current site:
*Login / Logout - needs to be in the SAME PLACE at all times. This should be '''top right''' box.
*'Read More' link and 'n Comments' needs '''font size definition changed to em''' from points, as it is unreadable on small devices such as phones. All links in the center column should be checked for this.
*'Yesterday's News' needs to not have < and > surrounding it as this is confusing. It should either have square brackets or none at all.
*The Comments under articles need to be brought in line with the center column and not spill over to the right column. Otherwise this results in unacceptable whitespace when article summaries are short.
*When posting comments: The '''original article must appear at the top''' and '''the parent thread must appear also''', whereas currently this does not occur. Very disorientating.
*The same goes after moderation. There should not be separate notification pages that then link to the original page. Notifications should appear conveniently at the top or bottom of the working page.
*The entire user preferences section should be merged into a single large page.
*We need to have a single column view for phones/narrow mobile devices with reduced functionality - working on a schematic for this
These are more minor cosmetic problems:
*Bottom right of the right column there are some included lower-borders of non-existent boxes. They need removing
*We need a more consistent font that looks the same on different browsers, need to make some mockups and see what people think
*The left bottom window needs to have some kind of links of interest, and not a message "put links here"
*The word slashdot needs to be removed from the face of the earth, including soylentnews.org
===Typography===
The fonts are "not right", but to elaborate:
*Some people consider the typeface to be too 'generic' and does not give the site a unique look.
*Because of differences in rendering fonts between operating systems and browsers, there is inconsistency in font weight and kerning.
*We need to trial different font sets and ordering of fonts and decide on the optimal set.
===Color===
<ul>
<li>Red theme is ok, however color contrast is excessive on wide gamut displays, especially some Apple devices.</li>
</ul>
===Art===
===Theming===
<ul>
<li>User selectable themes</li>
</ul>
===Usability===
<ul>
<li>Comment submission - The article summary and the entire thread to which the comment replies should be visible when writing a comment.</li>
<li>Bug #51 - Tricky main page navigation - This appears to be an ambiguity issue. 'Yesterday's News' should not have directional arrows surrounding it.</li>
<li>Bug #20 - Scroll bars on 800x600 screens - Do we need a low res (single column) version of the site? Which functionality needs to be 'buried' for this? Need to discuss.</li>
<li>Bug #22 - Navigation --> Past Polls ==> Submit Poll : Goes to same page as Navigation --> Submit Story; In other words, submitted a poll makes it looks like you are submitting a story.</li>
<li>Bug #40 - Log out needs to be more prominent - Further to this, User session controls need to be TOP RIGHT DIV at ALL TIMES.</li>
<li>Bug #48 - Ugly Login / New User Account page.</li>
<li>Bug #?? - Current Pending Submissions / "Submissions List" page only shows ~ 35 characters of each submitted headline.</li>
</ul>
===Page Content===
<ul>
</ul>
==Resources==
===Human Interface Guidelines===
====Apple====
<ul>
<li>[https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/ IOS 7] </li>
<li>[https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Intro/Intro.html OSX]</li>
</ul>
====Microsoft====
<ul>
<li>[http://msdn.microsoft.com/en-us/library/windows/desktop/aa511440.aspx Guidelines]</li>
</ul>
====Android====
====Linux====
====Comments on Human Interface Guidelines====
<p>The layout of elements on a website is influenced by the OS on which the interface is being designed. On the other hand, for the user, the right pattern of mouse / finger actions can differ depending on which OS is in use and the location of utility buttons on devices. Therefore it's not enough for the website to render correctly on different browsers. The workflow has to take into consideration:
</p><p>
<ul>
<li>The size and orientation of the display.</li>
<li>The pointing device</li>
<li>Location of utility buttons, especially soft buttons such as browser config / bookmarks toolbars.</li>
</ul>
===Accessibility===
Select colors that contrast with each other well. Use the following link to help select fore/background color combos:
http://gmazzocato.altervista.org/colorwheel/wheel.php


==Related Areas==
==Related Areas==
[[CssWork|CSS Work]] - CSS Working group for soylentnews.org
[[CssWork|CSS Work]] - CSS Working group for soylentnews.org
[[Category:User experience]]

Latest revision as of 12:30, 30 January 2019

Style is made up of many things.

Subpages

The Project

Description

"Style" is a project concerned with how the website and other aspects of the project look, feel and function. Our aim is to produce the slickest, best looking, easy to use user experience whilst preserving all the functionality that the community puts into place. Our areas of work closely integrate with those of #Dev:

  • Graphic Design
  • UI Design
  • Artwork
  • Heuristics and Usability
  • CSS / HTML

Scope

To guide the development of the site with respect to:

  • Heuristics: the workflow of the site needs to be intuitive and efficient. The user should need to perform a minimum of actions to achieve each task, and the steps should be intuitive. Our task is to define these workflows, assess the performance of them on the site and direct changes accordingly.
  • Appearance: the site should reach the best possible standards of visual appeal, subject to its main purpose of article presentation and peer review. Our task is to develop a set of user interface guidelines to guide developers, including placement of elements, font selection graphical styles.
  • User Experience: the final arbiter of the success of our work is the community. Our task is to assess the quality of our work by monitoring the usage of website elements, studying user workflow patterns and giving the community the opportunity to give feedback on style related matters.

Basic Plan

  • Site Reskin - We are now at the phase of designing / planning a reskin of the project's user interface. The implementation phase of this task will become feasible once dependencies are met:
    • The site name needs to be finalized as this could significantly impact the style of the user interface and visual appearance. A name change is potentially a direction change.
    • CSS needs to be easily edited and modified to meet the user interface specifications
    • The site needs to be able to fully and easily function without Javascript
    • Javascript components must be carefully implemented to facilitate the function of the site with graceful fallback at all times
    • Agreement on the final skin needs to be made with the PTB's of the overall project.

Members and Roles

  • FrogBlast - Art / Graphics Design
  • Others - if your name does not appear here, mail us: style (at) soylentnews.org

Recruiting

We are interested in people wanting to help who have skills in:

  • Graphic design - for critical appraisal, or assistance in the art department.
  • User interface design
  • Mobile app development

Contact

style (at) soylentnews.org or '#style' on irc.soylentnews.org

Work in Progress

Handheld Devices

  • Hand-held devices (eg: up to 7 inch screen device) are usually held in portrait mode for reading.
  • Efficient use of space requires a single column view
  • These devices, when held in the portrait orientation, are not generally suitable for extensive content creation and the UI should not be geared towards content creation
  • Functionality can be curtailed for these devices to a MINIMUM NECESSARY to perform normal tasks

User interface principles:

  • Consider how a device is held in a right handed person. The edges of the screen are the places where fingers can accurately pick off small items, the right side of the screen is where fingers can do common tasks without impeding visibility. At the top of the screen there is usually just enough room for a utilities bar, this should be a drag down which essentially should reveal a site-map for the mobile device.
  • Do not put any buttons or functions at the bottom of the page, at most a short copyright / authorship notice or a courtesy shadow to indicate bottom of document, but nothing that can be accidentally touched to cause a navigation event.

IRC Web Interface

  • Owned by: xlefay
  • Information needs to be provided as to specs required and who is going to write the css/html.

General Ideas

  • The web interface needs generous screen space and it may well be best to use the proposed single column user interface, ie: no left and right columns, limited functionality in a header and footer containing eg: Login/Logout option, User Prefs link, Home link. This minimalistic interface is originally intended for mobile devices where screen real estate is a premium and content must have pride of place.
  • The theme should be exactly the same as of the rest of the site. The web interface itself looks fine and should be simply embedded in the standard red-banner window as currently exists, so that re-theming is trivial.
  • This will require a separate perl file eg: irc.pl. It should be fairly easy to strip down the features of another similar file and include html that provides a frame which loads the web interface.
  • There should be checking for javascript and a polite apology that this is required, with links to one or two suggested real IRC clients.
  • Ideally the log in and username should be automated to be that of the logged in user, but the wherewithal of this is outside the scope of #style (although this is the 'feel' of look and feel).

Lynx mode

Shogun (missing, presumed having a good time) decided to create non-CSS, non-JS theme for site. It would be advantageous for some users because:

  • Not all browsers support CSS at all(Lynx, w3m)
  • Not all browsers support CSS correctly according to W3M standards (IE6 for example)
  • Not all browsers have full implementation of "newest" version of CSS (currently it's CSS4)
  • Not everyone wants to use CSS because of performance issues on slower machines (CSS is very flexible and provides a lot of complexity like CSS sided animations, alpha-transparency and other resource heavy(for old machines) effects
  • Not everyone wants to use CSS beasue of potential security issues:

It is proven that CSS is Turing complete, therefor there is theoretical possibility that someone could put some rogue code(shell-code) withing CSS and inject it into memory of computer using nothing else but CSS. This AFIK have not been done yet - but I believe that in incoming years someone smart enough will be able to generate such hostile CSS.

  • JavaScript implementation is usually very slow in old browsers (up to 50x slower then modern 2013 browsers). Because of that majority of scripts are simply unusable for users - being well too slow.
  • Owners of old computers can't or don't want to upgrade their browsers - because of lack of RAM needed to run them. It's nearly impossible to work on computer with 256MB ram with newest[2014] versions of Firefox,Chrome or Opera - because of excessive memory usage. Funny fact is that those new browsers have superior execution speed of JavaScript - but this is ALL LOST because of overall excessive memory usage of browser.
  • JavaScript libraries tends to be "big". It does matter when you are using modem or 3G capped connection(speeds in range of 64kbit/s - 128kbit/s). Process of loading some of the libraries can be as long as one minute on such connections, and often JS code taking as much as 75% of overall content on the side. Early slash-dot beta was great example of that.
  • In good old days, web pages were static. You download it, and after download you plug-off your Internet cable, read the article, fill-up form, write comment, and connect back to continue minutes later without any problems. With JS - most websites force user to be permanently connected to Internet.

This is especially painful in high latency links. some scripts are tracking each click on form and transport them to server and back with new orders - this is problematic because if script requires 20 operations with server, and each operation takes 500ms - it would increase end-user lag to humongous 5s... And that is all AFTER all scripts have been downloaded. Unfortunately most modern Internet sites suffer from this - because developers does not test sites under low quality Internet links.

  • Because JS on websites tend to run in unlimited loops - they consume cpu cycles ALL-THE-TIME, unlike good old plain html where after download and parsing cpu usage went to ZERO.

Comment by MrBluze: Possible task list:

  • There is already a minimalistic mode, simplified view etc. Have a look at it.
  • There are UI problems with this mode, it contains JS!
  • Need to strip the JS and replace with single page settings .. not trivial
  • Need to simplify the path from setting and UNSETTING the simplified mode
  • Need a way of triggering simplified mode by a URL argument
  • Need to bring look/feel as close as possible to original site so there is no culture shock from switching
  • Need basic navigation items to duplicate at top and bottom of pages
  • Need user preferences to be complete on a single page

Related Areas

CSS Work - CSS Working group for soylentnews.org