Chelsea website builder
Hello and welcome to this website builder Web Designer Chelsea video tutorial.
I’m Owen Corso from Google.
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.
Data Driven Templates for Display & Video 360 Ad Canvas - Google Web Designer
1. Gestures are the new clicks
We forget how hard scrolling webpages used to be. Most users would painstakingly move their mouse to the right edge of the screen, to use something ancient called a ‘scrollbar’:
As a pro, you probably used a mouse wheel, cursor keys, or trackpad, but you were way ahead of most users.
In 2015 it’s far easier to scroll than it is to click. On mobile, you can scroll wildly with your thumb. To click on a precise target is actually more difficult — the complete opposite of what we’re used to on the desktop.
As a result, we should expect more and more websites to be built around scrolling first, and clicking second. And of course, that’s exactly what we’ve seen everywhere:
There’s every reason to expect this trend to continue as mobile takes over more of the market. Modern sites have fewer things to click, and much more scrolling. We’ll see fewer links, more buttons, bigger ‘clickable’ areas, and taller pages that expect to be scrolled.
Websites which spread their articles onto multiple pages will soon learn this lesson. Expect these to turn into longer single pages or even, like TIME magazine, into infinite scrolling pages:
It’s too early to know if the web will expand itself onto devices like watches, but if it ever does, you can bet it’ll be almost entirely driven by gestures.
2. The fold really is dead this time
Now scrolling is so cheap, and devices are so varied in size, ‘the fold’ is finally becoming irrelevant.
Designers are increasingly free to not cram everything at the top of a page. This leads to a design trend popularised by Medium — full-screen image titles, with no content visible until you start scrolling:
With tall, scrolling pages, designers have the chance to do what magazines have taken for granted for years: fill their pages with big beautiful images. In 2015 expect to see more designs that take up much more space — especially vertically — and a lot of larger imagery like this.
3. Users are quicker, websites are simplifying
Today every young adult is an expert web user. And even the amateurs are acting like pros: using multiple tabs, and swiping to go back a page.
The result is that everything is faster. And we’ve all learned to become impatient. If you want to make a mild mannered person explode with annoyance, just make their Internet really slow for a minute.
Now websites are forced not just to become faster (a technical problem), but to become faster to understand. Designs which slow the user down have the same impact on their audience as these websites which don’t load at all.
Simpler designs are easier to scan, which means they’re faster to appreciate. It’s easy to see which of these two designs is newer, and it’s because it’s the one that user’s can enjoy the fastest:
This is the biggest reason for the death of skeuomorphic design: users are more perceptive, less patient, and clutter only slows them down.
Apps put most websites to shame with super-minimal, beautiful interfaces. And they’re doing this because minimal interfaces perform better.
Flat design is just the beginning. The real trend is towards simplicity and immediacy, and we expect that to go further than ever in 2015.
4. The pixel is dead
On a desktop, a pixel was a pixel. You even had an idea of how many pixels made up an average inch: 72 dpi. Nowadays very few people know what a pixel is.
With responsive design, we’ve seen a move towards grids and percentages. But one huge area remains still unchallenged: bitmap images.
Almost all of the web is built with images that have half the resolution of a modern display, and they don’t scale. With Retina displays and modern browsers, the time is right for vector images to become more popular in 2015.
We can see this trend already happening with the font-based icons and Google’s Material design. The website loads faster and scale the icons to any size without losing quality. That makes them ideal for designers and modern web browsers.
The technology exists now, but it will take time for professionals to change their habits to create for higher quality displays. Once the average desktop display becomes Retina-grade (like the new iMac), we expect designers to follow suit.
5. Animation is back
If you want to make a website look dated, cover it with animated “Under Construction” GIFs and Flash animation. But several things are coming together to make animation a rising star in modern web design.
Flat design can end up looking too consistent, boring even. Animation helps a website to stand out and to pack more information into less space.
Mobile apps have redefined what a user expects. Mobile apps use motion to convey meaning, and websites are just starting to do the same.
New technologies like CSS animation make it easy to enhance designs without plugins, speed or compatibility issues. And Web Components (#6, below) will only accelerate this.
GIF animation is back, and surprisingly effective. You’ll notice this article makes extensive use of GIF animation (if it doesn’t, you should view this version), which has never been easier to create or share.
6. Components are the new frameworks
Web technology continues to get more complicated, and less semantic. Designers must embed messy code onto their pages for simple tasks, like including Google Analytics or a Facebook Like button. It would be a lot easier if we could just write something like this instead:
And we can with Web Components, which aren’t quite ready to be used by most designers yet. 2015 is looking like their year.
Google’s Material design is here, and it may just be what gets this movement started. Powered by Polymer, and supported by all modern browsers, it provides the rich animation and interaction components from Android apps, with simple tags like these:
If that takes hold, it wouldn’t be surprising to see more component based frameworks appear in 2015. Perhaps Bootstrap 4.0?
7. Social saturation and the rise of direct email
Social media has been a huge success for consumers, but many content producers aren’t so happy.
The problem is saturation. With billions of posts every day, Facebook learns the posts that users are most likely to enjoy and shows only those. Unfortunately that means over time, what you post is increasingly seen by a smaller percentage of your followers. (A problem you can solve, conveniently, by paying Facebook).
Social isn’t going away, but in 2014 we’ve seen a lot of prominent bloggers like Tim Ferriss move their focus away from social and into good old fashioned email lists. They’ve realised that email has one significant advantage over social: a much higher percentage of people will see what you send them.
I expect this post-social trend to continue into 2015, with the under-appreciated trend of Web Notifications (which work much like notifications in a mobile app).
Bonus non-prediction: CSS shapes
This cool technology won’t get noticed, except by designers. CSS shapes allow you to flow layout into shapes, like circles:
It’s incredibly cool, but until browser support is guaranteed, this is likely to be too risky to put time and effort into it you’d need almost two complete designs, for old and new browsers. And outside of designers, we don’t think many users would notice.
It is really cool though.
What to expect in 2015
In 2014 we saw mobile use overtake desktop, but the general public hasn’t caught up. Most organisations still commission a website to look good on their computer first and work on mobile second.
In 2015 that strategy is likely to look out of touch and unprofessional. As the mobile becomes the main device for browsing the web, “mobile-first” will become less of a buzzword and more of a requirement.
Flat design may be everywhere, but when you look beyond ghost buttons the real trend is that simpler sites are faster at gratifying users.
Simplicity is not just a fashion: it’s the future. Expect it to only continue.
It will become more and more common to embed animation into blog posts, and for motion to signify both premium quality (for those who can afford it) and to support the user experience.
Pixels and the fold will slowly be set aside making more room for scrolling and click-second experiences. Web Components will make it easier to deliver app-like experiences in our websites.
Right now you see the best of mobile app design appearing in web design. With enough time, the difference between an app and a website might almost entirely disappear.
Chelsea 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 Chelsea 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.
The collapsed page already contains a Tap Area event to expand the ad and an expanded pageChelsea with a close tap area to collapse back down.
Latest Dental Implants To Be Used
WEB DESIGN IS BROKEN but it's okay weare fixing it.
Today we are gonna follow on from the last video and we're gonnatake you further along down that path to that magical place called budget.
Yeswe're helping you to create a budget, an appropriate budget for your web designproject.
I'm still not gonna give you some magical figure because it doesn'texist; it's all relative.
So I'm not gonna talkin terms of X pounds or Y dollars but I will be talking in terms of high mediumlow investment what that means only you can really know because a largeinvestment for you might be a small investment for the next business: a smallinvestment for coca-cola it's probably gonna be most people's annual turnovers!So only you will know what a large versus a small investment actually is.
Soin the last video we laid down some key things that you really need to be awareof when you're thinking about a budget not just for a web design project butactually for anything and these are these are things, biases that that we allhave as people that can really affect how we determine what to invest inthings.
By understanding these biases we actually reduce the chance of over orunder investing in a project just simply by being aware of them.
So in this videowe're gonna look at two more very key things that are going to give you quitea reliable shortcut to determining whether the investment you make islarger or smaller.
These two things are risk and complexity.
What do we mean byrisk and what do we mean by complexity? When we're talking about risk we'retalking about the impact that it could have on your business.
Something that ishigh risk could have a significant impact on your business.
The way I like to think about risk is that it's whether it goes right orwhether it goes wrong, so it's not just down side there's also upside as well.
If there's significant upside then it's still gonna be high risk.
Low risk meansthat it's not gonna make a huge impact on your business,it's not gonna move the needle as they say.
Complexity is really just about howtechnically difficult it is to actually deliver this piece of functionality soif you look at, I don't know, take bridge making as an example: if you're buildinga small bridge across a little stream then that's probably going to be lesstechnically difficult then if you're trying to bridge the River Thames.
So it'show technically difficult it is to deliver and again it goes on a scale oflow to high complexity so why risk and complexity well if we plot them on agraph like so, we can see that they create four quadrants.
Now each of thesefour quadrants represents a different type of project: a high risk, highcomplexity project; a high risk, low complexity project; a low risk, highcomplexity project and a low risk, low complexity project.
Now just by exploringthese four different types of projects, these four project characteristics wecan actually start to make assumptions about what that project is going to belike and give you some shortcuts as to how much you invest in that type ofproject.
Let's jump into it: let's start off with the easy one low risk lowcomplexity.
So this is what I call the 'tick box' this is a website project thatis effectively just a tick box exercise maybe as a part of your business there'sa requirement that you have a web-based resource which goes over a whole bunchof really interesting things.
Maybe it'sjust a regulatory requirement, maybe you've gone for some funding and awebsite has to be a part of what you deliver.
It really doesn't make a hugeimpact on your business if it's just informational as these things typicallytend to be, then it doesn't really require groundbreaking programmingskills and cutting-edge design to actually fulfill its need.
So in thistype of project you really want to be investing as little as you possibly canjust as much as you need to to get a reasonable job done.
It's not gonna makea huge impact on your business; it's not technically difficult to deliver youjust want something that works and that ticks that box.
So if your project is lowrisk low complexity don't bet the farm on it there's no point it's not gonnabring you the return that you need pay as little as you can to get a goodprofessional job done but don't go crazy over it.
So now we've got low risk highcomplexity.
This is an interesting space and I like to call this quadrant in thistype of project the 'moderniser'.
With something that's low risk and highcomplexity typically we're looking at improving existing systems and processesusing newly available modern technologies.
With this type of projectwhat you really want to be doing is looking at a provider that hasthoroughly solved this problem so I'm thinking online payments companies likePayPal, like Stripe have thoroughly solved this technical challenge.
It's notnecessarily the type of project that you think is going to completelyrevolutionize your business; it might make things a lot more efficient andyou'll probably see some uptick in sales, engagement things like that, but ultimatelyit's not the big game changer for your business.
So you should be lookingto invest a reasonable amount to get some off-the-shelf solutions that canactually bridge this gap and help you modernize.
Let's jump into my favoritequadrant: low complexity high risk this is what I call the 'punt'.
So this is myfavorite sector because this is typically where a business has spotted anew opportunity maybe a new part of the market maybe they want to spin off anexisting product or service and they just want to test it out.
They want tosee whether their offering or messaging works.
Why this is high risk is that ifit works well then there could be significant upside.
It might be a wholenew part of their business it might be a new standalone business if it goes badlythen they lose their initial investment.
Now what you want to do when you'reworking in this quadrant you what you want to be doing is thinking aboutmultiple small investments and testing religiously.
Test absolutely everythingbecause what you're trying to do is figure out if this thing, if this ideahas got the legs to warrant a proper investment.
You want to be thinkinglanding pages; very simple to produce very easy to iterate.
You also want to bethinking about investing in things like pay-per-click advertising as well -literally buying the traffic to test against your multiple service offeringvariations.
Don't bet the farm on this it's all about controlling risk at everysingle point every single iteration so be very purposeful be very deliberateabout how you execute when you're dealing with low complexity high riskprojects.
So the final quadrant is what I call the 'moonshot'.
This is the stuff ofstartup legend.
This is that entrepreneur space where we are launching newproducts into unknown markets.
This is an area that is very similar to high risklow complexity in its approach but you should really be making significantinvestments in this area: you still need to control the risk andyou still need to test fastidiously but you might be needing to actually investheavier and produce some custom functionality.
You might need to actuallybe producing working prototypes of your product or service offering.
You can't cut corners when you're in this quadrant the risk is too high.
Because the complexity is high you're probably going to be building thingsthat have never been built before; you're needing to create technical capabilitywithin your business and understand how that impacts the delivery of yourproduct and/or service.
So absolutely never cut corners here.
The key wordsthat you should be listening out to when you're talking about the project is 'noone else is doing this', 'this has never been done before', 'this is brand new',''here's why it's different to the competitors'.
All of these things shouldbe getting you thinking high risk high complexity.
Invest well, don't cut cornersand test and iterate and measure absolutely everything you can.
So thoseare the four quadrants and hopefully this gets you a little bit closer tounderstanding where your project sits in those quadrants and the amount that youshould invest relative to, well whatever that means to you as a business.
Thus farwe've understood things about the biases and the psychology that can affect howwe make investment decisions, we've been able to identify where our project sitsalong an axis of risk versus complexity in the next video we're going to belooking at some pounds and pence examples for how you can start to createthat budget or a range of that budget based on the perceived upside or theperceived savings that you're gonna make or thatyou're hoping to make in your web design project.
That was heavy!My name is Aaron Taylor, I'm helping you to make better decisions and have betterconversations when you're buying a website.
Till next time!.
Latest Dental Implants To Be Used
I’m no color expert. Far from, actually. Throughout my career, I’ve depended on visual designers better than myself to produce an engaging palette and apply it harmoniously across a UI.
Yet, as a systems designer, I’m often in the position to provoke and validate color decisions as a system takes shape. Here’s a 16 lessons I’ve learned while stabilizing a primary palette, tint and shade choices, secondary palettes, and solving for accessible contrast.
By primary, we’re talking colors used everywhere including your brand colors, neutrals, and a typically interactive digital blue.
#1. Stabilize Brand Colors Quickly
︎Every organization has one, two, or no more than a few core brand colors. THE red. THE blue. THE orange. Settle on them. Even if reasonably set up with a color variable or two, nothing signals a design system team that can’t get their act together than constantly changing primary colors.
Takeaway: Decide your essential brand colors early, because they spread widely, quickly.
#2. Involve Brand (If You Alter a Brand Color)
Is brand blue a bit dull? Can’t resist the urge to liven it up? Nothing poisons early collaboration more than a casual “We saturated the brand orange for web” followed by brand reacting with “You did what?” Oh the sacrilege!
Takeaway: Brand colors are the brand team’s territory. So discuss adjustments with them and defer to their judgment as needed.
#3. Drop the Neutral Neutrals
From dark-as-night charcoal to fluffy light gray, neutrals provide essential UI scaffolding. Loading a system with neutrals, even a few, risks giving teams access to muddy colors. They can also lead to “wireframey” designs. And, neither dark nor light type has sufficiently accessible contrast on a medium gray background.
Takeaway: Provide a few light grays and a few dark grays to achieve useful contrast, but don’t get wishy washy wireframey. Consider avoiding medium grays in between.
#4. Go “Digital Blue.” Everybody Else Does.
My past five design systems settled on a saturated blue as a default button and link color. Links have always been blue, perhaps since the dawn of the first browser. This “Digital” blue, a utility color for links and clickable items, is essential in any core palette.
Takeaway: When (not if 😉 ) you go with your “Digital Blue,” choose an accessible one and make sure it doesn’t clash with the brand’s own blue, or red, orange, purple, or green.
Tints & Shades Per Color
You can’t have just a few colors and call it a day, right? System users often need to tune a color choice across a range, reuse with ease, and know their boundaries.
#5. Stack the Tint & Shade Range, Per Color
Color palette display patterns long predate the web. Yet I still love me a compactly arranged tint stack. They can be just…gorgeous. The best stacks visualize more than just a color, combining its name with HEX codes, code variables, and other indicators (such as prohibiting overlaid type). A quick scan is all you need.
Takeaway: Stack available colors in each hue, and treat the stack as a visualization to include important details compactly.Material Design’s Indigo and Deep Orange
#6. Name Tints & Shades by Brightness
We’ve all been there. A month into the system, the neutrals $color-gray-1, $color-gray-2, … , $color-gray-7 — are stable. And then, in a stroke, you’ve got another tint to add stuck between -1 and -2. That numbering system stinks.
Takeaway: Scale color names between 0 and 100 based on brightness, such as $color-gray-05 and $color-gray-92. The scale reflects a familiar range from dark to light, allows for injecting new options between, and heck if I won’t remember $color-gray- 93 until we retire it later.
#7. Limit Tint & Shade Quantity
At the core of a good system is choice without endless options, a stable aesthetic to serve as a starting point. Odds are, you aren’t Material Design, intended to serve countless products. In most cases, a design system need not offer boundless choices. The more choices you provide, the tougher it’ll be to control harmonic combinations and a consistent feel across applications.
Takeaway: Offer a handful of options and avoid tedious variety. Empower system users with just enough choice: more than a single option, but only up to a few intentional choices.
#8. Tell Me How To Transform: Hand-Pick or Functionally
Modern tools like SASS and Stylus offer transformation functions like darken and lighten to shift a color by a brightness percentage. These handy tools enable a you to alter a color for subtle contrasts like a hovered button or tiered navigation.
But transforms can be troublesome: carefully crafted base colors can become inaccessible alternatives (see below), a page’s overall palette can muddy, or a “5% system” that works on moderately bright colors yields insufficient contrast for a very light or dark case.
Takeaway: Deliberately allow — or avoid — color transformations in your system. If you endorse the practice, then offer examples of when and how to do it effectively in your system, such as 5–10% for moderately bright cases and 10–20% in more extreme cases. If transformations should be avoided , document that succinctly.
Beyond the brand colors and their variants, well-considered color systems array the broader variety of colors reserved for varied purposes.
#9. Define Meaningful Sets Like Feedback Colors
Most systems reserve a certain red for errors, green for success, yellow for warning, and (possibly a lighter sky) blue for informational messages. Feedback color is critical, because it’s positioned at the top of the page interacting with other key components and/or encountered as a result of an unwelcome circumstance. Without system guidance, such messages become embedded in product code, the result of product teams solving a challenge quickly and moving on.
Takeaway: Explore and define the standard feedback colors and other relevant sets to ensure that colors fit harmoniously rather wedging them in later or having teammates recall “I just grabbed it from Google.”Typical feedback colors: success, warning, error and informational
#10. Illustrate Theme Variety
In some systems, color use is customized per product, section, or brand. Often, this may be a result of relating a master brand (think, Marriott International) to its sub-brands (think Courtyard Hotels, Ritz Carlton, and Moxy Hotels). Or it’s a prefab themes like Ambient Warmth and Frozen Blue. Maybe the user is complete control, and you need to illustrate the breadth of (all the havoc of) what they can do.
Takeaway: Reveal the range of themes available compactly, and set boundaries around allowable theme colors in certain contexts.Theme colors for multiple Marriott.com hotels, derived from product pages
#11. Define How Theming Works
It’s not enough to simply say “Go ahead and theme it!” A theme color may apply to predictable accents throughout a UI such as button background-color, active tab background-color, or a primary navigation’s thick border-top. Just as important, theme colors may be forbidden from altering other bits, such as long form type or — yikes! — a link color that ends up invisible.
Takeaway: Identify how theming works, particularly via reference to specific UI element properties in play. Just as important, articulate which — if not most — elements are off limits.
#12. Avoid Guiding on Color-Mixing Until (At Least) Dust Settles
One of my favorite all time design system tools is Google’s MDL Color Customizer, which enables users to combine primary and secondary UI colors effectively. It’s so easy, and the outcome so helpful. Yet, the system teams I work with either don’t want to provide this kind of flexibility or lack the time and care necessary to solve such a combinatoric challenge.
Takeaway: Avoid the rabbit hole of solving for a vast array of color combinations unless it’s a core system value. In most cases, system users will pair up their own combinations or benefit from a tool more dedicated to doing just that. Help them propagate their choice rather than solving for every combination they may consider. That experimentation is their job.Serve users of your system by making it efficient to propagate their choice through a product, rather than making the choice for them.
Contrast & Accessibility
Solving for accessible color contrast should a core practice of setting up any digital color system from the get go. However, design can be tumultuous place, and teams can lose sometimes. Or some members don’t know about accessibility. Or they simply don’t prioritize it.
A systems team can engrain accessible practices into a workflow to provoke and spread values in accessibility broadly across an enterprise.
#13. Check Contrast Early & Ritually
It happens often: a few weeks or days before a product — or design system — launch, finally somebody notices. The design team hasn’t taken necessary care to ensure the primary and secondary color palette is being applied in a way to meet WCAG 2.0 color contrast of 3.0 (for large, heavier type) or 4.5 (for standard type). So designers — and then, their developers — scramble to determine fixes and inject it into the code.
Takeaway: Any system designer responsible for color must be familiar with WCAG 2.0 rules, have a tool (like Tanaguru) to test color pairs, and incorporate the practice into color selection.Tanaguru, one of many accessibility calculators online
#14. Explore Accessible Color Choices Across Ranges
A drawback of WCAG guidelines is its stark threshold: a color pair passes or fails. This leaves designers yearning for more, but worse leaves stakeholders flummoxed at how bad the color pair fails and how much it needs to change.
Conversation quickens when we reveal a spectrum of choices, with the pass/fail line fairly evident. This transforms the process from trial and error to tuning a dial. Before, it was “That pair failed. Let’s try again.” Now, it’s an enlightening “Oh, so that’s how dark the blue needs to be” followed by a rational discussion to balance visual tone, brand identity, and accessibility sensitivities.
Takeaway: When exploring accessible color contrast, show a range of choices to help a team select a color that passes the test.Exploring neutral and interactive colors by showing multiple choices across a range
#15. Solve the Reverse Light on Dark and Dark on Light
When creating a system, it’s up to the systems designer to be mindful of and solve for the entire range of choices on offer. It’s not enough to just test for accessibility problems as they arise. Instead, a color palette should be thoroughly reviewed prior to publishing a system for reuse.
This is especially true for reverse color treatments. It’s very common for a system to default to dark text on a light background. However, most find themselves reversing color treatments, whether a black and white on light and dark neutrals or tints of another primary or secondary color.
Takeaway:Solve for and recommend reversed pairings to adopt or avoid.A table of calculated contrast (using a SASS function) between neutral backgrounds and interactive blue alternatives
#16. Use Color to Provoke Broader Accessibility Awareness
Color is fundamental to a system, and accessible color contrast is fundamental to color. This injects accessibility smack dab into the middle of a system’s formation. People that matter are paying attention: brand managers, design leads, developers, and execs. What a wonderful opportunity to use color to open a door to the broader array of accessibility considerations.
Takeaway: Seize the opportunity to advocate for accessibility. Always be probing a collaborator’s knowledge of accessibility (or lack thereof) and educate and advocate all you can.
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.
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.
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.
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.
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.
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:
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:
- validateStatus — This determines the colour & icon scheme of the validation message (see photo above) — valid options are success, warning, error, and validating.
- help — The validation message to display.
- 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.
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:
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
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)
]); 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": [
"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';
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.