Don’t start with shiny techniques! It may blind you
Previous articles in this series on the development of artificial intelligence (AI) for learning experts discussed the first step in the initial setup: editing basic elements and code. The remaining components of the architecture are recommended for working with multiple files or more complex projects. Setting up an environment may feel like it will slow you down, but trust me, it’s a one-off investment worth the effort when you start debugging.
example
When using Articulate Storyline, I published my first course locally and used that published folder as the source for AI-assisted development. We’ve discussed tools with files (Windsurf), things that are republished in the Storyline every time (should not be touched), and files that can be edited. This way, AI was able to see the entire project. Not only can you write JS snippets, but you can also “view” your application when you run screenshots and autologs directly within Windsurf.
Other examples of code development using AI and end-to-end best practices can be found in the article below.
In this article you will find…
From saving to unfolding
Once you have set up your selected editor and connected to LLM, think about what projects you will work on and who your audience will be.
shop
Even if you’re working alone, saving the last functional version of your source code (along with the previous committed version) can save you time and frustration. If you plan to collaborate with others in your code or share it with others, then an application dedicated to saving and source control is a must.
One of the most commonly used source control tools is GitHub. The free tier offers both private and public “repos” (geek terminology for source code repositories). The source code is organized into a project with version control, collaboration features, rollback in case of errors, and documentation explaining the purpose and basis behind the changes.
Notes
It doesn’t go into the weeds of more refined Github use, such as forking, forking, and merge code, but as your needs become more complicated, it’s important to learn how to use Github to its fullest.
In the previous article, we discussed the editing section of the code. GitHub allows you to set up a local project folder that holds a “copy” of source code for editing, experimenting, and repetition. You can update the source code on GitHub until this is stable.
Working on Github
In general, there are two ways to keep your code using GitHub.
GitHub user interface terminal (commonly referred to as the command line interface or CLI)
When will you use it? The graphical interface is user-friendly and suitable for beginners. It may be slow and restrictive, but you can visually see what’s going on in your codebase. The CLI approach is faster and more flexibility with source control handling, but requires more typing. AI development tools help both. I recommend trying both and seeing what works for you.
I’ve been using programming languages for decades so I like the CLI. And frankly, you’ll need a few lines just to maintain the basic source code (adds, comments, and code pushes). Incidentally, if it’s set up correctly, AI can also communicate directly with GitHub via the device and do this.
Preview (test and debugging)
It is important to preview the results of your code. In fact, you’ll spend more time at this stage than you think. Preview and test your code as often as possible. There is art and science to find the difference between coding and what code does. It is called debugging.
If you had to publish your code every time and preview the output, it would take forever to get things done. AI development tools help you run your code locally and turn debugging on and off, and you can see where your code is broken or behaves differently. I always open the browser console and see all the warnings and debug messages.
If you see an error, you can ask them to go back to AI and resolve it. You can also take a screenshot of the page and briefly explain the changes you need. Windsurf, for example, has its own control browser, which allows you to send screenshots or error messages directly to your development tool. This allows you to speed up the debugging process.
Expand
The final stage of development is deployment. Deployment means making software applications available to other users. Local previews are suitable for customers, but live deployment versions are built for user consumption. How users access code defines where and how the application is deployed. This can be a simple static web server or sophisticated environment built for full-scale deployments such as vercel.
Deployment requires preview, testing and sometimes debugging. In many cases, code is rebuilt at the deployment level for scalability and stability.
State what is obvious
You should never have hardcode keys or secrets in your source code. If someone gains access to your code, they can see the secret.
Therefore, keys and secrets such as API tokens are processed locally differently than they do in the deployment stage. Locally, secrets can be saved as variables in a local file or operating system that is not pushed to GitHub (.Gitignore). On the other hand, for example, in a Vercel deployment, these keys are stored as “environment variables” that users cannot access in the cloud.
Final Words on End-to-End Process: CI/CD
Twenty years ago, software applications typically had one or two releases a year. It took quite a while to complete the full lifecycle of software development, documentation, deployment, and other related tasks. Users had to wait several months for a new release.
Today, software application releases can occur every second. This process is called continuous integration (CI)/continuous distribution/decomposition (CD). CI/CD allows developers to release fixes or new features when they are ready, without waiting for an event each year. However, CI/CD is outside the scope of this article. However, by asking about the CI/CD process, you can earn geek points in cocktail conversations with developers.
How to choose an AI development tool
Comparing feature sets and technology architectures to select AI development tools is similar to choosing one morning serial from over 5,000 variations by reading all of the boxes. You will probably die of hunger before reducing them to the last three candidates. Needless to say, the cereals are pretty stable, but the pace of AI change is incredible today. So starting with technology is not a good strategy.
State what is obvious
Don’t start with technology or features! You’ll be overwhelmed. Let’s start with the reasons!
Why do you want to use AI? What do you want to develop? Don’t build a solution and start searching for matching issues. Start with a problem that is worth solving in mind.
AI can accelerate production by 10 times. Making things that are not used 10 times faster is still a waste of time. Also, do not automate broken processes or scale ineffective solutions. I once built a complete automation of PowerPoint slide building through visual fundamentals to accelerate the learning design process. It’s not a proud moment in my career. Build something with both efficiency and effectiveness values.
Categories of questions to consider
There are hundreds of attributes that explain the diverse landscapes of AI development tools. From a learning/enablement perspective, we recommend focusing on the following categories:
Fee
Everything about your budget. Ease of use
From simple chat-based vibe coding to the “geek-style” command line with complete control, where are you? Required techniques and coding skills
Previous knowledge and skills needed for success. Output complexity
From simple snippets to visual designs, to multi-file applications. Controlling the code
Handoff convenience for full control over all changes. Cross cut
Some basic elements beyond categories (security, privacy, integration, collaboration, etc.)
Consider your priorities and needs within the categories above. Answer specific questions before selecting a tool will help you narrow down your potential development tools. You can download my go-to question set and adjust them for your needs [1]. And yes, many programmers use multiple development tools, depending on the type of work or the stage of work.
My number one recommendation
Based on writing over 6000 lines of code (currently), we recommend playingtesting the following tools:
Simple and quick prototypes, fast ideas
Lovely snippets and basic webpages, free coding assistant
Github Copilot (free), ChatGpt for brainstorming. Development beyond simple snippets and web pages
Windsurf or Cursor
The next article in this series will share recommended end-to-end processes and best practices. I’ll use Windsurf as an example, but I’ll keep it well enough so that I can apply best practices to other AI development tools to enhance my learning game.
References:
[1] Selecting AI Development Tools (L&D/Enablement)
Image credits: Images within the body of the article were created/provided by the author.
Source link