Friday, May 1, 2015

Choosing the Right JavaScript MVC Framework [Infographic]

With web design and development evolving at a fast pace in the past couple of years, more and more new tools are introduced with better approaches to facilitate a web developer’s task, tools like Angular, Backbone, and Ember. These are a few popular JavaScript libraries used to build web application using MVC architecture. It allows the app to be modular and easily maintainable.


But how do you know which of the three libraries to choose for your particular project? The following is an infographic that may help. Made by Web Design Degree Center this is an attempt to compare Angular, Backbone and Ember to help you decide the right library for your project.










Choosing the Right JavaScript MVC Framework [Infographic]

Video Games as Art: 10 Visually Stunning Video Games

If there’s one thing that makes any video game worth playing aside from the storyline and gameplay, it has to be the graphics. We’ve reached an interesting point in time where “realistic graphics” are only part of the story. While some game developers push the boundaries between the digital world and reality, others are using the same technology to embrace a simpler, albeit more stylized aesthetic. The vast differences in art direction across games and platforms makes for an unprecedented range in visual styles that appeal to every type of gamer.


The Importance of Great Graphics in Video Games


The importance of graphics cannot be denied. This is one of the reasons why video games have become more and more addicting through the years. It’s not just the rapid evolution of plots, with each new game being released having an even more complicated story than the last thing you played. It’s also the visual delight that you experience with each game, pulling you straight into its depths and making you feel that you aren’t just outside the screen clicking madly at the controller.


A video game’s graphics allow you to see the world that the game developer was thinking about when they came up with the concept. It paints a picture of an alternate reality and has the capacity to engage you even more as you feel a deeper connection with the game the better the graphics become.


The game’s graphics also sets the mood. For example, there has been a recent rise in retro-inspired graphics in video games. Because of the way they were designed, they could make one reminisce instantly and go back to the old games they use to play. Whether for nostalgia for fantasy purposes, that appeal of time travel via video game is strong.


In short, graphics seals the connection between the game and the player. They appeal to the players’ eyes, which in turn makes it appealing to their emotions and other senses more effectively.


Ten Great Examples of Awesome Video Game Graphics


With the unending contest of game developers trying to outdo each other in terms of graphic design, there have emerged a few that prove to be truly stimulating in a visual sense.


1. Uncharted


Uncharted Drakes Fortune 1


Uncharted Drakes Fortune 2


Uncharted Drakes Fortune 3


Image Source: Naughtydog


A series of third-person shooter games by Naughty Dog, Uncharted was published by Sony for PlayStation consoles. With the most recent episode, A Thief’s End, to be released this year, one can’t help but notice how much the game has evolved since it was first released in 2007.


The game features the story of Nathan Drake, a treasure hunter who has a knack for solving complicated puzzles, going through any kind of terrain, and going against anybody who stands in the way of him and his next big discovery.


A true visual gem, it stood on top of its class in terms of visuals for each release. And knowing how the past releases were designed, the next one has all gamers holding their breath in anticipation.


2. Journey


Journey 1


Journey 2


Journey 3


Image Source: Thatgamecompany


An indie game made by Thatgamecompany for PlayStation 3, this adventure game takes you through an ethereal environment and steers clear from the usual noisy, chaotic gaming experience. Instead of focusing on enemies to slay, it prompts each player to use their emotions and bank on their sense of curiosity as they explore an unknown desert world.


Of course, nothing else can make the entire experience more surreal than the light and conceptual way that it was designed. The illustrators said they wanted to steer clear of realism, as this evolves through time; what they wanted to create was a sense of timelessness, something that they definitely achieved through the game’s design.


3. Limbo


Limbo 1


Limbo 2


Limbo 3


Image Source: Playdead


Where other modern video games aim to give the user a realistic experience, Limbo does the opposite by giving you a black and white 2D sidescroller. So what makes its graphics special? It’s exactly that. The eerie effect that they achieved with the flat black and white visuals.


The puzzle game gives the player a real sense of dread, that feeling of emptiness and hopelessness as you venture through a world that seems to have no end.


4. Shadow of the Colossus


Shadow of the Colossus


Shadow of the Colossus 2


Shadow of the Colossus 3


Image Source: Playstation


The single player action-adventure game tells the tale of a young warrior who is tasked to destroy 16 colossal beasts to restore the health of his fallen love. It all revolves around a single temple, where you start out in each quest.


Graphics definitely play a big part here, as this is what would allow you to fully grasp the size and level of difficulty that comes with defeating each colossi. And yes, Team ICO from Japan definitely pulled it off as the beasts prove to be larger than life and even more daunting as you slay one colossi after another.


5. Flower


Flower 1


Flower 2


Flower 3


Image Source: Thatgamecompany


Another visual masterpiece from Thatgamecompany, Flower proves to be relaxing, but also challenging in its own little ways. It basically allows the player to control the wind as it takes a single petal around the world, giving everything it touches a breath of new life. You then create a floral trail that flows through the magical world that you have created as you guide the petals against the wind.


With a game that involves colorful flowers, it is a definite requirement to get the graphics just right. And just as expected, Flower’s developers pulled it off perfectly. The game’s graphics have an almost dainty feeling to them, but without overdoing it. It gives that sense of life as you play the game, allowing you to truly experience how to be one with the wind.


6. Sword & Sworcery


Sword & Sworcery 1


Sword & Sworcery 2


Sword & Sworcery 3


Image Source: Capy Bara Games


Created by Superbrothers and Capybara Games, Sword & Swrocery manages to blend the idea of heroes that has been instilled into gamers’ minds since childhood with quests that only today’s world could bring. No, the game does not rely on realism with its graphics. It does create an almost ethereal world, showing beauty that you can rarely get anywhere else.


What makes it work spectacularly is the fact that the soundtrack is just as dreamy as its graphics. This gives an even more stimulating experience as you get lost in the magical world that your character is moving around in.


7. BioShock Infinite


BioShock Infinite


BioShock Infinite 2


BioShock Infinite 3


Image Source: Bioshockinfinite


First-person shooter games are made even better with the kind of graphics that make the game your reality, something that the entire BioShock franchise has perfected. BioShock Infinite does not disappoint and stays true to the kind of visuals that has always been expected from the series.


Imagine a fictional city up in the air, a community composed of balloons, blimps, and quantum levitation. Set in 1912, it takes so much effort to make a player feel that this is even near the reality that he knows. Amazingly, BioShock Infinite does make you believe that this floating world is real, considering the way the entire game is designed.


8. The Elder Scrolls V: Skyrim


Skyrim 1


Skyrim 2


Skyrim 3


Image Source: Elder Scrolls


Skyrim has definitely caught the attention of fans not just because of the gameplay, but because of the amazingly realistic graphics. Where dragons appear out of nowhere and mountainous terrain are to be explored, you can just imagine the amount of detail that went into this game.


The game was initially designed by hand, which explains the unbelievable detail that you see in the smallest parts of the game. And the fact that the race of the character you choose should stand out among all the others, even greater effort was placed in shaping what each race looks like, carefully molded to make them fit the personalities and traits that they are known for.


9. Mirror’s Edge


MirrorsEdge 1


MirrorsEdge 2


MirrorsEdge 3


Image Source: EA


The action-adventure platform game has been getting mixed reviews since it was first released, but there is one constant in every comment made about it. No matter how confusing other people believe the game to be, all would agree that the graphics are superb. And considering the fact that its gameplay involves parkour-inspired moves, its realism definitely takes it to a whole new level.


The game is infuriating, that much is a given. It requires the player to hone the skills of the main character, so you would definitely have to fail a few times before you can complete levels. But for those who would rather look at it from the developer’s point of view, it does make sense that the amount of realism that the graphics bring should also translate into its gameplay. After all, nobody is born great, and constant failure and practice is needed to move forward, something that Faith, the game’s main character, is expected to learn.


10. The Legend of Zelda: Wind Waker


The Legend of Zelda- Wind Waker 1


The Legend of Zelda- Wind Waker 2


The Legend of Zelda- Wind Waker 3


Image Source: Zelda


The tenth in The Legend of Zelda series, it continues the timeless game that people have enjoyed for generations. And the best part about it is the fact that the visuals have been thoroughly updated, giving you an even better view of all the action that goes on within the game.


The art is vibrant, and definitely gives life to each character’s unique personality. Where the original series tends to be on the traditional side, Windwaker is fresh and enhanced in so many ways that it makes fantasy an inviting world to live in.


Tell Us Your Favorites


With these ten games showcasing the best visuals you have ever seen, they have definitely set a standard for future games to follow or surpass. Leave a comment below and tell us about your favorite game graphics, whether current or decades old. We’d love to hear your thoughts.


Video Games as Art: 10 Visually Stunning Video Games

How to Improve HTML Table Accessibility with Markup

Web accessibility refers to designing web applications in a way that it can be used with ease by people with visual disabilities. Some of these users rely on screen readers to read out the content in the web pages. The screen readers interpret the code present on the page and read out its content to the user.


<table> is a widely used HTML element to display data in a structured fashion in webpages. Its design ranges from simple ones to complex ones, complete with row headers, merged headers etc.


If a table is not designed with accessibility in mind, it will be difficult for the screen readers to translate the data in complex tables meaningfully for the users. Hence, to make complex HTML tables more easily understandable, for accessibility, we must ensure that the headers, column groups, row groups, etc. are clearly defined. We’ll see below how this is achieved in markup.


The Scope Attribute


Even for a simple table with <th> tag that clearly defines the headers, you can improve its accessibility with the scope attribute and not give way to any confusion that may arise from similar types of data in the cells.


Table 1
<table> <tr> <th scope="col">Employee Name</th> <th scope="col">Employee Code</th> <th scope="col">Project Code</th> <th scope="col">Employee Designation</th> </tr> <tr> <td>John Doe</td> <td>32456</td> <td>456789</td> <td>Director</td> </tr> <tr> <td>Miriam Luther</td> <td>78902</td> <td>456789</td> <td>Deputy Director</td> </tr> </table> 

What does scope attribute do? According to W3C:



In other words it helps us associate the data cells with their corresponding header cells.


Please note that in the above example you can switch <th> for <td>. As long as its scope has the value col, it will be interpreted as the corresponding column"s header.


The scope attribute can have any one of these four values; col, row, rowgroup, colgroup to refer to a column"s header, a row"s header, a group of columns" header and a group of rows" header respectively.


Complex Tables


Now let us move on to a more complex table.


Table 2

Above is a table that lists students in a class and their grades in practical and theory for three subjects.


Here is the HTML code for it. The table has used rowspan and colspan to create merged headers for the data cells.


<table> <tr> <th rowspan="2">Student Name</th> <th colspan="2">Biology</th> <th colspan="2">Chemistry</th> <th colspan="2">Physics</th> </tr> <tr> <th>Practical</th> <th>Theory</th> <th>Practical</th> <th>Theory</th> <th>Practical</th> <th>Theory</th> </tr> <tr> <th>John Doe</th> <td>A</td> <td>A+</td> <td>B</td> <td>A</td> <td>A</td> <td>A-</td> </tr> <tr> <th>Miriam Luther</th> <td>A</td> <td>A</td> <td>C</td> <td>C+</td> <td>A</td> <td>A-</td> </tr> </table> 

In the above table, each data cell, that is each of the table cells displaying the grade, is associated with three pieces of information:


  • Which student does this grade belong to?

  • Which subject does this grade belong to?

  • Is this grade for the Practical or Theory section?

Those three information are defined in three different types of header cells structurally and visually:


  • Student name

  • Subject name

  • Practical or theory

Let’s define the same for accessibility.


<table> <col> <colgroup span="2"></colgroup> <colgroup span="2"></colgroup> <colgroup span="2"></colgroup> <tr> <th rowspan="2" scope="col">Student Name</th> <th colspan="2" scope="colgroup">Biology</th> <th colspan="2" scope="colgroup">Chemistry</th> <th colspan="2" scope="colgroup">Physics</th> </tr> <tr> <th scope="col">Practical</th> <th scope="col">Theory</th> <th scope="col">Practical</th> <th scope="col">Theory</th> <th scope="col">Practical</th> <th scope="col">Theory</th> </tr> <tr> <th scope="row">John Doe</th> <td>A</td> <td>A+</td> <td>B</td> <td>A</td> <td>A</td> <td>A-</td> </tr> <tr> <th scope="row">Miriam Luther</th> <td>A</td> <td>A</td> <td>C</td> <td>C+</td> <td>A</td> <td>A-</td> </tr> </table> 

In the above markup we have added scope to cells that contain heading information about the data cells.


Column Group


Table 3

Biology, Chemistry and Physics cells are to be associated with a group of two columns each (Theory & Practical). Just adding colspan="2" does not create the column groups, it only indicates that the particular cell is to occupy two cells" worth of space.


To create columns group you must use colgroup and then add the span attribute to it indicating how many columns that column group includes.



The <th rowspan="2" scope="col">Student Name</th> markup with scope="col" helps the assistive technology identify that the cells that follow in the same column are names of students.


Similarly, cells like <th colspan="2" scope="colgroup">Biology</th> containing scope="colgroup" helps users identify that the data in the cells that follow in the column group it spans over are associated with that particular subject.


Then there is the <th scope="row">John Doe</th> markup with scope="row" that defines that the cells following it in the same row, containing the "grade" information regarding that particular student name.


Row Groups


Now let us move onto another example, this example will have almost the same table as the one above except we"ll swap row and column headers, so we"ll be able to work with row groups.


 <table> <tr> <th colspan="2">Subject</th> <th>John Doe</th> <th>Miriam Luther</th> </tr> <tr> <th rowspan="2">Biology</th> <th>Practical</th> <td>A</td> <td>A</td> </tr> <tr> <th>Theory</th> <td>A+</td> <td>A</td> </tr> <tr> <th rowspan="2">Chemistry</th> <th>Practical</th> <td>B</td> <td>C</td> </tr> <tr> <th>Theory</th> <td>A</td> <td>C+</td> </tr> <tr> <th rowspan="2">Physics</th> <th>Practical</th> <td>A</td> <td>A</td> </tr> <tr> <th>Theory</th> <td>A-</td> <td>A-</td> </tr> </table> 

Now that we have our sample to work with let us start by creating row groups like we did for the column groups in the previous example.


However, row groups can not be created using a tag like colgroup because there is no rowgroup element.


HTML rows are generally grouped using <thead>, <tbody> and <tfooter> elements. A single HTML <table> element can have one <thead>, one <tfoot> and multiple <tbody>. We"ll use multiple tbody in our table to create the row groups, and add the respective scope to header cells.


Table 4
<table> <colgroup span="2"></colgroup> <col> <col> <thead> <tr> <th colspan="2" scope="colgroup">Subject</th> <th scope="col">John Doe</th> <th scope="col">Miriam Luther</th> </tr> </thead> <tbody> <tr> <th rowspan="2" scope="rowgroup">Biology</th> <th>Practical</th> <td>A</td> <td>A</td> </tr> <tr> <th>Theory</th> <td>A+</td> <td>A</td> </tr> </tbody> <tbody> <tr> <th rowspan="2" scope="rowgroup">Chemistry</th> <th>Practical</th> <td>B</td> <td>C</td> </tr> <tr> <th>Theory</th> <td>A</td> <td>C+</td> </tr> </tbody> <tbody> <tr> <th rowspan="2" scope="rowgroup">Physics</th> <th>Practical</th> <td>A</td> <td>A</td> </tr> <tr> <th>Theory</th> <td>A-</td> <td>A-</td> </tr> </tbody> </table> 

We have added the rows "Practical" and "Theory" in each tbody creating row groups with two rows in each. We also have added the scope="rowgroup" to the cells containing the heading information about those two rows (which is the subject name the grades belong to in this case).



Now Read:
Equal Column Height With CSS


Editor’s note: This is written for Hongkiat.com by Preethi R. Preethi is a .NET Web developer with a Java past and a bias for Firefox, Windows & DC Comic movies.










How to Improve HTML Table Accessibility with Markup