Archive

Archive for August, 2020

Designing Clarity – A Podcast Series for Innovating and Designing Your New Normal

August 24th, 2020 No comments

I am very excited to share the launch of my first podcast series with you!

My team and I have not blogged much this year. We could not figure out the best format to get our thoughts across to you. We are not even sure if blogging is still a good format to do so. Therefore, after 2 months of watching all possible YouTube videos out there, I decided to go with the podcast medium.

This podcast has been a small team effort, an MVP if you like, or minimal viable product. Therefore it is not perfect at all. Not only that, when all my guests asked me what this podcast is all about, I had no idea.

The important thing here was to start. And thus this ended up like every good design exercise, the title was iterated until it made sense. Designing Clarity (no pun intended) is a podcast series for business leaders and entrepreneurs looking to innovate and design their new normal.

Episode zero was meant to be the genesis of what this podcast series is all about and my motivations to do so. I hope you enjoy the episode (below) and I hope that you can benefit from the use of Design’s Superpower to help you figure out what to do next!

???????

This podcast series is hosted on Anchor. Listen and subscribe to it on Apple Podcasts and Spotify for the latest episodes.

The post Designing Clarity – A Podcast Series for Innovating and Designing Your New Normal appeared first on Design Sojourn. Please click above if you cannot see this post.

Categories: Designing, Others Tags:

Popular Design News of the Week: August 17, 2020 – August 23, 2020

August 23rd, 2020 No comments

Every week users submit a lot of interesting stuff on our sister site Webdesigner News, highlighting great content from around the web that can be of interest to web designers.

The best way to keep track of all the great stories and news being posted is simply to check out the Webdesigner News site, however, in case you missed some here’s a quick and useful compilation of the most popular designer news that we curated from the past week.

10 Best Logo Fonts for your Next Logo Project

UI Playbook – The Documented Collection of UI Components

10 Factors to Consider When Choosing the Best Web Hosting Service

Best Practices in Responsive Landing Page Creation for Beginners

19 Useful Google Apps Scripts to Automate Google Drive

Simple, Open Source Alternative to Google Analytics

EazyCSS – No Code CSS Editor for any Website

I Tried to Live Without the Tech Giants. It was Impossible

Full Site Editing in WordPress: Lowering Barriers to Entry or the End of Themes?

How to Start a Successful Membership Business Without a Huge Audience

Biden-Harris Logo

Slate, Create Beautiful, Responsive API Documentation

Responsive Vs. Adaptive: 7 Best Mobile Web Design Practices

Fleava Digital Agency

Nightmare: I Tried to Use WordPress with Github Pages

Podcastle – Convert News/Articles to a Podcast Using ML

Create a Custom Color Palette for the WordPress Gutenberg Editor

5 Most Annoying Website Features I Face as a Blind Person Every Single Day

Building a Design System Library

Choosing Typography for Web Design: 5 Things to Consider

Why do We Interface?

How to Create a Great Design System for your Brand

How to Clone a WordPress Site

5 Steps to Improve your Logo Design

Turning Stock Charts into Landscape Art

Want more? No problem! Keep track of top design news from around the web with Webdesigner News.

Source

Categories: Designing, Others Tags:

Offering Options for mailto: and tel: Links

August 21st, 2020 No comments

I generally like mailto: links. But I feel like I can smell a mailto: link without even inspecting or clicking it, like some kind of incredibly useless superpower. I know that if I’ve got my default mail client set, clicking that link will do what I want it to do, and if I want, I can right-click and the browser will give me a “Copy email address” option to grab it cleanly.

That’s cool and all, but Adam Silver and Amy Hupe recently enumerated the problems with how these links behave:

Firstly, mailto links make it hard to copy the address, for example if you want to share the email address with someone else.

Secondly, some users use more than one mail app, and the link just uses whichever has been setup as the default, without giving them the option to use the other.

And finally, many users don’t have an email application set up, which means the link can take them to a dead end or down a rabbit hole.

Their UI experimentation ended up using a mailto: link, but putting the entire email address as the link which makes it especially obvious what the link does, while also offering a Copy button for a little UX bonus.

tel: links are weirder in the sense that a good many devices looking at them don’t have any phone-calling functionality. If they do, it’s a lot like email links in that multiple apps could do that work (e.g. WhatsApp, FaceTime, or the default phone app).

The hard part of the UX of all this is offering users choice on what they want these special link types to do. That’s what mailgo is attempting to solve. It’s a little JavaScript library that offers UI when you click them.

Live demo:

CodePen Embed Fallback

I kinda like it. I wouldn’t mind at all if that popped up when I clicked a link like this, especially since it has that “open default” option if I want that anyway. Seems to check all the boxes for the problems these types of special links can have.


The post Offering Options for mailto: and tel: Links appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Categories: Designing, Others Tags:

A CSS-only, animated, wrapping underline

August 21st, 2020 No comments

Nicky Meuleman, inspired by Cassie Evans, details how they built the anchor link hover on their sites. When a link is hovered, another color underline kinda slides in with a gap between the two. Typical text-decoration doesn’t help here, so multiple backgrounds are used instead, and fortunately, it works with text that breaks across multiple lines as well.

CodePen Embed Fallback

Direct Link to ArticlePermalink


The post A CSS-only, animated, wrapping underline appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Categories: Designing, Others Tags:

Let’s Make a Vue-Powered Monthly Calendar

August 21st, 2020 No comments
Calendar grid showing the first two and last two days highlighted in red, indicated they are coming from the previous and next months.

Have you ever seen a calendar on a webpage and thought, how the heck did they did that? For something like that, it might be natural to reach for a plugin, or even an embedded Google Calendar, but it’s actually a lot more straightforward to make one than you might think. Especially when we use the component-driven power of Vue.

I’ve set up a demo over at CodeSandbox so you can see what we’re aiming for, but it’s always a good idea to spell out what we’re trying to do:

  • Create a month view grid that displays the days of the current month
  • Display dates from the previous and next months to so the grid is always full
  • Indicate the current date
  • Show the name of the currently selected month
  • Navigate to the previous and next month
  • Allow the user to navigate back to the current month with a single click

Oh, and we’ll build this as a single page application that fetches calendar dates from Day.js, a super light utility library.

Step 1: Start with the basic markup

We’re going to jump straight into templates. If you’re new to Vue, Sarah’s introduction series is a nice place to start. It’s also worth noting that I’ll be linking to the Vue 2 docs throughout this post. Vue 3 is currently in beta and the docs for it are subject to change.

Let’s start with creating a basic template for our calendar. We can outline our markup as three layers where we have:

  • A section for the calendar header. This will show components with the currently selected month and the elements responsible for paginating between months.
  • A section for the calendar grid header. A table header that holds a list containing the days of the week, starting with Monday.
  • The calendar grid. You know, each day in the current month, represented as a square in the grid.

Let’s write this up in a file called CalendarMonth.vue. This will be our main component.

<!-- CalendarMonth.vue -->
<template>
  <!-- Parent container for the calendar month -->
  <div class="calendar-month">
     
    <!-- The calendar header -->
    <div class="calendar-month-header"
      <!-- Month name -->
      <CalendarDateIndicator />
      <!-- Pagination -->
      <CalendarDateSelector />
    </div>

    <!-- Calendar grid header -->
    <CalendarWeekdays />

    <!-- Calendar grid -->
    <ol class="days-grid">
      <CalendarMonthDayItem />
    </ol>
  </div>
</template>

Now that we have some markup to work with, let’s go one step further and create required components.

Step 2: Header components

In our header we have two components:

  • CalendarDateIndicator shows the currently selected month.
  • CalendarDateSelector is responsible for paginating between months.

Let’s start with CalendarDateIndicator. This component will accept a selectedDate property which is a Day.js object that will format the current date properly and show it to the user.

<!-- CalendarDateIndicator.vue -->
<template>
  <div class="calendar-date-indicator">{{ selectedMonth }}</div>
</template>

<script>
export default {
  props: {
    selectedDate: {
      type: Object,
      required: true
    }
  },

  computed: {
    selectedMonth() {
      return this.selectedDate.format("MMMM YYYY");
    }
  }
};
</script>

That was easy. Let’s go and create the pagination component that lets us navigate between months. It will contain three elements responsible for selecting the previous, current and next month. We’ll add an event listener on those that fires the appropriate method when the element is clicked.

<!-- CalendarDateSelector.vue -->
<template>
  <div class="calendar-date-selector">
    <span @click="selectPrevious">﹤</span>
    <span @click="selectCurrent">Today</span>
    <span @click="selectNext">﹥</span>
  </div>
</template>

Then, in the script section, we will set up two props that the component will accept:

  • currentDate allows us to come back to current month when the “Today” button is clicked.
  • selectedDate tells us what month is currently selected.

We will also define methods responsible for calculating the new selected date based on the currently selected date using the subtract and add methods from Day.js. Each method will also $emit an event to the parent component with the newly selected month. This allows us to keep the value of selected date in one place — which will be our CalendarMonth.vue component — and pass it down to all child components (i.e. header, calendar grid).

// CalendarDateSelector.vue
<script>
import dayjs from "dayjs";

export default {
  name: "CalendarDateSelector",

  props: {
    currentDate: {
      type: String,
      required: true
    },

    selectedDate: {
      type: Object,
      required: true
    }
  },

  methods: {
    selectPrevious() {
      let newSelectedDate = dayjs(this.selectedDate).subtract(1, "month");
      this.$emit("dateSelected", newSelectedDate);
    },

    selectCurrent() {
      let newSelectedDate = dayjs(this.currentDate);
      this.$emit("dateSelected", newSelectedDate);
    },

    selectNext() {
      let newSelectedDate = dayjs(this.selectedDate).add(1, "month");
      this.$emit("dateSelected", newSelectedDate);
    }
  }
};
</script>

Now, let’s go back to the CalendarMonth.vue component and use our newly created components.

To use them we first need to import and register the components, also we need to create the values that will be passed as props to those components:

  • today?properly formats today’s date and is used as a value for the “Today” pagination button.
  • selectedDate?is the ?currently selected date (set to today’s date by default).

The last thing we need to do before we can render the components is create a method that’s responsible for changing the value of selectedDate. This method will be fired when the event from the pagination component is received.

// CalendarMonth.vue
<script>
import dayjs from "dayjs";
import CalendarDateIndicator from "./CalendarDateIndicator";
import CalendarDateSelector from "./CalendarDateSelector";

export default {
  components: {
    CalendarDateIndicator,
    CalendarDateSelector
  },

  data() {
    return {
      selectedDate: dayjs(),
      today: dayjs().format("YYYY-MM-DD")
    };
  },

  methods: {
    selectDate(newSelectedDate) {
      this.selectedDate = newSelectedDate;
    }
  }
};
</script>

Now we have everything we need to render our calendar header:

<!-- CalendarMonth.vue -->
<template>
  <div class="calendar-month">
    <div class="calendar-month-header">
      <CalendarDateIndicator
        :selected-date="selectedDate"
        class="calendar-month-header-selected-month"
      />
      <CalendarDateSelector
        :current-date="today"
        :selected-date="selectedDate"
        @dateSelected="selectDate"
      />
    </div>
  </div>
</template>

This is a good spot to stop and see what we have so far. Our calendar header is doing everything we want, so let’s move forward and create components for our calendar grid.

Step 3: Calendar grid components

Here, again, we have two components:

  • CalendarWeekdays shows the names of the weekdays.
  • CalendarMonthDayItem represents a single day in the calendar.

The CalendarWeekdays component contains a list that iterates through the weekday labels (using the v-for directive) and renders that label for each weekday. In the script section, we need to define our weekdays and create a computed property to make it available in the template and cache the result to prevent us from having to re-calculate it in the future.

// CalendarWeekdays.vue
<template>
  <ol class="day-of-week">
    <li
      v-for="weekday in weekdays"
      :key="weekday"
    >
      {{ weekday }}
    </li>
  </ol>
</template>


<script>
const WEEKDAYS = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];

export default {
  name: 'CalendarWeekdays',

  computed: {
    weekdays() {
      return WEEKDAYS
    }
  }
}
</script>

Next is CalendarMonthDayItem. It’s a list item that receives a day property that is an object, and a boolean prop, isToday, that allows us to style the list item to indicate that it’s the current date. We also have one computed property that formats the received day object to our desired date format (D, or the numeric day of the month).

// CalendarMonthDayItem.vue
<template>
  <li
    class="calendar-day"
    :class="{
      'calendar-day--not-current': !isCurrentMonth,
      'calendar-day--today': isToday
    }"
  >
    <span>{{ label }}</span>
  </li>
</template>


<script>
import dayjs from "dayjs";

export default {
  name: "CalendarMonthDayItem",

  props: {
    day: {
      type: Object,
      required: true
    },

    isCurrentMonth: {
      type: Boolean,
      default: false
    },

    isToday: {
      type: Boolean,
      default: false
    }
  },

  computed: {
    label() {
      return dayjs(this.day.date).format("D");
    }
  }
};
</script>

OK, now that we have these two components, let’s see how we can add them to our CalendarMonth component.

We first need to import and register them. We also need to create a computed property that will return an array of objects representing our days. Each day contains a date property and isCurrentMonth property.

// CalendarMonth.vue
<script>
import dayjs from "dayjs";
import CalendarMonthDayItem from "./CalendarMonthDayItem";
import CalendarWeekdays from "./CalendarWeekdays";


export default {
  name: "CalendarMonth",

  components: {
    // ...
    CalendarMonthDayItem,
    CalendarWeekdays
  },

  computed: {
    days() {
      return [
        { date: "2020-06-29", isCurrentMonth: false },
        { date: "2020-06-30", isCurrentMonth: false },
        { date: "2020-07-01", isCurrentMonth: true },
        { date: "2020-07-02", isCurrentMonth: true },
        // ...
        { date: "2020-07-31", isCurrentMonth: true },
        { date: "2020-08-01", isCurrentMonth: false },
        { date: "2020-08-02", isCurrentMonth: false }
      ];
    }
  }
};
</script>

Then, in the template, we can render our components. Again, we use the v-for directive to render the required number of day elements.

<!-- CalendarMonth.vue -->
<template>
  <div class="calendar-month">
    <div class="calendar-month-header">
      // ...
    </div>

    <CalendarWeekdays/>

    <ol class="days-grid">
      <CalendarMonthDayItem
        v-for="day in days"
        :key="day.date"
        :day="day"
        :is-today="day.date === today"
      />
    </ol>
  </div>
</template>

OK, things are starting to look good now. Have a look at where we are. It looks nice but, as you probably noticed, the template only contains static data at the moment. The month is hardcoded as July and the day numbers are hardcoded as well. We will change that by calculating what date should be shown on a specific month. Let’s dive into the code!

Step 4: Setting up current month calendar

Let’s think how we can calculate the date that should be shown on a specific month. That’s where Day.js really comes into play. It provides all the data we need to properly place dates on the correct days of the week for a given month using real calendar data. It allows us to get and set anything from the start date of a month to all the date formatting options we need to display the data.

We will:

  • Get the current month
  • Calculate where the days should be placed (weekdays)
  • Calculate the days for displaying dates from the previous and next months
  • Put all of the days together in a single array

We already have Day.js imported in our CalendarMonth component. We’re also going to lean on a couple of Day.js plugins for help. WeekDay helps us set the first day of the week. Some prefer Sunday as the first day of the week. Other prefer Monday. Heck, in some cases, it makes sense to start with Friday. We’re going to start with Monday.

The WeekOfYear plugin returns the numeric value for the current week out of all weeks in the year. There are 52 weeks in a year, so we’d say that the week starting January 1 is the the first week of the year, and so on.

Here’s what we put into CalendarMonth.vue to put all of that to use:

// CalendarMonth.vue
<script>
import dayjs from "dayjs";
import weekday from "dayjs/plugin/weekday";
import weekOfYear from "dayjs/plugin/weekOfYear";
// ...


dayjs.extend(weekday);
dayjs.extend(weekOfYear);
// ...

That was pretty straightforward but now the real fun starts as we will now play with the calendar grid. Let’s stop for a second a think what we really need to do to get that right.

First, we want the date numbers to fall in the correct weekday columns. For example, July 1, 2020, is on a Wednesday. That’s where the date numbering should start.

If the first of the month falls on Wednesday, then that means we’ll have empty grid items for Monday and Tuesday in the first week. The last day of the month is July 31, which falls on a Friday. That means Saturday and Sunday will be empty in the last week of the grid. We want to fill those with the trailing and leading dates of the previous and next months, respectively, so that the calendar grid is always full.

Adding dates for the current month

To add the days of the current month to the grid, we need to know how many days exist in the current month. We can get that using the daysInMonth method provided by Day.js. Let’s create a computed property for that.

// CalendarMonth.vue
computed: {
  // ...
  numberOfDaysInMonth() {
      return dayjs(this.selectedDate).daysInMonth();
  }
}

When we know that, we create an empty array with a length that’s equal to number of days in the current month. Then we map() that array and create a day object for each one. The object we create has an arbitrary structure, so you can add other properties if you need them.

In this example, though, we need a date property that will be used to check if a particular date is the current day. We’ll also return a isCurrentMonth value that checks whether the date is in the current month or outside of it. If it is outside the current month, we will style those so folks know they are outside the range of the current month.

// CalendarMonth.vue
computed: {
  // ...
  currentMonthDays() {
    return [...Array(this.numberOfDaysInMonth)].map((day, index) => {
      return {
        date: dayjs(`${this.year}-${this.month}-${index + 1}`).format("YYYY-MM-DD")
        isCurrentMonth: true
      };
    });
  },
}

Adding dates from the previous month

To get dates from the previous month to display in the current month, we need to check what the weekday of the first day is in selected month. That’s where we can use the WeekDay plugin for Day.js. Let’s create a helper method for that.

// CalendarMonth.vue
methods: {
  // ...
  getWeekday(date) {
    return dayjs(date).weekday();
  },
}

Then, based on that, we need to check which day was the last Monday in the previous month. We need that value to know how many days from the previous month should be visible in the current month view. We can get that by subtracting the weekday value from the first day of the current month. For example, if first day of the month is Wednesday, we need to subtract three days to get last Monday of the previous month. Having that value allows us to create an array of day objects starting from the last Monday of the previous month through the end of that month.

// CalendarMonth.vue
computed: {
  // ...
  previousMonthDays() {
    const firstDayOfTheMonthWeekday = this.getWeekday(this.currentMonthDays[0].date);
    const previousMonth = dayjs(`${this.year}-${this.month}-01`).subtract(1, "month");
    const previousMonthLastMondayDayOfMonth = dayjs(this.currentMonthDays[0].date).subtract(firstDayOfTheMonthWeekday - 1, "day").date();

    // Cover first day of the month being sunday 
    (firstDayOfTheMonthWeekday === 0)
    const visibleNumberOfDaysFromPreviousMonth = firstDayOfTheMonthWeekday ? firstDayOfTheMonthWeekday - 1 : 6;
    return [...Array(visibleNumberOfDaysFromPreviousMonth)].map((day, index) = {
      return {
        date: dayjs(`${previousMonth.year()}-${previousMonth.month() + 1}-${previousMonthLastMondayDayOfMonth + index}`).format("YYYY-MM-DD"),
        isCurrentMonth: false
      };
    });
  }
}

Adding dates from the next month

Now, let’s do the reverse and calculate which days we need from the next month to fill in the grid for the current month. Fortunately, we can use the same helper we just created for the previous month calculation. The difference is that we will calculate how many days from the next month should be visible by subtracting that weekday numeric value from seven.

So, for example, if the last day of the month is Saturday, we need to subtract one day from seven to construct an array of dates needed from next month (Sunday).

// CalendarMonth.vue
computed: {
  // ...
  nextMonthDays() {
    const lastDayOfTheMonthWeekday = this.getWeekday(`${this.year}-${this.month}-${this.currentMonthDays.length}`);
    const nextMonth = dayjs(`${this.year}-${this.month}-01`).add(1, "month");
    const visibleNumberOfDaysFromNextMonth = lastDayOfTheMonthWeekday ? 7 - lastDayOfTheMonthWeekday : lastDayOfTheMonthWeekday;

    return [...Array(visibleNumberOfDaysFromNextMonth)].map((day, index) => {
      return {
        date: dayjs(`${nextMonth.year()}-${nextMonth.month() + 1}-${index + 1}`).format("YYYY-MM-DD"),
        isCurrentMonth: false
      };
    });
  }
}

OK, we know how to create all days we need, so let’s use them and merge all days into a single array of all the days we want to show in the current month, including filler dates from the previous and next months.

// CalendarMonth.vue
computed: {
  // ...
  days() {
    return [
      ...this.previousMonthDays,
      ...this.currentMonthDays,
      ...this.nextMonthDays
    ];
  },
}

Voilà, there we have it! Check out the final demo to see everything put together.


The post Let’s Make a Vue-Powered Monthly Calendar appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Categories: Designing, Others Tags:

Leading-Trim: The Future of Digital Typesetting

August 21st, 2020 No comments

leading-trim is a suggested new CSS property that lets us remove the extra spacing in every font so that we can more predictably style text. Ethan Wang has written about it — including how Microsoft has advocated for it — and that it’s now part of the Inline Layout Module Level 3 spec.

You’d use it like this:

h1 { 
 leading-trim: both;
 text-edge: cap alphabetic;
}

This is telling the browser to look at the font file, dig into the OpenType metrics, and effectively do what Ethan demonstrates in this gif:

Why do we want to do this? Well, it would let us space text inside a button properly without any strange hacks and we’d be able to set predictable spacing values between different typefaces too. I’m pretty excited about this spec and the CSS property because it gives us yet one more tool to control the use of typography on the web — like taming line height.

Direct Link to ArticlePermalink


The post Leading-Trim: The Future of Digital Typesetting appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Categories: Designing, Others Tags:

School Website Best Practices: Designing for Success

August 21st, 2020 No comments

As students head into the fall semester, every school needs to have a solid tech strategy in place, and this all starts with a well-designed website.

This rings especially true since many schools are trying to connect with large volumes of students and keep them updated throughout COVID-19 challenges.

Having a well-designed education website is an ideal way to establish your digital presence, regardless if you work at a school with an existing web presence or are building your brand from the ground up. Whether you’re aiming to impart knowledge or simply inform students about upcoming events, your website should provide your community with any information they’re seeking.

The best education websites support your goals by incorporating solid design principles. To help, we’ll walk through these three design elements that can make your school stand out to students and families:

  1. Develop engaging learning opportunities.
  2. Create a well-organized navigation bar.
  3. Offer straightforward forms.

To easily incorporate these strategies, you’ll first need an intuitive content management system (CMS) built specifically for the education sector. These will offer education-based functionality that more generic ones won’t include. To kick off your search, take a look at Morweb’s list of top school website builders. This will help you choose one that supports your goals, which is vital to school web design success.

Ready to create a beautiful school website that fully engages your students, prospects, parents, and faculty? Let’s jump in.

1. Develop engaging learning opportunities.

For the past several years, the growing prevalence of technology in the classroom has been a major consideration for schools. Now, due to the pandemic, schools and educators are having to reevaluate how they communicate with students, hold classes remotely, and keep students engaged while at home. With many schools making the shift to remote learning, educators are scrambling to figure out how to provide an engaging learning experience online.

Through your school’s website, you can provide valuable learning opportunities and stay connected with students at a safe social distance. Let’s explore three primary learning opportunities you can offer through your school website:

  1. Offer eCourses. With the shift to virtual learning, eCourses allow teachers to continue sharing knowledge with students from a safe distance. Upload these lessons directly to your school’s website. With a website builder that offers a student portal, you can ensure only designated individuals access these courses.
  2. Create online assignments. Quizzes and assignments are an essential part of the learning process. Especially as schools shift away from paper assessments, it’s important to incorporate e-learning tools into your curriculum. Using an online form builder with templates, your teachers will be able to quickly create these quizzes, which will then be automatically graded as students complete them.
  3. Run a blog. Blogging enables you to share news and updates with your website visitors. While your marketing team will primarily run the blog, you may also consider allowing your students and faculty members to take charge and craft some of the posts themselves. Work with your team to determine which approach your school will take in advance.

Going virtual doesn’t mean you have to sacrifice quality. In fact, it gives your educators the opportunity to completely rethink the learning experience for students. Encourage your faculty to keep the above in mind when developing assignments and other educational content. Explore the concept of shifting to online learning further with this educational technology guide to make the most of virtual classrooms.

2. Create a well-organized navigation bar.

When you’ve taken the time to develop engaging content, you’ll want to ensure that your website visitors can find it. By developing a clear navigation bar, your audience will be able to locate whatever information is most relevant to their immediate needs. On the other hand, if they can’t find the desired information within a reasonable amount of time, they may become frustrated and leave your school’s website altogether.

Consider your target audience. This likely includes your prospective students, your current students and staff members, and your alumni. When visiting your school’s website, these three groups have different intentions behind why they’re there. Because of this, it’s important to create the correct framework to help them find what they’re looking for. Let’s take a look at these three perspectives:

  1. Prospective students: These individuals want to start with an overview of your school. This includes information such as its location and offered courses. From here, they may dive deeper to learn more about available programs and extracurricular activities. Otherwise, they may continue their search for education elsewhere.
  2. Current students and staff members: This group is already familiar with your school, so you’ll need to take a slightly different approach for their experience with your navigation. These visitors will likely want to learn more about ongoing events (whether in-person or virtual), access a community program, or log into your student and faculty portal. This way, they can maximize their learning experience.
  3. Alumni: For high schools and higher education institutions, individuals who have already graduated have a different set of needs altogether. They return to your school’s website looking to stay updated on any progress, engage in career networking opportunities, and possibly donate to their alma mater. Help them accomplish these goals by creating dedicated alumni pages, clear fundraising appeals, and accessible donation forms.

From here, you’ll want to determine which information is most pertinent to each of these audiences, which will be used to form the information architecture within your navigation bar. Don’t include everything in your navigation bar, though. Instead, only feature your high-value pages, such as those discussed above.

Often, you’ll see schools include button CTAs such as ‘Donate’ and ‘Enroll’ in the navigation bar as well. According to Soapbox Engage’s donate button guide, each button’s design can play an important role in generating conversions, so take the necessary time to create a straightforward design that stands out. If your CMS offers it, you can include a search bar to help visitors navigate to your other content.

Overall, remember that your navigation bar will be visible across your entire website. Whether a visitor lands on your homepage or a blog post, they should be able to quickly locate whatever they need using your navigation bar, whether it’s your donation form or information about upcoming events.

3. Offer straightforward forms.

Chances are, your school employs various types of forms, such as those for donations, health information, and applications. Thanks to online form builders, you can now make yours available online. By placing these valuable resources directly on your school’s website, visitors will find them much easier to locate and will be able to fill them out without making an extra trip to your school. Not to mention, you won’t have to worry about organizing this data on your own later on.

Forms that are difficult to locate and navigate will turn users away. Instead, make sure they’re user-friendly, so you can effectively drive people through the process. Keep these best practices in mind to improve the user experience and boost form conversions:

  • Determine what information you’d like to collect. When someone clicks through to one of your forms (whether they’re looking to enroll, register for an event, or donate), dozens of fields will seem overwhelming. Then, they may choose to leave before ever starting. Instead, limit the number of fields to the basics. For your donation page design, this means name, contact details, and payment information. Each additional field will give the visitor another chance to leave the process.
  • Make sure it’s mobile-responsive. In 2019, 80% of online users used a mobile device to search the internet, making it an important consideration in your school’s web design strategy. When it comes to your forms, each element (e.g. fields, images, text) should automatically resize itself based on the user’s screen size. This will make it easier for users to fill out the fields and complete the form on mobile devices, which is important since your students are primarily younger and rely heavily on mobile devices.
  • Brand it to your school. Sticking to the same font as well as two or three colors will make sure your forms are consistent with the rest of your website. You’ll want to include your school’s logo as well. These subtle elements can make a big difference in reminding users of why they’re there. If your forms look drastically different from the rest of your website, visitors may think they’ve somehow ended up on an untrustworthy third-party site.

Once you’ve created well-designed forms, you’ll want to ensure they’re visible across your school’s website. As we mentioned earlier, your high-value forms should be featured in your navigation bar for quick access. From health forms to event registrations, ensure your communications team spends sufficient time designing these to drive conversions.

The Gist

Making smart design choices can boost your brand and elevate your appeal to students, families, and faculty. A well-designed school website is a vital component of any education venture, regardless of your goals.

While there’s much more that goes into effective school web design, these three design elements will serve as a great starting point. Regardless of the criteria you set in place for what an “award-winning” school web design looks like, it’s important that it be clear, navigable, and accessible. How does your school’s current website stack up?
To position your school for success, check out this list of best school website designs. It provides examples of exceptional school websites so you can draw inspiration. Best of luck!

Categories: Others Tags:

Cues to Master Drawings of People

August 21st, 2020 No comments
eye drawing with tears

For artists who are just beginning to draw people portraits, it may seem quite intimidating.

In principle, the time you spend on drawings of people is directly parallel to the degree of life-likeness of your creation. As you devote more hours to a drawing you can naturally dive deeper into details and use your brush or pencil in a more cautious manner.

eye drawing

Just like anything that needs some experience, mastering drawings of people takes time and only gets better when you practice enough in the long run. Refining your craft is not limited to the amount of practice only, there are some tips and tricks that will help you get there faster.

Don’t forget that there are countless different ways to draw people, so it is important to develop your own by combining these best practices.

Study face proportions carefully

Face proportions can make or break your drawing. This fundamentally important factor is quite hard to achieve. However, it is the structure of your drawing so you have to get it right.

A face that is oddly proportioned will look wrong and disturb anyone who looks at it. That is why you have to pay close attention to the distance between eyes, ears, nose, and mouth and their general ratio on the face in order to please the eyes.

facial proportions

Understanding the bone structure

Scaling the ratio of facial bones, the length of the chin, forehead, and the width of the face, cheekbone alignment is also difficult to get it straight. When you are drawing a face from scratch, careful examination of the relationship between key facial features will lead to more realistic drawings.

drawings of different kinds of noses
by Giovanni Civardi

Focusing on one feature at a time will help you read the facial anatomy more carefully. After you dig out which details to look for you will intuitively know how to capture these lines in your drawing.

Use shadows for maximum impact

Getting the face proportions and bone structure right is important. However, it is not enough to make your artwork look three dimensional and realistic. That’s when the shadows come into the light. Talk about a bad pun! Joking aside, shadows and shades will save your drawing from looking just flat.

process of shading an eye drawing

First, you need to understand how lighting works in order to reach the ultimate level of mastering drawings of people. Creating the illusion of flow by skillfully acquiring basic lighting and shading techniques will help you discern the primary characteristics of the natural human form.

The bigger, the better

When you look at realistic drawings of people, you will realize that usually using paper or a canvas of a bigger dimension results in hyper-realistic artworks.

You can fit a head both into a letter-sized paper or an A1 paper. However, the amount of details that you can include while drawing on a smaller canvas is limited.

drawings of eyes
by Nadia Coolrista

On a smaller paper, you cannot draw skin pores, or let’s say 150 eyebrow hair in a way that turns your creation into a realistically rendered one. This doesn’t mean that a smaller drawing is not a success however it certainly limits your capacity and talent.

Now it’s time to take a look at some successful examples of drawings of people to better understand which areas to focus on:

eye drawing
by Carrie Stuart Parks
girl drawing
by Dreamer Addict
by Ani Cinski
girl drawing 2
lip drawings
old man portrait
a portrait drawing of a girl
by AaronGriffinArt
eye drawings
by Gabriel Vinicius

Knowing the human body and face is the key to master drawings of people. Remember the first sketch of your drawing will always be the hardest but practice will gradually improve your skills.

Applying manageable techniques while maintaining your own style will help you refine your drawings in no time. Just don’t forget, practice makes it perfect.

Categories: Others Tags:

6 Best Video Editing Tips Every Graphic Designer Should Know

August 21st, 2020 No comments

After you give your blood, sweat, and tears filming the video and already get the footage you need, it’s time for the other half of the battle: the editing process.

This process is where all those footages you have molded into a story. In this matter, you can say that smooth video editing is much more than just straight cutting. It’s creating an enticing story and vision.

When it comes to video editing, you don’t need a master’s film degree to be an editor. Even if you’re a graphic designer, you can still sit in the editing room, working with the directors and sound engineers.

Whatever your background is, there are some pretty definitive ‘rules’ that you should stick to in order to get the videos right. Get them wrong, and your videos end up looking very flat and boring, making them look unprofessional.

Below are some basic video editing tips, especially for graphic designers, to produce the most enjoyable video for the viewers.

Graphic Designers and Video Editing: How It’s Related

But, before we get into the nitty-gritty, it’s important to understand why you can’t actually separate video editing and graphic design.

Graphic designers and video editors might be two different professions, but they are short of interconnected with one another. Graphic design is all about creating images using the composition of colors, lines, textures, and shapes. Meanwhile, video editing is “designing” the video by creating a story using a combination of footage, color, typography, symbols, and more.

It means that it’d be much helpful if you have design skills while editing videos. Those kinds of skills will help add value to your works and excel in your field, leading to more opportunities.

Video Editing Tips for Graphic Designers

Since films or videos are also very much designed in the same way that you design posters or brochures, we mostly focus on the editing tips that have a strong element of design.

1. Utilize the Best Video Designing Tools

Thanks to the internet — now you can easily use software and any other video tools you need to help you create well-edited, stunning videos. There is a bunch of software out there, and they basically offer you basic editing features for standard video edits.

In this case, you can choose the right ones for you based on your preferences and needs. So, you need to pay attention to their usability, digital interface, and features. Make sure all of them match your editing capabilities and style.

Some of the most popular video editing software are After Effects, Final Cut Pro, Premiere Pro, Adobe Premiere Pro, and more.

2. Master the Hotkeys

Keyboard shortcuts might sound nerdy. After all, you’re not an IT director that needs this thing the most.

However, since video editing takes already long enough, you can speed up the process by mastering some keyboard shortcuts or hotkeys.

These combinations of keys on the keyboard help you perform a certain task within a program faster and more comfortably than by using a mouse. In other words, it bridges the gap between effort and action, helping you save more time to move from point A to point B efficiently.

What’s more, mastering hotkeys also allows you to fine-tune details in your audiovisual projects. Therefore, you can create a compelling video without taking too much time spent on the point-and-click method.

3. Think About Color Corrections

Color is such a crucial element when it comes to video graphics. It sets the mood and helps convey the overall message. And in most video production, even with the help of good light settings or excellent scenery conditions, the raw footage you have still tend to be over-saturated and bland at first.

Therefore, you need to balance them out with color corrections by adjusting the levels of particular colors within it — which every graphic designer has been dealing with.

Color corrections help your final product to have a consistent color palette. It ensures that no detail is lost when your video is watched on the viewers’ screen.

4. Add Stunning Graphics and Effects

Graphics can make a bigger difference to your video production. In this case, there are many different types of graphics you can add to your video to make it more engaging and captivating.

For instance, you can add motions to make the viewers more focus on the content. You can add logos to make great branding enhancements. You might also add some typography or titles to make it easier for viewers to digest the content.

The key to adding graphics here is to help your audience to quickly recognize and seamlessly connect emotionally with you and your video.

5. Understand the Lingo

Just like any other industry, video editing has a language all its own. And one thing that can make your workflow much easier is understanding that language. Remember, editing not only comprises “the cut” since there’s no single way to edit footage.

In this situation, understanding video editing terms won’t only help you edit an astounding video and make it easier for you to communicate with other editors or clients.

From transition to jump cut, learning the lingo and speaking the post-production team’s language can spark your creativity and improve your editing skills.

6. Strive for Clarity

Both design and editing are fundamentally about striving for clarity. So, even though it’s great to know a lot of editing techniques and design skills, it’s crucial to keep it clean and easy on the eye.

More techniques applied to the editing process doesn’t always mean a better final result. Make sure you don’t go overboard with your editing. It will make your video chaotic, and the viewers will have a hard time understanding what you are talking about.

Try to only add the elements that will improve your video and avoid using unnecessary ones. With clear and simple editing, the viewers are left in no doubt about what’s being discussed in the video.

Wrapping Up

Video editing is such a key process in production since it’s not all about stunning visuals, but it’s also about making the viewers feel emotionally connected. Your editing goal should always be to deliver an enticing story that can evoke your viewers’ emotions.

Sometimes that means you need to break some industry standards to make your video unique and stand out among the rest. That’s why design skills can help you to improve the final results. With some design skills, you’d be able to edit videos and add the exact atmosphere that fits the videos’ content while also deliver valuable information.


Photo by Kelly Lacy from Pexels

Categories: Others Tags:

8 Project Management Tips for Your Next Web Development Project

August 21st, 2020 No comments

Here’s the thing: No matter how great your web development idea is, you are likely to fail without the right management system.

To become a successful web developer, you need to be effective in managing your web development projects. Doing so allows you to deliver a project on time.

In case you are not aware, your revenues do not grow overnight. It would be best if you come up with the proper plan to execute your strategies.

Here are the eight project management tips that you can apply on your next web development project:

Create a detailed and actionable plan

The key to a successful project is breaking it up into smaller tasks.

According to one episode of the PM Podcast, a project plan allows you to succeed. This is where Agile project management could come in handy.

This project management approach provides you with a clear picture of what direction you are heading. It also gives you an insight into the impact of your actions, the risks involved, and how this will help you.

It also has four primary components:

  • Why or the Project Vision
  • What or the Project Mission
  • Who or your team members
  • Success Criteria

Get to know your team

It is common to work with a team when doing a web development project. Your team is composed of developers and designers who you rely on to complete a project.

Your team will be the one who will take your project from start to finish.

Team members that work with one another are the most effective. So, you need to invest your time getting to know them. This includes understanding their workflows, personalities, usual schedule, and so on.

Doing so allows you to communicate effectively with them. And when it is easy for you to establish communication, you can plan and organize tasks, set milestones, and enjoy working with your team.

Organize a kickoff meeting

A meeting aims to create a foundation for your project. It’s also a fantastic opportunity for you to inspire and energize your team.

The main goal of having a kickoff meeting is to align everyone in your team with your main project objectives. This is also a great time to discuss any misunderstandings or problems with your project.

During the meeting, you should discuss your project’s primary purpose with your team. This includes the essential success factors, goals, deliverables, start and end date, your project or communication plans, and so much more.

Invest in a reliable project management software

To make your project management tasks run smoothly, you should create a centralized source of information that your team can access anytime.

This also makes communication with everyone in your team a lot easier.

A great solution to this is to research a great project management software.

Project management software allows your team to stay connected as you work on a project. This helps avoid any unnecessary confusion and enables you to get things done a lot quicker.

Create a hub for organizing everything

If you’re working on a web development project, it is not surprising that you will need documentation. That’s because your documentation can only help you organize it well, and it’s easy to locate.

That’s why you need to use a tool that will allow sub-folders and let you house various assets, like Dropbox and Google Drive.

You can visit this weekly to help you organize folders as you create new documentation, allowing any member of your team to navigate them with ease.

If you’re using JIRA or Trello, use quick links on the documentation stored on this hub. You can also create a shared document with quick links that store things like designs, notes, and wireframes.

Doing so allows you to access the whole project easily. Remember, what’s crucial to the design team may not be as essential to the development team. Thus, you might need to create different versions of this project document.

Communicate with your team

It would help if you communicated your needs and expectations to your designers and developers. Although this might be challenging since project managers, web developers, and designers come from different spectrums.

Project managers are often known to be the “idea people,” while developers and designers are more on the technical side.

That’s why you need to focus on communicating the right idea and paint a clear picture of the type of software solution that you want developers and designers to build.

Come up with a risk management plan

Risks can hurt the success of your project. That’s why you need to know the risks that can come up early on.

The key here is to anticipate the risks that can happen and how it can impact your web development project.

High impact risks are usually the most severe. Meanwhile, low or unlikely chances can post the least threat.

It would be ideal for creating a risk mitigation plan. Doing so allows you to decrease the impact of a risk or prevent it from happening. You can start with the high impact risks and deal with the medium and low threats a little later.

It also helps that you regularly review these risks, and then add new ones later.

Focus on one milestone at a time

While it can be easy to get ahead of yourself, especially if the project is successful in the early stages, this can be damaging in the long run.

Think about it- you can’t come up with seating for your restaurant if you don’t create a kitchen first. Similarly, you shouldn’t develop the frontend of your software if your backend is missing.

The key here is to achieve one milestone at a time. Slow and steady wins the race. Start by making small goals while you stay focused on the bigger picture.

Remember that web projects are not easy. But it does not mean that they can’t be fun and rewarding. It may be daunting at first, but with the right strategies and tools, you will end up a winner in the long run.


Photo by Alvaro Reyes on Unsplash

Categories: Others Tags: