The future is solar LED lights. You will see them in the parking lots and other large areas around a city. They are cheap and save a good deal of money on electricity bills. Nowadays, the majority of parking lots feature the conventional lights that get their power from the grid. These products are not efficient and add to the environmental pollution. Let’s take a look at some of the prominent benefits of solar LED lights.
1. Energy Efficiency
Solar LED lights are a bit more expensive than the traditional lights but they offer a lot higher return on investment. According to statistics, they are 500% more efficient and stand the test of time. Since they get their power from the sun, they are a lot more efficient.
If you want to figure out the cost of power consumption, all you need to do is multiply the power of all the units of light with the number of hours the light will operate for. Usually, the cost lies between 10 and 20 dollars for each unit on a monthly basis.
2. Smart Technology
With smart technology, solar operators can configure lighting schedules from a remote area. Moreover, they feature smart gadgets as well. They can serve as powerful anti-theft devices and data collectors for the internet of things or large data banks.
3. Luminosity
Why do we get lights? It’s simple. We need lights for the purpose of luminosity. Although watts is the measure of power something consumes, luminosity measures the brightness of light that a bulb produces.
Traditionally, watts represent the brightness of a source of light. On the other hand, solar LED lights have a different convection. As far as efficiency is concerned, they are 400% more efficient. With the help of smart technology, it’s possible to get a better control over the lighting systems that is installed outdoors.
Apart from this, you can increase or decrease the amount of brightness easily. It’s possible to provide the right amount of light in the right area.
4. Environmental Advantages
There are a lot of environmental advantages of the solar LED lights. As a matter of fact, traditional ones get their power from the grid. In the grid, power is produced through fossil fuels, which emits a good deal of pollution in the air. And we don’t need to explain how pollution can cause a lot of health issues.
Since solar energy is 100% clean with zero side effects, it is the future. Moreover, fossil fuel will become scarcer over the passage of time. Research in the world of solar power may bring the prices down in the future.
The installation process for solar LED lights is quite simple. The cost is lower and efficiency is higher.
So, these are a few main benefits of installing solar LED lights in the parking lots. The cost of energy is rising. To help solve this problem, we should turn to the renewable sources of power and solar power is one of them.
Mark this down as one of the strangest things I’ve seen in a good long while. Nicholas Jitkoff has made a tool called itty.bitty that creates websites with all of the assets being contained within their own link. You can create a website without any HTML or CSS resources at all because it’s all been base64 encoded into the URL itself.
This link contains all of the HTML and CSS that makes up the website. The really cool thing about this is that you don’t need a server to make an itty.bitty site — once you paste the link above into the browser it’ll fetch some code from the itty bitty domain then extract and inflate the data from there.
Hyperlinks are the oldest and the most popular feature of the web. The word hypertext (which is the ht in http/s) means text having hyperlinks. The ability to link to other people’s hypertext made the web, a web — a set of connected pages. This fundamental feature has made the web a very powerful platform and it is obvious that the world of apps needs this feature. All modern platforms support a way for apps to register a URI (custom protocol) and also have universal links (handling web links in an app).
Let’s see why we’d want to take advantage of this feature and how to do it.
Why have app links at all?
Creating URIs that apps can open provides a unique set of benefits. A URL encapsulates the entire state of the webpage (it used to before the advent of Single Page Applications (SPAs) heavy with JavaScript and even in them, it is best practice to maintain this functionality) or a web application and it is advisable to have routing in applications so that a URL navigation is never broken. URLs have allowed browsers to have consistent back and forward buttons and reload and bookmark pages. And things like Google’s search depend on webpage addresses and web applications to navigate users to the correct place. Allowing applications to open URLs provides a way to link content and functionality in your application from other applications, websites and even internally within the application, like help/tutorial pages.
Trivia! Desktop applications have had hyperlinks even before the world wide web like Hypercard on the Mac in 1987 and Windows Help in 1990. The revolutionary thing about hyperlinks in the web is that you can link content that was created and is owned by others. This concept of cross app linking was not popular in traditional platforms until the rise of smartphones.
App links over the command line
There is already a shell for the command line interface and it supports passing arguments, redirecting the results from one application to anther, and even scripting. Still, the need for having support for hyperlinks is desirable for various reasons:
Security: The command line script is too complicated to get right. It is very risky to expect users of technology (who are not developers) to understand how to sanitize a command line script and make sure that the script does not accidentally call something, like rm -rf ~/Documents. The command line is not sand-boxed and though it provides a power, it puts responsibility on users and is prone to exploits.
Browser support: The browser cannot provide the command line interface. It is built to run untrusted third party code in a sandbox and that cannot be broken. And, if we don’t respect the rules of web technology, the app would silo itself out of the Internet. That is too much to lose.
Mobile: In the world of mobile, a touch keyboard is not as good and intuitive as the physical ones used on the desktop. Therefore, even if command line was present, it would be very difficult to use. All the power of redirection and chaining is not as effective as it is over a keyboard-based command line. A simpler solution like URL is more desirable in this context.
State: Theoretically, the command line interface can provide a way to have the application available in any state. But, practically, it was built for a separate purpose: to launch the application to perform a task and then return with a code. Additionally, it was de-prioritized by the GUIs in Windows and Mac. Many applications (like Microsoft Word and Adobe Photoshop) never had full-fledged command line support. They are not even present in the environment PATH and need the full path to be launched. URIs provide a fresh way to look at connecting information as well as functionality between applications. They are a secure, modern way of inter-app communication where the user does not have to think.
Linking Terminology
Deep Link
Deep link is the concept where a specific page/functionality within the website/application can be linked to. For example, https://css-tricks.com/link/to/this/page is a deep link for this page within the broader https://css-tricks.com link. Unlike superficial links that open applications, deep links open the application in a specific state, with passed data, ready to be consumed. Custom URI (described below) were the first ways to achieve deep linking within the app and „deep linking” in many contexts is now synonymous with custom URI, though it can also mean Universal links.
Custom URI
The web always had certain custom URIs that linked to default applications, like mailto:username@host.com and tel:1234567890 for email and telephone, respectively. It was an obvious choice to extend this and all major platforms provide a way for an app to register a URI protocol — like css-tricks://<link details> — that can open a deep linked native application. It should encapsulate the entire state and provide all routing benefits to open the app if it is available on the system. These provide a good interface for inter-app communication when the application is already installed and the desire is to open the user’s preferred application (like the browser or email client) that implements the desired protocol.
Custom URIs are great for the class of applications where the user wants to have a choice to select an app to perform a certain choice, but they are not great for the task of linking the website to the native application due to the following reasons:
Installation: Unlike the web, native apps need installation and, if they are not installed, you have two options: send the user to the app store (which also provides a custom URI) or properly fall back. Both these tasks require additional code which the URI does not encapsulate. The app store URI would be another separate URI that we need to store. Additionally, we have to detect whether the app is installed, which requires navigating to the URI and handling the error in navigation akin to a 404 since the protocol is not registered. This is not as simple as an anchor tag (<a href="{URL}"></a>) and, therefore, is a frequent source of developer complaints.
Lack of a central registry: Even if everything is done perfectly right, users can still be thrown into an application that they should not have been linked to. Unlike the DNS system (which guarantees uniqueness of domain names), application platforms do not have a central repository. So, multiple apps could register csstricks as a custom URI. Now, someone else could also register the same URI as one app and if the other application is installed on the system instead of the desired one, it could launch instead. The freedom of a custom URI for app selection works against the case where we always want to open a specific application.
Third Party Linking: Giving a custom URI to third parties because of the issues we’ve covered above is cumbersome and verifying them is painful. It is also a new protocol. Every website has links to the web content and updating the entirety of the Internet is not possible. It may not even be desired for SEO purposes.
Therefore, if we want to give the user the experience where the app is the preferred way to view content, custom URIs are not the perfect solution. This can be mitigated with smart app banners to some extent, where the banner would be displayed when the browser gets the custom URI and the app store link to identify the application. But this will not be seamless.
Trivia! URI and URLs are slightly different by definition, although they are used interchangeably. URI stands for Uniform Resource Identifier which means that it encapsulates everything required to get a resource. URL (Uniform Resource Locator) is a special type of URI that identifies the resource on the web. So, technically, a web address is a URL but something like csstricks:// would be just a URI.
These are all possible use cases where a custom URI might make sense:
You need to provide a URI that many third party client apps can register. Say you have a git:// in your app and the user’s favorite git client could register that URI and clone the repo when the the link is clicked.
You do not have a fully featured website.
You need a URI that is easy for users to remember.
You are willing to handle all edge cases related to navigation.
You can use custom URIs in parallel to the Universal link we’ll cover next and they can benefit from exposing the custom URL for inter-app communication while leaving the Universal link for the special case of web-to-app navigation. Android officially calls custom URIs deep links.
Control flows for Custom URI, Universal Link and Instant Apps
Universal link, App Link or App URI
The solution to the problem of web-to-app redirection can be solved with the Universal link (as it’s called in Mac and iOS), App Link (as it’s called in Android) or App URI (as it’s called in Windows UWP), which are different names of the same concept. This encapsulates the logic that every website needs to write in order to detect installed apps, launch correct pages and handle navigation failures in the case of custom URLs. It is very similar to the smart app banner in the sense that you need to provide an app store link to the application on your website for verification but it removes all the redundancy. Since the existing http(s) URL already contains the entire state, registering the custom URI is redundant. The original URL could itself navigate to the app with the website providing a fallback experience in case the application is not installed.
Once you register your app with a universal link, when the app is installed, the OS goes to the Internet to figure out the set of links that the app supports. Whenever any of those links get clicked, the native app gets launched instead of the browser. Full addressing support is now available in the application where a more customized experience can be provided falling back to the browser if the application is not installed. On important distinction with universal links is that they do affect regular browsing and therefore the OS providers keep then under tight lock and key.
A few good use cases for Universal links include:
You have a fully featured website for a fallback.
The desired flow for users is from the website to the app.
You have already built up a lot of karma by having content from your website linked around the web.
Instant Link or Deferred Deep Link
Deferred deep links provide the missing piece to the deep links if the user goes on to install the app when the link is opened. The user can be forwarded to the app store and the app store takes care of maintaining the context when the app is eventually launched after installation. This provides continuity in the case where an app is installed. Currently this method is only supported by Android (as Google Play Instant) and it is the option where you want to require users to move from the app to get the desired functionality. The hyperlink system on the web is seamless and clicking on a link gets you to the destination almost instantly (though a lot of things happen behind the scenes). Deferred deep links provide the same functionality for apps where clicking on a link can download the app and launch it with the correct page making all the tasks on app installation as seamless as possible.
You might consider using instant links if:
You need the users to use the app and not the website, even if they come from the browser (except for rare cases where they are low on disk space or have turned this feature off to save bandwidth).
Your key pages are always up-to-date in your application.
OK, always use them. With the extra SEO advantages that Google throws in for instant apps, there is no reason not to enable „instant” apps for an app that has Universal links.
Now that we have a summary of what each term means, let’s see how we can go about creating these on specific platforms.
Setting up application hyperlinks
MacOS and iOS
Custom URI
Registering a custom URI in MacOS and iOS is extremely easy. In Xcode, go to the Info.plist file of the project and select the option URL Types. Create an item of type URL Schemes inside the file where you can add all of the URL schemes you wish to support.
Note: The default URL Identifier filled in by Xcode within URL Types is optional.
For MacOS, you will receive calls to the AppDelegate where you can override the function:
func application(_ application: NSApplication, open urls: [URL]) {
// Select the first URL in the list of URL to open
let url = urls[0];
// Log the entire URL
NSLog("%@", url.absoluteString)
}
The URL type in all these cases contains the usual URL pieces like the path, the query and the search parameters.
Universal Links
Universal links are not supported in MacOS. To get universal links on iOS, you need to be registered with the Apple Developer Program or be an Apple Developer Enterprise Program member. Universal links on iOS are part of a wider concept of associated domains where the secrets of the website, like stored credentials, can be accessed from within the app and Apple does not allow regular Xcode users to dabble with universal links (if you accidentally enable the functionality for your App ID but do not put this in the entitlements, be prepared to get a validation error: ERROR ITMS-90046: „Invalid Code Signing Entitlements”).
Trivia! Universal links are a new concept and many of the Mac and Windows desktop applications are built with their own network stack, do not use the app store and may have been released years ago. Therefore, the OS does not have the control required to force all applications to follow the Universal link concept and open the app. Apple has chosen to not implement Universal Links in MacOS yet, while on Windows they only work in the Microsoft Edge browser and other UWP apps (which use the same technology).
To register for Universal links on iOS, you need to do the following things:
Enable the App ID on the Apple Developer website to get the feature for associated domains.
Add the associated domains to the entitlements file.
Add a apple-app-site-association file to the web domain to provide ownership verification for the application.
Add code to handle clicks on Universal links.
Steps 1 and 2 can be performed together in the Capabilities tab on Xcode if you are signed in and have the right profile selected (which is from an Apple Developer or Enterprise account). The Xcode UI provides an indication that the both items have been completed.
Associated Domains in the Capabilities section in Xcode
In the image above, Step 2 has been successfully completed, while Step 1 is pending. You can click on the exclamation mark to find the issue. It is important to prefix the domain with applinks: (that identifies that you need app links functionality; the same is used for shared credentials). This identifies that the App Link capability has been enabled.
The above steps can also be accomplished individually.
For Step 1, enable Associated Domains in the App ID section on the developer website (shown at the bottom of the image):
Apple Developer website to enable associated domains
For Step 2, add the following to the entitlements file:
Now, for Step 3, host a association file apple-app-site-association like https://css-tricks.com/apple-app-site-association with mime type application/json with the following JSON data from the root of your website:
The above snippet grants the app with ID ABCDEFGHIJ.com.ccs-tricks.mobile and provides access to all requests on the https://css-tricks.com domain. Note that this works with https but http is not supported. You can also use an alternative location like https://css-tricks.com/.well-known/apple-app-site-association for this. This URL is preferred as it can keep the Android, iOS and UWP association files in a safe separate folder that cannot be accidentally deleted.
Trivia! Universal links do not guarantee that the app is opened. If the user goes back to the website from the header in iOS, the OS decides to default to the website from then on until the user decides to use the app by clicking on the header again from Safari.
They call the same method as Custom URIs we covered earlier.
Windows (Traditional)
On the traditional Windows platform (Win32/.NET), the custom URI (called Custom Pluggable Protocol Handler) is the only feature supported. Adding a custom URI in Windows involves adding a registry entry within HKEY_CLASSES_ROOT. The following will open the app with the absolute path given when clicking on a link to css-tricks://<text>. Due to using the command line, this always opens a new instance of the app and does not send the URL to the existing running application.
Registry Entry for providing application nameRegistry entry for open command
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\css-tricks]
"URL Protocol"=""
@="CSS Tricks (Application name)"
[HKEY_CLASSES_ROOT\css-tricks\shell]
[HKEY_CLASSES_ROOT\css-tricks\shell\open]
[HKEY_CLASSES_ROOT\css-tricks\shell\open\command]
@=""C:\\Windows\\notepad.exe" "%1""
The above launches notepad with the command line argument corresponding to the URL supplied. Be aware that Notepad does not support custom URI and will not know what to do with the URL.
This behave is similar to passing this on the console and the application needs to make sure it properly distinguishes between the argument being a regular CLI or a custom URI, as shown here:
namespace ConsoleApplication1 {
class Program {
static void Main(string[] args) {
if (args.Length > 0 && args[0].IndexOf("css-tricks:") == 0) {
Console.Write(args[0]);
}
}
}
}
int main(int argc, char*argv[]) {
if (argc > 1) { // argv[0] is the file name.
std::string word(argv[1]);
if (word.compare(0, 11, "css-tricks:") == 0) {
std::cout<<word;
}
}
return 0;
}
Universal Windows Platform (UWP)
On the Universal Windows Platform, you can use the package manifest to register both the custom URI and the Universal link (called App URI Handler).
Custom URI
Add a protocol declaration in the package.appxmanifest:
protected override void OnActivated(IActivatedEventArgs args) {
base.OnActivated(args);
if (args.Kind == ActivationKind.Protocol) {
var e = args as ProtocolActivatedEventArgs;
System.Diagnostics.Debug.WriteLine(e.Uri.AbsoluteUri);
}
}
// In App.xaml.h
virtual void OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs^ e) override;
// In App.xaml.cpp
void App::OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs ^ e) {
if (e->Kind == Windows::ApplicationModel::Activation::ActivationKind::Protocol) {
auto args = (ProtocolActivatedEventArgs^)e;
auto url = args->Uri->AbsoluteUri;
}
}
Universal Links (App URI)
App URIs are only supported in the Microsoft Edge browser. They do not work in Internet Explorer, Chrome or Firefox. App URIs also have a package entry similar to the custom URI. It is not available in the UI of Visual Studio Code 2017. The package.appxmanifest entries are almost the same:
App URI is a relatively new feature of Windows and many UWP projects target older versions of windows as the minimum version. You might need to bump that up in order to support this feature.
Just like iOS, the website needs to verify the ownership of the domain for this to function. The can be done by hosting a file with mime type application/json at the root of your website, like https://css-tricks.com/windows-app-web-link or https://css-tricks.com/.well-known/windows-app-web-link over https with the content:
To get the package family name, run the following in Powershell and search for your package path:
Get-AppxPackage
Handling App URIs requires the same code as custom URIs on Windows. By design, all you need to do is see the protocol field in the provided URI and write the corresponding logic.
Just like iOS, Windows users have a choice to disable opening apps. Windows provides registry settings to force apps to open (used for testing) and also a validator tool (located at %windir%\system32\AppHostRegistrationVerifier.exe) to verify if the above settings are correct.
Android
Custom URI
Android has supported custom URIs from the very beginning. This can be done with code. In AndroidManifest.xml add:
The category DEFAULT is to ensure that there is no user action needed to enable it. BROWSABLE ensures that the custom URIs work in the browser.
This can then be handled in the CustomUriActivity.java on creation:
public class CustomUriActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
if (Intent.ACTION_VIEW.equals(intent.getAction())) {
Uri uri = intent.getData();
}
}
}
Universal Links
Universal links in Android are very similar to App URIs. Android Studio provides a GUI tool to create this. Go to Tools > App Link Assistant. This will provide the three tasks needed to create app links:
App Link Assistant in Android
For Step 1, enter the URL mapping editor and click on the + button to open the URL mapping dialog:
URL Mapping dialog
Once you click OK, it will show the code that could have been used alternatively in the AndroidManifest.xml:
Note: This exactly the same as as it is for a custom URI. In the Step 2, select the activity you assigned and it will add the code to load the action. The code is also exactly the same as was used for custom URIs above.
In the Step 3, it will generate the JSON file that needs to be added to the website as application/json mime at https://css-tricks.com/.well-known/assetlinks.json.
Android Studio automates the fingerprint generation that verifies the application identity. This identity is different for debug and the release version of the application.
Instant Link
Instant apps on Android require minor changes from the App links we covered earlier. To enable instant apps, modify the intent declared above to look like this:
This allows both http and https URLs to be associated with the app, and the autoVerify tells the Android (Google Play) store to verify the manifest item automatically. Instant app is a Play Store/Google Chrome feature. The changes on the app are minimal to support this.
Electron
Electron apps are traditional MacOS and Windows apps with the chromium runtime. These platforms only support custom URIs that can be enabled without touching the compiled code.
For MacOS, edit info.plist as described in the MacOS section. The events are received by the app object as:
// In main.js
require('electron').app.on('open-url', (event, url) => {
console.log(url);
});
For Windows, add the registry entry as defined in the Windows section. The app will receive the custom URL in process.argv:
// In main.js
console.log(process.argv[2])
In electron, you can load external web pages that can open URLs. If it is desired to handle only those URLs internally, that can be registered via an electron API:
Going a complete circle, a website can also register custom URIs (like handling mailto: links via a website). Note that these only affect links provided in other websites and have nothing to do with links in other applications. The API is very restrictive and can be used only for a selected link type: web+<insert anything here>. Browsers allow a pre-defined list of top level protocols to be registered:
To register a protocol, you need to provide the same domain as the website that registers it (i.e. https://www.css-tricks.com can register only https://www.css-tricks.com and not https://css-tricks.com).
if (navigator.registerProtocolHandler) {
navigator.registerProtocolHandler("web+csstricks", "https://css-ticks.com/?s=%s", "CSS Tricks custom URI");
}
The custom URIs are not indexed by search engines and therefore there is not much use to these apart from handling the links like mailto, webcal etc., that are already present in the web at multiple places.
Wrapping Up
Adding hyperlinks to native apps is an easy and effective way to seamlessly move the user across applications with graceful handling in case the application is not installed. With these links, applications can have provide paths all over the Internet which can be an effective promotional mechanism. Links also give websites a way to provide data and launch the applications on a specific page without the security worries that plague the downloadable files or command line scripts allowing effective tutorials and bug reports. Routing and URLs provide for the core features of the World Wide Web like navigation, the back button, bookmarks and search. Hyperlinks in apps bring these learning from the (almost) 30 years of world wide web to native applications.
This stylish flyer is the perfect way to promote club nights, music gigs or festivals this summer. Quick and easy to create using InDesign and Photoshop, it’s also simple to adapt the text to your own content too.
Install the font on your computer, and you’re ready to start designing.
1. How to Set Up the Flyer in InDesign
Step 1
Open up InDesign and go to File > New > Document. Set the Width of the page to 8.5 in and Height to 11 in. Uncheck Facing Pages.
Add a 0.5 in Margin and a 0.25 in Bleed, before clicking Create.
Step 2
Expand the Layers panel (Window > Layers) and double-click on Layer 1. Rename it Background and click OK.
Create three more new layers in this order—Palm trees, Paint stroke, and finally Type at the top of the pile.
Then lock all layers except Background, which we’ll work on first.
Step 3
Expand the Swatches panel (Window > Color > Swatches) and choose New Color Swatch from the panel’s main menu.
Set the levels to C=23 M=16 Y=20 K=1, and click Add and Done.
Repeat the process to create two more new CMYK swatches:
C=10 M=6 Y=10 K=0
C=88 M=46 Y=26 K=10
Step 4
Choose New Gradient Swatch from the Swatches panel’s menu.
Name the swatch Background Gradient and set the Type to Radial.
Click on the left-hand stop on the Gradient Ramp and choose C=23 M=16 Y=20 K=1 from the Swatches menu. Choose the slightly paler swatch, C=10 M=6 Y=10 K=0, for the right-hand stop.
Then click Add and Done.
2. How to Build Up Images on Your Flyer
Step 1
Working on the Background layer, use the Rectangle Frame Tool (F) to create an image frame across the whole page, extending it up to the edge of the bleed.
File > Place, navigate to the aerial view photo, and Open, allowing it to fill the frame. (Note that the original image I used is no longer available, but you should be able to create a very similar effect with the alternative I’ve linked to.)
Double-click inside the frame to select the image directly. Then position and rotate the image so that the woman on the pink ring is in the position shown below.
Step 2
Use the Rectangle Tool (M) to create a shape over the top, across the whole page, and set the Fill Color of this to Background Gradient.
With the shape selected, go to Object > Effects > Transparency. Set the Mode to Screen and reduce the Opacity to 90%. Click OK.
Identify the ‘7’ folder in the Layers panel, and select and delete all the other folders except this.
Step 4
Select the Crop Tool (C) and crop the canvas until it fits around the paint stroke sitting inside the ‘7’ folder.
Go to Image > Rotate Canvas > 90 Degrees CW.
Expand the ‘7’ folder and switch off the visibility of the CHANGE COLOUR layer.
Step 5
File > Place the aerial view photo, scaling it and rotating it into the position shown below.
From the Layers panel, set the photo layer to Multiply.
Then drag the photo layer down to sit above the ‘7’ layer, using Alt-Click to attach it to this layer.
Then head up to File > Save, and save the image as a Photoshop (PSD) image, ready for using in your InDesign flyer.
Step 6
Head back to your InDesign document, and lock the Background layer. Unlock the Paint stroke layer.
Use the Rectangle Frame Tool (F) to create a tall rectangular frame over the page. File > Place, choose your edited Photoshop image, and Place, allowing it to fill the frame.
Rotate the image frame slightly to the left to mimic the angle shown below.
3. How to Format Type on Your Flyer
Step 1
Use the Type Tool (T) to create a small text frame to the left of the image of the woman.
Type in ‘P’ and from either the top Controls panel or the Character panel (Window > Type & Tables > Character), set the Font to Breymont Bold. Try to size the font so that it matches the height of the pink ring in the photo.
Set the Font Color to [Paper] from the Swatches panel.
Copy and Paste the text frame, moving it over to the right of the woman. Adjust the text to read ‘OL’.
Step 2
Create another text frame below ‘POOL’, typing in ‘PARTY’ and setting the Font to Breymont Bold, Size 60 pt.
Increase the Tracking (letter-spacing) to 920.
Add a second text frame below this, typing in the location of the event and setting the Font to Breymont Light, Size 20 pt, Tracking 400.
Highlight any letters which cross over the paint stroke image, and adjust the Font Color of these to [Paper], to help the text stand out.
Step 3
Add more text frames below this, detailing the acts playing at the event or other details, setting the Font to Breymont Bold.
As before, pull out any crossover text in a [Paper] Font Color.
Add a text frame across the bottom margin line, adding details about tickets or a website.
Step 4
Choose the Polygon Tool from the Tools panel (you’ll find this inside the Rectangle Tool’s drop-down menu), and click once anywhere onto the page.
In the Polygon window that opens, set the Number of Sides to 3, and click OK.
Move the triangle you’ve created over to the top-right corner of the layout. From the Stroke panel (Window > Stroke) set the Weight to 6 pt, and adjust the Stroke Color to [Paper] from the Swatches panel.
Step 5
Add a text frame over the top of the triangle, typing in the date and setting the Font to Breymont Bold.
Add a second text frame below, and type in the month, setting the Font to Breymont Light.
Set the Font Color of both frames to C=88 M=46 Y=26 K=10.
4. How to Add a Tropical Touch to Your Flyer
Step 1
Lock the Type layer and unlock the Palm trees layer below.
Create an image frame using the Rectangle Frame Tool (F) behind the top-right side of the paint stroke image. File > Place, and navigate to the ‘36_Tropical_leaves_vector.eps’ image, scaling it so that just one leaf is visible in the frame.
Allow the leaf to peek out from behind the paint stroke.
Step 2
Copy and Paste the image frame, and move it over to the middle left side of the paint stroke, rotating the image slightly so that it fans out from behind the paint stroke.
Paste a couple more image frames and position them over on the right side again, creating a built-up fan effect.
5. How to Export Your Flyer for Print
Step 1
Your flyer artwork is finished, and ready for exporting to a print-ready format.
To do this, go to File > Export. Name the file ‘Pool Party Flyer’, and choose Adobe PDF (Print) from the Format drop-down menu. Click Save.
Step 2
In the Export Adobe PDF window that opens choose Press Quality from the Adobe PDF Preset menu at the top.
Click on Marks and Bleeds in the panel’s left-hand menu. Check both All Printer’s Marks and Use Document Bleed Settings.
Then click Export.
InDesign will generate a press-ready PDF you can send straight off to be professionally printed. Great job!
Conclusion: Your Finished Flyer
Your flyer is finished and printed, and ready for distributing, awesome work!
In this tutorial, you’ve picked up some handy skills for applying to InDesign and other print projects in the future. You now know how to:
Create flyer layouts in Adobe InDesign.
Edit images in Photoshop to add cool graphics to your layouts.
Affinity Photo isn’t the first photo-editing program to claim it can stand toe to toe with Adobe’s Photoshop for a fraction of the price, but it may be the first to actually back up that claim with pure, uncompromising photo-editing power!
And with a one-time fee of $50 USD, it can be much more financially appealing than Photoshop’s $10 USD monthly subscription.
Today, I will be comparing and contrasting the basic functions of each program, focusing on the fundamental tools that you would use day to day.
So come take a look at Affinity Photo from the perspective of a long-time advanced Photoshop user!
1. User Interface and Modules
The first thing you may notice is that Photoshop’s and Affinity Photo’s interfaces are very similar. That’s great for anyone looking to possibly make a switch from one to the other, like me!
1.1 Customizing Your Workspace
Just like in Photoshop, Affinity Photo allows you to arrange your different modules however you want, with one exception: you can’t move your Tools module in Affinity Photo.
Affinity Photo makes up for it in a big way, however, by letting you customize and arrange the individual tools themselves! Something Photoshop has never allowed you to do, this is a big win for Affinity Photo in my book.
Go to View > Customize Tools to mix and match your own Tools panel. You can even choose how many columns you’d prefer!
This also means you can almost exactly replicate the Photoshop Tool setup in Affinity Photo. I personally have my Photoshop workspace set up in a very specific way, and after 10 years of using Photoshop I am very used to its tool setup, but I was able to mimic my workspace almost exactly in Affinity Photo! That makes the transition much smoother.
I’d like to note that I usually have the top Toolbar in Affinity Photo hidden, which you can do by going to and unchecking View > Show Toolbar. However, I turned it back on for the sake of this article.
Do note that you can also customize the toolbar, which is very handy!
1.2 Creating a New Document
Creating a new document is very similar and equally straightforward in both programs. Both programs open with a New Document prompt, but will also allow you to create a new document by going to File > New.
2. Navigation and Interactions
2.1 Transforming Images
One of my favorite features of Affinity Photo is how it keeps an image’s original aspect ratio by default when enlarging or shrinking an image using the Move Tool.
When transforming an image in Photoshop, you would select the Move Tool, click on one of the image’s anchor points, hold down Shift, and then drag to either enlarge or shrink the image.
If you don’t hold down Shift then the original ratio of the image will not be preserved, leaving the image stretched or squished, which I find you usually don’t want to happen.
In Affinity Photo, it’s exactly the same, except you hold Shift when you don’t want to preserve the image’s original aspect ratio. It’s a very small but very smart change!
2.2 Personas
Affinity Photo has these things called „personas”. You can access them by going to File > Personas and then choosing a persona, or alternatively you can change the persona by clicking the different persona buttons in the top-left corner of the Toolbar.
Each persona serves a different function, almost like some of the more in-depth filters in Photoshop. While there are five personas in total, including the default Photo persona, I am going to be focusing on the Liquify persona as Photoshop also has a liquify function that I use very often.
In Photoshop, to access the Liquify feature, you would go to Filter > Liquify to open the Liquify panel, which opens in a new window.
In Affinity Photo, you go to File > Personas > Liquify, or click the second button in the top toolbar,which will enter Affinity Photo’s liquify user interface. You have a lot of the same options and functions as you do in Photoshop.
All of Affinity Photo’s personas activate a new user interface, almost like opening a different program altogether. This makes things a bit more organized and user-friendly; however, Affinity Photo is noticeably slower while in the Liquify persona.
In fact, I do want to note that Affinity Photo is all around slower than Photoshop.
3. Layers and Smart Objects
3.1 Layers
Affinity Photo’s and Photoshop’s Layers panels are almost identical. You have your Opacity and Layer Modes on top and the various layer effects, masks, and a Create New Layer button, or Add New Pixel Layer in Affinity Photo, in the bottom-right of the Layers panel.
You can hide layers in Affinity Photo by hitting the checkmark on the right, similar to hitting the eye icon to the left of layers in Photoshop, and you can arrange the layers by dragging and dropping, just like Photoshop.
You can clip a layer into another layer in Affinity Photo, but it’s a bit trickier than Photoshop. You have to drag and drop a layer into another layer—there’s no button or a key like holding Alt in Photoshop, and it can be very finicky.
You can collapse clipped images for a cleaner-looking Layers panel, though. This means creating fewer groups, which is a nice feature.
One more disadvantage is that when you double-click on layers in Affinity Photo, no Layer Style panel opens like in Photoshop, leading me to believe there is no Blend If function in Affinity Photo, which is something I use often.
3.2 Smart Objects
One thing Affinity Photo does a bit differently is that every new image brought into a document is automatically a Smart Object. WhilePhotoshop does this if you drag and drop a new image into a document, in Affinity Photo all images are smart objects by default.
Just like in Photoshop, you can Right Click > Rasterize any smart object to rasterize the layer.
Do note that in Affinity Photo, smart object layers and regular rasterized layers look the same. When you rasterize a layer in Affinity Photo, it will crop any part of the image that is not inside the canvas, something Photoshop doesn’t do.
3.3 Layer Masks
Affinity Photo’s and Photoshop’s layer mask features are virtually the same. You can add a layer mask to any layer by hitting the Add Layer Mask (called Mask Layer in Affinity Photo) button at the bottom of the Layers panel.
4. Sections and Layer Masks
4.1 Freehand Selections
Affinity Photo has an exact equivalent to Photoshop’s Lasso Tool called the Free Hand Selection Tool, as well as the various „shape”marquee toolsthat go by the same names in both programs: Elliptical Marquee Tool, Rectangular Marquee Tool, etc.
4.2 Quick and Auto Selection Tools
From what I can tell, Affinity Photo does not have an exact replica of the Magnetic Lasso Tool. And while it doesn’t technically have the Polygonal Lasso Tool, instead what you do is hold Shift while using the Free Hand Selection Tool to get the same polygonal effect.
4.3 Refine Edge
While both programs have a Refine Edge, and they are somewhat similar, this is where Affinity Photo differs from Photoshop and lacks a bit for me.
To use the refine edge feature in Photoshop, you’d make your selection and click Select and Mask to open up Photoshop’s Refine Edge interface. The options are very straightforward and include Edge Detection with a Smart Radius option, which I find to be a key feature in extracting hair, fur, and cloth.
In Affinity Photo, the process is similar. You make your selection and click Refine in the selection tool’s toolbar. The refine options are a bit less clear in what they do, and the tool seems to lack any kind of edge detection options. It does, however, have both the Smooth and Feather options, which are two of the main settings you would use.
5. The Pen Tool
I was very happy to learn that the Pen Tool in Affinity Photo is almost identical to the Pen Tool in Photoshop! It functions exactly the same, which also means you could use a Photoshop Pen Tool tutorial to learn how to use the tool in either program.
6. The Paintbrush Tool
6.1 Brush Settings
Affinity Photo offers all the same bells and whistles as Photoshop does when it comes to its brushes—including a well-sorted array of default brushes.
Affinity Photo has Opacity, Flow, and Hardness settings, as well as a very impressive Stabilizer option, leading me to believe that digital painters would get along very well in Affinity Photo.
6.2 Importing Custom Brushes
While it comes with a high variety of default brushes, Affinity Photo also lets you import brushes just like Photoshop. One of the main questions I’m sure a lot of people have is: „But can I import my current Photoshop brushes? Do I have to find all new brushes?”
I am happy to say yes, you can use Photoshop brushes in Affinity Photo! That’s a big plus for someone considering transitioning.
6.3 Pen Pressure
I personally use a graphics tablet, and so do many of you out there, so I was curious how well it would play with Affinity Photo. This is where Affinity Photo really surprised me as I found the Brush Tool to be not only smoother but with a higher level of pressure sensitivity!
Hit the Force Pressure button in the Brush Tool’s toolbar to turn on pen pressure.
7. Layer Filters
Affinity Photo has a total of 11 filter types available, located under the Filter menu just like in Photoshop. While this is fewer than Photoshop’s 18 total filter groups, Affinity Photo makes sure to give you the filters you really need.
Affinity Photo Filter Groups
Blur
Sharpen
Distort
Noise
Detect
Colors
Frequency Separation
Apply Image
Lighting
Shadow/Highlights
Haze Removal
8. Adjustment Layers
Affinity Photo offers an impressive array of adjustment layers—a few more than Photoshop offers, in fact. Affinity Photo has all the favorites such as Curves, Gradient Map, and Color Balance, and it also brings some new adjustments to the table, with my favorite being the Split Toning adjustment!
9. Exporting and Saving Images
9.1 Exporting Files
One of the personas mentioned before is the Exporting Persona, which is a whole interface dedicated to exporting your images. However, I prefer to just go to File > Export, just as you would in Photoshop.
9.2 Exporting to or From Photoshop
You can export an image to Photoshop from Affinity Photo by exporting the Affinity Photo file as a PSD.
All layers will be preserved, with the exception of adjustment layers. Adjustment layers will be exported, but I find they almost never convert well, even if Photoshop has a similar adjustment layer option.
It’s the same with opening a Photoshop file in Affinity Photo, which you can do by dragging and dropping a PSD into Affinity Photo—everything but the adjustment layers will work completely normally.
Conclusion
Affinity Photo proves itself to be just as capable a piece of photo-editing software as Adobe Photoshop, in my opinion! And while Photoshop still beats it in some areas, there are things I believe Affinity Photo actually does better.
Affinity Photo
Pros:
Single payment of $50 USD makes it more affordable.
Very user-friendly controls and interface.
Highly customizable user interface.
Similar to Photoshop in enough ways to make for a smooth transition.
Almost all Photoshop resources are compatible, including .PSD files.
Cons:
All around slower processing speed.
Lacking Blend If function.
I have a hard time getting layers to clip into each other.
Lackluster Refine Edge function.
Photoshop
Pros:
Still the most powerful photo-editing software on the market.
It’s been around for 20 years, so many of us are familiar with it and know it well.
More educational resources are available.
Cons:
$10 USD monthly subscription fee.
Unintuitive user interface.
Less interface customization.
Ultimately, I recommend Affinity Photo to beginner and upper intermediate Photoshop users who may be looking to save money but don’t want to sacrifice power or who are simply frustrated or overwhelmed with Photoshop’s unintuitive user interface.
I would also recommend Affinity Photo to anyone new to photo editing who has yet to dig their teeth into any single photo-editing software.
I’m personally excited to get to know Affinity Photo even more and continue to discover all it has to offer! You can join me by checking out some of our other Affinity Photo tutorials!
As we go about our lives, there are a number of different things which motivate us to make the choices we do. We are often unconscious of these various elements. A colour can make us feel vibrant. A new scent can remind us of a childhood spent in a meadow. These various factors influence what we will do or how we will rate our experiences.
As web designers, then, we know that psychology plays a massive role in user experience. It can determine the conversion rates of a site, and whether our users have a positive experience or not. Understanding basic elements of psychology can help us to create sites which appeal to our users.
It isn’t enough to design a website nowadays, you also have to play the role of a UX researcher a bit, or work with one to create a good experience for the site’s users.
These following tips are here to assist!
Understand how the brain works
In order to work both creatively and effectively as a web designer, it helps to understand how the brain functions. This doesn’t mean you need to be a neurologist. Instead, some basic tips will help us to interpret a webpage from a viewer’s perspective.
The field of neurodesign was introduced in 2012, and this shows us the impacts our designs will have on user experience. That’s right, aesthetics really does make a massive impact.
Interestingly enough, one of the most important aspects of web design in order. Our brains battle with chaos. When we look at a situation or space, our brains automatically create categories or ‘schemata’ in order to make sense of what we see. This helps us to come up with solutions to problems or to grasp the meanings that are presented to us. These ‘heuristics’ or broad rules help the word feel predictable. We are able to make sense of what is happening around us. This creates the feeling of comfort or safety.
One example of how our brain makes sense of scattered information involves pattern formation. Our brains recognize patterns, and will even create imagery out of scattered information. Early astrologers, for example, produced patterns from scattered stars. We often fill in information when we see gaps in sentences or even letters that are missing or misplaced in words. We see the whole as greater than the sum of the parts.
You may be wondering how this relates to web design? Here are a few helpful tips:
Make use of hierarchy: When your users are able to grasp a pattern or order to what is presented to them, it helps them to make sense of the information presented. This helps your users to understand what your site is about and where to access what they are looking for.
Create categories: Your users like to see information collected into groups. This could be groups of products, services or even people. Categories help to simplify what is on offer. An E-commerce site which offers up ladies clothing and then divides it into tops, then t-shirts, jackets and shirts, will make it easier for clients to find what they are looking for. Information is no longer presented in scattered mass. Instead, it has been given a sense of order.
Use recognition: If you’ve ever been trying to explain a concept to a friend and couldn’t find the term you’re looking for, you know how frustrating retrieval failure can be. This is something to avoid on your website. Instead, ensure your viewers are familiar with your interface and are able to navigate it effectively. By using recognition you are able to do much of the work for your viewers.
You may be wondering how recognition works in online design?
Think of the way that Google draws on a browser’s history in order to auto-fill information a user could be searching for.
E-Commerce sites such as Amazon will often show shoppers what they have recently browsed. They might also show shoppers purchases that have been combined by past shoppers in order to make product recommendations.
By presenting and organizing information in this way, website experiences often become more friendly for viewers.
Here are some further methods you can use to organize your webpage in a viewer-friendly manner:
Grab your user’s attention
By organizing your website into sections which grab your user’s attention, you stop your user’s mind from wandering across the site. This helps to give your information structure as well as keep your viewer’s attention focused on specific aspects of your site.
Use colour and contrast
Your viewer will receive an emotional message from colour. By using colour carefully, you will, therefore, be communicating with your viewer. The contrast will help you to draw attention to aspects of your site, enabling them to stand out. A call to action button, for example, should be clearly visible so that your viewer knows how to proceed. This will increase the conversion rate on your site.
The messages communicated by colour
When it comes to using colour, each choice will have a psychological impact on your viewers. This will determine how they will respond to your site. Colour can be very complex, and some colours may represent different emotions. Red, for example, may represent both passion and danger. Context, therefore, plays an important role when it comes to colour usage.
Here are some broad rules when it comes to colour usage:
Black is often associated with luxury, value or professionalism. Colours mixed with black often give a professional or corporate feel.
Green is often associated with environmental awareness as well as with humanitarian organizations such as NGO’s.
Blue provokes feelings of calmness or serenity. This colour is often used to show trust.
Yellow is linked to warmth but can also be used to indicate a warning.
Orange shows warmth and vibrancy but is also used to represent impulse.
All of the above colours can be used to communicate a message to a viewer. However, it is not only the colour in the foreground that sends a message but the use of white or background space as well.
Effective use of white space
When white space is used effectively, this creates a clean, clear effect, reducing cognitive load. White space keeps your site looking clean and fresh. If you use colour to attract attention to your site, your white space will create a breathing space for your viewer.
Create a consistent site
In order to work towards maximum viewer comfort (and therefore conversion rates), it is important to keep your site as predictable as possible. This will keep your viewer feeling at ease. Ensure that each page of your site uses the same typography, colours and page headers.
Keep your navigation system consistent across your different web pages. Icons such as search buttons or shopping baskets should be in the same position on each page. This way your site will seem predictable (and therefore easy to navigate) for your viewers. By doing this, you will increase your conversion rates.
Create emotional resonance by using imagery
A picture says a thousand words! If you would like your viewers to resonate with your site, use imagery to build a connection.
Effective (and relevant) use of imagery creates emotional resonance within your viewers. This is particularly helpful on a landing page in order to assist your viewers to identify with your brand. A great image will boost your conversion rates.
Use the F page layout
Research into web design has shown that the most common way to read a webpage is by using the F pattern. Eye tracking studies show that this is true. Viewers will look at the top of a webpage or in the header. They will then look at the left side of the screen. However, viewers will only glance at the right side of the page every now and then.
By designing web pages which fit in with the viewer’s gaze patterns, you will be able to produce an effective site. Concentrate your important messages or key information on the left side of the page for maximum impact.
When viewers are ready to leave a site, research reveals that they often look to the right. By placing an effective image or enticing information on the right-hand side of your site, you may be able to distract your viewer, keeping him on the site for longer.
Think through your use of typography
Typography sends out a message to your user. It is not only the typeface you select but how it is laid out that will make your user feel comfortable. A comfortable, easy to read font which is well laid out will ensure easy reading.
Keep your font selection simple and easy to read in order to keep your viewer engaged. When a font is hard to read, your information will seem more complex to your viewer. Content which is simple to read and easy to digest will keep your user engaged.
Fonts can often tell the viewer if they are in the right space. A font choice which is suitable for your brand or company will create a sense of trustworthiness in a viewer. A modern, clean-lined font will often suit a technology company, where a typeface style font might suit a writer.
The layout will make a big difference as well. When your site is clean-lined and easy to read, your viewer will be more likely to engage with your content.
Keep your calls to action clear
Your call to action buttons guide your viewer, assisting him with what he should do next. They are therefore a very important element to any webpage. It is important that they stand out against the background of your site. You can use contrast to ensure that your calls to action attract a great deal of attention. In web page design, the call to action should generate the most attention on your page.
If you are unsure if your call to action button is vivid enough, stare at your computer screen with your eyes unfocused. If you can still see your call to action button, your design is effective.
When it comes to vivid contrasts or attractive colours, our brains are wired to take notice. By drawing attention to the Call to Action button and compelling the brain to focus on it, you will guide your viewer towards responding. This will increase your conversion rate.
Attract your viewers with new information
Viewers enjoy novelty and as a result, are attracted to new information. When setting up your site, ensure that you create a section where new products can be seen or explored. Even if your site has minor updates, ensure that these stand out to your viewers.
Let your viewers know that you have the latest products available. By placing this information on your landing page, you will encourage your viewers to delve further into your site. Try to whet your viewers’ appetite and leave them wanting to find out more.
If you have regular readers, making subtle changes to your site will hold your viewers’ attention. You could add some new imagery, load some quotes, or change your font sizing to create a sense of variety.
Conclusion
There are no single solutions to designing a great website. However, by understanding what will appeal to your viewers and attract their attention, you will be able to ensure an effective website design. This will help you to work towards dynamic creations which result in high viewer conversion rates.
Yesterday, I started going through my email as soon as I got to work. I always start my day with email. I kinda like email. I read some interesting things in keeping up with the industry. I deal with some business things. I handle with some personal things. I make a note of the most important stuff going on.
Then I kept working!
I fixed a bug that was affecting Firefox exclusively. This code would set some elements in a row with flexbox, let them wrap, then looked at all of them to see which ones wrapped and which ones didn’t. Then it put the ones that wrapped in an overflow menu. Seemed simple enough. But some of the items were in bold text and some were not. The ones that were not bold were somehow pushed down 1.5px in Firefox (but in no other browser I looked at). The code checked to see if the top position was anything higher than 0 in order to check if they wrapped, and thus incorrectly marked some elements as being wrapped. The code had to be loosened up to accommodate that.
I had logged a bug a few days ago where a couple of small buttons were not styled or aligned how they should be in a common modal dialog. In diagnosing the issue, it looks like we had a weird git merge where some newer CSS was merged in that was assuming some HTML that wasn’t quite live yet.
I decided the cleanest way forward was to make the small HTML change forthcoming in the new branch in a new fixer branch that could go out quickly. The alternative was reverting the CSS back and my guess was that would have caused worse merge conflicts later, plus it was worth taking advantage of the newer, nicer styling now.
Then, because of course it did, the small HTML change caused another bug. The JavaScript that was watching those buttons couldn’t find them anymore and I failed to test it or, ideally, write a test for it. So, I had to fix that too, but sadly only after a user reported it. Gosh, I gotta improve our integration tests there.
I was in two meetings. One was a standard weekly catchup meeting. One was with a new person I’d never met before and we were exploring if there was an interesting way we could work together.
I fixed a bug with some bad backend logic (that I had written myself, of course). I wanted to display some information to a user based on, I thought, if they were on a team or not. I got that logic right, but it turns out the messaging was depended on that team being active (i.e. not expired in some way), so I had to update the logic to account for that. My team member helped me think it through because I didn’t understand the way billing and active subscriptions were tied to the user well enough.
I fixed a bug where a UI element was showing a strong warning state, but there was no way to find out what the problem was. It was a big red box with an exclamation point in it. It even had a hover state. But clicking it did nothing.
Turns out it was just a problem with event delegation. It was being added to the page after click handlers attempted to bind two elements like that. I fixed it by re-binding those click handlers after of the error UI was appended. It didn’t feel great. A better fix might have been updating the event delegation to be more efficient about this case. But, I’d been burned by that in the past, so this fix seemed more robust, even if less elegant and efficient.
It made me pine for the page being ported to React, where a silly event delegation bug would have never been an issue. Not long after, I fixed another bug where a click handler had been bound to a span.class_name, and the span was updated to be a button. That was a semantic and accessibility win, but broke the handler.
Again, something that just doesn’t happen in React.
Formatting typography to fit your exact purposes can be a time-consuming process. So imagine instead being able to make a font subtly bolder or more italicised just by adjusting a slider in Illustrator.
Variable font technology now allows you to do just that. These individual font files actually behave like multiple fonts, allowing you to adjust the weight, width and slant of type as you work.
But are variable fonts actually useful for designers, or a fun but pointless gimmick? Here we take a look at how you can use variable fonts in Illustrator CC and how you can best apply them in your design work.
On the hunt for more cool fonts? Check out the huge range of display styles, serifs and sans serifs over on Envato Elements and GraphicRiver.
What Are Variable Fonts?
A variable font is an OpenType font format that includes new technology called OpenType Font Variations.
Jointly developed by four of the most influential technology companies—Google, Apple, Microsoft, and Adobe—these font files contain a huge amount of extra data, compared to your average OpenType font.
A variable font can contain a font’s entire glyph set, or individual glyphs with up to 64,000 axes of variation, including weight, width, slant, and, in some cases, specific styles, such as Condensed, Bold, etc.
OK, But… Why?
Alongside Color Font technology, variable fonts can seem to the uninitiated a little, well, pointless. Many typographers would argue that the process of manually formatting fonts is the most professional and satisfactory way to go about things.
Color fonts are set to take over the graphic design world in 2018, but what are they, and how do you use them? Learn all about color fonts in this tutorial.
Creating fonts has never been so easy as with Fontself—a powerful extension for Adobe Illustrator and Photoshop. Learn how to make color fonts with Fontself!
However, variable fonts are a natural progression for the field of typography, which is increasingly reflective of developments in responsive web design. Designers are demanding more convenience and interactivity from their design tools, and fonts which you can adjust with the roll of a slider are meeting this demand.
Variable fonts provide designers with a single font file that behaves like multiple fonts. The new OpenType format allows us to quickly adjust certain…
Variable fonts offer flexibility and immediate results, which makes them a welcome novelty for the time-strapped typographer.
They’re also great for adjusting typography ‘live’. So if, for example, you’re showing a client a design on a screen, you can adjust the formatting of a header before their eyes instantly.
How Do I Find Variable Fonts?
You can use a limited range of pre-installed variable fonts in Adobe Illustrator CC and AdobePhotoshop CC, including:
Acumin Variable Concept
Minion Variable Concept
Myriad Variable Concept
Source Sans Variable
Source Serif Variable
Source Code Variable
Independent typeface designers are also starting to release their own variable fonts, though many of these are still only available as prototypes. Check out Gingham, a minimal sans serif by Christoph Koeberlin, or Jabin, a variable take on Gothic type styles by Frida Medrano.
You can also find a beta website, v-fonts.com, which features an ever-growing list of new variable fonts.
How Do I Use Variable Fonts?
Here, we’ll look at how to use variable fonts in Illustrator CC.
The process is really easy. Simply select the Type Tool (T) and drag to create a text frame on the page. Place your cursor into the frame and type in your text.
With either the frame selected or the type highlighted, choose a variable font from the normal font menu in the Character panel (Window > Type > Character).
Click on the small double-T symbol to the right of the font weight menu. When you hover over the symbol, you’ll see ‘Variable Font’ appear next to your cursor.
Clicking on this opens a pop-out window with sliders to adjust three options, which are detailed below.
Weight
Adjusting this slider makes the type appear thinner or bolder. Depending on the variable font, this can range from ultra-thin to a very heavy or fat weight.
This is a great option for playing with the visual impact of headers or sub-headings, allowing you to define just the right amount of boldness for your text.
Note that increasing the weight of the font can also expand the overall width of the text, purely due to the increased size of each character.
Width
To give your type a condensed (or squashed) look, or stretch it to give it a broader appearance, adjust the Width slider.
While this has an aesthetic effect on your text, it’s also a really nifty method for banishing any stray orphans or widows in your typography if you don’t want to spend a long time adjusting tracking or kerning manually.
Slant
Although applying false italicisation to text is often considered a big no-go in typographic circles, the Slant slider actually replicates a large variety of authentic italic weights.
This gives you the professional look of actual italics, but the wide variety of options you can often only achieve by applying false italics.
Where Should I Use Variable Fonts?
Variable fonts have been designed with web design in mind, and they are supported by Safari, Chrome, Edge, and Firefox. The web is the natural home for variable fonts because they are uniquely tuned to responsive sites and apps. You can play around with different variable fonts to see how they would appear online on the Axis-Praxis site.
By storing information about multiple font families within just one font file, variable fonts also offer a space-saving solution for web designers.
However, variable fonts also present an exciting new way of formatting typography for print designers. Because adjusting the fonts is so quick and convenient, they make a brilliant timesaver for print designers as they work on drafts.
Conclusion: Are Variable Fonts a Gimmick or Here to Stay?
For web designers, variable fonts represent another exciting development in responsive typography. Along with color fonts, variable fonts allow web designers to be more flexible and creative in their designs, making typography the focal point of websites rather than a mere necessity.
For print designers, the jury is still out as to whether variable fonts are useful enough to replace manual typography formatting. Until a very wide range of variable fonts are made available in Adobe software, it seems unlikely that they will replace the standard method of formatting type for most designers.
Looking for more great fonts? Check out the selection of typefaces on Envato Elements and GraphicRiver, or read our edited lists of some of the best fonts out there: