web designers Sharon Massachusetts

Sharon website builder

web design proposal pdf

Hello and welcome to this website builder Web Designer Sharon video tutorial.

I’m Owen Corso from Google.

web design color schemes web design jobs entry level

And today, we’re going to build a rich media expandable creative with video.

Let’s start by selecting file, New File.

This opens a dialog box where we will set up our ad.

First, let’s make out high of project.

We have four options– The default is Display & Video 360so we will leave that as is.

web design yearly salary

Color in Design Systems

OWEN CORSO: Hello and welcometo this Google Web Designer video tutorial.

I'm Owen Corso from Google.

And today, we're goingto build a rich media expandable creative with video.

Let's start by selectingFile, New File.

This opens a dialog boxwhere we will set up our ad.

First, let's chooseour environment.

We have four options-- The default is Display & Video 360so we will leave that as is.

Next, we can selectthe type of ad.

We want to make anexpandable, so we select Expandable on the left.

Next, we can set upour ad's dimensions.

We are building a 320 by 50that expands to 480 by 250.

So I will make those changes.

We then assign thecreative a name.

I will leave my Save ToLocation as the default, and leave the animationmode set to Quick.

Once I'm happy with mysettings, I click OK.

Google Web Designer creates theinitial pages of the ad for me with the dimensions I defined.

The collapsed page alreadycontains a Tap Area event to expand the ad and an expandedpage with a close tap area to collapse back down.

It also has added all theinitial code needed for the ad to talk to the ad server andcollect tracking metrics.

Those metrics are builtinto the components, and we can assign uniqueidentifiers to each component as we go.

So now I can start adding thegraphic elements I've already prepared.

I drag a backgroundimage or initial ad state and drop it onto the stage,then align it to the stage, and layer it behind the taparea by sending to back.

Now, let's switch toour expanded page.

Let's add a background imageby dragging my image file to the stage.

I can also add abutton to the stage by dragging theTap Area component.

Let's make a backgroundexit tap area.

I will size, align it, and thenI will give it a unique name.

To add functionalityto the button, I will add an event using theplus button in the event's toolbar.

This brings me tomy Actions panel, where we assignall of the metrics to our ad instead ofcoding them manually.

I'm going to selectthe tap area I just named BackgroundExit from the list.

Choose Tap Area, Touch/Click as the event.

Google Ad, Exit ad.

On the Receiver panel,I select gwd-ad.

Lastly, I give it an exitidentifier and a destination URL.

For more in-depth detailson the event model, check out the Eventsand Metrics video.

Next, let's add avideo component.

You drag it to the stage,then give it a name and size it properly.

Tell it how to behave.

I want it to autoplay and start muted.

And you target thevideo file here.

This component has allof the metrics built in, so you can avoid handcoding them in the ad.

OK.

Let's preview our ad.

On page load, we seeour collapsed state.

When we click, the adexpands to our expanded page.

Our video behavesas we told it to, and clicking on the backgroundexits to our landing page.

Once the ad is built andfunctioning as you want, it is ready to publish.

Go to File, Publish.

And you're presentedwith a few options-- Publish Locally,to Google Drive, and, finally, toStudio.

Let's choose Publish Locally.

This is where you cancontrol how the ad is output.

For instance, youcan add polite load to the ad, which delays thead load until after the page content loads.

You can also set itto minify the code and add browserprefixes automatically.

We'll leave all thesesettings as to the default.

Click Publish, and Web Designerwill wrap up all of your files in a nice little zipfor uploading to Studio.

Now, let's testit out in Studio.

Let's make a newcreative of expanding type.

Drag the zip file to uploadour creative to Studio.

Now, let's preview our creative.

As you can see, I can expandthe unit, play the video, and trigger thebackground exit we added.

You can see these eventslogging to the output console.

And that's an overviewof Studio integration features in Google Web Designer.

Sharon website builder

Next, we can select the type of ad.

We want to make an expandable, so we select Expandable on the left.

Next, we can set again ad’s dimensions.

We are building a 320 by 50that expands to 480 by 250.

So I will make those changes.

We then assign the Sharon creative a name.

I will leave my Save ToLocation as the default, and leave the talk about set to Quick.

Once I’m happy with my settings, I click OK.

Google Web Designer creates the initial pages of the ad for me with the dimensions I defined.

 

website builder Sharon

The collapsed page already contains a Tap Area event to expand the ad and an expanded pageSharon with a close tap area to collapse back down.

web design yourself

Latest Dental Implants To Be Used

web design information

KENT: My name is Kent.

I'm the creativespecialist on the Google Web Designer team and I'd like to review dynamic exits in Studio A dynamic exit refers to the URL loaded when a dynamic ad is clicked on It's usually related to the product being shown and that URL comes from yourdata feed This video describes the workflow for setting up dynamic exits in Studio Now the simplest case is an ad which doesn't use a gallery or carouselcomponent Here's an example from another one of my videos titled Dynamic inStudio - Google Web Designer You'll see my creative contains only placeholder content But when I preview it in Studio you'll see it loading data from my feed Refresh it Now we're seeing product number 0 Look at my feed for product 0 we're seeing this name, this image and here is the URLfor my exit for this product Now when I set up this ad, I used the simple static exit So when I click anywhere on the ad it'll load a static URL like a landingpage What we want to have happen is this to exit to the URL associated for that product Let me show you how to do that in Google Web Designer First thing we'll do is select the current event and delete it Then we're going to look over inour components panel and open up Interaction and grab a taparea Then with the Transform control selected I'm going to stretch this out to cover the ad And in my Dynamic panel I'm going to click the plus icon to make a new binding We'll select that tap area We're going to look for Exit override URL And we'regoing to drill into our feed the first item, exit URL, and get the URL Click OK and we'llpublish this Now when that's done we'll switch over toStudio We'll reload our creative I'm going to click on the ad Now I'll see we'regetting product one Just to make sure this is really working let's reload itand get another image Here's number five Let's click on that Here's product fiveso that's good Now next thing you might want to do is combine static and dynamicexits in a single ad so you might want to have a logo up here which goes to a home page and maybe some disclaimer text down here which goes to a legal page So let's see how we can do that Back in Google Web Designer I'm going to double click this newtaparea and give it a new name exit-default then I'll copy and paste it I'm going to call that one exit-product and this layer is on top So I'm going tomake this just cover the product area and I'm going to select exit-default andchange the exit on that Now one trick over here in the Dynamic panel I can choose Selection and now I would just see the binding on that selection I'm going to select it and delete it With it still selected I'm going to move to the Events panel click the plus icon and add a new event Google ad, exit ad, gwd-ad I'm going to put an arbitrary ID in here and I'm going to put a full URL to mylanding page OK and we're going to publish again Now when that's done, we'll switch back to Studio and reload the page Now when I click in the corners I'm getting my static URL And when I click on the product I'm getting the correct product That concludes this demo, dynamic exits in Studio Thanks for watching.

Color in Design Systems

KENT: My name is Kent.

I'm the creativespecialist on the Google Web Designer team and I'd like to review dynamic exits in Studio A dynamic exit refers to the URL loaded when a dynamic ad is clicked on It's usually related to the product being shown and that URL comes from yourdata feed This video describes the workflow for setting up dynamic exits in Studio Now the simplest case is an ad which doesn't use a gallery or carouselcomponent Here's an example from another one of my videos titled Dynamic inStudio - Google Web Designer You'll see my creative contains only placeholder content But when I preview it in Studio you'll see it loading data from my feed Refresh it Now we're seeing product number 0 Look at my feed for product 0 we're seeing this name, this image and here is the URLfor my exit for this product Now when I set up this ad, I used the simple static exit So when I click anywhere on the ad it'll load a static URL like a landingpage What we want to have happen is this to exit to the URL associated for that product Let me show you how to do that in Google Web Designer First thing we'll do is select the current event and delete it Then we're going to look over inour components panel and open up Interaction and grab a taparea Then with the Transform control selected I'm going to stretch this out to cover the ad And in my Dynamic panel I'm going to click the plus icon to make a new binding We'll select that tap area We're going to look for Exit override URL And we'regoing to drill into our feed the first item, exit URL, and get the URL Click OK and we'llpublish this Now when that's done we'll switch over toStudio We'll reload our creative I'm going to click on the ad Now I'll see we'regetting product one Just to make sure this is really working let's reload itand get another image Here's number five Let's click on that Here's product fiveso that's good Now next thing you might want to do is combine static and dynamicexits in a single ad so you might want to have a logo up here which goes to a home page and maybe some disclaimer text down here which goes to a legal page So let's see how we can do that Back in Google Web Designer I'm going to double click this newtaparea and give it a new name exit-default then I'll copy and paste it I'm going to call that one exit-product and this layer is on top So I'm going tomake this just cover the product area and I'm going to select exit-default andchange the exit on that Now one trick over here in the Dynamic panel I can choose Selection and now I would just see the binding on that selection I'm going to select it and delete it With it still selected I'm going to move to the Events panel click the plus icon and add a new event Google ad, exit ad, gwd-ad I'm going to put an arbitrary ID in here and I'm going to put a full URL to mylanding page OK and we're going to publish again Now when that's done, we'll switch back to Studio and reload the page Now when I click in the corners I'm getting my static URL And when I click on the product I'm getting the correct product That concludes this demo, dynamic exits in Studio Thanks for watching.

web design jobs from home

Ant (GitHub) is much more than a React UI kit with a minimalist design aesthetic and every component under the sun. It is a rabbit’s hole that leads to a giant maze of interconnected libraries, with a serious ecosystem surrounding it. There’s a custom build tool based on Webpack called ant-tool, several CLI apps, community scaffolds, and a complete framework (dva, which has its own CLI as well). And the UI components are mini-projects in and of themselves — see this repo for information on each component.

Many of these libraries appear to be very polished, including an entire React animation library. And I’d love to learn more about them, but Ant comes with a challenge — the majority of the documentation is in Chinese.

How’s Your Chinese?

Let me preface this by pointing out that the components library and its terrific style guide have been translated into English by generous volunteers, so the UI kit is completely usable. And the translation effort demonstrates the project’s intentions to open up Ant to a wider audience, boding well for companies considering adopting it.

However, there are some language issues that remain. The English is sometimes confusing or obscure. The maintainer of the library has commented here that they welcome PRs for improving the documentation, so that could be a great way to get involved in this amazing project.

Good luck hunting down issues!

Another issue is that issues in Ant.Design are mostly filed and debated on GitHub in Chinese. This could be a deal breaker for enterprise applications, but I’m not sure it should be one for early startups since Ant can be used quite minimally, without making use of smarter features like built-in form validation. Still, if you find an issue or bug with the library, it will be difficult to research previous solutions to your issue, and that’s why I recommend making minimal use of the surrounding ecosystem at this stage.

Battle Tested

Popular UI libraries for React include Material-UI, Semantic-UI, Foundation, and Bootstrap (this and this), and they are all fairly mature. Material-UI should be singled out as it massively eclipses the others in popularity, with over 22k stargazers — and over 600 open issues. But it turns out that Ant.Design is a surprisingly worthy candidate as well. It’s battle tested by some of the most well-trodden sites on the web (Alibaba, Baidu), and it boasts a brilliant style guide, custom tooling, and, of course, a comprehensive catalogue of components. It also has only 85 open issues at the time of writing, which is a good thing considering its popularity.

So let’s take a tour of the library, see what it has to offer, and how to get started using it.

Ant Components

The Ant components list is dizzying. Sure, it contains the basics — modals, forms (inline and vertical), navigation menus, a grid system. But it also contains a ton of extras, such as a @mentioning system, a timeline, badges, a seriously nice table system, and other small fancy features, such as an involved address box (see the Habitual Residence field). Have a look — it has everything that a modern web application should, with a tasteful, minimalist aesthetic.

Design Principles

There’s a nice, concise section in the documentation on the guiding principles of Ant.Design. I found it a great read as it got me thinking a lot about UI/UX considerations, especially the “Provide an Invitation” section, where they discuss different ways of making interactions discoverable by a user. By the way, if anyone can recommend me a good book on UX, I would be grateful.

Grid System

The Ant layout system is comprised of a 24-aliquot (a great new word that I learned from the translated documentation — it means parts of a whole) grid and a separate Layout component than you can choose to use. The grid uses the familiar Row/Col system, but you can also specify a prop called flex which allows you to harness Flexbox properties to define a responsive UI. (See a previous blog post of mine for help grokking the Flex standard.)

Flexbox is now fully supported on just about every browser (with partial support on IE 11 as well as some older mobile browsers), so it should be fine to use. If your customer base is largely Internet Explorer users, which does happen in some industries or countries, you would be wise to abstain from using flex Rows or the Layout component, as Layout is built strictly on Flexbox.

Layout includes components for a Sider, Header, Content, and Footer. Again, these are strictly based on Flexbox, so there’s no choice here — but to be honest I’m not sure what these components give you on top of using the standard Row/Col grid system, aside from a couple extra props you can make use of and possibly some built-in design choices. All in all, it doesn’t seem to me to be hugely useful.

Grid Props

Col elements can be supplied with a span prop to define how many aliquots a column takes up and an offset prop to define an optional offset; Row can take a gutter prop to define space between columns in a row (in pixels, not aliquots).

Here’s a UI example from a side project of mine. It contains one row with two columns:

The code would look something like this:

Forms

Ant does not let you down as far as forms are concerned, with options for inline, horizontal, and vertical forms, amazing select boxes, and clear validation messages and icons. In fact, it goes a little overboard here. It allows you to wrap your entire form-rendering component in a higher-order component à la Form.create()(<Component />) to gain access to a built-in validator syntax and custom two-way-binding system (cue audible lip biting). You can then specify standard rules such as ‘required’, or supply custom validator methods. (What are Higher Order Components? Check out this excellent post by James K. Nelson.)

Do you need to use their HOC? Absolutely not, and I’m not sure you should. As I said above, going down that path could expose you to language risk should you encounter bugs and I don’t see why you would want to use a custom two-way binding data system anyway. But you could easily use the HOC and just not use the two-way data binding.

Au Naturel — Plain React Forms

So let’s go over how to use the Ant validation messages without using their higher-order component.

Ant gives us three props that we can supply to each Form.Item component to display validation messages or icons:

  1. validateStatus — This determines the colour & icon scheme of the validation message (see photo above) — valid options are success, warning, error, and validating.
  2. help — The validation message to display.
  3. hasFeedback — This is one of them props that don’t require a value. Just include if you want to display the associated icon, and it defaults to true.
Prettiest validations that I’ve ever seen.

Here’s an example of a simple form element that displays a validation message:

Notice that I used the long-form Form.Item component name. You can make yourself a shortcut for this and any other Ant sub-components as follows:

const FormItem = Form.Item;// .. allows you to use:
<FormItem />

Form Validation using the Ant Higher-Order Component

Now what if we do want to make use of the Ant Form decorator? It’s fairly straightforward to implement. Create your React component class, and then pass it as an argument to Form.create(). The component can then be exported:

class SomeComponent extends React.Component
render() <place_form_here.. />
FancyFormComponent = Form.create()(SomeComponent);export FancyFormComponent as default ; // imported as SomeComponent

Inside your form, decorate your Input fields using the getFieldDecorater method, which exposes a ton of extra props on your component. You can now manipulate form elements directly from the props (eek!).

This example in the documentation gives a thorough demonstration on using the complete higher-order component.

Interactive Components — Message (Alert)

Ant provides a number of other components that give web applications a high degree of interactivity. A great example is alerts — or messages, as they’re called in Ant. Adding an alert is as simple as calling message.success('Great! Item has been saved.') in your component. Message types include success, warning, or error. Just don’t forget to import message (lowercase) from ‘antd’.

Minimalism at its Best

Installing Ant.Design

As I mentioned above, you can either go all-in on the Ant ecosystem (with its custom Webpack adapter), or just opt for the design framework. I went with the latter and I suspect you might too, not the least because using other parts of the ecosystem could require a working knowledge of Chinese. But I’ll cover both options.

Option 1 — Use the CLI

Ant comes with antd-init, a CLI for generating a complete React application with Ant installed. I do not recommend this route for non-Chinese speakers, but if you want to try it, getting started is easy. Just install the CLI using npm, create a new folder, and run antd-init:

npm install antd-init -g; mkdir demo-app; cd $_; antd-init;

You will then be greeted by the following message:

antd-init@2 is only for experience antd. If you want to create projects, it’s better to init with dva-cli. dva is a redux and react based application framework. elm concept, support side effects, hmr, dynamic load and so on.`

It’s a rabbit’s hole. Open your new application and you will see that your familiar webpack.config.js file is no longer familiar — the CLI uses ant-tool, a “Build Tool Based on Webpack” that I mentioned above. The documentation is in Chinese, but it appears to set common defaults for Webpack and then allow you to just supply values that you want to override. Here’s what the config file looks like:

// Learn more on how to config.
// — https://github.com/ant-tool/atool-build#配置扩展module.exports = function(webpackConfig)
webpackConfig.babel.plugins.push(‘transform-runtime’);
webpackConfig.babel.plugins.push([‘import’,
libraryName: ‘antd’,
style: ‘css’,
]); return webpackConfig;
;

The index.js contains a lovely demo page that uses the understated Ant styling.

Option 2 — Use Standard Webpack

This would be my preferred route, but it can be more complicated getting your Webpack settings right at first. The Getting Started page includes some good instructions. First install Ant in your React app:

$ npm install antd --save

Ant recommends using their own babel-plugin-import in your .babelrc:

"presets": [
"react",
...
],
"plugins": ["transform-decorators-legacy", ..., ["import", [ libraryName: "antd", style: "css" ]]
]
}

Make sure your Webpack includes loaders for .js and .css files, and you should be good to go. To use an Ant component, import it in the module file. E.g.

import Row, Col, Icon, Button from 'antd';

Conclusion

There’s no doubt that Ant has a lot to offer as a UI framework, with a formidable catalogue of components and a serious ecosystem around it. It does, however, come with some risk. If you experience an issue with the library, you may be stuck communicating in Chinese. Ultimately I recommend trying it out if you like the minimalist aesthetic, while keeping usage of the peripheral Ant ecosystem to a minimum.