Audi Piloted Driving: In the footsteps of Strelka

Post pobrano z: Audi Piloted Driving: In the footsteps of Strelka

Film, Online
Audi

A short film documentary about the searching of the currents descendants of the Soviet space heroin, Strelka. A Russian stray dog who became the first living being to return from space This documentary reveals an exciting true story, told by those who experienced it in person. An exciting journey that begins in the turbulent Cold War and ends in the present day. From the stratosphere to Missouri, passing through the Kremlin, the White House and the glamorous Hollywood of the 1960s. The documentary appears on legadodestrelka.es, a digital platform where you can see as well a viral video that recreates Strelka’s great-great-grandson’s tribute to his admired grandmother. Site: http://www.legadodestrelka.es/en/

Advertising Agency:DDB, Barcelona, Spain
General Creative Director:Jose Maria Roca De Vinals
Executive Creative Director:Jaume Badia
Creative Director:Guille Ramirez, Alex Ademà
Art Director:Silvia Cutillas
Copywriter:Javier Nuñez
Producer:Vicky Monino, Laia Vidal
Production Company:Blur
Executive Producer:Mario Forniés
Film Director:Marc Corominas, Anuska Peñalba
DoP:Román Martínez de Bujo

Design deals for the week

Post pobrano z: Design deals for the week

Every week, we’ll give you an overview of the best deals for designers, make sure you don’t miss any by subscribing to our deals feed. You can also follow the recently launched website Type Deals if you are looking for free fonts or font deals.

3D Lettering Mega Bundle of Grunge, Ice, Cubes & more

Want to have some real fun with your fonts? Try adding some real 3D texture to your words! Thanks to this 3D Lettering Mega Bundle from MIIM Design, you can do just that. You’ll get 6 super creative 3D lettering sets that range from grunge painted wood to realistic ice. It’s high time you really let your letters speak for you.

$12 instead of $148 – Get it now!

The Brilliant Font Bundle

The Brilliant Font Bundle Volume II has arrived. Jam-packed with 46 fonts from 30 different font families for only $21. Saving you 95% off the RRP!

$21 instead of $429 – Get it now!

Didonesque Font Family with 16 Beautiful & Elegant Fonts

Give your typeface toolbox a luxurious makeover with the Didonesque Font Family! You’ll get 16 beautiful, elegant typefaces that were all inspired by the classic Didone fonts. With a variety of OpenType features and multilingual support, Didonesque is a great choice for your next branded project.

$19 instead of $160 – Get it now!

The Crafters Delight Bundle

The Crafters Delight Bundle Volume II is here! The 2nd Instalment of our Crafters Delight Series includes over 900 design elements perfect for crafters.

Packed with SVG’s, Fonts, Monograms, Wreaths, Arrows Silhouettes, Flourishes, Decorative Items, Cut Files and more!

$24 instead of $365 – Get it now!

Lifetime Access to 145+ Tech Courses at Stone River eLearning

When it comes to getting an education in technology, there’s an awful lot to learn. Good thing you’ve got a lifetime ahead of you! With this Mighty Deal from Stone River eLearning, you can get a lifetime access to more than 145 amazing courses built to help you master everything from graphic design to iPhone app development! That’s more than 500 hours of online learning!

$111 instead of $11236 – Get it now!

Taking advantage of negative space in web design

Post pobrano z: Taking advantage of negative space in web design

Negative space is an often misunderstood and underused idea. It breaks down very simply. Positive space represents the elements of your site—navigation, content, ads, images, and so forth. Negative space is where those things are not.

It’s the empty space between those elements, the space around and between them. Negative space helps structure and define your website design.

It’s a necessity that you rarely think about. Understanding how it plays a part in web design more thoroughly will help your designs achieve results better.

https://dribbble.com/shots/3765288-Rockefeller-Partners-Architects

There are two kinds of negative space: micro negative space and macro negative space.

Micro negative space is the small spaces between the small elements of your web design, like the space between lines of type, the space between paragraphs, even the spaces between words and letters.

Macro negative space, on the other hand, is the space between larger elements like your header and footer. Both micro and macro negative space are vitally important to the overall effectiveness of your design.

Why is Negative Space So Important?

https://dribbble.com/shots/1482948-Lesley-Anne-Scorgie-Personal-Website

Negative space makes a huge impact on the usability of a site. It makes sure that the users find it easy to read the text and easy to navigate between different pages or elements.

A cluttered, visually busy site makes it incredibly hard to find what you want to be found.

Negative space is especially useful in the header design, where the first impression of your site is created.

It’s all too easy to think that you need to fill up every last bit of screen space with info to catch a potential customer’s attention, but the truth is that this overabundance of information makes it harder for that potential customer to focus on what they need and want to know.

https://dribbble.com/shots/1988063-Reclaimed-Lighting-Homepage

It’s very important for a web designer to understand the vital importance of negative space. You’ll probably find clients that want an incredibly cluttered site design. You need to calmly convince them of how that is more of a hindrance than a help to their business or organization.

A site with negative space is not a waste of money or screen space. It’s an important element of creating a useful, clean, navigable, and professional looking website that will help them stand out.

How do you explain this to a client?

Getting Clients to Understand Negative Space

The first thing you need to do is demonstrate to your client that you can, in fact, fit everything necessary (and a lot of desired elements) onto a cleaner looking website that makes use of negative space.

https://dribbble.com/shots/3956119-Koralis-Software-Agency-homepage

It’s okay if potential customers need to scroll through the site, and is in fact expected. Content should still be chosen widely, especially the content that will be featured on the front page and “above the fold”. Offering too many options on the front page can make the site unnavigable to a user, who will quickly move on.

A well-designed site’s negative space will not even be obvious to a user. They will instead focus on what matters. They’ll pay attention to the details of a product or service, or find it easier to find the articles that interest them. For most website design, the best approach is “less is more”.

Think of Negative Space as an Active Element of Web Design

https://dribbble.com/shots/1804403-It-s-real

A lot of fancier elements of web design do not actually make a very big impact on a user’s experience, like flat design or parallax scrolling, but they are still treated as active elements of design.

You really think about them. Start to think of negative space in the same way, because it definitely makes an impact on the user experience of the website.

Now that you’re going to start thinking about negative space as a design element unto itself, what are ways that you use negative space? There are a lot of them we see and use in web designs that we don’t even think about.

Page breaks

https://dribbble.com/shots/3206666-Disability-page-animation

Negative space is used to offer visual relief and separation between messages and items on the webpage. This allows the viewer to between understand what’s going on.

If they better understand what’s going on, they can better get to the goal that you and/or your client want them to achieve.

Highlighting a central message

Negative space will draw a user’s eyes to the main items on the page.

It helps make sure the page is focused on the message and emotions it wants to communicate. It makes the page more readable without having to anything elaborate.

Directing the flow of a page

https://dribbble.com/shots/3633666-Blog-Single-Post-Negative-Space

Negative space dictates the way a user moves through the page and the entire site.

Placing it in certain ways can direct people to scroll down for more info, view page elements in a particular pattern, or prompt them to go to a different landing page. Negative space creates visual relationships between elements and provides direction.

How to Successfully Apply Negative Space

Practice different arrangements of negative space. Every website will need to use negative space in a different way. Some might need to use it less, while others may need more.

Make sure the pages are easy to read and comprehend

https://www.mapbox.com/

Before you even begin to work on the design proper, create a list of required interface elements. Doing this will help you to estimate how much content the page will need.

From there, you can create a rough wireframe to see how much space you require to include all this content in a way that can be easily read and understood.

Keep the design fresh and modern

Proportionate font sizes and asymmetrical uses of negative space create an overall very stylish look that is both uncluttered and interesting.

Use negative space practically

https://hitask.com/

This will assist in the overall readability. Separate blocks of content out to make it easier for visitors to access. Include margins between different elements. Use padding to create space inside an element and prevent overcrowding.

Experiment with the proximity and containment of the elements

https://asana.com/

Proximity is how close or far objects are from each other, while containment is used to group objects together.

Understanding how negative space focuses and organizes a page will help you get the elements right.

Conclusion

Negative space can make all the difference in the functionality of a web page. You should create your web designs while thinking of negative space as a major element.

How Would You Solve This Rendering Puzzle In React?

Post pobrano z: How Would You Solve This Rendering Puzzle In React?

Welcome, React aficionados and amateurs like myself! I have a puzzle for you today.

Let’s say that you wanted to render out a list of items in a 2 column structure. Each of these items is a separate component. For example, say we had a list of albums and we wanted to render them a full page 2 column list. Each „Album” is a React component.

Scroll rendering problem

Now assume the CSS framework that you are using requires you to render out a two column layout like this…

<div class="columns">
  <div class="column"> Column 1 </div>
  <div class="column"> Column 2 </div>
<div class="columns">

This means that in order to render out the albums correctly, you have to open a columns div tag, render two albums, then close the tag. You do this over and over until all the albums have been rendered out.

I solved it by breaking the set into chunks and rendering on every other album conditionally in a separate render function. That render function is only called for every other item.

class App extends Component { 
  state = {albums: [] }

  async componentDidMount() { 
    let data = Array.from(await GetAlbums());
    this.setState({ albums: data } ); 
  } 

  render() { 
    return (
      <section className="section">
        {this.state.albums.map((album, index) => {
          // use the modulus operator to determine even items return index % 2 ?
          this.renderAlbums(index) : '';
        })}
      </section> 
    )
  }

  renderAlbums(index) { 
    // two albums at a time - the current and previous item
    let albums = [this.state.albums[index - 1], this.state.albums[index]]; 
    
    return (
      <div className="columns" key={index}>
        {albums.map(album => {
          return (
            <Album album={album} />
          );
        })}
      </div>
    );
  }
}

View Full Project

Another way to do this would be to break the albums array up into a two-dimensional array and iterate over that. The first highlighted block below splits up the array. The second is the vastly simplified rendering logic.

class App extends Component { 
  state = {albums: []}
  
  async componentDidMount() { 
    let data = Array.from(await GetAlbums());
    
    // split the original array into a collection of two item sets
    data.forEach((item, index) => {
      if (index % 2) {
        albums.push([data[index - 1], data[index]]);
      }
    });

    this.setState({
      albums: albums
    });
  } 

  render() {
    return ( 
      <section className="section">
        {this.state.albums.map((album, index) => { 
          return ( 
            <div className="columns">
              <Album album={album[0]}></Album> 
              <Album album={album[1]}></Album> 
            </div> 
          ) 
        })}
      </section> 
    ) 
  } 
}

View Full Project

This cleans up the JSX quite a bit, but now I’m redundantly entering the Album component, which just feels wrong.

Sarah Drasner pointed out to me that I hadn’t even considered one of the more important scenarios here, and that is the unknown bottom scenario.

Unknown Bottom

Both of my solutions above assume that the results set received from the fetch is final. But what if it isn’t?

What if we are streaming data from a server (ala RxJs style) and we don’t know how many times we will receive a results set, and we don’t know how many items will be in a given set. That seriously complicates things and utterly destroys the proposed solutions. In fact, we could go ahead and say that neither of these solutions are ideal because they don’t scale to this use case.

I feel like the absolute simplest solution here would be to fix this in the CSS. Let the CSS worry about the layout the way God intended. I still think it’s important to look at how to do this with JSX because there are people building apps in the real world who have to deal with shenanigans like this every day. The requirements are not always what we want them to be.

How Would You Do It?

My question is just that — how would you do this? Is there a cleaner more efficient way? How can this be done so that it scales with an unknown bottom? Inquiring minds (mine specifically) would love to know.


How Would You Solve This Rendering Puzzle In React? is a post from CSS-Tricks

Evolution of img: Gif without the GIF

Post pobrano z: Evolution of img: Gif without the GIF

Colin Bendell writes about a new and particularly weird addition to Safari Technology Preview in this excellent post about the evolution of animated images on the web. He explains how we can now add an MP4 file directly to the source of an img tag. That would look something like this:

<img src="video.mp4"/>

The idea is that that code would render an image with a looping video inside. As Colin describes, this provides a host of performance benefits:

Animated GIFs are a hack. […] But they have become an awesome tool for cinemagraphs, memes, and creative expression. All of this awesomeness, however, comes at a cost. Animated GIFs are terrible for web performance. They are HUGE in size, impact cellular data bills, require more CPU and memory, cause repaints, and are battery killers. Typically GIFs are 12x larger files than H.264 videos, and take 2x the energy to load and display in a browser. And we’re spending all of those resources on something that doesn’t even look very good – the GIF 256 color limitation often makes GIF files look terrible…

By enabling video content in img tags, Safari Technology Preview is paving the way for awesome Gif-like experiences, without the terrible performance and quality costs associated with GIF files. This functionality will be fantastic for users, developers, designers, and the web. Besides the enormous performance wins that this change enables, it opens up many new use cases that media and ecommerce businesses have been yearning to implement for years. Here’s hoping the other browsers will soon follow.

This seems like a weird hack but, after mulling it over for a second, I get how simple and elegant a solution this is. It also sort of means that other browsers won’t have to support WebP in the future, too.

Direct Link to ArticlePermalink


Evolution of img: Gif without the GIF is a post from CSS-Tricks

Calendar with CSS Grid

Post pobrano z: Calendar with CSS Grid

Here’s a nifty post by Jonathan Snook where he walks us through how to make a calendar interface with CSS Grid and there’s a lot of tricks in here that are worth digging into a little bit more, particularly where Jonathan uses grid-auto-flow: dense which will let Grid take the wheels of a design and try to fill up as much of the allotted space as possible.

As I was digging around, I found a post on Grid’s auto-placement algorithm by Ian Yates which kinda fleshes things out more succinctly. Might come in handy.

Oh, and we have an example of a Grid-based calendar in our ongoing collection of CSS Grid starter templates.

Direct Link to ArticlePermalink


Calendar with CSS Grid is a post from CSS-Tricks