Should You Use AI for Web Development?
With headlines like "AI is Killing Web Development" featured everywhere, you might wonder if you should be replacing people with AI for your next web development project.
My answer: No, but you can use AI to help a little bit.
The truth is, generative AI tools like ChatGPT have some pretty valuable uses as far as web development goes. But they suffer from some serious drawbacks that limit their role in the field.
In general, AI is good for handling incremental, intermediate steps in your workflow, like suggesting small changes. It is not a good idea to base entire projects or creative directions off of AI tools.
Uses for AI in Web Development
Here are three good uses for AI in web development:
- Code generation / assistance
- UI/UX prototyping
- Software testing
AI can be used to generate code and assist in writing code. Programs like Github Copilot automatically look at what you write and make suggestions or small edits. Note that these programs are not reliable for whole projects, but they are excellent for small snippets and for training. They can be especially useful in learning new software libraries.
UI/UX development is another area where AI has valid uses. There exist programs like UIzard that can rapidly prototype interface models. These tools should be used more for inspiration than for final products- a good UX engineer will be able to tweak and customize their output for a better final product for their client.
Finally, software testing is a great application for AI tools like Testsigma. Manually cranking out hundreds of test cases can be time consuming, and is something that may actually be done better without human biases. Plus, this means no more excuses for not writing software tests!
Drawbacks for AI in Web Development
Like any other technology, AI has its limitations. No existing tool can build anything but the most generic web applications all by itself. For any truly unique vision or idea, human creativity and assembly is still required.
The biggest problem is a lack of originality. Generative AI would be better named Imitative AI. The way it works is not by generating new ideas, but by imitating old ones.
This is fine for a lot of the repetitive work involved in software development, but it stops short of anything requiring true ingenuity or client personalization.
If anything, the widespread availability of AI tools is likely to increase the value of customized work in the future.
Inaccuracy and bad code are real risks when it comes to using AI for code generation. Although ChatGPT acts confident and may seem omniscient, its output was banned from Stack Overflow for being incorrect too much of the time.
Another serious issue is security issues. Any time you offload part of your development to a third party, you introduce the risk of security issues.
Perhaps someone has access to the prompts and output you used. Or perhaps the AI code generation program was trained on unsecure code.
Actually, given that all generative AI programs were trained in the past, and that cybersecurity changed rapidly, it's almost guaranteed that the code generation program you use will have been trained on outdated, unsecure code. Be very careful with any code suggestions that are central to security.
Finally, biased data is a problem that plagues every corner of AI. It's really a systemic issue- because these programs are trained on and built out of data, they come to reflect the biases of that data.
For example, a medical data set may overwhelmingly include information about one race or gender. Turning that data into something useful involves a mix of data cleaning, transparency, and a willingness to adapt and revise.
How to Incorporate AI into Your Web Design Workflow
In my last article, I discussed how to design AI systems responsibly: with transparency, fairness, safety, privacy, and security in mind.
As for web design specifically, you can follow these best practices by incorporating AI in your workflow like this:
- Use AI primarily for intermediate steps, rather than finished products.
- Use AI for feedback and brainstorming.
- Don't be afraid to experiment.
- Adapt and revise your use of AI as you go along.
- Align your goals with your client to create customized, original work.
Use AI for simple projects and for intermediate work. But it is generally unwise to use it for finished projects or to completely replace humans.
One way to think about AI is kind of as a souped-up Google search. You might use what you see on a Google search as inspiration, but probably wouldn't copy everything exactly.
Actually, this comparison is even more exact than it may seem. ChatGPT works so well because it was trained on a lot of internet text, including pages from Stack Overflow. And if you Google a coding problem, you will probably get... a lot of pages from Stack Overflow.
Designing a new website or web application? We'd love to help!