Get more from the Atom text editor

Original Source: http://feedproxy.google.com/~r/CreativeBloq/~3/jy8i-mSzxY4/get-more-atom-text-editor-21619396

Of all the text editors available, Atom is a favourite amongst designers and developers. Atom is developed by GitHub and was open sourced in early 2014. Since then, this web design tool has grown to have more than 500,000 monthly users. Out of the box Atom is Git-aware, includes Markdown previews, auto-complete and more. It is designed to be hackable to the core.

In addition to being open source, Atom is built using web technology: JavaScript, HTML and CSS. This makes Atom's core and extensibility options accessible to a wide range of developers.

In this article I'll share ways in which you can extend and customise Atom, from managing packages to adding custom behaviours.

atom landing page

Atom is built with JavaScript, HTML and CSS
Package ecosystem

At the time of writing, over 7,000 packages and more than 2,000 themes had been published for Atom. Atom itself is created by bundling the core app with dozens of packages for each default feature.

These packages do things like add Markdown preview support, display your directory's Git status, and control Find and Replace. They can be managed through the Settings view. Atom's Settings view sets it apart because it includes a package manager by default, giving you access to the packages you have installed, as well as the thousands created by the community. You can browse and install these from within Atom.

You can open the Settings view by clicking Packages > Settings View > Open in your menu bar or by using the cmd+, keyboard shortcut.

Packages

packages in Atom

Use packages to extend and customise Atom

With the Settings view open, you’ll find the Packages tab on the left. This will display all the packages you have installed, and their type:

Community packages: Packages written by people outside of GitHub's Atom teamCore packages: Developed by the Atom team and bundled with AtomDevelopment packages: Packages you have on your machine and use in Atom from local source

From the Packages view, you can manage your installed packages by selecting to install/uninstall or disable/enable them. Clicking on a package in this view takes you to the package's available settings (if any) as well as the README that describes the package. If you want to know more, you can click on the link and be taken to the package's repository or issue tracker.

Install packages

The Install tab in the Settings view connects you to the thousands of packages available for Atom. At the top you'll find featured packages, but you can also use the search bar to find the one you're looking for.

Packages are published to Atom using Atom Package Manager (APM), which is included with Atom. You'll find published Atom packages in the Install view, and they can also be found on Atom's website.

Just like in the Packages view, clicking on a single package displays the README, so you can see what it does before you install it. It also links to the package's code repository.

You can install new packages from the community in this view by clicking the Install button on a listed package. You can then manage packages from the Packages view.

Development packages

In order to use a package you’re developing locally in Atom before you publish it with APM, you can link it to Atom using the APM CLI. For instance, from within the package’s directory in Terminal or Bash, use the following command:

Linked packages will show up in the Development Packages section in the Packages view. You can see linked packages with this command:

Themes in Atom

In the Install view, toggle the search bar to Themes to search the available Atom themes. Once you have themes installed, you can manage and set them as the current theme in the Themes view.

UI and syntax themes

Atom has themes for both the UI and the code syntax. The syntax themes style how the code looks in the editor itself, and the UI themes style how the rest of Atom looks (e.g. the tabs and file tree).You can even make small changes to Atom without creating a complete theme or package.

Alternative customisation in Atom

The Settings tab in the Settings view provides your options for customising Atom, but you can go beyond the default options by adding JavaScript or CSS within your config. Every instance of Atom has a .atom directory that contains its configuration settings, where you can create custom behaviour or styles. 

To open your .atom configuration directory, click the ‘Open config folder' button on the left side of the Settings view.

Init.coffee file

The init.coffee file allows you to add custom behaviour to Atom every time a new window is launched. It's executed after packages are loaded and any previous editor state has been restored.

You can use CoffeeScript in this default file or create a new file, init.js, to use JavaScript. In init you can make use of the full Node.js API. For example, if each time you opened a window you wanted Atom to greet you with the version of Node.js it is using, you could add this to your init file:

To interact more with Atom, you can use the Atom API. Documentation on the API is available on the Atom site.

Styles.css

Just like the init.coffee file, styles.css is a file that is loaded after Atom starts up. The styles you add here will override or add onto Atom's existing styles, and they will take effect immediately upon saving. 

For example, you could change the editor's background colour by adding this CSS:

A quick way to find the property names in Atom is to make use of the fact that underneath Atom is Chromium, so you have access to DevTools. You can toggle DevTools on and off by pressing alt+cmd+I.

With DevTools open, you can use the magnifying glass to select elements in Atom and reveal their class or element names. Target them in your styles.css file to change their properties.

With Atom's package manager and configuration files you can customise your Atom environment right from within Atom. This introduction should get you well on your way, and if you have any questions, open an issue on the project.

This article originally appeared in issue 277 of net, the world's leading web design magazine. Subscribe here.

To improve your web design skills further, head to our conference Generate and experience a packed schedule of industry-leading speakers, workshops and valuable networking opportunities. Don't miss it! Get your Generate ticket now.

Related articles:

What to learn to upgrade your web design skillsBeware the cutting edge of web design13 best pieces of user testing software

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and more

Original Source: http://feedproxy.google.com/~r/abduzeedo/~3/XNbE8pXiflA/ui-inspiration-weeks-selections-slava-kornilov-hristo-hristov-and-more

UI Inspiration: This week’s selections from Slava Kornilov, Hristo Hristov and more

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and more

AoiroStudio
Jul 16, 2018

It’s that time of the week for our collection of UI/UX interactions to boost your UI inspiration. We are focusing on cool animations, layout designs, UX thinking and more. We are mixing it all from static, dynamic and even live prototypes, this might be a great weekly series to bookmark! This week, we are kicking it off with a very cool combination of colours and UI components designed by Slava Kornilov. You should check out another intuitive UI transition by Ning xiao dong about a Wallet App page. Hope this will give you some inspiration!

In this collection we are featuring the work from Slava Kornilov, Hristo Hristov, Adam Przybylski, Shaban Iddrisu™ and more.

More Links
For more, check out Dribbble
Follow my tweets @aoirostudio
Follow my pictures on Instagram
via Dribbble

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Slava Kornilov

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Hristo Hristov

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Adam Przybylski

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Shaban Iddrisu™

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Yuanxu

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Robert Felizardo

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Ning xiao dong

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Abdullah Un Noman

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Veera

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by QiYang

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Aleksandr Lunev

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Netflayo

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by JUST Team

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Josh Parenti

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Christian Puga

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Boja

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Graphic Assets

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Alexandr Kotelevets

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Sunil kumar

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Yolanda ju

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Prometheus x GTR

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Shekh Al Raihan ✪

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by JONDesigner

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Giga Tamarashvili

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Zahidul

UI Inspiration: This week's selections from Slava Kornilov, Hristo Hristov and moreDesign by Divan Raj

ui inspiration
UI/UX
ui design
interaction design


96% Off: Get The Ultimate Front End Development Bundle for $39

Original Source: http://feedproxy.google.com/~r/Designrfix/~3/R12VbSw7AsM/ultimate-front-end-development-bundle

So you want to become a web developer? Well, you made the right choice. As we progress towards a more tech-filled future, the demand for web developers is increasing. Companies are upping the salary to ensure that they hire the best talent out there. The good news is that you don’t need a degree to […]

The post 96% Off: Get The Ultimate Front End Development Bundle for $39 appeared first on designrfix.com.

Ethereum DApps: Cross-contract Communication & Token Selling

Original Source: https://www.sitepoint.com/building-ethereum-dapps-cross-contract-communication-token-selling/

In part 4 of this tutorial series on building DApps with Ethereum, we started building and testing our DAO contract. Now let’s go one step further and handle adding content and tokens to the story, as per our introduction.

Adding Tokens

For a contract to be able to interact with another contract, it needs to be aware of that other contract’s interface — the functions available to it. Since our TNS token has a fairly straightforward interface, we can include it as such in the contract of our DAO, above the contract StoryDao declaration and under our import statements:

contract LockableToken is Ownable {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
function approveAndCall(address _spender, uint256 _value, bytes _data) public payable returns (bool);
function transferAndCall(address _to, uint256 _value, bytes _data) public payable returns (bool);
function transferFromAndCall(address _from, address _to, uint256 _value, bytes _data) public payable returns (bool);

function increaseLockedAmount(address _owner, uint256 _amount) public returns (uint256);
function decreaseLockedAmount(address _owner, uint256 _amount) public returns (uint256);
function getLockedAmount(address _owner) view public returns (uint256);
function getUnlockedAmount(address _owner) view public returns (uint256);
}

Notice that we don’t need to paste in the “meat” of the functions, but only their signatures (skeletons). This is all that’s needed to interact between contracts.

Now we can use these functions in the DAO contract. The plan is as follows:

launch the token (we already did this)
launch the DAO from the same address
send all tokens from the token-launcher to the DAO, then transfer ownership over the contract to the DAO itself
at this point the DAO owns all tokens and can sell them to people using the transfer function, or can reserve them for spending using the approve function (useful during votes), etc.

But how does the DAO know which address the token is deployed on? We tell it.

First, we add a new variable at the top of the DAO contract:

LockableToken public token;

Then, we add some functions:

constructor(address _token) public {
require(_token != address(0), “Token address cannot be null-address”);
token = LockableToken(_token);
}

The constructor is the function which gets called automatically when a contract is deployed. It’s useful for initializing values like linked contracts, default values, etc. In our case, we’ll use it to consume and save the address of the TNS token. The require check is there to make sure the token’s address is valid.

While we’re at it, let’s add a function that lets users check how many tokens remain for sale in the DAO, and the ability to change to another token should something go wrong and such a change be required. This change deserves an event, too, so let’s add that in as well.

event TokenAddressChange(address token);

function daoTokenBalance() public view returns (uint256) {
return token.balanceOf(address(this));
}

function changeTokenAddress(address _token) onlyOwner public {
require(_token != address(0), “Token address cannot be null-address”);
token = LockableToken(_token);
emit TokenAddressChange(_token);
}

The first function is set to view because it doesn’t change the state of the blockchain; it doesn’t alter any values. This means it’s a free, read-only function call to the blockchain: it doesn’t need a paid transaction. It also returns the balance of tokens as a number, so this needs to be declared on the function’s signature with returns (uint256). The token has a balanceOf function (see the interface we pasted in above) and it accepts one parameter — the address whose balance to check. We’re checking our (this) DAO’s balance, so “this”, and we turn “this” into an address with address().

The token address changing function allows the owner (admin) to change the token contract. It’s identical to the logic of the constructor.

Let’s see how we can let people buy the tokens now.

Buying Tokens

As per the previous part of the series, users can buy tokens by:

Using the fallback function if already whitelisted. In other words, just sending ether to the DAO contract.
Using the whitelistAddress function by sending more than the fee required for whitelisting.
Calling the buyTokens function directly.

There is a caveat, however. When someone calls the buyTokens function from the outside, we want it to fail if there aren’t enough tokens in the DAO to sell. But when someone buys tokens via the whitelist function by sending in too much in the first whitelisting attempt, we don’t want it to fail, because then the whitelisting process will get canceled as everything fails at once. Transactions in Ethereum are atomic: either everything has to succeed, or nothing. So we’ll make two buyTokens functions.

// This goes at the top of the contract with other properties
uint256 public tokenToWeiRatio = 10000;

function buyTokensThrow(address _buyer, uint256 _wei) external {

require(whitelist[_buyer], “Candidate must be whitelisted.”);
require(!blacklist[_buyer], “Candidate must not be blacklisted.”);

uint256 tokens = _wei * tokenToWeiRatio;
require(daoTokenBalance() >= tokens, “DAO must have enough tokens for sale”);
token.transfer(_buyer, tokens);
}

function buyTokensInternal(address _buyer, uint256 _wei) internal {
require(!blacklist[_buyer], “Candidate must not be blacklisted.”);
uint256 tokens = _wei * tokenToWeiRatio;
if (daoTokenBalance() < tokens) {
msg.sender.transfer(_wei);
} else {
token.transfer(_buyer, tokens);
}
}

So, 100 million TNS tokens exist. If we set a price of 10000 tokens per one ether, that comes down to around 4–5 cents per token, which is acceptable.

The functions do some calculations after doing sanity checks against banned users and other factors, and immediately send the tokens out to the buyer, who can start using them as they see fit — either for voting, or for selling on exchanges. If there’s fewer tokens in the DAO than the buyer is trying to buy, the buyer is refunded.

The part token.transfer(_buyer, tokens) is us using the TNS token contract to initiate a transfer from the current location (the DAO) to the destination _buyer for amount tokens.

Now that we know people can get their hands on the tokens, let’s see if we can implement submissions.

The post Ethereum DApps: Cross-contract Communication & Token Selling appeared first on SitePoint.

Building Ethereum DApps: Whitelisting & Testing a Story DAO

Original Source: https://www.sitepoint.com/building-ethereum-dapps-whitelisting-testing-story-dao/

In part 3 of this tutorial series on building DApps with Ethereum, we built and deployed our token to the Ethereum testnet Rinkeby. In this part, we’ll start writing the Story DAO code.

We’ll use the conditions laid out in the intro post to guide us.

Contract Outline

Let’s create a new contract, StoryDao.sol, with this skeleton:

pragma solidity ^0.4.24;

import “../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol”;
import “../node_modules/openzeppelin-solidity/contracts/ownership/Ownable.sol”;

contract StoryDao is Ownable {
using SafeMath for uint256;

mapping(address => bool) whitelist;
uint256 public whitelistedNumber = 0;
mapping(address => bool) blacklist;
event Whitelisted(address addr, bool status);
event Blacklisted(address addr, bool status);

uint256 public daofee = 100; // hundredths of a percent, i.e. 100 is 1%
uint256 public whitelistfee = 10000000000000000; // in Wei, this is 0.01 ether

event SubmissionCommissionChanged(uint256 newFee);
event WhitelistFeeChanged(uint256 newFee);

uint256 public durationDays = 21; // duration of story’s chapter in days
uint256 public durationSubmissions = 1000; // duration of story’s chapter in entries

function changedaofee(uint256 _fee) onlyOwner external {
require(_fee < daofee, “New fee must be lower than old fee.”);
daofee = _fee;
emit SubmissionCommissionChanged(_fee);
}

function changewhitelistfee(uint256 _fee) onlyOwner external {
require(_fee < whitelistfee, “New fee must be lower than old fee.”);
whitelistfee = _fee;
emit WhitelistFeeChanged(_fee);
}

function lowerSubmissionFee(uint256 _fee) onlyOwner external {
require(_fee < submissionZeroFee, “New fee must be lower than old fee.”);
submissionZeroFee = _fee;
emit SubmissionFeeChanged(_fee);
}

function changeDurationDays(uint256 _days) onlyOwner external {
require(_days >= 1);
durationDays = _days;
}

function changeDurationSubmissions(uint256 _subs) onlyOwner external {
require(_subs > 99);
durationSubmissions = _subs;
}
}

We’re importing SafeMath to have safe calculations again, but this time we’re also using Zeppelin’s Ownable contract, which lets someone “own” the story and execute certain admin-only functions. Simply saying that our StoryDao is Ownable is enough; feel free to inspect the contract to see how it works.

We also use the onlyOwner modifier from this contract. Function modifiers are basically extensions, plugins for functions. The onlyOwner modifier looks like this:

modifier onlyOwner() {
require(msg.sender == owner);
_;
}

When onlyOwner is added to a function, then that function’s body is pasted into the part where the _; part is, and everything before it executes first. So by using this modifier, the function automatically checks if the message sender is also the owner of the contract and then continues as usual if so. If not, it crashes.

By using the onlyOwner modifier on the functions that change the fees and other parameters of our story DAO, we make sure that only the admin can do these changes.

The post Building Ethereum DApps: Whitelisting & Testing a Story DAO appeared first on SitePoint.

Tips to Design a Good Logo for A Client or Yourself

Original Source: http://feedproxy.google.com/~r/Designrfix/~3/NDhN2b4t5f8/tips-to-design-a-good-logo-for-a-client-or-yourself

Before entering your field of choice, you must understand that a good logo reflects the values of the brand by using forms, colors, and typographies. Its objective is to inspire confidence and recognition of your brand and help the company to stand out from the competition. When it comes to logo design, you get out of […]

The post Tips to Design a Good Logo for A Client or Yourself appeared first on designrfix.com.

50 Most Beautiful Blogger Templates to Download (2018)

Original Source: https://www.hongkiat.com/blog/50-most-beautiful-blogger-templates/

An updated list of beautiful yet advanced Blogger (Blogspot) templates free to download.

The post 50 Most Beautiful Blogger Templates to Download (2018) appeared first on Hongkiat.

Visit hongkiat.com for full content.

29 Chrome extensions for web designers and devs

Original Source: http://feedproxy.google.com/~r/CreativeBloq/~3/3whUD8CCERI/google-chrome-extensions-21410570

Chrome's DevTools are great, but it's possible to add even more exciting features to your internet browser to make web design and development easier. Here are 29 of our favourite Chrome extensions for web designers and developers.

01. Sizzy

Sizzy website

An easy way to test your site across multiple viewports

Responsive web design's a given these days, and it you want a straightforward way to check your designs across multiple viewports, Sizzy's worth a look. It'll show you an interactive view of your page rendered on a number of different device screen sizes, and you can also show and hide a simulated device keyboard, and switch between portrait and landscape modes.

02. Site Palette

Site Palette website

If a colour scheme takes your fancy, Site Palette will help you borrow it

The next time you see a site that makes great use of colour, here's a simple way to take advantage of it. Site Palette extracts the main colours from a website and generates a shareable palette that you can easily show to collaborators. You can also download a Sketch template, and there's Adobe Swatch support, too. 

03. Checkbot

Checkbot website

Sort out all those broken links and get a free SEO boost

Making sure that all the links on your site actually work is an instant usability win and it's a good way to improve your SEO, too. Checkbot is a Chrome extension that checks for broken links, duplicate titles, redirect chains, invalid HTML/JS/CSS and more, so you can quickly audit your site for bad links and get them fixed.

04. Toby

Toby website

Turn all those unruly tabs into useful collections of bookmarks

It is a truth universally acknowledged that by the time you've had Chrome open for a couple of hours it'll be a confusing nest of tabs the width of your little finger. Toby's a great way to tame them; with it you can organise all those tabs into collections of links as an alternative to loads of individual bookmarks, making them much easier to manage.

05. DomFlags

DomFlags website

A new way to work with DevTools

Radically speed up the processes of styling elements with DomFlags, a truly great extension that lets you create keyboard shortcuts for DOM elements. It's like having bookmarks for navigating the DOM; this will change the way you work with DevTools. 

06. Highly Highlighter

Highly website

Highly, a new way to participate in industry conversation

Here's an interesting way to bring people into a discussion: Highly lets you share highlights from articles on the web, so you can draw attention to the most significant bits of writing. 

07. Booom

Booom website

Get a better Dribbble experience with Booom

Booom makes Dribbble better by showing larger shots in lists; putting Like and Add to Bucket buttons in lists; making GIFs autoplay and bringing infinite scroll. 

08. CSS-Shack

Google Chrome extensions - CSS Shack

This Chrome extension enables you to create layer styles and export them into a CSS file

This powerful Chrome extension enables you to create designs then export them into a CSS file for use on your site. It supports layers and contains a plethora of the tools that you're used to from your regular photo editor.

09. Marmoset

Google Chrome extensions - Marmoset

With Marmoset you can create gorgeous code snapshots within seconds

This brilliant extension will take your code and output snapshots for your demos and mockups. You can also add themes and effects to create images for promo and your online portfolio.

10. iMacros for Chrome

Google Chrome extensions - IMacros

iMacros Chrome extension enables you to record actions and save them

As a web developer, you may be required to test your webpages. Repeating the same actions over and over again can be a tiresome process. iMacros is a handy Chrome extension that lets you record your actions and save them so you only need to do them once. After that you can test your pages over and over again, repeating the action with a click of a button. It saves valuable time, freeing up your time so you can concentrate on more pressing matters.

Next: 10 more Chrome extensions

11. Window Resizer

Google Chrome extensions - Windows Resizer

This Chrome extension re-sizes the browser window in order to emulate various resolutions

This Chrome extension is a useful tool that does exactly as it says on the tin – resizes your browser window to help you with your responsive website designs. Choose from a list of popular monitor dimensions or add custom sizes and resolutions for increased accuracy.

12. Project Naptha

Google Chrome extensions - Project Naptha

With Naptha you can highlight, copy, edit, and translate text from any image on the web

If you ever find yourself working from a mockup image with embedded text, Project Naptha could save you a world of mild irritation. Thanks to some smart OCR trickery it enables you to highlight, copy and paste text from any image; it can even translate it for you.

13. WhatFont

Google Chrome extensions - What Font

What font are they using? The WhatFont Chrome extension can tell you!

A very useful Google Chrome extension, WhatFont allows developers and designers to identify the fonts being used on a webpage. So, if you stumble upon a fancy-looking web font that you want to use in one of your future projects, just hover over it and find out instantly which font it is.

14. Web Developer

Google Chrome extensions - Web Developer

The Web Developer Chrome extension provides a range of useful dev tools

As a web developer, you might ask yourself how you have lived without this extension. It adds a toolbar button to Chrome with a plethora of useful web developer tools. It's the official port of the Web Developer extension for Firefox.

15. Web Developer Checklist

Google Chrome extensions - Web Developer Checklist

Fix issues quickly with this handy Chrome extension

This tool allows you check if all of your webpages are following best practice when it comes to SEO, usability, accessibility and performance (page speed). So if, for example, you don't have an H1 tag on a webpage or if a webpage is missing its meta title or meta description, it will notify you so that you can fix the issue quickly. If you click the 'more info and help' link at the bottom of the extension, you will find a more in-depth checklist.

16. DevTools Autosave

Google Chrome extensions - Dev Tools Autosave

Automatically save any changes to a page’s CSS and JS to its source file

A true gem for all web developers out there, DevTools AutoSave allows you to automatically save any changes that you make to a webpage's CSS and JS via the Chrome Dev Tools environment to its source file. It's easy to set up and use and it will save you lots of time and stress.

17. Instant Wireframe

Google Chrome extensions - Instant wireframe

View live webpages with a wireframe overlay

Turn any webpage into a wireframe with just one click. This Google Chrome extension helps web developers and designers view webpages, whether local or live on the web, with a wireframe overlay.

18. ColorZilla

Google Chrome extensions - ColorZilla

With ColorZilla you can get a colour reading from any point in your browser

The ColorZilla Chrome extension is an advanced eyedropper, colour picker, gradient generator and useful colour tool that will help you in your design – right there in your browser window.

19. Streak CRM for Gmail

Google Chrome extensions - Streak

Turn an email conversation into a trackable, assignable ticket

Streak is the ultimate tool for managing CRM and support emails within Gmail. It allows you to turn a single email or an entire conversation into a trackable, assignable, organised ticket that you can manage yourself or share with others.

20. Search Stackoverflow

Google Chrome extensions - Search Stackoverflow

Get your questions answered quickly with this must-have extension

If you're a web developer then you've probably heard about Stack Overflow, the go-to place for any development related issues. If not, then you definitely need to check it out. The community is thriving and it covers a wide range of topics from C# and Java to PHP and jQuery. This fantastic extension adds a search box directly into your browser, allowing you to search the vast resources of Stack Overflow.

Next: more Chrome extensions

21. PerfectPixel

Google Chrome extensions - Perfect Pixel

This extension helps you ensure your site matches the design pixel for pixel

Designers hate it when their stunning design doesn't match up perfectly when it's coded. Perfect Pixel really is the perfect extension for web developers who are striving to develop sites that are accurate representations of designs. This easy-to-use extension enables you to put a semi-transparent image overlay over the top of your webpage and perform a per pixel comparison between them to ensure it is 100% accurate.

22. Code Cola

Google Chrome extensions - Code Cola

Edit your webpages’ CSS on the spot

Not only does this tool allow you to view the source code of what you've been working on, but it also functions as a CSS editor. This means you can edit your webpages' CSS style on the spot and see the changes instantly.

23. IE tab

Google Chrome extensions - IE Tab

Test webpages with different versions of IE

One of the most popular and useful IE emulators available on the web, IE tab enables web developers to test webpages with different versions of IE directly in their Chrome browser.

24. PicMonkey

Google Chrome extensions - PicMonkey

Grab every image from a webpage with a click of a button

This is an easy-to-use free online photo editor that allows you to edit webpage images and screenshots. But that's not what makes it so good. PicMonkey also lets you grab every image and a screenshot of the entire page with a click of a button. Once you select an image you can edit it in any way you wish, from applying effects to changing exposure.

25. Chrome Daltonize

Google Chrome extensions - Chrome Daltonize

Create images more suitable for viewing by those with Colour Vision Deficiency

Colour Vision Deficiency (CVD) or colour blindness affects millions of people across the globe. This ingenious extension uses Daltonization, a technique that allows the creation of images more suitable for viewing by those with CVD. This fantastic extension can be used to simulate how images appear to people with CVD and to help you design a more accessible web app.

26. Check My Links

Google Chrome extensions - Check My Links

Check My Links crawls through your webpage and looks for broken links

Finished building a site? Ah, but have you been through and checked all the links? No matter how careful you are, it's inevitable that you'll have overlooked one or two, and checking them all is a tedious chore. Unless…. With the Check My Links extension you can simply put it to work and it'll comb through all the links on any page, highlighting valid ones in green and broken ones in red.

27. Flickr Tab

Google Chrome extensions - Flickr Tab

Smarten up your Chome tabs with beautiful Flickr images

Are you tired of your Chrome tabs looking dull when you open a new one? The answer to your prayers has arrived in the form of Flickr Tab. It's a simple little Extension that displays a popular Fickr photograph each time you open up a window. Click the photo to view it in Flickr, or click the username to see more photos from the photographer.

28. Google Art Project

Google Chrome extensions - Google Art Project

Make each new Chrome tab an adventure in art and discovery with the Google Art Project

Similar to Flickr Tab's glossy photos, Google's Art Project extension treats you to a high-res masterpiece from the likes of van Gogh and Monet in each new tab you open. If an image sparks your interest, click on it to go to the Google Cultural Institute website, which is full of information about the work and its creator.

29. Data Saver

Google Chrome extensions - Data Saver

Save cash when viewing designs on your mobile with Google’s compression based Data Saver

So, your latest bill from your mobile provider was rather toe curling? Don't panic. You need Data Saver, from Google. The extension does what it says on the tin: it reduces the amount of data used when browsing the web. When enabled, Chrome will use Google servers to compress pages before you download them. There's only one caveat: SSL and incognito pages won't be included.

Read more:

13 best pieces of user testing software30 web design tools to speed up your workflow23 steps to the perfect website layout

Turn Your Website Into a Money-Making Machine Using These Tips

Original Source: http://feedproxy.google.com/~r/Designrfix/~3/OIOiWMJyMGI/turn-your-website-into-a-money-making-machine-using-these-tips

Having a money-making website is the bomb! Not only will you be able to generate truckloads of money while you’re off somewhere sipping margaritas, but you’ll also be able to create strategic partnerships that can bring you even more cash. If that’s what you’ve been trying to accomplish these past few years — yet you’re […]

The post Turn Your Website Into a Money-Making Machine Using These Tips appeared first on designrfix.com.

Webfonts And Performance: SmashingConf Videos

Original Source: https://www.smashingmagazine.com/2018/07/smashingconf-videos-web-fonts-performance/

Webfonts And Performance: SmashingConf Videos

Webfonts And Performance: SmashingConf Videos

The Smashing Editorial

2018-07-20T14:35:35+02:00
2018-07-20T15:29:44+00:00

Webfonts are difficult to get right. An often overlooked and disruptive piece of web performance, webfonts can slow down your site and leave your visitors confused and agitated. No one wants agitated visitors.

Webfonts Are ▢▢▢ Rocket Science

Recorded at our special web performance themed SmashingConf in London, Zach Leatherman demystifies webfonts in order that we can avoid font-related performance issues. He takes us through a detailed guide to best practices when using webfonts, so you can use beautiful fonts without sacrificing performance. If you have ever asked, “What is the best way to load webfonts?” then you need to hear this talk. Zach breaks down the various approaches in a straightforward way, so you should feel able to make the best decisions for your own use of webfonts.

In addition to this video, you can take a look at Zach’s “Comprehensive Guide To Font Loading Strategies,” and subscribe to his newsletter fontspeed.io.

Fontastic Web Performance

Another great introduction to font loading was made by Monica Dinculescu at SmashingConf Barcelona. She spoke about which new platform features are here to help us deliver pretty (but also!) fast experiences to everyone.

In her talk, Monica also mentions the following resources — in addition to Zach’s work:

“Type is Your Right,” by Helen Holmes
“Minimising Font Downloads,” by Jake Archibald
Type With Pride
Axis Praxis
Fontastic

We also find Monca’s Font Style Matcher tool really useful, helping you find a font that matches your webfont closely to prevent a jarring shift between the sizes.

Enjoyed listening to these talks? There are many more SmashingConf videos on Vimeo, and we’re getting ready for the upcoming SmashingConf in New York — see you there? 😉

With so much happening on the web, what should we really pay attention to? At SmashingConf New York 2018 ?? we’ll explore everything from PWAs, font loading best practices, web performance and eCommerce UX optimization, to refactoring CSS, design workflows and convincing your clients. With Sarah Drasner, Dan Mall, Sara Soueidan, Jason Grigsby, and many other speakers. Oct 23–24.

Check the speakers →

SmashingConf New York 2018, with Dan Mall, Sara Soueidan, Sarah Drasner and many others.

Smashing Editorial
(ra, il)