Cambridge web designers
Hello and welcome to this web designers Web Designer Cambridge 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.
What Your Dentist Can Tell You About Dental Braces
When I joined Google a little more than 2 years ago, I was asked by a few people to tell the story of how I got there and what my experience was.
I promised I would but I never actually did. Maybe I was shy, maybe I didn’t have the time or maybe I simply thought, probably wrongly, that it wasn’t interesting enough.
I decided to finally honor that promise and write about it.
I hope this is not too late and that it will be useful to some people.
I will try my best to sum up my experience and stories and provide a few advices from them.
Oh, one more thing. This is not a guide on how to get a job at Google. Based on my experience, I do not think such a thing exists. It will not describe the interview process in detail (such as the questions asked) nor disclose any confidential information.
The sole purpose of this article is to talk about my pre-Google personal experiences. I hope this will be useful for you, at least a little.
Baguettes and berets
If you don’t know me, I’m a 27 years old Frenchman born in a small city in Paris suburban area called Lagny. I spent the first 6 years of my life there and then moved to the south of France where I lived and studied in various cities such as Toulon, Hyères, Arles and Marseille.
Today, I’m a visual designer for Google Chrome and Chrome OS, living in San Francisco.
I got a High school diploma in what was called “social and economics”, then I studied 2 years in a general technology school and 3 additional years in a multimedia project management school.
What these schools and courses had in common is that they taught you a general approach on various subjects. It didn’t specialize you. Thinking back, I think I was taught how to become an effective swiss army knife.
I started by learning the basics of social science and economics mixed with history and philosophy. Add a bit of math to that and you get my High school diploma.
The following two years were all about introducing you to everything you can do with a computer, a screen and a camera. From code to design to filming and photography. Very broad subjects.
The last three years that led to my masters degree were multimedia management. It was all about managing people, project, public speaking and… wearing a suit.
Looking back at it, the more I was going through these school courses, the less I was learning the skills I use in my current everyday job.I learned at school what I didn’t want to do.
School is not about teaching, not really. It’s about opening your mind. I forgot most of what I learned at school but it helped me visualize and understand the things that I wanted to do and the things that I wanted to avoid.It’s by learning a subject that you realize it’s not for you.
I had to learn math to discover that I hated it, I had to learn to code to discover that my appeal to it wasn’t as strong as my appeal to align pixels.
I had to wear a suit to realize that this is not something that I would want to wear everyday. I learned how to manage projects and people to understand that what I really wanted to do is to spend my entire day in Photoshop, listening to Hans Zimmer and Amon Tobin.
Maybe it’s not the best path to follow to learn things, but it was mine. Don’t get me wrong, I learned a lot of useful things in these schools but somehow, it’s the things I hated to learn that gave me the most beneficial lessons and drove me to my key skills.In any given project, I always volunteered for the design part, it was my refuge. In response to possibilities of acquiring more knowledge, I specialized in one thing.
In the 5 years following my High school diploma, I dismissed a lot of potential knowledge to obsess over details in interfaces.
Is it a good thing ? I do not know. I’m not a fast learner. I found what I was good at and instead of searching to acquire a broader range of skills, I maximized the strong ones.
Let’s summarize who I was after my studies:
An obsessed interface designer focused on web and mobile design. I was comfortable and self-confident enough to present my ideas in front of people.
I had a daily schedule made of an hour and a half of web browsing to discover, save and categorize inspiration across the web followed by 8 hours of visual design in Photoshop and Illustrator. Also, I was fluent in English, and this was key.
My work history is tightly linked to my school history. My 3 years of multimedia management were alternate. I had to spend a month at school and the other in any company nice enough to welcome and form a newbie.
I was lucky enough to work for companies who made me do some actual work besides bringing coffee and I will always be grateful for that. Here is the biggest thing I learned and that I have absolutely no doubt about whatsoever:The best way to learn is to work for real people, in real companies.
The benefit from working and learning at the same time with people who actually make a living out of what you want to do is by orders of magnitude more beneficial than school. Any internship will teach you more about real life work than any class.
Now I’m not saying that you don’t learn anything at school. You need it to give you the basics, the by-the-book approach of design and tech but being able to apply learned principles and confront them to real situations and projects is priceless. Combining school and in-situ internship is for me the best pedagogical approach to learning a subject, at least in our field.
The first Year
During the first year of alternation, I learned print, logo and identity design. From an intern perspective, I did a decent job. From a professional designer standard, I was terrible. My work was messy and full of mistakes. Thankfully, it was ok, because I was with the right people.During your life, if you’re lucky enough, you will meet people who will help you grow. People who will help you reach what you think was too far, by standing on their shoulders.
This was the kind of person my boss was during this first year. We were a two people company, he had a ton of experience and was eager to share it. He was patient and when he detected the smallest amount of talent in me, he helped me expand it.
I wasn’t expecting that, it think it’s rare to meet somebody who needs to make a living and is still available to help you grow professionally and personally. I’m trying to carry on this lesson, but I’m not there yet.
It takes a lot of selflessness.
The second and third year
I spent the second and third year of my alternation in another company. I left my first year one because I needed to make a little bit more money, he couldn’t assume an intern anymore and I was ready to move on.
The company was a small web agency created by one person who was sick of being given orders and wanted to make cool things by and for himself.
Now let’s take a break here for a quick advice to any aspiring designer who wants to land any job/internship:Smile and engage.
As simple as that. At the time I was a shy guy with a bit of confidence issues when it came to selling myself. Saying that my presentation was underwhelming is an understatement. If I wasn’t supported by an employee of this same company, I think I would still be searching an internship right now. Hurray for networking and string pulling.
Ok, back on the subject. You remember what I wrote earlier about my first boss ? Well you can re-apply this here. Two in a row can be considered lucky, and it is. Luck is an important factor in your career but I will get back to that.
These two years improved my visual design skills at an incredibly fast rate.
I was working on a large range of projects from complex web-design to phone applications. It was a balance of internal and client projects. A good way to keep some freedom in your work while making a living. I even did a few email design for mass mailing which I’m not very proud of but teach you the realities of the field. This is also important:
Following the same logic as for school, doing something you do not like builds you and defines you as a designer.
This work was thankfully secondary. A large majority was incredibly interesting projects with a lot of challenges for a young designer. I grew exponentially with every work because I had freedom and responsibility. My boss was a safety net, a knowledgable guide that was there when I needed him. But he trusted me from the start, giving me enough responsibility to feel involved in everything I was doing.Be a safety net for the person you want to see evolve. Make him feel impactful and in control of his decisions and projects.
I finished my studies and was hired full time in this company. I stayed another year before being hired by Google and I loved every second of it.
In addition to school courses and learning with pros, learning by yourself will be a great asset in your career. Some may say that it is all you need, especially in our line of work.If you have the passion about something, self teaching should come naturally. If you have fun learning stuff, you are where you’re supposed to be.
My favorite way of learning was by looking at other people’s work and learn from the .psds they were sharing, that’s why I’m still doing that to this day. A way to return the favor.There will always be more talented people than you.
Look up to them and try to catch up.
Networking and design communities
Something you need to know: I hate networking. Actually I used to. I’m getting a little bit better at it but even today, I’m awkward. I have this weird expression on my face that makes people think I’m obnoxious sometimes. I don’t know, maybe I am a little bit. But I think it’s mostly shyness.
Anyway, I learned very early that networking is important to develop your career, especially in our field. Dennis Covent will probably explain why better than me in his blog post so I will not spend too much time on it.
That’s the beauty of internet, you can network without engaging anybody in the real world. You can build yourself as a designer and build your web presence simply by participating in communities. If you are alone on an island, you have virtually the same chance of being recognized for your work as anybody else.
Of course this is not entirely true, an outgoing person living in San Francisco will probably network easier than a brown bear living in a south France cave with poor internet connection but you know what I mean.
Thankfully, I wasn’t a bear, I had a decent internet connection and a need to share things. So I started a little blog using Tumblr.
It was simply about sharing things about design and writing various notes about it. Some sort of personal Pinterest. Very few readers but that was fine. I enjoyed it. Heres an important note about that:
So I continued writing my little blog and I was eventually contacted by a bigger french site focused on web-design and various source of inspiration for designers. My audience suddenly exploded, of course. This blog had way more visibility. I started shifting from sharing inspiration to creating my own design resources, or “freebies”, after discovering the work of Orman Clark and his work on Premium pixel. I was and still am a huge fan.
It was a great way for me to improve, satisfy my compulsion for pixels and gave me things to share. I also learned a lot from reverse engineering other designers freebies, it was my way to give back. I even started writing tutorials.
And then the owner of the blog asked me this question:
“Do you need an invite to Dribbble?”
This deserves a section of his own simply to make a point. Dribbble played a huge part in my career and I think this is the case for a lot of people.
I joined it the 6th of March 2011 and published this shot:
My first shot made me rapidly get followers. At the time I was publishing a freebie per week. It took a lot of time, I was pretty much doing nothing else during the week besides working and creating photoshop goodies to share and updating my blog. Doing this created a lot more opportunities than I ever thought it would. Suddenly, people contacted me for work, outside of France.
Oh and also, it’s where Google found me.
A little bit of freelance
Remember that at the time, I was working in the web agency. That’s during my full time year that I started receiving work inquiries from companies outside of France via Dribbble. The first one I received was from a print company based in Sweden. That was a big deal for me. I was speaking enough English to understand them, but we were talking about business here. I was fresh out of school and not that confident about handling my own projects.
So I proposed to my boss to make this request a company project. He would teach me the business part of it and I would handle the rest.
This is how I started my first “sort of freelance project”.
It went smoothly, they were satisfied by the result, I delivered in time and we built a pretty good relationship. This project added to my portfolio, I was more confident because I went out of my comfort zone and did it.Going out of your comfort zone will greatly improve your confidence.
I was continuing my constant flow of freebies on Dribbble and spending half of my day in photoshop, designing mock-ups after mock-ups for sites, mail, iPhone apps and iPad apps. I was designing everything I could from video players to upload panels (why?! I’m not sure). I was getting more followers and more work inquiries.
I accepted projects from France, Denmark, and the United states. Each one opening new design horizons. From social platform to DJ-ing software.
As the inquiries got more numerous, I learned to choose the projects I wanted to work on, taking them both for the companies and starting a few projects on my own. Usually, everything went well for a simple reason: I got all my inquiries via Dribbble from clients who knew what they wanted and knew what to expect from me based on my previous work. Being able to choose your client is a luxury. I was able to do that because I had a full time job.If you have the time and if your situation allows it, taking side projects as a freelancer while you have a full time job is a good way to try it out and see if it’s something for you. Be careful though because you will not see the sunlight a lot.
Getting all these clients also helped me to do one important thing, build up a portfolio. Which brings me to this.
Working for free
Before anything else I suggest you read this article by Dann Petty.
I know this is a delicate subject. Every work deserves payment. There are a lot of people that will take this opportunity to exploit young designers and I received my share of “I need a design for a youtube-like site, $200 should be enough.” or “there is 5 other designers working on this, I will pay the one I pick”.Working for free is all about building your portfolio.
Now, you will only be able to do that if you actually manage to pay for your internet bill first of course. One benefit to it is that you will choose the project you want. You will work on what makes you happy and what you will be happy to show as a work reference. If you work with the right persons, it will open doors for you.
That’s why I accepted a lot of requests with no money involved, any student party that needed a poster, every little website design with very low budget because I knew the guy, this kind of thing.
Do it when you are a student, when you’re eager to do over hours and work on various stuff. Yes they will get something for really cheap or even nothing, but as a young designer you will get invaluable experience, you just need to be careful.
As for being able to pick your clients, working for free is a luxury, it is not for everybody. I was able to do it because I had a supporting boss, family and a full time job. If you can to, consider it but do it for the right people.
“Want to chat ?”
The year went by and I received my first recruitment email from a company in Spain. That was weird. For the first time somebody wanted me to work for him, in a big structure, out of my country. He wanted to know if I would consider “a chat”, and they would bring me to their headquarters for it.
I actually told my boss about it what he told me was: “go for it!”. Remember what I wrote earlier about the kind of people that will help you grow?
So I went for it and accepted to go there just to chat. Why not after all? I wasn’t that in love with the city I was living in, I loved my job for sure but I saw an opportunity to grow.If you see an opportunity, if you have the slightest doubt or “what if” in your mind, just go for it.
They paid for the plane ticket and the hotel just to talk to me. I know, now it sounds completely normal to some people but that was crazy for me in a world where I heard clients not willing to pay more than a few hundred bucks for a website design… when they were actually willing to pay anything.
So I did the interviews and got to know them a little better. Things were clicking and I was starting to consider the fact that I could move from France to Spain. It wasn’t that far after all and these people were pretty awesome. But a week after being back home I received another email.
I think this is spam
This email was from Google as you probably guessed. I really thought it was spam. It was completely out of the blue.
I answered… you know… just in case.
At the time it was during a US holiday so it took five days to receive an answer, reinforcing my spam theory in the meantime.
Turned out it was real and I couldn’t wait to know more.
After checking a few things like my willingness to move to the US in case this ever works, the recruiter told me that I was going to enter the process, starting with a call from a Googler.
At this moment I thanked the thousand of hours spent listening to various American TV series while working at home. Otherwise I would have struggled to understand anything during our conversation. It was still hard though, it is way different to passively learn a language than it is to have an actual human interaction, and my brief 2 weeks school trip in the US when I was fourteen didn’t really help.
I thought I did terribly on the phone but apparently not as they were willing to continue the process. The next step was a design exercise.
This part was very stimulating for me. I had the opportunity to demonstrate how I think and deliver polished visuals. It really wasn’t that different from what I experienced several times with clients, maybe the result was a bit more life changing…
So I sent the finalized exercise crossing my fingers hoping to get a positive answer and avoiding imagining them laughing at my work.
Around two weeks later, they told me they wanted to see me in person, in Mountain View.
What am I doing here ?
At the time I had a two weeks trip in New York with a friend planned 4 month earlier. Some sort of “we’re done with school” trip because we wanted to discover New York and the US.
The confirmation email came during this time. I was stopping twice a day at a Starbuck to get some Wifi and check emails. I mentioned I was in New York and that it would be a good idea to meet during these two weeks, you know, to avoid crossing the atlantic and come back again.
They agreed, set up my flight, two days later I was flying somewhere I’ve never been before, California.
I landed in San Francisco and before realizing what was happening I was driving a rental car on a highway that was going to become the one of my daily commute. The “What am I doing here” moment was when I realized I was driving for the first time on a Californian road, passing signs with cities like San Francisco, Palo Alto and Cupertino written on them. Big deal for me.
The next day were the on-site interviews. It went really fast and was over before I could realize it. One thing I do remember is that, between two interviews, I was asked when I considered joining Google. I answered that I never considered it and that I never imagined being here, it was just not a realistic possibility for me.
Retrospectively, this was a probably a weird if not bad answer but it was the simple truth. I was too tired and disoriented to start thinking about what could be a good answer.
Thinking about it, maybe it was what to do. It sounds cheesy but I think this applies to a lot of situations and to any job applications. You may talk your way into landing a job by finding the right answer at the right moment but you would be at risk of not finding the right thing in the end, something that is neither for you or your employer.
This time I didn’t forget to smile though.
And that was the end of it, I just had to wait for the final decision. I jumped in the plane back to New York, looking to San Francisco by the window, a city I would never enter until I discovered it for the first time, searching for a place to live.
If you want more information about the Google hiring process,
head this way. You will find some useful details on that.
I received the call on a Friday. I was asked if I was interested in joining Chrome. This couldn’t have been better. I didn’t hesitate a second and gave a positive answer. The web made me and now I was going to help make it better.My Dribbble announcement post.
One thing you may say if entering Google is one of your objectives is that I got really lucky. I was lucky to have the studies that helped me figure out what I wanted to do, lucky that I got two great bosses in a row, lucky that I got a Dribbble invite at the right time with a Googler looking at my work at the right moment, lucky that I was already in the US when they wanted to see me, lucky that there was still some visas available when I applied, and you would be completely right.
Luck played a huge part in this and I wouldn’t be writing this if it wasn’t for it. One addendum though:Be prepared for luck, if it ever happens, make sure you can take your chances.
Reading this article myself, it sounds like I described some sort of magical story made of rainbows and ponies and that I am a huge fanboy writing an advertisement. You may also not agree with what Google is doing, although reading this to the end would seem like a huge waste of your time. This is only my view of it.
I tried to stay true to what I felt at the time and how things worked out.
I feel grateful to be where I am surrounded by people way more clever than me. Is it awesome every day ? No. It can be frustrating and you may not agree with everything. You are part of a gigantic machine that makes things at an unimaginable scale. That’s also part of the thrill.
Will I be there forever ? I do not know, I had my ups and downs but I do love Chrome, Chrome OS, my team and Google.
For now, I’m not going anywhere.
I think it’s an extraordinary experience simply to be here, not just at Google but in the bay area. I’m trying to remind myself that when I tend to act like a spoiled kid. Deep-down, I’m still waiting for them to realize that I’m a fraud and put me on the first plane back to France.
Get in touch
I didn’t cover everything, it was a long story.
If you have any questions or just want to chat or connect, here is some shameless social network self-advertisement:
Cambridge 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 Cambridge 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 pageCambridge with a close tap area to collapse back down.
Building Expanding Creatives - Google Web Designer
LYNN MERCIER: Thetruth is, like, if we want to evolve thematerial design system, we need to be able tobuild on top of the code, and each layer ofthat code matters.
MUSTAFA KURTULDU:The conveyor belt is-- designer works onsomething, developer takes it, and developer screams becausethere was no conversation.
I think that's one ofthe biggest challenges.
[MUSIC PLAYING] One of the challenges inthe beginning with material on the web was there's so manydifferent implementations.
Again, the singlesource of of truth, so you had Angular material,you had Polymer, you had MDL.
How have you found solvingthat single source of truth? LYNN MERCIER: Yeah.
Originally we had a unique teamof developers in both Android-- I'm sorry-- Angular,and Polymer, and all these otherweb frameworks sort of building their ownimplementations in material design.
But we found that we couldn'tkeep that going at scale.
Like, we were iterating onthe material design system so quickly, and we couldn'tkeep a single source of truth with these othercomponent libraries.
It's not a perfect solution.
We're still working onmaking it faster and better, but we've foundthat that creates these sort of componentsthat look like they belong in the framework.
So any framework developerwho's working there, they look seamlesslylike they're a part of the environment.
MUSTAFA KURTULDU: The onething that we struggled with with MaterialDesign Lite was there was a lot of blackmagic going on in the DOM.
So you check DeveloperTools, and there'll be, like, these random elements.
And that was, like, anopinionated decision so, you know, how do you go aboutdeveloping a new framework where you have to have anopinion-- there has to be, like, this is the baselineof what we're doing-- without impeding on, like, whatthe developer just wants to do? They just want this componentto work, or this widget, or whatever.
LYNN MERCIER: Yeah.
I try as much as possibleto avoid black magic.
And, like, whenever I'mreviewing any code that any of the designers on myteam are writing, we, like, try and avoid anything that's-- maybe it's a little hack,and it makes it slightly more performant-- butthe truth is, like, if we want to evolve thematerial design system, we need to be able tobuild on top of the code, and each layer ofthat code matters.
So we try and, like, steeraway from any black magic and just have thisone source of truth that works with all thecomponent libraries as much as possible.
MUSTAFA KURTULDU:In terms of, like, working withexisting frameworks, what's the relationship there? Because, like, React isa thing-- you have to-- it's the real world, right? LYNN MERCIER: Mm-hmm.
MUSTAFA KURTULDU: Or likeWordPress is a thing.
Like, you have towork in that world.
LYNN MERCIER: Mm-hmm.
MUSTAFA KURTULDU: So theremay be certain things that you can or can'tdo as a result of that.
LYNN MERCIER: Yeah.
MUSTAFA KURTULDU: Like, formaintaining a framework where-- it's not Android.
It's not, like, a single-- LYNN MERCIER: Yeah.
MUSTAFA KURTULDU:--you have-- it's, like, the web is allabout relationships between different code bits.
I mean, how do you manage that? LYNN MERCIER: It gets reallytricky and really funny.
So we tend to prioritizethem in terms of what developers are already using.
So React is a great example.
There are a ton of codebases already in React-- it's super-popular.
So we want to prioritizethat one first, which is why we're making anMDC React library for React in particular.
But then there'sother libraries, like Angular andlike Polymer that we want to start using as well.
But we tend toprioritize them, again, based off whether or notdevelopers are already using them.
In terms of, like, keepingall that functioning-- and sometimes you endup, like, one framework wants it to do it oneway and another framework wants it to do another way.
It's just constantlycompromising.
Like, we work with thesedevelopers on the Polymer team, or we, like, talk tothe React community and try and figure out what'sthe right way to figure it out.
And we just sort of settleon the right compromise and stay there.
We do it as well with browsers.
So for example, we tendto develop first on Chrome because it's kind of thebest, and it works nice, but we have to support Safari,and Firefox, and Edge as well.
So we tend to testIE at the very end.
And we want it towork, but there's sort of, like, gracefuldegradation sort of things that happen.
As long as that happens, like,carefully and gracefully, then it tends to be OK.
And I think we do the samesort of thing with platforms.
You know, maybe itdoesn't perfectly work in everyplatform but as long as we can kind ofgracefully degrade that component in thatsituation, it'll work out.
MUSTAFA KURTULDU: Yeah, Iknow the BBC have, like, a term that's calledcutting the mustard.
So basically, they willhave, like, a baseline where things have to work.
LYNN MERCIER: Yeah.
MUSTAFA KURTULDU: Like, withthis, and if it doesn't work, or it doesn't supportthis technology, they're gonna say--you know what, you're not going to getthese experiences that we're designing.
I mean it-- how would youfeel about that as a concept? LYNN MERCIER: Yeah, we'vehad to use that already.
So there's newthings coming out-- material designed around shape.
And on the web platform,no matter what technology you're in-- like, what webplatform or what browser you're in-- rounded corners are really easy.
Like, cut-off corners? Impossible.
Just straight up impossiblewith the existing technology.
And so we kind of had to goback to our material design team and say, like-- look, we can update theCSS spec today in 2018, and then three years fromnow, our children's children will, like, have thisfeature, but we're not going to be able toimplement it right now.
So there are some featureswhere you just kind of have to draw the line and say,we can't do this feature without it beinga confusing story, without it being some sortof hack that no one would be able to use.
MUSTAFA KURTULDU:So how about SVG? I mean, I suppose whenit comes to animation, the challenge of SVG isthe performance 'cause-- LYNN MERCIER: SVGs, and thenthe shadows on top of them, and the scroll performanceunderneath those SVGs-- by the time you, like, transportall the browsers and all the situations wherethat component would be, it gets reallyconfusing quickly.
MUSTAFA KURTULDU:And very complicated.
LYNN MERCIER: Yeah,very complicated.
MUSTAFA KURTULDU: That'squite interesting, because the conveyor belt isdesigner works on something, developer takes it, anddeveloper screams because there was no conversation.
I think that's one of thebiggest challenges developers face because, ifyou just talk to me, then I'll be able to explain,especially for designers who have no coding experience.
And I know we've spokenbefore, and you've mentioned stress testingthe design, which is a new concept for me.
LYNN MERCIER: It's my concept.
MUSTAFA KURTULDU: How doesthat work, where you're stress testing the design? LYNN MERCIER: Imean, I think there's a limitation inDesigner Tools that make them want to forceeverything to sort of this pixel-perfect mock.
And it's gorgeous-- itcreates some gorgeous assets, but it doesn't always workin a real-world application.
And a developer'sjob is to create something that works in areal-world application, right? Ours is the stuff-- thecode that's running live.
And so many problems come froma design being pixel-perfect for one language, one screenwidth, one set of content.
And when you goto build that, you can build sort of adummy site quickly, but once you start populatingit with real content, all these problems come up.
And I think most designers,if you go and talk to them and say, like-- hey,I have this problem.
They'll help you.
They'll, like, show youhow to change the design and tweak it in this situation.
Like, they're very receptiveto that feedback-- they want to make their designs better.
But if you don't knowwho your designer is when you have thisproblem, then you just have this bug that says-- doesn't work in German.
Like, what do you do? You have no idea how to fix it.
So yeah, I think this conveyorbelt problem of designers who sort of, like,design something but then leave the projectand don't collaborate with the developers asthey're building it, it makes it reallydifficult for the developers to make the productbetter over time.
MUSTAFA KURTULDU: So how do youthink designers can actually improve their process to makethat relationship better? Or more, is it reallydown to the most obvious? You just need to pairprogram, or pair together.
You have to talk to the person.
That's really the bestway to do it, so like-- LYNN MERCIER: Thatis the best way.
I mean, I think that can bereally difficult in certain-- if you don't have enoughtime and resources, sort of dedicate, like, one person,one designer, and one developer to every single feature.
I think there's waysin the middle to do it.
So for one, make sure thatyou know each other's names.
Like, if you'reremote, make sure you know how to deployyour code somewhere to staging so yourdesigner can work with it, and make sure your designerhas a way to send you, like, iterations on mocks.
Another sort of quick andobvious thing, I think, for designers is tointernationalize.
The moment you take allthe text from your mock, put it in Google Translate,put it back in the mock, and see what looks horrible-- MUSTAFA KURTULDU: German.
LYNN MERCIER: --like, yeah! German! Or even, like, CJK languages.
Just pick a language.
It doesn't matter ifyou translate it right.
Just, like, do thatfirst step because you're going to run into all thewidth and height problems that a developerwill run into live.
And I think it's goodfor designers, right? It helps you makeyour product better to get feedback aboutwhat sort of languages do I need to support.
MUSTAFA KURTULDU:And it's especially important inuser-generated apps where the content could be 10 pages,or it could be two lines.
LYNN MERCIER: Yeah! MUSTAFA KURTULDU:It's not like-- you always get the mock wherethere's, like, the name-- LYNN MERCIER: Yeah! MUSTAFA KURTULDU: --theavatar name's perfect.
LYNN MERCIER: Fits perfectly.
MUSTAFA KURTULDU: Yeah, butwhat if the name's like, you know, four words long? LYNN MERCIER: Yeah.
MUSTAFA KURTULDU: Isthere anything else that they can do like the stresstest that wasn't just really-- LYNN MERCIER:Internationalization is a big one.
I think different screen widths,at least in your own web, is helpful as well,like making sure that the obviousbreakpoints work but also sort of smallerones or bigger ones.
But, yeah, it justcomes back to, like, be there when your developerruns into a real problem and help them fix that problem.
I think most developerswant to fix problems.
They want to code that out.
They just want to geton their headphones-- like, get the code outthat will fix the problem, but they don't know how toredesign the site, right? We're not going to-- ifyou make a developer guess how to design a site, we'regoing to guess really poorly.
So you need to helpus as designers.
SPEAKER: If you spentloads of time polishing your, like, amazingprototype, then you suddenly becomevery, like, you know, reticent to throw it away.
Kind of like it'syour baby, you're going to polish this too much.
And so that's dangerous,because then you're not using prototyping forprototyping's real purpose, which is to learn.
Using Autocomplete for Optimal Form UX - Designer vs. Developer #24
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.
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!.