Jamaica Plain web designers
Hello and welcome to this web designers Web Designer Jamaica Plain 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.
From product design to virtual reality
ADRIENNE PORTERFELT: You've probably tried to buy somethingonline or had to fill out some formfor your kid's school, and it's reallyhard on your phone.
It's really hard.
MUSTAFA: There seemsto be a dark art when it comes to nativeapplications, and they're such small details thatyou're actually working on.
[MUSIC PLAYING] Quite often, developers willjust throw on input fields onto a page and not reallythink about the UX that's attributed to that.
So they'll think ofa flow of a form, but they won't necessarilyfeel that individual input, so how a user struggles.
And we know thatautocomplete really helps speed up theuser experience and makes fillingforms quite nice.
What are your feelingsand experiences on autocomplete andAutofill as a thing? ADRIENNE PORTER FELT:From the user experience, you've probably triedto buy something online or had to fill out someform for your kid's school.
And it's reallyhard on your phone.
It's really hard.
It's even hard on desktop.
You don't want to get upand get your credit card out of your purse,which is downstairs.
And these browserfeatures just really improve the userexperience of using a form.
In fact, we find that peoplefill out or submit the form 30% faster if the formworks with Autofill.
So we very much suggest thatweb developers think about this.
You want people to besubmitting your forms.
Right? So if you really want yourforms to be submitted quickly, easily, work with Autofill.
MUSTAFA: And why do you thinkdevelopers don't do that? Is it very difficult to do? I'm assuming it's just a fewattributes you add to inputs.
Right? ADRIENNE PORTER FELT: Yeah.
It's actually not that hard.
So you basically need to setup autocomplete attributes, and you need to makesure that you're not doing any fancy things thatreplace the normal select and input elements withother types of elements.
I think most of these developersjust don't think about it, don't realize,that you just need to put a littlebit of extra effort in to make sure that yourform works well with Autofill and to test it out.
MUSTAFA: Is that oneof the challenges, I suppose, like people makingthese custom UI things, which are not native but justlike divs or whatever and replacing that? Is that where thingsfall down with Autofill? ADRIENNE PORTER FELT:Honestly, there's a few things that can go wrong,but that's one of the big ones.
Yeah, so someone wants thisreally beautiful custom form where the dropdown isall fancy and custom.
And as a result of that,they're using all divs.
And the browser can'tfigure out, oh, this is supposed to be a form.
And then in that case,Autofill isn't going to work.
MUSTAFA: And Isuppose there's a lot of accessibilityissues connected to that as well, it looks like.
But from your pointof view, you've got designers anddevelopers, they want to do something custom,like unique experience.
But then as someone whoworks on the browser, you want to say, now letthe browser do the work.
Do you think there'sa middle point there? How can developers at leasthave a custom experience that's unique to theirproduct, but at the same time without breaking standards? Because this is one of thebiggest challenges on the web.
ADRIENNE PORTER FELT:So there's a lot of things you can do tochange the look of the form on the page while stillusing the select and input elements that HTML provides.
Right? You can customizethem in many ways.
I have to admit, there is onething you can't customize, and it's the lookof the dropdown, like in a select element.
But everything else, the wayit statically looks on a page, you can customize.
And the browser will stillknow that they're fields.
What you see is thebiggest challenge then, for Autofillor implementation, from your point of view? ADRIENNE PORTER FELT:I think it's honestly that developers don't thinkabout it, that people don't think to themselves that theyreally need to be testing their forms in this way.
When you've made it yourself,you've filled it out 100 times.
You tested it yourself.
And you don't thinkabout the fact that a user is goingto be coming to it in a different state of mind.
They are tryingto fill it out as fast as they can on the phone.
So I think developersjust aren't really thinking about the factthat they need to take these extra small steps.
MUSTAFA: So in terms ofbrowser compatibility, the things you're using willbe Chrome-specific stuff? Or is that open source-- not open source, butit's cross-platform.
ADRIENNE PORTER FELT: Yeah,that's a good question.
So specifically autocompleteattributes for Autofill, that's standardized.
All the browsers respect them.
With that being said, thereis one part, turning Autofill off-- that's the autocompleteoff attribute-- is not respected by all browsers.
But if you say,this form should be a credit card, thatwill be respected by all the major browsers.
MUSTAFA: But eachexperience, is there slight quirks per browser? Because obviously, that's goingto be a browser-specific thing.
ADRIENNE PORTER FELT: Some are-- they have veryslightly different UIs.
For example, maybe they'llbe integrated with a keyboard widget versus a dropdown.
But I think they're prettysimilar across browsers.
MUSTAFA: You work on theactual Chrome UI itself.
ADRIENNE PORTER FELT: Yes.
MUSTAFA: So are you actuallybuilding that design and code yourself, or are youworking with UX designers in that process? ADRIENNE PORTER FELT: Sowe have a design team.
And the design team helpsus figure out what those UI elements should look like.
We actually have a bigredesign coming up this year that I think is going tomake those substantially more beautiful and also help clean upthe code, which I know that it won't affect most people becauseit won't look any different.
But from our perspective-- MUSTAFA: It's much cleaner.
ADRIENNE PORTER FELT: Man,the code's so much cleaner.
MUSTAFA: What's the actualprocess of you actually creating UI? Because for me, I do front-enddevelopment and code.
But it's like there seemsto be a dark art when it comes to native applications.
And they're such smalldetails that you're actually working on, which the user maynot notice because it works.
But if it's broken,they will see it.
What is the actualprocess that you go through with your Chromedesigners to actually making the UI or testing it? I'm asking lots ofquestions all at once.
ADRIENNE PORTERFELT: Yeah, it's OK.
So I'll talk about theprocess a little bit.
So usually at the beginning,Product, Eng, and the designer will get togetherand talk about what they hope for from the feature.
Often, the designwill then come up with some conceptualmocks of what they feel the feature could look like.
They'll get feedbackfrom Product.
They'll get feedback fromthe engineers, like can we actually build this, whatare the corner cases we need? And then we'lliteratively get closer to what we actually can ship.
So I work on across-platform team, which means that whatwe build has to ship on all of Chrome's platforms.
People think of Chromeas one platform.
But actually, it'sWindows and Mac-- which previouslyhad different UIs, but we're coming toone single standard-- Android, iOS.
And so we have to havedifferent mocks that relate to the specific platforms.
So some things may bepossible for some subset.
Anyway, the designers get allthis feedback from engineers, like, we can do thishere and not there.
And then we iterativelycome through to red lines, which isour final set of designs.
And that's what we implement.
MUSTAFA: So in termsof do the designers work with the actual W3C? Because you'redesigning something which has to beconsidered cross-platform at the same [? time.
?] So likewhen the payment request API, like I was working withsome of the team there, there seems to be thingswhere you have to really be seeing whateveryone else is doing so that the experiencethat you're creating is not so widely different.
And that can be quitechallenging for the designer and developer because youinstinctively want to make it, I don't know, "better.
" But you don't want to makeit so vastly different, because then you stick out.
ADRIENNE PORTER FELT: That'san interesting question.
The challenge here isthat with specs, we try not to specify whatthe UI has to look like.
We try to talk about what theuser experience should be so that we can have the appropriatecallbacks, et cetera, to build that experience.
But we don't like tostandardize the UI itself, which is a fine balance becauseyou have to have a UI in mind when you're designing the API.
But we try to make itas general as possible so that we can build differentUI experiences on top of it.
MUSTAFA: Are you workingwith the browsers as well at the sametime to do that, or is it you do things independently? Because there's the thing.
It's like if you do it[INAUDIBLE] the browsers, then you may be leddown a path that's not the best for everyone.
That it's, OK, it'slike a compromise.
But at the same time, you don'twant that complete disparity.
ADRIENNE PORTER FELT: Itdepends a lot on the standard, honestly.
Some of them willbe heavily driven by Chrome or some other browser.
They really want this API.
They'll drive it, and thenget a little bit of feedback along the way fromother vendors.
Whereas others,from the beginning, there's severaldifferent browser vendors working together.
So honestly, it differsfrom standard to standard.
MUSTAFA: And we're coming to the10-year anniversary of Chrome.
What do you thinkthe future of say, Autofill, or just workingwith the other browsers? Because it seems like thingsare getting much better.
I was speaking toDarren, and it was like, the implementationof Flexbox was a nightmare becausethe standard kept changing.
But with CSS grid, it'samazing that there's so much cross-collaborationbetween the browsers, which is great for the users and thedevelopers working across this.
What do you think the futureis for Chrome as a platform and, I suppose, Autofillas well as a specific? ADRIENNE PORTER FELT: Sofor Autofill specifically, it's hard to saybecause I don't think the limitation there reallyis the lack of browser vendors cooperating.
I feel like actually, there'sbeen a lot of discussion, for example, aroundpayment request.
There's a lot of collaborationbetween Safari and Chrome.
I think that thereal problem we have is that Autofill dependson developer adoption.
Right? If it's hard for thebrowser to figure out what form's in thepage, we're not going to be able to Autofill it.
And so I think thething we really care about is whetherwe can get developers interested in andusing the tools that we have provided for them totry to improve the Autofill experience.
Do you ever have toremove a feature when you see there's not wide adoption? Because I can seefrom an engineer, you're working on Chrome.
You spent your heart andsoul working on this feature.
And then you know it'sgreat for user experience.
You know from theresearch that Autofill will help transactions,and it's just nicer.
But if adoption doesn'thappen, how do you [INAUDIBLE]?? It's the biggest-- ADRIENNE PORTER FELT: Yeah,that's a really hard one.
I've been througha few deprecations.
They can be really challenging.
It's very hard.
So there are a few waysyou can look at it.
One is how many usersinteract with websites that are using such a feature.
And obviously, thatnumber is large, you don't want to create apain point for a lot of users.
But even if thenumber is very small, it might be that there are afew websites, a few companies, whose entire businessmodel depends on having access to this API.
And so that can make itvery difficult, where OK, even if it's thisreally a niche thing, it still can behard to deprecate.
So I think there have beenlots of ongoing discussions in general about howto make that trade-off.
Some of the onesI've been involved in relate specificallyto security and TLS, where if something is makingthe web as a whole as safe, we may have to breaksome connections in order to deprecate it.
And it can be areally painful thing when you've got old serverson the internet that aren't being upgraded.
And maybe it's only a smallpercentage of overall page loads, but it'sstill frustrating when a user is trying to getto a website and it's broken.
But ultimately, fromChrome's perspective, it's the user's experiencethat's paramount.
Right? ADRIENNE PORTER FELT: Yes.
MUSTAFA: And theirsafety and security.
So it's like HTTPS, you couldprobably explain it better, but there's a cutoff pointwhere if your site is not loaded on HTTPS, you're goingto get a message saying, this isn't secure.
Right? ADRIENNE PORTER FELT: Fora long time in Chrome, we showed HTTP as neutral, HTTPas just plain text and no TLS.
MUSTAFA: Sorry, what's TLS,just for my non-designer-- ADRIENNE PORTER FELT: Oh, TLSis the underlying protocol that makes HTTPS HTTPS.
It's why it's secure.
So there is HTTP,which doesn't have any of the end-to-endsecurity bits on it.
And HTTP websiteswere just shown as a neutral standard thing.
Right? Most websites on the web wereHTTP, but that's changed.
We went from a few yearsago, we were at 25% HTTPS.
And now, it's the opposite wherewe're at more like 75% HTTPS.
So made changes in theUI to back that up.
So now when you go to awebsite that says HTTP, it's going to also say"not secure" next to it so people reallyunderstand what that means.
MUSTAFA: That decision mustbe quite tough, though.
In some respects, you need toforce the developers to say users' security is paramount.
But at the sametime, does it feel like you're breaking the web? ADRIENNE PORTER FELT:It doesn't really feel like we'rebreaking the web.
First of all, Ithink people have seen this a long time coming.
We've been talking aboutit for a long time.
We've rolled it out in phases.
So first, we started showing"not secure" specifically for pages with passwordsand credit card form fields.
And then it was for allform fields and web pages when viewed in incognito.
And now we're rolling itout for all HTTP websites.
And as you can see, becauseHTTPS adoption has really increased, it's onlyimpacting less than a quarter of page loads at this point.
MUSTAFA: So really,we're just talking about protecting the user.
ADRIENNE PORTERFELT: Yeah, and I think users have a right to knowthat their information isn't secure when they'regoing to this website and help them make adecision about whether or not they want to keep using thatservice or go to another one.
MUSTAFA: And do youthink users are quite savvy now to see those things? Or is this part of theeducation for the user as well to say, look,there are certain things on the web which arenot secure that you have to take into consideration.
ADRIENNE PORTERFELT: I'll be honest.
We have literally billions ofactive users, so it's hard to-- MUSTAFA: Make ageneral [INAUDIBLE] ADRIENNE PORTERFELT: --say generally whether people are goingto understand it or not.
We think enoughpeople understand it that they have a reactionand that they can reach out to sites saying, hey, Ireally like this site, but I wish it were secure.
And we see people doing thatas we've been rolling out these warnings.
SPEAKER 1: The way thatcellular networks are set up is that there's alwaysthese fringe areas, and there's alwaysthese breakdowns.
And higher latencyis always there.
Jamaica Plain web designers
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 Jamaica Plain 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 pageJamaica Plain with a close tap area to collapse back down.
💸 How to budget for your web design project 💸 - Web Design is Broken e05
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.
Latest Dental Implants To Be Used
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.
As part of Intuit’s core initiatives to further cultivate mobile first thinking and accelerate growth into global markets, the Intuit Small Business Group’s Design Org has shifted from a model of designing and shipping prioritized features to a model where every designer is responsible for end-to-end, cross-device experiences, which includes designing for our products and services on desktop web, mobile web, desktop client apps, and native mobile apps.
As a design lead for our ecosystem of native mobile products over the past few years, I started getting a lot of questions around guidance and principles for mobile design. I noticed many of the designers, product managers, and engineers who are new to mobile app design or don’t live and breathe mobile app development on an everyday basis didn’t fully understand the nature of designing for native platforms and device capabilities. To reinforce the notion that “cross-device” and “mobile first” isn’t just about designing for smaller screens and scaling across multiple device sizes, I collaborated with the Design Systems Team to establish a set of mobile patterns and guidelines so that designers can hit the ground running, or run even faster, with mobile design. We recently published some guidelines, tools, and resources on our internal design toolkit that I thought would be great to share some key points and takeaways with a wider audience as the documentation addresses many frequently asked questions around mobile patterns.
Firstly, I want to start off by saying that what I write here is simply for guidance. Our mantra for any kind of pattern guidelines documentation we provide is, “Give me guidance, but let me drive.” We don’t want to be prescriptive, and we don’t want to tell you how to design, but this is a good starting point to get you going on native mobile designs. Why are we calling out native mobile? As we continue to design device-agnostic, end-to-end experiences and features for products and services, we must remember not to neglect the different platforms (i.e. our mobile products are currently offered on both iOS and Android).
1. Respect the platform
We documented patterns and components based on native operating systems that we have apps on: iOS and Android. When designing for native platforms, you should consistently refer to the native OS design guidelines first for maximum quality. Keep in mind that native platform guidelines constantly evolve, so it’s always good practice to stay on top of these guidelines and refresh your memory and knowledge often.
Apple’s Human Interface Guidelines: https://developer.apple.com/ios/human-interface-guidelines/
Google’s Material Design Guidelines: https://material.io/guidelines/
2. Focus on the customer benefit
Always design for the customer benefit first. No use case is the same, and many use cases have exceptions. Do not design something simply because you can reuse a pattern or component for another feature. Design patterns help ground us as a system and unify an experience across an ecosystem of products, but they should by no means be the first or last stop in the design process. Always question yourself: How will this benefit the customer?
3. Think device first
Push your thinking beyond “mobile first.” Start thinking about leveraging device capabilities first. The native mobile device has a lot to offer: touch, voice, pressure, location tracking, accelerometer, notifications, etc. You are designing around the device, the platform, the user experience. How can these device features be utilized in our products? How can the mobile device benefit users beyond the screen interface in front of them?
4. Keep scalability in mind
Growing from the previous principle, do remember that a mobile device isn’t just a phone. Scalability across devices, more specifically between a phone and tablet, is a common challenge among designers. When we think of mobile devices, we know there are tablets, phones, phablets (not small enough to be a phone, not big enough to be a tablet). Some of the recurring questions I get asked are: Should there be parity between web and tablet designs? Can we translate the phone patterns to be the same on tablets? How do we design for phablets (not small enough to be a phone, not big enough to be a tablet)? To answer these questions, we researched with users, took an in-depth look at device interfaces and screen sizes, and set some standards. While the phone and tablet share many similarities, users use them very differently.
Mobile interfaces LESS THAN 7 inches width should be treated as a phone. Syntax and layout should be aligned across these devices as much as possible, but we also want to leverage native platform guidelines and capabilities first and foremost.
A fundamental design principle for mobile phones is to include only necessary information. Do not overload the user with more than they need to know or take action on. The phone is a convenient way to consume information on the go. Small business owners use a phone to complete quick actions while they are not in the office, capture data, view content, then perhaps close it out and come back to take a look later.
Mobile interfaces GREATER THAN 7 inches width should be treated as a tablet. Syntax and layout should be aligned across these devices as much as possible, and by no means should they need to align exactly the same as the less than 7-inch interfaces.
Tablet designs should look and feel like desktop web, but they should function like the phone (with tap/swipe/hold gestures, transitions, etc.). Many users view the tablet as a hybrid device. We’ve encountered many small business owners that don’t own a computer, but they own a tablet, and those users treat the tablet as a reliable device they can do work on.
To scale for the future or additional digital interfaces, you should also think about non-mobile touchscreens like TV displays, interactive table displays, automobile displays, laptop displays that you can touch, etc. You want to make sure you can scale for multiple screen sizes, large and small, and not limit yourself to thinking only about the devices your products are being supported by.
Patterns and Guidelines
This list is a small subset of patterns and guidelines that I’ve found designers have been commonly asking around best practices for our mobile products.
One of the major aspects that make navigating content on native mobile platforms so delightful is the transitions between screens. Two questions I get asked a lot are: When should a push (screen pushed in leftward from the right) be used? When should a modal (screen pushed upward from the bottom) be used? We’ve established the following best practices:
A push is essentially the fundamental screen transition to view a new screen that is stacked on top of the previous screen. There is typically a Back button so user can view the last viewed screen. For screens that are primarily for viewing, such as transaction detail screens or lists, we use a push.
A modal is typically used when we are requiring the user to select, edit content, or input data. All of our transaction forms use full screen modals as it requires more user thought due to several form fields on one screen. The titles bars for these screens typically have Cancel and Save or Cancel and Done actions. Then, when you tap Save, you get a push screen because you are viewing (not editing) the saved content.
Call to Actions
This section highlights a question I often get: “Should this call to action be a button or a text link?” In both iOS’ and Android’s design guidelines, text as buttons is the norm and recommendation. However, I feel when we use text, especially with a system font against a dark or light background, we lose out on a major opportunity to incorporate brand elements, such as our ecosystem green color or line iconography. So, we’ve deliberately moved away from using text as call to actions, and instead use buttons with high contrast, which also makes it very clear that it is a call to action and not just part of the screen content.
Our empty state screens provides a first impression to users who are new to our products. It usually consists of an illustration, a brief description, and a clear call to action. A common and current design trend is the usage of gray text on a light background. If you decide to follow that trend, make sure the text is readable and accessible by analyzing the foreground and background colors to meet the WCAG 2.0 color contrast ratio requirements.
Firstly, yes, it’s spelled caret, not carat or carrot. 🙂 Carets are used to promote discoverability. Historically, we try to use carets for every instance we want to indicate that the user should tap into the row to view more. However, in our forms, we are working toward to moving away from using carets and instead utilize the extra real estate by creating visual cues and conversational content design to indicate tap targets to view more. After some user testing with different design treatments, we’ve found that discoverability isn’t as much of an issue as we thought. Users will naturally tap on rows, whether there’s more information provided to them or not. We only want to use carets when absolutely necessary.
General rule of thumb for native mobile design: Use action sheets whenever there are multiple actions associated with a single call to action (that is not a system blocker). Apple iOS guidelines calls these action sheets. Google Android calls these bottom sheets. Use action sheets/bottom sheets whenever there are multiple actions associated with a single call to action.
Cards or Tiles
A card (or tile as other teams may call it) is a component acting as a rectangular container for a certain amount of information: visual elements, instructional text, diagrams, and action triggers. There are two types of cards based on appearance and usage: action card and info card.
We use native system dialogs for critical alerts, permissions related alerts, system blocker alerts, etc. The key word is “alert.” Note that for actions that aren’t related to these things, we try to use action sheets.
The general rule for native mobile design is to use system fonts as much as possible. However, we needed to incorporate our brand and voice and tone to create what we call “QuickBooks Ownable Moments.” For large headlines and sub-headlines, we use our brand fonts. For body text, we use system fonts. For fonts within buttons, we use system fonts.
Toggle switches are used to trigger a binary operation (i.e. turning something on and off). It is used often to replace a web checkbox metaphor. We have a lot of checkboxes in our web products so when we design for native mobile, we want to make sure we are only looking to replace binary checkboxes that allows for things like enabling or disabling content, show/hide content or fields, turn on/off tax, track returns for customers, instead of checkboxes used for selecting multiple items.
Again, these are just a few guidelines to get you started or to accelerate your mobile first design process, especially for native mobile. You are the driver and designer with creative license to define the end-to-end user experience for your products and services. Trust your gut, follow your instincts, but always remember to respect the platforms, focus on the customer benefit, think device first, and keep scalability in mind!
Yvonne So is a Principal UX Designer @Intuit currently crafting meaningful experiences for small businesses around the world. With a passion and mission for making technology more inclusive of everyone, she regularly speaks and writes about mobile UX, accessibility, innovation, and empathic design.