Forms are already notoriously tough to customize and style — to the extent that we’re already starting to see new ideas for more flexible control. But what we don’t often discuss is designin
Javascript
Practical UX guidelines to keep in mind for 466 million people who experience hearing loss. More design patterns in Smart Interface Design Patterns, a friendly video course on UX and design patterns b
Accessibility
Poor internet connectivity doesn’t have to mean poor UX. With PWA technologies like IndexedDB, service workers, and the Background Sync API, you can build an offline-friendly image upload system tha
Javascript
A simple but powerful mental model for working with AI: treat it like an enthusiastic intern with no real-world experience. Paul Boag shares lessons learned from real client projects across user resea
Ux
I have made a lot of mistakes with AI over the past couple of years. I have wasted hours trying to get it to do things it simply cannot do. I have fed it terrible prompts and received terrible output. And I have definitely spent more time fighting with it than I care to admit.
But I have also discovered that when you stop treating AI like magic and start treating it like what it actually is (a very enthusiastic intern with zero life experience), things start to make more sense.
Let me share what I have learned from working with AI on real client projects across user research, design, development, and content creation.
Here is the mental model that has been most helpful for me. Treat AI like an intern with zero experience.
An intern fresh out of university has lots of enthusiasm and qualifications, but no real-world experience. You would not trust them to do anything unsupervised. You would explain tasks in detail. You would expect to review their work multiple times. You would give feedback and ask them to try again.
This is exactly how you should work with AI.
I am not going to pretend to be an expert. I have just spent way too much time playing with this stuff because I like anything shiny and new. But here is what works for me.
Here is a real prompt I use for online research:
Act as a user researcher. I would like you to carry out deep research online into [brand name]. In particular, I would like you to focus on what people are saying about the brand, what the overall sentiment is, what questions people have, and what objections people mention. The goal is to create a detailed report that helps me better understand the brand perception.
Think deeply about your approach before carrying out the research. Create a rubric for the report to ensure it is as useful as possible. Keep iterating until the report scores extremely high on the rubric. Only then, output the report.
That second paragraph (the bit about thinking deeply and creating a rubric), I basically copy and paste into everything now. It is a universal way to get better output.
You should never fully trust AI. Just like you would never fully trust an intern you have only just met.
To begin with, double-check absolutely everything. Over time, you will get a sense of when it is losing its way. You will spot the patterns. You will know when to start a fresh conversation because the current one has gone off the rails.
But even after months of working with it daily, I still check its work. I still challenge it. I still make it cite sources and explain its reasoning.
The key is that even with all that checking, it is still faster than doing it yourself. Much faster.
This is where AI has genuinely transformed my work. I use it constantly for five main things.
I love AI for this. I can ask it to go and research a brand online. What people are saying about it, what questions they have, what they like, and what frustrates them. Then do the same for competitors and compare.
This would have taken me days of trawling through social media and review sites. Now it takes minutes.
I recently did this for an e-commerce client. I wanted to understand what annoyed people about the brand and what they loved. I got detailed insights that shaped the entire conversion optimization strategy. All from one prompt.
I used to avoid open-ended questions in surveys. They were such a pain to review. Now I use them all the time because AI can analyze hundreds of text responses in seconds.
For interviews, I upload the transcripts and ask it to identify recurring themes, questions, and requests. I always get it to quote directly from the transcripts so I can verify it is not making things up.
The quality is good. Really good. As long as you give it clear instructions about what you want.
I am terrible with spreadsheets. Put me in front of a person and I can understand them. Put me in front of data, and my eyes glaze over.
AI has changed that. I upload spreadsheets to ChatGPT and just ask questions. “What patterns do you see?” “Can you reformat this?” “Show me this data in a different way.”
Microsoft Clarity now has Copilot built in, so you can ask it questions about your analytics data. Triple Whale does the same for e-commerce sites. These tools are game changers if you struggle with data like I do.
This is probably my favorite technique. In ChatGPT and Claude, you can create projects. In other tools, they are called spaces. Think of them as self-contained folders where everything you put in is available to every conversation in that project.
When I start working with a new client, I create a project and throw everything in. Old user research. Personas. Survey results. Interview transcripts. Documentation. Background information. Site copy. Anything I can find.
Then I give it custom instructions. Here is one I use for my own business:
Act as a business consultant and marketing strategy expert with good copywriting skills. Your role is to help me define the future of my UX consultant business and better articulate it, especially via my website. When I ask for your help, ask questions to improve your answers and challenge my assumptions where appropriate.
I have even uploaded a virtual board of advisors (people I wish I had on my board) and asked AI to research how they think and respond as they would.
Now I have this project that knows everything about my business. I can ask it questions. Get it to review my work. Challenge my thinking. It is like having a co-worker who never gets tired and has a perfect memory.
I do this for every client project now. It is invaluable.
AI has reinvigorated my interest in personas. I had lost heart in them a bit. They took too long to create, and clients always said they already had marketing personas and did not want to pay to do them again.
Now I can create what I call functional personas. Personas that are actually useful to people who work in UX. Not marketing fluff about what brands people like, but real information about what questions they have and what tasks they are trying to complete.
I upload all my research to a project and say:
Act as a user researcher. Create a persona for [audience type]. For this persona, research the following information: questions they have, tasks they want to complete, goals, states of mind, influences, and success metrics. It is vital that all six criteria are addressed in depth and with equal vigor.
The output is really good. Detailed. Useful. Based on actual data rather than pulled out of thin air.
Here is my challenge to anyone who thinks AI-generated personas are somehow fake. What makes you think your personas are so much better? Every persona is a story of a hypothetical user. You make judgment calls when you create personas, too. At least AI can process far more information than you can and is brilliant at pattern recognition.
“
Let me start with a warning. AI is not production-ready. Not yet. Not for the kind of client work I do, anyway.
Three reasons why:
But that does not mean it is not useful. It absolutely is. Just not for final production work.
If you are not too concerned with matching a specific design, AI can quickly prototype functionality in ways that are hard to match in Figma. Because Figma is terrible at prototyping functionality. You cannot even create an active form field in a Figma prototype. It’s the biggest thing people do online other than click links — and you cannot test it.
Tools like Relume and Bolt can create quick functional mockups that show roughly how things work. They are great for non-designers who just need to throw together a prototype quickly. For designers, they can be useful for showing developers how you want something to work.
But you can spend ages getting them to put a hamburger menu on the right side of the screen. So use them for quick iteration, not pixel-perfect design.
I use AI constantly for small, low-risk coding work. I am not a developer anymore. I used to be, back when dinosaurs roamed the earth, but not for years.
AI lets me create the little tools I need. A calculator that calculates the ROI of my UX work. An app for running top task analysis. Bits of JavaScript for hiding elements on a page. WordPress plugins for updating dates automatically.
Just before running my workshop on this topic, I needed a tool to create calendar invites for multiple events. All the online services wanted £16 a month. I asked ChatGPT to build me one. One prompt. It worked. It looked rubbish, but I did not care. It did what I needed.
If you are a developer, you should absolutely be using tools like Cursor by now. They are invaluable for pair programming with AI. But if you are not a developer, just stick with Claude or Bolt for quick throwaway tools.
There are some great tools for getting quick feedback on existing websites when budget and time are tight.
If you need to conduct a UX audit, Wevo Pulse is an excellent starting point. It automatically reviews a website based on personas and provides visual attention heatmaps, friction scores, and specific improvement recommendations. It generates insights in minutes rather than days.
Now, let me be clear. This does not replace having an experienced person conduct a proper UX audit. You still need that human expertise to understand context, make judgment calls, and spot issues that AI might miss. But as a starting point to identify obvious problems quickly? It is a great tool. Particularly when budget or time constraints mean a full audit is not on the table.
For e-commerce sites, Baymard has UX Ray, which analyzes flaws based on their massive database of user research.
Attention Insight has taken thousands of hours of eye-tracking studies and trained AI on it to predict where people will look on a page. It has about 90 to 96 percent accuracy.
You upload a screenshot of your design, and it shows you where attention is going. Then you can play around with your imagery and layout to guide attention to the right place.
It is great for dealing with stakeholders who say, “People won’t see that.” You can prove they will. Or equally, when stakeholders try to crowd the interface with too much stuff, you can show them attention shooting everywhere.
I use this constantly. Here is a real example from a pet insurance company. They had photos of a dog, cat, and rabbit for different types of advice. The dog was far from the camera. The cat was looking directly at the camera, pulling all the attention. The rabbit was half off-frame. Most attention went to the cat’s face.
I redesigned it using AI-generated images, where I could control exactly where each animal looked. Dog looking at the camera. Cat looking right. Rabbit looking left. All the attention drawn into the center. Made a massive difference.
I use AI all the time for creating images that do a specific job. My preferred tools are Midjourney and Gemini.
I like Midjourney because, visually, it creates stunning imagery. You can dial in the tone and style you want. The downside is that it is not great at following specific instructions.
So I produce an image in Midjourney that is close, then upload it to Gemini. Gemini is not as good at visual style, but it is much better at following instructions. “Make the guy reach here” or “Add glasses to this person.” I can get pretty much exactly what I want.
The other thing I love about Midjourney is that you can upload a photograph and say, “Replicate this style.” This keeps consistency across a website. I have a master image I use as a reference for all my site imagery to keep the style consistent.
Most clients give you terrible copy. Our job is to improve the user experience or conversion rate, and anything we do gets utterly undermined by bad copy.
I have completely stopped asking clients for copy since AI came along. Here is my process.
Once I have my information architecture, I get AI to generate a massive list of questions users will ask. Then I run a top task analysis where people vote on which questions matter most.
I assign those questions to pages on the site. Every page gets a list of the questions it needs to answer.
I spin up the content management system with a really basic theme. Just HTML with very basic formatting. I go through every page and assign the questions.
Then I go to my clients and say: “I do not want you to write copy. Just go through every page and bullet point answers to the questions. If the answer exists on the old site, copy and paste some text or link to it. But just bullet points.”
That is their job done. Pretty much.
Now I take control. I feed ChatGPT the questions and bullet points and say:
Act as an online copywriter. Write copy for a webpage that answers the question [question]. Use the following bullet points to answer that question: [bullet points]. Use the following guidelines: Aim for a ninth-grade reading level or below. Sentences should be short. Use plain language. Avoid jargon. Refer to the reader as you. Refer to the writer as us. Ensure the tone is friendly, approachable, and reassuring. The goal is to [goal]. Think deeply about your approach. Create a rubric and iterate until the copy is excellent. Only then, output it.
I often upload a full style guide as well, with details about how I want it to be written.
The output is genuinely good. As a first draft, it is excellent. Far better than what most stakeholders would give me.
That goes into the website, and stakeholders can comment on it. Once I get their feedback, I take the original copy and all their comments back into ChatGPT and say, “Rewrite using these comments.”
Job done.
The great thing about this approach is that even if stakeholders make loads of changes, they are making changes to a good foundation. The overall quality still comes out better than if they started with a blank sheet.
It also makes things go smoother because you are not criticizing their content, where they get defensive. They are criticizing AI content.
If your stakeholders are still giving you content, Hemingway Editor is brilliant. Copy and paste text in, and it tells you how readable and scannable it is. It highlights long sentences and jargon. You can use this to prove to clients that their content is not good web copy.
If you pay for the pro version, you get AI tools that will rewrite the copy to be more readable. It is excellent.
Let me be clear about something. None of this is perfect. AI makes mistakes. It hallucinates. It produces bland output if you do not push it hard enough. It requires constant checking and challenging.
But here is what I know from two years of using this stuff daily. It has made me faster. It has made me better. It has freed me up to do more strategic thinking and less grunt work.
A report that would have taken me five days now takes three hours. That is not an exaggeration. That is real.
Overall, AI probably gives me a 25 to 33 percent increase in what I can do. That is significant.
“
AI cannot innovate. It cannot make creative leaps. It cannot know whether its output is good. It cannot understand what it is like to be human.
That is where you come in. That is where you will always come in.
Start small. Do not try to learn everything at once. Just ask yourself throughout your day: Could I do this with AI? Try it. See what happens. Double-check everything. Learn what works and what does not.
Treat it like an enthusiastic intern with zero life experience. Give it clear instructions. Check its work. Make it try again. Challenge it. Push it further.
And remember, it is not going to take your job. It is going to change it. For the better, I think. As long as we learn to work with it rather than against it.
These days you can do things in plenty of different ways. From the way you dress, to how you develop applications. That also applies to web development as there is no right or correct way to handle th
BusinessIn this article, you’ll find out what are web development frameworks, how they compare, and which are the most popular ones. Without further ado, let’s dive into the article right away!
Frameworks have been designed to help programmers with coding websites, applications, and more. Each of them is a platform that includes modules, libraries, or tools, all pre-made and waiting for use. They can not only save time for web developers but also save money. Using frameworks contributes to faster web applications deployment and overall security of the application.
Of course, it doesn’t mean that you have to follow the framework blindly and leave everything as is. You can alter the details and adjust the web development frameworks to your needs.
Frameworks can be divided into two categories: frontend and backend. Each of them has different responsibilities, i.e. the former takes care of the user interface of the web application, along with the user experience, local storage, communication with backend, assets, and even more, whereas the latter does all the calculations, data processing, business logic and operations triggered by the requests.
There are plenty of frameworks out there that you can use for your web applications. The question is which one will suit your needs? For your convenience, we’ve prepared a list of the 10 best web development frameworks that we’re going to take a closer look at!
Before we proceed to listing backend web frameworks, let’s briefly explain what backend actually is. Let’s say that you launch your browser, type in your favorite website and browse through it. Things that you do on the website like clicking on the blog, scrolling through posts, or checking out categories, are done at the frontend, whereas every calculation, running the scripts, accessing data, is done in the backend which is responsible for all these processes. Everything that happens in the backend is basically like John Cena because you can’t see it.
Now that we’ve gotten that out of the way, we’re finally ready to dive into the backend web frameworks, also known as server-side web development frameworks.
Based on the MVC architecture, Ruby on Rails – sometimes referred to as Rails or RoR – is an open-source web development framework. As the name itself suggests, the framework has been written in the Ruby programming language. Many users have decided on Ruby on Rails, as it features simple syntax and high-performance. Though Rails was created 16 years ago, it’s still loved by the developers to this day.
RoR has a feature that is called “assumptions”. What it essentially does is making suggestions about the best ways to write the project. By doing so, Ruby on Rails aims to boost user’s productivity.
Additionally, you should remember that Ruby on Rails web application framework operates with two major principles in mind. The first being the DRY methodology, which states that you should not repeat yourself while working on the code. The second principle is the “convention over configuration”. In other words, the previously mentioned assumptions.
Being such a popular web application framework, it’s no surprise that plenty of big brands use it. Shopify, Hulu, or Airbnb are just among many other brands that use Ruby on Rails.
Written in JavaScript, Express is an open-source, robust framework that’s widely used by users all around the world. Based on Node.js, the framework was flexible enough to win the coders’ hearts as it’s one of the most used frameworks for building web applications.
What’s worth noting is that JavaScript was initially a client-side programming language running in the browser. Its use in the backend can be attributed to Node.js that allowed JS to be used on the server-side.
Not only that, Express also contributes to the easy and fast creation of various APIs. API is an abbreviation for Application Programming Interface. Essentially, its task is to allow communication between two apps.
When your application grows larger and larger, it becomes convoluted and more complex. A logical and wise way to handle it would be to break up the application into microservice architectures in Node.js that would untangle and divide the specific sections of the app. It allows the developer to work on different sections of the application independently, without risking that it would ruin the entire program.
To code microservice architecture you can use a programming language or a framework. In the latter case, Express could be an ideal choice.
Coming back to Express, this popular web framework is not only appreciated by the regular users, but it’s also used by some of the biggest companies like Uber, NASA, LinkedIn, or Netflix, and these are just a few companies among many that do so.
Based on the MVC (Model-View-Controller) architectural pattern and Symfony, Laravel is appreciated by many users as it’s the most popular open-source PHP development tool. Even though rookies may find it difficult to understand at first due to the framework’s heavy documentation, once you get to know it, it becomes much clearer.
Known for its simple, yet elegant syntax, Laravel comes with an out-of-the-box API. The framework aims to make programming an easier and more pleasant experience, while at the same time allowing you to create large-scale web projects. Unfortunately, performance-wise, it loses to frameworks such as Django or Express.
Additionally, Laravel includes a feature that’s called packages. What they do is help the developer complete the project in a faster and more efficient way. Instead of coding certain features, the developer can use pre-made packages. Different packages are responsible for different functionalities, for example, if your application requires user verification, instead of coding it from scratch, you can use the package that’s responsible for it. Thanks to these packages, Laravel has a lower entry threshold.
Since the Laravel PHP framework is so popular, here are just a few companies that use it: Pfizer, BBC, or 9GAG.
Yet another server-side web framework, Django is a Python-based tool that offers secure and safe solutions for building web applications. What’s worth noting is that Django works on both Windows and Linux, making it a multi-platform framework. It’s also based on the MVT (Model-View-Template) architectural pattern and includes Object-Relational Mapping which helps access sessions, databases, and more.
Django is a very versatile web development framework, as it can be used for programming almost any kind of website, starting from social media, through blogs, to news sites or wikis, and can work with every client-side framework. Additionally, Django follows Python’s philosophy of batteries included which means additional features and tools.
Django web framework is used by many known companies, among them, you can find brands such as YouTube, Instagram, Spotify, or DropBox.
Being one of the most popular Java backend frameworks, Spring works based on the MVC architectural pattern. It can attribute its popularity to flexibility, security, and community support.
Thanks to Spring being modular, you can choose which parts of the framework you would like to use. Some of the framework features include transaction management, Inversion of Control, or Dependency Injection. Thanks to them a developer can deliver great web services to end-users.
In its more complex forms, Spring is often used in corporate environments or in large projects.
Spring Java framework is used by various brands and institutions, from stores like Zalando to universities like MIT.
Since we’re now done with listing backend development frameworks, let’s give client-side frameworks a go! In frontend, the programmers work their magic to turn the code into a visible and pleasant web apps UI. The major difference between the frontend frameworks and backend is that the client-side is concerned with the user interface and user experience on the website, whereas the backend relates to the server-side.
That being said, let’s now focus on the frontend web frameworks.
Although React is categorized as an open-source library, it serves the purpose of a framework. Along with its large supporting community and a plethora of plugins, React is widely used among developers. When used with extensions like Create React App, Material UI, or Redux, React becomes a great and robust framework, even though it’s a frontend library.
It was developed by Facebook in 2013 and is maintained by it to this day. What’s worth mentioning is that React has a cross-platform twin known as React Native. It’s widely used in mobile application development.
Since React is Facebook’s framework, it’s pretty obvious that it’s one of the companies that use it. Among others, you can find brands like Skype, Salesforce, Pinterest, and more.
According to a survey conducted by Stack Overflow, React was one of the most loved web frameworks on the entire market in 2020. The same result seems to be confirmed by a survey conducted by Tsh.io.
Besides, you’ll definitely get a thumbs up from Mark Zuckerberg if you like and use React.
Angular is definitely a popular framework for delivering advanced web apps based on TypeScript. Created by Google in 2016, Angular is a flexible and reliable framework, often used for developing web applications.
One of the best features of the framework is the Command Line Interface that allows the user to generate parts of the code instead of creating them by hand during the development process. Even though Angular is not SEO-friendly, it can still be tweaked for SEO optimization.
Angular wouldn’t be a recommended option for those who wish to release the MVP unless you’re certain that you’d like to use it.
Originally, Angular was written in JavaScript but don’t let that fact misguide you. Indeed, it was based on JavaScript at first, though later it was rewritten from scratch in the TypeScript language that is fully compliant with its predecessor.
But who exactly uses Angular? Well, here are some of the many companies that use Angular in their web development: Samsung, PayPal, Forbes, or Gmail.
Similarly to Angular, Vue was based on JavaScript but rewritten in TypeScript. However, the similarities to other web application frameworks will most likely end here. Vue web framework has been created as an individual project and in time evolved into what it is today.
A big advantage of Vue is that it’s progressive, which means that even if you started your development process with a different framework, you can still use Vue on another part of the project. Due to Vue being a reactive framework, any changes made during the development will be visible in DOM – Document Object Model.
Although not supported by Facebook or Google, Vue is still one of the most popular frameworks. It’s the lightest and fastest out of the big three, i.e. Angular, Vue, and React. All these things make Vue an ideal choice for single-page apps.
Vue is also chosen by a large variety of leading companies, among them you can find brands such as Apple, Google, BMW, or Nintendo.
Imagine you’re on a trail – hiking, or sitting on the beach near the ocean. You take a deep breath of that pure air. Quite refreshing, isn’t it? Now, Svelte is that breath of fresh air but to the Single Page Applications environment.
Designed to be a fast and efficient web development framework, Svelte does things a little bit differently, compared to other popular web frameworks. Typically, frameworks like Angular or Vue use the user’s website to load their own components.
A different thing happens with Svelte, as it compiles the JavaScript in its vanilla version, instead of virtual DOM. It not only makes the performance better but also contributes to the overall developer experience.
Designed for use by larger companies, Foundation is one of these frameworks that are harder to grasp. However, that doesn’t change the fact that it’s a great web development framework, ideal for HTML or CSS, or for those who are already experienced with other frameworks.
Developed with responsivity in mind, Foundation is a mix of HTML, JavaScript, and CSS which allows the user to create interesting projects. What’s more, due to Foundation being such a collection, it works well on various platforms, whether it’s desktop, tablet, or especially mobile phones, since the framework focuses on mobile app development.
Since Foundation is not your typical web framework, you might wonder who uses it? Well, for example, Workday or Macy’s!
There is a common misconception when it comes to frameworks and libraries, particularly with jQuery. What seems to be the cause of the problem is the “Inversion of Control”, so let’s explain it briefly.
When using a framework, you’re the one that’s being guided. What it means is that a framework is in charge of the flow. It features a set of rules on how you should follow the development. It’s pretty much like driving Tesla, but it’s actually the car driving you.
The opposite situation happens with libraries. When using these web resources, the application flow is in your hands. You decide on what you want to use and how you want to use it. In this case, it’s the other way around, you drive the ol’ American muscle.
Is one better than the other? It all depends on your needs. Sometimes it’s better to use a framework like Angular or Vue if you want to develop a bigger application. On the other hand, when you want to add something to your project, sometimes it’s better to use a library, like jQuery – which we’re gonna dive into right now.
Many web developers choose jQuery because it’s fast, reliable, and easy to use. It includes plenty of features that users find appealing, from being fast and easy to learn to make JavaScript programming even simpler. Additionally, with jQuery, you can create dynamic Flash-like animations that can even be viewed on Apple devices.
Many developers choose to start with the jQuery library as it not only features the mentioned animations but can also handle Ajax queries. Additionally, while using jQuery you can refresh one part of the website instead of refreshing the entire platform. To start using it, you only have to add one file with the library to your project and your set!
Taking into consideration everything we mentioned above, jQuery makes a great library for already experienced users. Unfortunately, the same cannot be said when it comes to beginners.
Even though unfriendly towards rookies, jQuery is very popular among big brands such as Twitter, Udemy, Reddit, LinkedIn, and many more.
We’ve compared and listed the most popular web frameworks, both for backend and frontend. Now you should have a general overview of the most popular web development frameworks and that should bring you closer to choosing one for yourself and your business logic. If you’re still hesitating and would like to know more, get in touch with us! We’d be happy to help.
Either way, for your convenience, let’s take a quick look at a small recap of the article:
And here we are! We went through the most popular web development frameworks, both backend, and frontend, as well as explained a jQuery library. If you’re still hesitant and don’t know which of them are the best web development frameworks for your project, think thoroughly about your goal.
Different things can apply to different ideas, therefore you can choose one of the web frameworks mentioned above, perhaps a library, or even a framework that didn’t make the list. The point is – you should choose one that corresponds to your end goal.
If you feel like we’ve missed something, go ahead and drop us a message. We’d be happy to hear from you!
Does the difference between web development vs web design confuse you? Did you try to get your mind around the various roles and responsibilities of both parties, but found yourself in a ‘chicken an
BusinessDoes the difference between web development vs web design confuse you? Did you try to get your mind around the various roles and responsibilities of both parties, but found yourself in a ‘chicken and egg’ kind of situation? MPC is coming to the rescue!
In this article, I’ll define the roles of a web developer and a web designer, compare their daily responsibilities and tasks inside a web development process and take a look at the resources and tools they use. This short guide will help you understand the difference between web design and development.
Both web designers and web developers build websites, so what’s the fuss? Well, the contrast lies in the range of responsibilities and skills of these roles. In a pinch, a web designer is what a fashion designer is for a brand like Chanel, while a web developer is a seamstress. They do different jobs, but the outcome of both heavily depends on and influences the other. And while these people tend to claim they ‘can’t stand’ the other party, in fact they can’t live without each other.
Before I go into details, let me say that some web designers have coding skills as well, and some web developers are skilled in design too. Sometimes, people experienced in both of these roles are called ‘devsigners’ – this term is heavily connected to WordPress development. I won’t go into details here, but let’s just say that a WordPress designer/developer ‘unicorn’ will rely on this CMS and its possibilities; other devsigners may specialize in an even simpler website builder like Wix.
A web designer is responsible for the visual elements of the website, but not for making it all work in the end. Most often, web designers create things like a user interface (which is an entire website layout) and graphic design (frequently in the form of wireframes and clickable prototypes) that’s later translated into code. They’re also responsible for choosing color palettes, typography, illustrations, and the overall feeling of the website.
What’s more, visual designers are often engaged in the analysis part of the project, utilizing tools that help them understand the end users’ needs, behaviors, and preferences. They may run user tests and UX analysis to identify problem points in existing designs, and later use the results and their own experience to provide optimal solutions for the new website.
In most software development models, the design process forgoes the website development phase, as it’s easier to present & discuss with the stakeholders and get their feedback. This reduces the risk of time and resources being wasted on developing UI elements that won’t make it to the final line.
As web designers tend to have soft skill sets, they usually team up with Project Managers and Solution Architects to run product workshops (however, in most cases, these are attended by both web designers and web developers) for software development outsourcing processes. During these, a variety of tools and techniques are used to achieve a consensus in terms of the end product’s visuals and features. Mood boards, style tiles, storyboards, collages, and wireframes may be used to illustrate the concepts and the general feel of the new website.
Workshops develop the initial idea of a product, set out a roadmap for future development, and give a solid foundation for web designers and web developers to work on. The outcome of this process will include the scope of features required for the product, wireframes, user flows, user stories, color schemes, fonts, and graphic elements.
A web designer may also use their creative juices to create information flow for the end product or, if need be, conceptualize the entire branding of a product or a client’s company. They can design a multitude of products including a website design, a mobile app, native & hybrid apps, e-Commerce websites, marketing design, and more. Regardless of the product, they translate the client’s visions and ideas into an on-screen reality.
Designers in software development can be subdivided into two specialist areas:
The role of a UX designer is heavily connected to skill sets like analytical thinking and knowing how to use data to their advantage. These designers use a handful of tools to understand how users interact with the website: where do they expect to find certain information or links, do they skip specific sections or scroll straight to reach them, do they use buttons and other interactive elements, do they try to click on static elements because they look confusing, etc.
Then, they translate these details into websites that catch the users’ attention, meet their expectations and needs, and make them stay and come back for more. UX designers help you get more money as more and more users feel drawn to the product. Their role is also closely tied to the concept of Information Architecture, which involves planning and organizing the structure of the entire product for optimal usability and great UX.
In a pinch, UX designers work on the end user’s experience with the website, creating different scenarios and steps for using the product.
UI designers are responsible for designing user-friendly layouts that are pleasing to the eye and easy to navigate. They also rewrite business goals to user journeys (simple steps needed to perform a certain interaction with the website, like buying an item from an online shop).
The key differences between them and UX designers really are subtle: UI focuses on the appearance of a product, its aesthetics, and ultimate feel, while UX relies on research, surveys, and data to bring valuable input to the table. However, both roles are crucial for product success, as they focus on different aspects and contribute to the final product in multiple ways.
As you can see, web designers can ‘hide’ under different job titles. The ones I’ve mentioned above are often combined into one role of UX/UI designer (sometimes dubbed as Visual Designer) that has experience and knowledge of both aspects. Other software houses set apart a Product Designer role that involves both robust design experience and business knowledge.
That being said, a web designer of any sorts shouldn’t be confused with a graphic artist. However, this role can be a valuable addition to a design team. They will greatly contribute to any illustration-heavy project, branding challenge, or any other product that requires high-level custom graphics.
A web designer’s toolbox is a comprehensive set of weapons serving different purposes.
For mere design functions, web designers typically use tools like Adobe Photoshop, Illustrator, Figma, or other graphic design software that enables high-level design of a web application. For ready-made components, they’ll rely on resources like stock photography, graphic assets, font & icon libraries, and color palettes. All these elements come together to create a stunning brand with perfect fonts, making the website visually appealing and engaging for visitors.
Finally, to deliver designs that meet technical specifications, they’ll utilize image optimization and compression tools. Web designers may also use Zeplin, a tool that acts as a middleman between them and the developers, helping to deliver and code the designs more efficiently.
On the other hand, the analytical part of designing websites requires solutions like Hotjar, CrazyEgg, Google Analytics, and Google Optimize to get valuable data.
Most web designers will follow brand websites, newsletters, and other sources of latest website design trends, standards, and best practices. Platforms like Dribbble, Behance, and even Pinterest are great sources of inspiration as well.
Let’s skip the obvious design skills like an ‘artsy’ feel, aesthetic sense, color theory, typography, etc. and get into more detail. On top of these, a web designer should have:
While no technical skills are required to work as a web designer, it’s worth having a basic understanding of frameworks and their possibilities. This way, visual aspects of a project can be designed and coded easily, with no time wasted on impossible solutions. However, a web designer should have knowledge of HTML and CSS, as well as an understanding of website design principles, web accessibility standards, and responsive design. They should also be familiar with the guidelines for specific platforms, such as iOS/Android for mobile apps, and their basic components.
Once the web design is established, web developers get to work. They’re responsible for making the visuals clickable, responsive, and usable (i.e. for making a “sign up” button take the website visitors to the signup form that they can fill in, send, and get registered in a customer database), using the designs as reference points to develop exactly what the stakeholders have agreed upon during the initial phase of the project.
Web developers juggle different programming languages to write code that builds the actual website and its components. On top of that, they’re responsible for maintaining websites: overseeing their functionalities, monitoring the performance, facilitating hosting and server management, and developing & implementing updates. This “small” task is sometimes overlooked, but is in fact crucial, especially for big development projects like SaaS.
Earlier on the project, web developers support web designers in planning and workshop phases. They also establish the local environment for future development, staging environment for testing, and then the production environment (for when the product goes live). They may also benefit from tips on SEO strategies for ecommerce websites, optimizing product pages and enhancing overall user experience, or helping secure forms from spam bots flooding the website, alongside the marketing and SEO teams.
Depending on their skill sets and programming knowledge, developers are usually divided into different roles inside web development.
Let’s come back to that fashion designer/seamstress situation. If a web developer is a seamstress for a top-notch business suit brand, then the front-end web developer is responsible for building the visible layer of the suit.
This kind of a web developer works closely with visual designers to turn the wireframes into a functioning website. They ensure smooth and fast user experience to each website visitor, regardless of their device, screen dimensions, and the browser. A seamless browsing is achieved by close collaboration with a quality assurance team who runs thorough compatibility tests for various platforms.
Generally, the front-end developer’s range of tasks is referred to as “client-side development”, as it concerns the aspect of the website that’s visible and usable by the client.
Front-end developers must know HTML, CSS, and JavaScript. Even though both a developer and a designer tend to have this programming knowledge up their sleeve, bear in mind that a developer needs to know these tools like the back of their hand.
Except for these, front-end developers use a bunch of web development frameworks, like:
They also need to handle version control software (like Git) and understand the principles of responsive design. Client-side developers can rely on front-end libraries like React and jQuery as well as Stack Overflow as an ultimate resource for tough challenges to crack.
If back-end developers worked on Savile Row, they’d be the miracle workers that make a suit fit you in all the right places and enhance your posture thanks to an impeccable lining construction and a seamless unification of all its components. A back-end developer handles server-side programming and under-the-hood solutions that integrate the elements built by the front-end team and are responsible for the logic behind them.
Confused? If your website involves a form to fill out or a live chat feature, they’ll work thanks to the back-end team. These team members will create the data flow and triggering patterns that’ll, for example, make the messages appear on the screen in real-time and for both sides of the conversation.
In a pinch, a back-end developer utilizes different programming languages and frameworks to set up technical aspects of the website, including user authentication, databases, app behavior, and data flow. If the developed software is meant to be integrated with external systems or APIs, the back-end development will take care of this as well.
Back-end development is also heavily involved in the initial stage of the project, acting as expert advisors to the planning and design team. At this point, they usually help planning the app’s architecture and database.
Basic requirements for back-end web development include a number of different coding languages and frameworks:
A back-end web developer also has an understanding of databases and tools needed to establish and maintain them, such as MySQL. A knowledge of API architectures and technologies, as well as version control systems, also comes in handy.
Non-technical skills a back-end web developer should have involve problem solving, analytical thinking, and solid communication skills for client consultations.
For smaller projects that involve less development, a full-stack developer may suffice. They’re a kind of web development unicorns that can look after both front-end and back-end procedures.
Full-stack developers have a well-rounded experience in web applications. They can create websites that are multi-faceted, functional, and optimized for multiple devices and screens. These team members combine the knowledge of programming languages of both front-end and back-end developers. However, robust products that require a variety of specialized skills and a lot of time may be too much for them to handle.
Curious to know more about different roles and responsibilities inside a software development team? 👉 Check out our guide to software development team structure!
As you can see, both a developer and a designer are valuable assets in a software development team. Depending on your project, budget, and deadline, you may find yourself in need of different software development models, like in-house development, outsourcing, or freelancing. An experienced freelance developer should have no problem teaming up with a web designer (actually, who knows where this cooperation might lead) and creating a successful product together.
Even though they’re responsible for different things, both a web developer and a web designer greatly contribute to the final outcome of a product. Acquiring the two for your project will definitely give you a competitive edge and a web app that’s well-thought-out, well-designed, and well-developed.
Both web designers and web developers have a significant role at multiple stages of product development. To sum up, let’s point out the core factors that make the difference between web development and web design:
Turn scattered user research into AI-powered personas that give anyone consolidated multi-perspective feedback from a single question.
Ux
In my previous article, I explored how AI can help us create functional personas more efficiently. We looked at building personas that focus on what users are trying to accomplish rather than demographic profiles that look good on posters but rarely change design decisions.
But creating personas is only half the battle. The bigger challenge is getting those insights into the hands of people who need them, at the moment they need them.
Every day, people across your organization make decisions that affect user experience. Product teams decide which features to prioritize. Marketing teams craft campaigns. Finance teams design invoicing processes. Customer support teams write response templates. All of these decisions shape how users experience your product or service.
And most of them happen without any input from actual users.
You do the research. You create the personas. You write the reports. You give the presentations. You even make fancy infographics. And then what happens?
The research sits in a shared drive somewhere, slowly gathering digital dust. The personas get referenced in kickoff meetings and then forgotten. The reports get skimmed once and never opened again.
When a product manager is deciding whether to add a new feature, they probably do not dig through last year’s research repository. When the finance team is redesigning the invoice email, they almost certainly do not consult the user personas. They make their best guess and move on.
This is not a criticism of those teams. They are busy. They have deadlines. And honestly, even if they wanted to consult the research, they probably would not know where to find it or how to interpret it for their specific question.
The knowledge stays locked inside the heads of the UX team, who cannot possibly be present for every decision being made across the organization.
What if, instead of creating static documents that people need to find and interpret, we could give stakeholders a way to consult all of your user personas at once?
Imagine a marketing manager working on a new campaign. Instead of trying to remember what the personas said about messaging preferences, they could simply ask: “I’m thinking about leading with a discount offer in this email. What would our users think?”
And the AI, drawing on all your research data and personas, could respond with a consolidated view: how each persona would likely react, where they agree, where they differ, and a set of recommendations based on their collective perspectives. One question, synthesized insight across your entire user base.
This is not science fiction. With AI, we can build exactly this kind of system. We can take all of that scattered research (the surveys, the interviews, the support tickets, the analytics, the personas themselves) and turn it into an interactive resource that anyone can query for multi-perspective feedback.
The foundation of this approach is a centralized repository of everything you know about your users. Think of it as a single source of truth that AI can access and draw from.
If you have been doing user research for any length of time, you probably have more data than you realize. It is just scattered across different tools and formats:
The first step is gathering all of this into one place. It does not need to be perfectly organized. AI is remarkably good at making sense of messy inputs.
If you are starting from scratch and do not have much existing research, you can use AI deep research tools to establish a baseline.
These tools can scan the web for discussions about your product category, competitor reviews, and common questions people ask. This gives you something to work with while you build out your primary research.
Once you have your repository, the next step is creating personas that the AI can consult on behalf of stakeholders. This builds directly on the functional persona approach I outlined in my previous article, with one key difference: these personas become lenses through which the AI analyzes questions, not just reference documents.
The process works like this:
Here is where this approach diverges significantly from traditional personas. Because the AI is the primary consumer of these persona documents, they do not need to be scannable or fit on a single page. Traditional personas are constrained by human readability: you have to distill everything down to bullet points and key quotes that someone can absorb at a glance. But AI has no such limitation.
This means your personas can be considerably more detailed. You can include lengthy behavioral observations, contradictory data points, and nuanced context that would never survive the editing process for a traditional persona poster. The AI can hold all of this complexity and draw on it when answering questions.
You can also create different lenses or perspectives within each persona, tailored to specific business functions. Your “Weekend Warrior” persona might have a marketing lens (messaging preferences, channel habits, campaign responses), a product lens (feature priorities, usability patterns, upgrade triggers), and a support lens (common questions, frustration points, resolution preferences). When a marketing manager asks a question, the AI draws on the marketing-relevant information. When a product manager asks, it pulls from the product lens. Same persona, different depth depending on who is asking.
The personas should still include all the functional elements we discussed before: goals and tasks, questions and objections, pain points, touchpoints, and service gaps. But now these elements become the basis for how the AI evaluates questions from each persona’s perspective, synthesizing their views into actionable recommendations.
You can set this up with varying levels of sophistication depending on your resources and needs.
Most AI platforms now offer project or workspace features that let you upload reference documents. In ChatGPT, these are called Projects. Claude has a similar feature. Copilot and Gemini call them Spaces or Gems.
To get started, create a dedicated project and upload your key research documents and personas. Then write clear instructions telling the AI to consult all personas when responding to questions. Something like:
You are helping stakeholders understand our users. When asked questions, consult all of the user personas in this project and provide: (1) a brief summary of how each persona would likely respond, (2) an overview highlighting where they agree and where they differ, and (3) recommendations based on their collective perspectives. Draw on all the research documents to inform your analysis. If the research does not fully cover a topic, search social platforms like Reddit, Twitter, and relevant forums to see how people matching these personas discuss similar issues. If you are still unsure about something, say so honestly and suggest what additional research might help.
This approach has some limitations. There are caps on how many files you can upload, so you might need to prioritize your most important research or consolidate your personas into a single comprehensive document.
For larger organizations or more ongoing use, a tool like Notion offers advantages because it can hold your entire research repository and has AI capabilities built in. You can create databases for different types of research, link them together, and then use the AI to query across everything.
The benefit here is that the AI has access to much more context. When a stakeholder asks a question, it can draw on surveys, support tickets, interview transcripts, and analytics data all at once. This makes for richer, more nuanced responses.
I should be clear about the limitations.
“
There are several scenarios where you still need primary research:
In fact, you can configure the AI to recognize these situations. When someone asks a question that goes beyond what the research can answer, the AI can respond with something like: “I do not have enough information to answer that confidently. This might be a good question for a quick user interview or survey.”
And when you do conduct new research, that data feeds back into the repository. The personas evolve over time as your understanding deepens. This is much better than the traditional approach, where personas get created once and then slowly drift out of date.
If this approach catches on in your organization, something interesting happens.
“
Instead of spending time creating reports that may or may not get read, you spend time ensuring the repository stays current and that the AI is configured to give helpful responses.
Research communication changes from push (presentations, reports, emails) to pull (stakeholders asking questions when they need answers). User-centered thinking becomes distributed across the organization rather than concentrated in one team.
This does not make UX researchers less valuable. If anything, it makes them more valuable because their work now has a wider reach and greater impact. But it does change the nature of the work.
If you want to try this approach, start small. If you need a primer on functional personas before diving in, I have written a detailed guide to creating them. Pick one project or team and set up a simple implementation using ChatGPT Projects or a similar tool. Gather whatever research you have (even if it feels incomplete), create one or two personas, and see how stakeholders respond.
Pay attention to what questions they ask. These will tell you where your research has gaps and what additional data would be most valuable.
As you refine the approach, you can expand to more teams and more sophisticated tooling. But the core principle stays the same: take all that scattered user knowledge and give it a voice that anyone in your organization can hear.
In my previous article, I argued that we should move from demographic personas to functional personas that focus on what users are trying to do. Now I am suggesting we take the next step: from static personas to interactive ones that can actually participate in the conversations where decisions get made.
Because every day, across your organization, people are making decisions that affect your users. And your users deserve a seat at the table, even if it is a virtual one.
Being a web developer isn’t an easy task as it requires plenty of knowledge, expertise, and patience. The variety of different web development tools can cause quite a headache but that’s where we
BusinessIn this article, we’ll dive headfirst into the best web development tools available for developers around the world. From desktop development tools, through those available on Linux, to the ones that are meant to program apps for mobile devices. Without further ado, let’s get down to business.
Development tools were created to make the entire process easier and faster, but with so many of them available on the internet, it’s really hard to pick proper ones. Luckily, you don’t have to resort to only one, but instead, you can have a choice of multiple tools. In fact, you can choose as many as you like or need because your web development project is worth it.
Webstorm, also known as IntelliJ IDEA, is a popular and famous JavaScript IDE text editor that was released two decades ago in 2001. The latest stable release of the software was published on June 1st, 2021.
What makes Webstorm such a popular software are its features. Among many, the developers can find ones like:
Though bear in mind that Webstorm isn’t free software. In order to use it, you have to pay $12.90 per month or $129 annually.
JetBrains company doesn’t stop here, as they offer more code editors. It all depends on your needs. Perhaps you need a code editor for PHP? Sure, there’s PHP Storm. You’re working on an application written in Python? Take a look at PyCharm. Maybe you like to program in Ruby? There’s an editor for you also and its name is RubyMine.
Also known as VScode, Visual Studio Code is a popular cross-platform source-code editor created and maintained by Microsoft. The tool incorporates a variety of features such as GIT commands, debugging options, and other useful tools.
Visual Studio Code can be upgraded with a wide choice of free extensions. To do so, you need to browse the marketplace and choose the ones that appeal to you the most. JavaScript and Python support also goes a long way for the app. VScode supports plenty, and we really mean plenty of programming languages for free. Take a look!
All things mentioned above make VScode an ideal text editor for programming your web development projects.
GitHub’s own, Atom is yet another cross-platform code editor on the list. Released in 2014, Atom is based on Electron software and supports many web technologies, such as C and C+, JavaScript, Python, and others. It’s ideal for developing desktop web apps as they can be customized with different APIs, themes, or plugins.
Thanks to being an open source code editor, Atom differs from Sublime Text or Visual Studio Code. In this case, you may wonder, what’s the difference? Well, due to Atom being open source it can feature more extensions and is more flexible in terms of development. And it’s free!
Available for Linux, Windows, and macOS, the cross-platform Sublime Text is one of the best code editors for web development, as it features plenty of interesting and useful functionalities.
Not only that, Sublime Text editor also supports many syntaxes like CSS, PHP, Python, and more. Also, the software allows simultaneous editing, i.e. editing multiple lines of code at the same time.
Since this code editor includes so many features, the best way to visualize them would be to list them:
In fact, 71% of software professionals confirmed using Sublime Text, Atom, or a similar text editor.
You probably didn’t notice, but you most likely have it already! If you’re using the Google Chrome browser, you can use the Chrome DevTools any time you want. To do so, simply click the Ctrl+Shift+I button configuration.
Working with JavaScript, Chrome Developer Tools is essentially a set of built-in tools for web developers that allows them to change styles of the page through previews, check the technical aspect of any website, or view and change the Document Object Model.
Not only that, the Chrome Developer Tools gives the web developers freedom to do things like changing color palettes and formats, oversee the performance, set JavaScript breakpoints, edit CSS or HTML, and many more!
Here are some examples of the abilities of Chrome DevTools. With it, you can:
For all those who aren’t fans of Google Chrome, Firefox comes to the rescue. A direct competition of Chrome DevTools, Firefox Developer Edition is a web development tool that serves a similar purpose.
Including features such as WebSocket Inspector or Multi-Line Console Editor, Firefox’s alternative browser is ideal for people who wish to use a different web development tool.
Before getting into details of Sass, let’s briefly mention what a CSS preprocessor is. It’s software for generating CSS from the syntax of a preprocessor. Additionally, they can help the developer write the application faster.
Developed in 2006, Sass is the most popular CSS extension language. Being an easy-to-use frontend development tool, Sass can be used with all CSS libraries. It includes features such as nesting, mixins, variables, or selector inheritance.
Sass has been supported for over a decade, not only by the creators but also by a large community of developers. What’s more, some technologies have even been created with Sass, like Bourbon or Compass.
Similarly to Sass, Less (Leaner Style Sheets) is an open source preprocessor that serves the purpose of CSS language extension. It can run on both the backend and frontend.
With its release over a decade ago in 2009, Less has since become a rival to Sass, even though they both influenced each other in some ways. The extension can attribute its popularity to various functionalities like nesting, mixins, variables, and more.
What differentiates Less from Sass among many other things is that it runs its compiler via browser by using less.js.
Docker is an open source web development tool that serves the purpose of containerization of software. All containers are lightweight and have a common ground that’s called the operating system kernel. What’s worth mentioning is that Docker uses less resources compared to virtual machines.
Docker supports only three main operating systems, i.e. Windows, Linux, and macOS. Additionally, the software works with Github!
In fact, the software is an industry standard that enables zero-downtime deployment.
Git is a free version control software used for saving, editing, storing, or deleting any part of the code. Ideal for web developers to save their code documentation in so-called repositories. Then, web developers can view and store their repositories in software such as Github.
Created by Dmytro Zaporozhets and Valery Sizov, GitLab is a DevOps lifecycle tool that works as a Git repository. Not only that, but it also includes plenty of other functionalities like a wiki, tracking issues, and many more.
Written in Ruby and Go, GitLab is a web-based software that can help developers with their projects.
Probably everyone has heard about GitHub at some point, even those who aren’t familiar with the IT industry. GitHub is a platform used by over 50 million users and it serves the purpose of storing open-source software.
In the past, GitHub used to charge its users for storing projects, but since Microsoft bought GitHub in 2018 for the jaw-dropping amount of $7.5 billion USD, the projects can be stored free of charge.
Additionally to storing personal projects, you can also code web apps on the platform. Unfortunately, I’m afraid that for those who aren’t fans of the cloud, I’ve got some bad news. GitHub stores all information in the cloud.
Made by Atlassian, Bitbucket is yet another Git-based storage for open source repositories. Written in Python, it’s available in both free and premium versions.
The storage features a lot of useful functionalities, among them users can find ones like integration with Jira or Trello, or built-in CI/CD.
What’s more, with the premium version you can set up the two-step verification to further secure your account, or set IPs that you would like to have whitelisted.
A part of the entire Github, Github Actions is designed to be responsible for the automation of the software workflow with CI/CD (Continuous Integration/Continuous Deployment).
With support for matrix builds, different platforms, and a multitude of programming languages, Github Actions can connect every tool that you’re using to automate the process.
Not only that, the software features a plethora of available plugins that can help you with a variety of actions.
We already mentioned Bitbucket on our list, but the Bitbucket Pipelines are worth mentioning as well. It’s an integral part of the Bitbucket that’s responsible for handling CI/CD service.
Thanks to this feature, the user can build, test, or release the code automatically based on the repository’s configuration file.
Bitbucket Pipelines supports a wide range of platforms, for example, Python, Ruby, Java and JavaScript, PHP, and even more.
Jenkins Pipelines is a set of plugins that serves the purpose of both implementing and integrating CD pipelines into the Jenkins program.
The software works based on the Jenkinsfile. When the user allocates it to source control, a range of benefits comes soon after, like automatic creation of a Pipeline build process with branches and pull requests, ability to review or iterate the code, and others.
Why should anyone use Jenkins Pipelines? Well, because it has a couple of advantages, like being durable or versatile. And these are not the only ones! Go ahead and see for yourself.
One of the most used project management tools across software development companies, Jira allows the users to track the progress and plan the sprints. If you’re using the Agile/Scrum methodology, Jira is the perfect web application for it. It’s cross-platform software with a variety of options at your disposal, like Kanban boards to efficiently manage the tasks and prepare the sprints.
As you can see in the image above, Jira offers various subscription plans. Even the free plan would be enough for small teams who wish to track their progress throughout the project.
Similarly to Jira, Asana serves the purpose of a project management tool. There, the user can create new tasks and assign team members to them, create subtasks, or organize lists, and we just named a few.
Asana is a fine example of SaaS – Software as a Service with different subscription plans available. You can even register on Asana for free if you’re just starting a small project with your team. Prices grow accordingly to the needs, for example, if it’s a bigger project or an enterprise.
Trello is a very popular choice when it comes to project management tools as it’s both simple and efficient. With Trello, users can manage their own projects by creating columns and cards. Similarly to Asana, they can be grouped together in columns such as To Do, Done, etc.
Trello marked its initial release in 2011, making it a decade-year-old software that is still widely used to this day. It’s available in 21 languages and has over 50 million users.
There are three pricing options available for Trello: $0 (free version), $10 per month (billed annually, $12.50 billed monthly), and the last option depends on the number of users, but generally, it’s $17.50 per one user.
Surprisingly, the free version of Trello can still go a long way. Let’s take a look at the comparison. You can see the free version on the left, business class in the middle, and enterprise version on the right.
Additionally, Trello can be integrated with a variety of other tools, like Slack, DropBox, and many more.
Released in 2013, Slack has quickly become a communicator often used by web development companies. It features a friendly GUI (Graphical User Interface) and a structure that can be divided into channels or rooms. Not only that, but you can also make video calls, integrate it with multiple software, and many more.
The application is available on a variety of platforms, like Windows, Linux, macOS, iOS, Android, or Windows Phone. It’s a really versatile tool for communication and it seems that it’ll only keep delivering.
Even though Slack is a great tool, it’s also rivaled by open source MatterMost. Which one is better? You decide.
Zoom is yet another really popular communication tool. When it comes to video conferencing, here is your undisputed champion. Whether you’re working from home or perhaps you need to meet with a client, Zoom comes to the rescue.
Of course, there are plenty of other ways to do so, but using Zoom can not only make it more professional but can also handle higher traffic as up to 100 people can join a conference for free!
Zoom features different subscription options starting from $0 per year up to $240. Bear in mind that the free option can only host conferences or meetings for up to 40 minutes which isn’t a long time. By the way, if you’re interested in online meetings, consider also Zoom alternatives to choose the best match for your online conferences and meetings.
If you’re tired of Jira or perhaps want a change of environment, you can easily switch to Backlog as it includes an easy-to-use Jira importer.
The tool is available in various pricing models, ranging from $0 for a free version that includes 10 slots for developers, 1 project, and 100MB of storage, to $175 per month! The latter is the most expensive option of Backlog, but it includes unlimited slots for developers or projects. Not only that, but it also has 100GB of storage, as well as Gantt charts and custom fields.
With Backlog, developers can manage their projects in an easy and efficient way. Thanks to multiple tools like task hierarchy, IP address control, or Gantt charts, Backlog has become a quite popular solution.
Developed by Microsoft, the Node Package Manager is a JavaScript-based web development tool for finding and installing packages for specific programming languages.
It not only makes the search for the proper package quicker but also easier as you can install it from the manager itself. That all makes the software perfect for use as your default package manager.
Yet another manager that serves the purpose of downloading and installing packages. Yarn has been created by Facebook and received a new stable version in January of 2020, called Yarn 2. Interestingly enough, Yarn can also be used as a project manager.
What the users appreciate the most about Yarn is its speed, security, and performance.
Being the third package manager on the list, Composer is widely used among developers around the world. Written in PHP programming language, Composer runs in the command line while installing the so-called dependencies, which are essentially libraries.
Composer was released in 2012, making it yet another almost a decade-old software. What’s worth noting is that Postman was heavily inspired by another package manager mentioned on this list – NPM.
You’ve got mail! Though it will not deliver letters, Postman is a collaboration platform for API development (Application Programming Interface). There are various ways in which you can use the software, for example, using it directly in your web development or you can even create onboarding for new developers.
The Postman web application can also conduct automated tests and simulate endpoints.
Swagger is an open source development tool, an API builder, and a tester that was released a decade ago, in 2011. Additionally, the tool allows developers to create testing APIs and makes the frontend development easier, even before releasing the first API.
What’s more, Swagger is a tool that’s easy to understand even for rookies. Additionally, it can be easily adjusted and features a nice and crisp editor.
Web development frameworks are also considered tools so it wouldn’t be right not to mention that. We’re not going to dive into details in this article, as we already covered the subject of the frameworks on our blog.
However, what we’ll mention here are some of the frameworks that are worth taking into consideration while developing web applications:
Founded in 2011 in India, BrowserStack is a testing platform for both mobile applications and websites, all done in the cloud.
For testing, developers can use browsers and operating systems of their choice, along with real mobile devices. What’s more, you don’t have to possess a multitude of devices to test the software on, because you can conduct the tests on virtual phones, operating systems, etc.
With over 2,000,000 registered developers from at least 135 countries, BrowserStack is a key player when it comes to testing applications.
Selenium is an open source automated tool for conducting tests of web applications. Created in 2004 with a stable release in 2018, this testing tool allows the users to write test scripts in various programming languages, such as Node.js, Python, and many others.
Selenium is actually one the most popular testing tools on the market with over 50,000 companies using the software.
To put it in simple words, Webpack is a static module bundler designed for working with JavaScript apps. With Webpack the user can bundle the scripts, pictures, and many other things.
What the software essentially does is create dependency graphs between the files, resulting in the creation of bundles
ESLint is a linter software made for JavaScript. Since its release in 2013, ESLint has been a popular tool for developers programming in JavaScript.
With the help of plugins, the linter can also work with TypeScript or JSX. Additionally, the tool can work across multiple platforms.
With over 5000 plugins available, Grunt is a versatile and popular JavaScript task runner. Used by companies like Microsoft, Twitter, Opera, and others, this software can perform tasks like testing, compiling, minificating, or linting.
The tool features a functionality called Gruntfiles. What it essentially is is a file with a defined task that is run in the command-line interface.
Autoprefixer is a post CSS processor that is designed to remove vendor prefixes. In fact, you can entirely skip the prefix thing, whether to add it or remove it, as Autoprefixer will take care of everything.
Additionally, you can choose which browser you want to be supported.
Husky is a really popular package developed to work with Git hooks, that can also lint code or commit messages, and run tests.
Designed to be lightweight, it’s powered by core.hooksPath Git feature. Any project that includes the package.json file can use Husky.
Stylelint is a popular tool for CSS that helps developers write clear and understandable code. It’s a linter that can find and report errors and issues.
It can definitely contribute to faster development and clearer code. Featuring over 170 built-in rules, plugin support, and a constantly growing community, Stylelint can be a really useful tool.
Based on JavaScript, TypeScript is an open source language used for programming a wide range of applications.
TypeScript is like a direct descendant of JavaScript, with additional features like static type definitions.
Additionally, many companies decided to migrate their applications from JavaScript to TypeScript, for example, the already mentioned Slack or Airbnb.
To get to know more, check out the presentation made by Anders Hejlsberg upon TypeScript’s release.
Most of the web development tools are not only available for Windows, but also for Linux and other operating systems. All of the ones that we’ve listed in the article are available on that platform.
Well, all but one – partially. Asana’s desktop version is not available on Linux. The only way to access it on the platform would be to use the browser version.
So far we’ve listed web development tools for a variety of platforms like Windows or Linux. Now, let’s focus briefly on the mobile web development tools. Of course, some of them are cross-platform, like Slack or Zoom, therefore we’ll skip the ones we already described above.
Android Studio is the most popular IDE tool for creating apps for Google’s mobile system – Android. It has been built by the IntelliJ IDEA that we already mentioned in the article.
Available for platforms such as Windows, Linux, or macOS, the software features functionalities like Android Virtual Device (that acts as an emulator for running and debugging the apps), an intelligent code editor, APK Analyzer, lint tools, refactoring and fixes, a layout editor with vast options, and many more!
With Android Studio, developers can code applications in various languages. Some of them would be Java or C++. Additionally, the software supports extensions like Go or Kotlin.
Overall, it’s a great tool for creating Android apps.
Created by Karl von Randow, Charles Proxy is a cross-platform debugging tool that allows the user to view HTTP, HTTP/2, SSL, HTTPS traffic.
Released 19 years ago in 2002, Charles Proxy features plenty of functionalities. Among them, the user can find ones like XML/JSON/SOAP interpretation, bandwidth throttling, different sorts of debugging features, and a lot more.
Charles is a paid software that costs $50 for one license. However, you may try the software for 30 days before purchasing and see if it suits your needs.
The last entry on our list of web development tools is Xcode. Made by Apple, Xcode is an IDE for macOS and is used for developing applications for Apple platforms, such as the mentioned macOS, iOS, watchOS, tvOS, and last but not least iPadOS.
With Xcode, developers can not only program applications, but also manage the workflow, create new requests, manage the queue, and more. Additional features include the CarPlay simulator, custom documentation, crash reports, Vim mode, and other useful features.
A really well-made tool that happens to be the most popular choice when it comes to developing iOS tools.
Almost there! Just one more stop on the road and we’re done! As you’ve seen in the article, we listed some of the most popular web development tools that developers can use during their work.
For your convenience, let’s go through these few bullet points to solidify the knowledge:
This is the end, as Adele would sing. In all seriousness though, now you should be able to tell which tool can help you with the development process.
Additionally, if you had any doubts about web development tools, we hope that they have vanished by now! Thank you and see you around next time.
If you have come across plenty of infographics online, you may have thought about releasing your own. There are a lot of tools out there to help you do this fairly easily but your design will be far f
FreebiesIf you have come across plenty of infographics online, you may have thought about releasing your own. There are a lot of tools out there to help you do this fairly easily but your design will be far from unique, design-wise. To help you with this, our friends at Vector Open Stock have released a freebie exclusively for hongkiat.com readers.
As designers use stock photos and images to spice up their designs, videographers can now do the same… Read more
Vector Open Stock is home to more than 1600 original vector graphics, with ten free vectors released every day. In this freebie pack, they have included icons, bars, world maps, pie charts, and other design elements that would fit perfectly in an infographic.
While the elements are primed for content to do with fashion, mobile preferences, career, work, and transportation, you can use them in any other setting that fits with your infographic.

Please enter your email address below and click the Download Files button. The download link will be sent to you by email.
Success! Now check your email 🙂
Woops. It looks like your email address is not complete. Let’s try again.
The post Infographic Elements By Vector Open Stock appeared first on Hongkiat.
Pictograms are icons that depict anything under the sun in no context whatsoever – which makes it the perfect type of icon for any kind of use. The most common pictogram we all probably know by hear
FreebiesPictograms are icons that depict anything under the sun in no context whatsoever – which makes it the perfect type of icon for any kind of use. The most common pictogram we all probably know by heart is the lavatory sign for men and women. But today’s freebie release designed by Freepik for Hongkiat readers extends into situations in a much wider variety.
From cleaning and baking, to construction work and mountain climbing, this set of 50 pictograms cover the many things that people do, in icon form. It’s fascinating to see how easy it is to depict a necktie, a baker’s hat, a safety vest or an oven, in just black and white (in this case, green) as shown by these pictograms.
To download the whole set follow the download link. All pictograms are available in SVG and PNG format. You can share, modify or use these pictograms for commercial or personal use but do give credit where credit is due.

Please enter your email address below and click the Download Files button. The download link will be sent to you by email.
Success! Now check your email 🙂
Woops. It looks like your email address is not complete. Let’s try again.
The post Pictograms of Everyday Life (Freebie) appeared first on Hongkiat.
Event listeners are essential for interactivity in JavaScript, but they can quietly cause memory leaks if not removed properly. And what if your event listener needs parameters? That’s where things
Javascript
JavaScript event listeners are very important, as they exist in almost every web application that requires interactivity. As common as they are, it is also essential for them to be managed properly. Improperly managed event listeners can lead to memory leaks and can sometimes cause performance issues in extreme cases.
Here’s the real problem: JavaScript event listeners are often not removed after they are added. And when they are added, they do not require parameters most of the time — except in rare cases, which makes them a little trickier to handle.
A common scenario where you may need to use parameters with event handlers is when you have a dynamic list of tasks, where each task in the list has a “Delete” button attached to an event handler that uses the task’s ID as a parameter to remove the task. In a situation like this, it is a good idea to remove the event listener once the task has been completed to ensure that the deleted element can be successfully cleaned up, a process known as garbage collection.
A very common mistake when adding parameters to event handlers is calling the function with its parameters inside the addEventListener() method. This is what I mean:
button.addEventListener('click', myFunction(param1, param2));
The browser responds to this line by immediately calling the function, irrespective of whether or not the click event has happened. In other words, the function is invoked right away instead of being deferred, so it never fires when the click event actually occurs.
You may also receive the following console error in some cases:
addEventListener on EventTarget: parameter is not of type Object. (Large preview) This error makes sense because the second parameter of the addEventListener method can only accept a JavaScript function, an object with a handleEvent() method, or simply null. A quick and easy way to avoid this error is by changing the second parameter of the addEventListener method to an arrow or anonymous function.
button.addEventListener('click', (event) => { myFunction(event, param1, param2); // Runs on click });
The only hiccup with using arrow and anonymous functions is that they cannot be removed with the traditional removeEventListener() method; you will have to make use of AbortController, which may be overkill for simple cases. AbortController shines when you have multiple event listeners to remove at once.
For simple cases where you have just one or two event listeners to remove, the removeEventListener() method still proves useful. However, in order to make use of it, you’ll need to store your function as a reference to the listener.
There are several ways to include parameters with event handlers. However, for the purpose of this demonstration, we are going to constrain our focus to the following two:
Using arrow and anonymous functions is the fastest and easiest way to get the job done.
To add an event handler with parameters using arrow and anonymous functions, we’ll first need to call the function we’re going to create inside the arrow function attached to the event listener:
const button = document.querySelector("#myButton"); button.addEventListener("click", (event) => { handleClick(event, "hello", "world"); });
After that, we can create the function with parameters:
function handleClick(event, param1, param2) { console.log(param1, param2, event.type, event.target); }
Note that with this method, removing the event listener requires the AbortController. To remove the event listener, we create a new AbortController object and then retrieve the AbortSignal object from it:
const controller = new AbortController(); const { signal } = controller;
Next, we can pass the signal from the controller as an option in the removeEventListener() method:
button.addEventListener("click", (event) => { handleClick(event, "hello", "world"); }, { signal });
Now we can remove the event listener by calling AbortController.abort():
controller.abort()
Closures in JavaScript are another feature that can help us with event handlers. Remember the mistake that produced a type error? That mistake can also be corrected with closures. Specifically, with closures, a function can access variables from its outer scope.
In other words, we can access the parameters we need in the event handler from the outer function:
function createHandler(message, number) { // Event handler return function (event) { console.log(`${message} ${number} - Clicked element:`, event.target); }; } const button = document.querySelector("#myButton"); button.addEventListener("click", createHandler("Hello, world!", 1)); }
This establishes a function that returns another function. The function that is created is then called as the second parameter in the addEventListener() method so that the inner function is returned as the event handler. And with the power of closures, the parameters from the outer function will be made available for use in the inner function.
Notice how the event object is made available to the inner function. This is because the inner function is what is being attached as the event handler. The event object is passed to the function automatically because it’s the event handler.
To remove the event listener, we can use the AbortController like we did before. However, this time, let’s see how we can do that using the removeEventListener() method instead.
In order for the removeEventListener method to work, a reference to the createHandler function needs to be stored and used in the addEventListener method:
function createHandler(message, number) { return function (event) { console.log(`${message} ${number} - Clicked element:`, event.target); }; } const handler = createHandler("Hello, world!", 1); button.addEventListener("click", handler);
Now, the event listener can be removed like this:
button.removeEventListener("click", handler);
It is good practice to always remove event listeners whenever they are no longer needed to prevent memory leaks. Most times, event handlers do not require parameters; however, in rare cases, they do. Using JavaScript features like closures, AbortController, and removeEventListener, handling parameters with event handlers is both possible and well-supported.
Meet TARS — a simple, repeatable, and meaningful UX metric designed specifically to track the performance of product features. Upcoming part of the Measure UX & Design Impact (use the code 🎟
Ux
So we design and ship a shiny new feature. How do we know if it’s working? How do we measure and track its impact? There is no shortage in UX metrics, but what if we wanted to establish a simple, repeatable, meaningful UX metric — specifically for our features? Well, let’s see how to do just that.
I first heard about the TARS framework from Adrian H. Raudschl’s wonderful article on “How To Measure Impact of Features”. Here, Adrian highlighted how his team tracks and decides which features to focus on — and then maps them against each other in a 2×2 quadrants matrix.
It turned out to be a very useful framework to visualize the impact of UX work through the lens of business metrics.
Let’s see how it works.
We start by quantifying the target audience by exploring what percentage of a product’s users have the specific problem that a feature aims to solve. We can study existing or similar features that try to solve similar problems, and how many users engage with them.
Target audience isn’t the same as feature usage though. As Adrian noted, if we know that an existing Export Button feature is used by 5% of all users, it doesn’t mean that the target audience is 5%. More users might have the problem that the export feature is trying to solve, but they can’t find it.
Question we ask: “What percentage of all our product’s users have that specific problem that a new feature aims to solve?”
Next, we measure how well we are “acquiring” our target audience. For that, we track how many users actually engage successfully with that feature over a specific period of time.
We don’t focus on CTRs or session duration there, but rather if users meaningfully engage with it. For example, if anything signals that they found it valuable, such as sharing the export URL, the number of exported files, or the usage of filters and settings.
High feature adoption (>60%) suggests that the problem was impactful. Low adoption (<20%) might imply that the problem has simple workarounds that people have relied upon. Changing habits takes time, too, and so low adoption in the beginning is expected.
Sometimes, low feature adoption has nothing to do with the feature itself, but rather where it sits in the UI. Users might never discover it if it’s hidden or if it has a confusing label. It must be obvious enough for people to stumble upon it.
Low adoption doesn’t always equal failure. If a problem only affects 10% of users, hitting 50–75% adoption within that specific niche means the feature is a success.
Question we ask: “What percentage of active target users actually use the feature to solve that problem?”
Next, we study whether a feature is actually used repeatedly. We measure the frequency of use, or specifically, how many users who engaged with the feature actually keep using it over time. Typically, it’s a strong signal for meaningful impact.
If a feature has >50% retention rate (avg.), we can be quite confident that it has a high strategic importance. A 25–35% retention rate signals medium strategic significance, and retention of 10–20% is then low strategic importance.
Question we ask: “Of all the users who meaningfully adopted a feature, how many came back to use it again?”
Finally, we measure the level of satisfaction that users have with that feature that we’ve shipped. We don’t ask everyone — we ask only “retained” users. It helps us spot hidden troubles that might not be reflected in the retention score.
Once users actually used a feature multiple times, we ask them how easy it was to solve a problem after they used that feature — between “much more difficult” and “much easier than expected”. We know how we want to score.
Once we start measuring with TARS, we can calculate an S÷T score — the percentage of Satisfied Users ÷ Target Users. It gives us a sense of how well a feature is performing for our intended target audience. Once we do that for every feature, we can map all features across 4 quadrants in a 2×2 matrix.
Overperforming features are worth paying attention to: they have low retention but high satisfaction. It might simply be features that users don’t have to use frequently, but when they do, it’s extremely effective.
Liability features have high retention but low satisfaction, so perhaps we need to work on them to improve them. And then we can also identify core features and project features — and have a conversation with designers, PMs, and engineers on what we should work on next.
TARS doesn’t cover conversion rate, and for a good reason. As Fabian Lenz noted, conversion is often considered to be the ultimate indicator of success — yet in practice it’s always very difficult to present a clear connection between smaller design initiatives and big conversion goals.
The truth is that almost everybody on the team is working towards better conversion. An uptick might be connected to many different initiatives — from sales and marketing to web performance boost to seasonal effects to UX initiatives.
UX can, of course, improve conversion, but it’s not really a UX metric. Often, people simply can’t choose the product they are using. And often a desired business outcome comes out of necessity and struggle, rather than trust and appreciation.
As Fabian writes, high conversion rate can happen despite poor UX, because:
At the same time, a low conversion rate can occur despite great UX, because:
An improved conversion is the positive outcome of UX initiatives. But good UX work typically improves task completion, reduces time on task, minimizes errors, and avoids decision paralysis. And there are plenty of actionable design metrics we could use to track UX and drive sustainable success.
Product metrics alone don’t always provide an accurate view of how well a product performs. Sales might perform well, but users might be extremely inefficient and frustrated. Yet the churn is low because users can’t choose the tool they are using.
We need UX metrics to understand and improve user experience. What I love most about TARS is that it’s a neat way to connect customers’ usage and customers’ experience with relevant product metrics. Personally, I would extend TARS with UX-focused metrics and KPIs as well — depending on the needs of the project.
Huge thanks to Adrian H. Raudaschl for putting it together. And if you are interested in metrics, I highly recommend you follow him for practical and useful guides all around just that!
You can find more details on UX Strategy in 🪴 Measure UX & Design Impact (8h), a practical guide for designers and UX leads to measure and show your UX impact on business. Use the code 🎟 IMPACT to save 20% off today. Jump to the details.
$ 495.00 $ 799.00 Get Video + UX Training
25 video lessons (8h) + Live UX Training.
100 days money-back-guarantee.
25 video lessons (8h). Updated yearly.
Also available as a UX Bundle with 3 video courses.
If you love to create infographics, then you might have come across our previously published ultimate infographic resource kits for designers post. There post contains tons of GUI kits, elements, inte
FreebiesIf you love to create infographics, then you might have come across our previously published ultimate infographic resource kits for designers post. There post contains tons of GUI kits, elements, interface features, graphic and icon sets, and more.
In this new freebie release, we have a new bundle to add to that resource pile. Together with our friends at Freepik, home to free vectors, stock photos, PSD files and SVG icons, Hongkiat is releasing this resource bundle full of banner elements you’d love to put in your next infographic design.
The banners come in 5 sets, each with its own color scheme and running theme. Files are available in AI and EPS formats.





Please enter your email address below and click the Download Files button. The download link will be sent to you by email.
Success! Now check your email 🙂
Woops. It looks like your email address is not complete. Let’s try again.
The post Freebie: Infographic Banner Elements appeared first on Hongkiat.