Sekėjai

Ieškoti šiame dienoraštyje

2025 m. gegužės 25 d., sekmadienis

Your Next Favorite App? The One You Make Yourself. --- 'Vibe coding' with new AI tools makes it possible for just about anyone to create personalized apps -- no programming required

 

"Priya Rose and her friend Irena Wang built the phone app "BabyTime" to allow their young kids to make calls by tapping photos of family members' faces. The simple interface is by design, Wang said: Unlike FaceTime, you can't accidentally call the wrong person. "We don't want apps full of ads and extraneous stuff."

 

While BabyTime is a clever idea, you won't find it on the App Store. Rose and Wang, who live in New York City, built it in a single afternoon while Rose's nine-month-old stayed with a nanny. They copy-pasted code generated by the free version of Claude, Anthropic's AI chatbot. Because BabyTime doesn't need to work for any other families, they "hard-coded" the contact list, baking the photos and phone numbers directly into the app. And now Wang's three-year-old is a weekly active user. (Rose's infant is still too young, though she'll try again soon.)

 

For most of us, software has always been something we consume, not something we create. In the last two years, however, AI code generation products have begun to change that. General-purpose chatbots like Claude and ChatGPT instantly translate plain English into usable code, though you'll need to compile [1] and deploy [2] it yourself. There are AI-powered code editors like Cursor -- the fastest-growing software-as-a-service company on record -- which is like an autocomplete on steroids for software engineers.

 

Finally, the most accessible option is "no-code" products like Replit and Lovable, which live in the web browser and are optimized for non-engineers. You can brainstorm a quick prompt like, "Make me a website to display the new albums I listen to each month," and within minutes get a functioning website and URL.

 

This approach has been dubbed "vibe coding" by Andrej Karpathy, an AI researcher who was on the founding team of OpenAI and led AI at Tesla. AI coding programs "are getting too good. I barely even touch the keyboard," he wrote on X.

 

There has been a lot of speculation about how AI coding will help companies to create software in a leaner, faster way -- and how it could threaten jobs for junior engineers. In April, Microsoft CEO Satya Nadella said that up to 30% of code at Microsoft was already written by AI. Meta CEO Mark Zuckerberg expects AI to code at the level of a "midlevel engineer" by the end of the year.

 

But the most important effect of inexpensive AI coding tools may be to bring software development to the masses, no computer science degree or billion-dollar revenue plan required. To borrow an analogy from the author and programmer Robin Sloan, AI might enable more people to program like a "home cook" -- having fun making apps for their own household and community -- instead of relying on fast-food operations that churn out generic apps at industrial scale.

 

Michael Keating, an e-bike founder in San Francisco, says AI has solved the "iconic nontechnical founder problem": convincing an engineer to build your crazy idea for you. He used his $25-a-month Replit subscription to build a game of 20 Questions for his 7-year-old son -- "he will play 20 Questions with you until you run out of steam." Keating notes, "I didn't need to convince anybody else that making a 20 Questions game was worth either my time or theirs. I just decided it was worth doing, and I went and did it."

 

Xavier Maier, an environmental studies student at the University of Waterloo, spends his summers planting thousands of trees for a Canadian reforestation company. A friend offered to help him make a website to track his planting. "I didn't want to make my friend do all this work for free, but he insisted it was super easy," Maier said. After "a few hours" of tweaking with AI coding tools, the website is up and running, showing the more than 15,000 trees he's planted this month.

 

Hudhayfa Nazoordeen, a friend and former classmate of Maier's, is a prolific vibe coder: "I probably build an app every day," he said. When we jumped on a Zoom, he showed me a series of custom-built apps he made to help study for his exams: a tutorial and calculator for standard actuarial formulas, a "Celestial Mechanics Explorer" to help him understand Lagrange points and black holes through interactive visuals rather than dense texts.

 

Nazoordeen also does traditional coding -- he started building apps from scratch when he was 10 -- and he says "vibe coding and software engineering feel like two different fields." He vibe codes with AI to make "throwaway" apps that he'll get rid of when they're no longer useful -- for example, once a college class ends.

 

What current coding agents can't build on their own is the kind of software that millions of people can use stably and securely. For commercial software development, expertise still matters. Even to be a vibe coder, it helps to have some familiarity with how software works. "It's not as accessible to outsiders as it might seem. Even trying to get a GitHub account was a real pain," Maier acknowledged. "I have an advantage because my friends are in CS."

 

Then there's the challenge of knowing what to build in the first place. Most of us have designed our lives around using the objects and tools that other people made. It takes a change of mindset to go from "I wish I had an app for that" to "Why not build it myself?"

 

Venture capitalist Nikunj Kothari, 34, is vibe coding up a storm for his Bay Area household, creating custom coloring-book sites and meal planning apps. But he's not sure if vibe coding will achieve mass appeal: "Most people don't want to maintain software. If they want additional features, they'd rather pay."

 

For most purposes, off-the-shelf apps will work just fine. But the last decade has revealed the limitations of Big Tech's one-size-fits-all model. Users complain about their favorite websites "enshittifying" as owners jack up prices and fill feeds with ads. And for groups with fewer numbers or less spending power -- for example, visually impaired users, non-English speakers, or yes, babies -- it's harder to find commercial software that fits their needs.

 

So I can't help but be excited about the expanded possibilities that vibe coding creates. In my Notes app, I keep an ongoing list of app ideas I want to make with AI. Some are rote research tasks I'd like to automate away. Others exist somewhere between a creative project and an elaborate joke, like "clickbait headline generator" and "betting markets for my group chats."

 

Not a single one is a billion-dollar opportunity. Fortunately for me, I'm the only user-base I need.

 

---

 

Jasmine Sun is a writer and technologist based in San Francisco. She publishes a newsletter and podcast at jasmi.news.” [3]

 

1. Compiling code involves using a compiler to translate human-readable source code into machine-readable code, typically a binary file that can be executed by the computer. This process usually involves several steps, including preprocessing, compiling, assembling, and linking.

Here's a general overview of the compilation process:

 

    A. Pre-processing:

    The preprocessor handles tasks like removing comments, including header files, and expanding macros.

 

B. Compiling:

The compiler translates the preprocessed code into assembly code, which is a lower-level language closer to the machine's instruction set.

C. Assembling:

The assembler converts the assembly code into object code, a binary file that contains machine-readable instructions.

D. Linking:

The linker combines the object code with any necessary library files to create a final executable file.

 

In simple terms, the process can be summarized as follows:

 

   A. Write your code:

    .

 

This involves writing your program in a programming language like C, C++, Java, or Python.

B. Compile the code:


You use a compiler specific to your language (e.g., GCC for C, Java's compiler) to translate your code into machine-readable instructions.

C. Run the compiled code:


The resulting executable file can then be run, and the program's instructions will be executed by the computer.

 

Examples of compilation:

 

    C++ compilation:

 

Using a compiler like GCC or Clang, you can compile a C++ program using a command like g++ myprogram.cpp -o myprogram.

This command instructs the compiler to compile the myprogram.cpp file and create an executable file named myprogram.

 

Java compilation:

 

    Java programs are compiled using the javac command.

 

For example, to compile a Java file named MyClass.java, you would use the command javac MyClass.java.

 

Python compilation:

 

   A.  Python is primarily interpreted, but you can compile it using tools like Nuitka to create standalone executables. (A standalone executable is a computer program that can be run without any external dependencies, such as libraries or runtime environments. This means you can run the program directly from the executable file without needing to install any additional software or configure your system. Standalone executables are often used for distributing software applications or for creating portable software that can be run on different computers without requiring specific software installations)

 

 

B. To deploy software, you generally follow a structured process that includes planning, development/configuration, testing, deployment, and ongoing monitoring and maintenance. This process can be streamlined using tools like Configuration Manager or through DevOps methodologies.

Here's a more detailed breakdown of the software deployment process:

 

    A. Planning and Assessment:

    This involves understanding your organization's needs, goals, and the specific software you're deploying.

 

B. Development/Configuration:

This stage focuses on creating or configuring the software, including building, packaging, and testing.

C. Testing and Quality Assurance:

This ensures the software functions as expected and meets quality standards before deployment.

D. Deployment:

This is where the software is moved to its target environment (e.g., production servers).

E. Monitoring and Maintenance:

This involves tracking the performance and health of the deployed software, addressing issues, and providing ongoing support.

 

Tools and Methods for Software Deployment:

 

    Configuration Manager:

    This tool, from Microsoft, allows you to manage and deploy software, updates, and applications across your network.

 

DevOps:

This methodology emphasizes collaboration between development and operations teams to automate and streamline the software deployment process.

CI/CD (Continuous Integration/Continuous Delivery):

This approach automates the building, testing, and deployment of software, allowing for faster and more frequent releases.

Deployment Scripts:

These can be used to automate the installation and configuration of software, ensuring consistency and repeatability.

Automated Rollback:

This feature allows you to quickly revert to a previous version of the software in case of deployment issues.

Log Tracking:

Monitoring logs provides valuable insights into the software's behavior and helps identify potential issues.

 

Example: Deploying an Application using Configuration Manager:

 

    In the Configuration Manager console, navigate to the Software Library workspace and select the application you want to deploy.

    Choose "Deploy" from the ribbon.

    On the General page, specify the application and the target collection (e.g., a group of computers).

    On the Content page, verify the distribution point from which you want the application to be installed.

    On the Deployment Settings page, configure the deployment action (e.g., install) and purpose (e.g., required).

    On the Scheduling page, define when the application should be installed.

    Complete the wizard to finalize the deployment.

 

3. REVIEW --- Your Next Favorite App? The One You Make Yourself. --- 'Vibe coding' with new AI tools makes it possible for just about anyone to create personalized apps -- no programming required. Sun, Jasmine.  Wall Street Journal, Eastern edition; New York, N.Y. 24 May 2025: C3. 

Komentarų nėra: