AI in development

New and groundbreaking, or actually old hat?

AI, AI, AI... Articles are flooding our inboxes, or so it seems. From fear to euphoria, apocalypse to bliss, all promises and predictions for the future are there. But what does it actually look like in professional practice? Should we all be afraid for our jobs in the communications and development industry? After all, we are among those who will be affected and influenced. We have already addressed this question in several areas, but the biggest one is still missing: How will AI affect our development? Here is the current state of play.

AI in development: actually old news?

Artificial intelligence in programming is nothing new. On the contrary, developers have been dealing with this topic for ages. The only thing that stands out is that they do so in a much more low-key manner than in other areas.

AI as a subdiscipline of computer science

Artificial intelligence is the branch of computer science that aims to make machines “intelligent,” i.e., to program them so that they acquire the ability to interact with their environment in a forward-looking and appropriate manner.

  • “Predictive” in the sense that they can estimate future events based on past events.
  • ‘Appropriate’ in the sense that the action, the result of perception, is aimed at solving the task “well” according to criteria.

If you take this definition very broadly, (almost) all programming is geared toward this goal. After all, all programs are designed to take work off our hands and make our lives easier. AI is therefore just another step in research and development, but in this particular field. So the question seems justified: So what's all the fuss about?

AI in development: examples of use

A few selected examples:

  • Search engine technology: ... has always been nothing more than AI. Search engines are designed to filter out and display the right and relevant information from the vast amount of information available on the internet. What is now being promoted as AI is just the next step in the qualitative assessment of queries and the results generated for them, e.g. by taking factors such as context, semantic space, individual preferences and others into account to a greater extent, in contrast to the previously quantitative factors. Here, too, the AI trains itself using the existing content and derives predictions from it. Shit in, shit out, if it goes wrong.
  • AI in medicine: used in diagnostics, for example. It is very exciting when, for example, systems with artificial intelligence can detect precancerous colon cancer better than groups of experts.
    Check out the article (German-language link):  https://www.internisten-im-netz.de/aktuelle-meldungen/aktuell/darmkrebsvorstufen-mit-kuenstlicher-intelligenz-erkennen.html. In this example, images from the intestine are magnified 500 times and transmitted to an AI, which can then determine within a second whether the polyp is a benign or malignant tumor. The doctor receives feedback via a sound or a message on the screen. The AI is trained so that it can be used in routine operations.
  • AI in games: The chess computer is the most popular example of what artificial intelligence is capable of. And indeed, in all computer games, regardless of how intelligent they are, the opponent provided by the program is nothing more than “artificial” intelligence. From chess, Go, and backgammon to farmer's skat and classic shooter games, possible scenarios are determined based on historical data, current situations, and possible parameters, and alternative courses of action are generated and implemented based on a single task: “Win!” This is popular not only with gamers and nerds, but with anyone who is bored at some point.
  • AI in criminology: many possible applications – “hey Big Brother!” e.g., in facial recognition, filtering and sorting large volumes of emails and messages.
  • AI in military technology, e.g., in remote-controlled weapon systems. But this is nothing new: remote-controlled weapons have been in use for many centuries. One example: on August 22, 1849, the Austrian army used unmanned balloons with bombs triggered by time fuses to bomb Venice. The principle has been refined and significantly optimized by AI.
  • AI in marketing: And here we are, for example, with voice-controlled systems in customer service and hotlines, AdWords and ad placement, and so-called “dynamic pricing,” where prices in online shops are differentiated (displayed at different prices) based on search and click volume (i.e., presumed demand).

AI in science: ... in the analysis and evaluation of all types of large amounts of data, regardless of the discipline, e.g., even in sciences with fundamentally positive connotations such as climate protection research.Observation:

Depending on how “good” or “bad” its use and results are perceived, AI is labeled differently, as “dynamic” or “intelligent” = “useful, fundamentally good,” as opposed to “highly precise” = “can harm you, kill you, is hostile,” or ‘artificial’ = “not human.” The discussion about possible benefits versus possible risks, “curse” or “blessing,” is largely emotional and highly judgmental, often coupled with general skepticism or even hostility toward technology.

AI for programmers

Developers, on the other hand, deal with the topic in a much more “sensible” way, i.e., with significantly less emotional baggage. The topic is simply there, as a job description or as a tool. The content is discussed from completely different perspectives, namely:

  1. In terms of effectiveness:“What's the point?” What is the best and most likely outcome?
  2. In terms of efficiency:“What does it cost?” What is the time and cost involved?

Moral and emotional issues are completely left out of the equation here.

AI programmer as a job description

An AI developer designs, develops, and optimizes solutions based on artificial intelligence. They analyze data, structures, systems, and processes, select suitable algorithms, and train the AI. They enrich the systems with even more knowledge and information, with new rules and algorithms to improve the outputs for the respective areas of application. The distinguishing feature here is how the application works: it processes large amounts of data, which it analyzes according to predefined rules and uses to derive actions and results based on specific questions.

 

AI tools in programming

In terms of tools, AI-supported applications can be used very effectively in development and programming in our field and are widely accepted here. Here are some initial examples from our area of expertise.

We are just getting started here. We see the potential for working much more efficiently and effectively with this technology. We are testing and trying things out, refining and specifying the possible applications and areas of use, and improving the tools themselves in the process.

Outlook: Where are we headed? What is possible?

Für alle Phasen und Schritte der Entwicklungsprozesse:

  • Spezifikation von Programmen und Anwendungen: Die Verfahren der AI sind derzeit zumeist Frage- und Antwort- oder Eingabe-gestützt. Für eine Entwicklung benötigt man aber mehr, nämlich eine vollständige Beschreibung aller Funktionen, Schritte, Prozesse und Oberflächen, also des kompletten Systems, mit Use-Cases und mehr. Dies alles kann automatisch generiert werden.
  • Backend: Eine Zielsetzung wäre, Programme und Anwendungen nicht nur teilweise, sondern komplett und einsatzfähig von AIs entwickeln zu lassen. In beliebigen Sprachen, für alle Umgebungen und alle Plattformen und Clients.
  • Frontend: Hier gibt es derzeit noch viel individuelle Gestaltung und Differenzierung. Aber 1.) kann auch die Integration von Oberflächen nach vorher definierten Regeln automatisiert werden; 2.) können Best Practice-Erfahrungen und Ergebnisse in die Optimierung einfließen. Je standardisierbarer die Anwendung, z.B. bei Formularen, desto einfacher.
  • Testing: Die Weiterentwicklung der jetzigen automatisierten Testverfahren, als selbst lernende und sich selbst erweiternde Tests, auch für Fehlersuche und Verbesserungen.
  • Dokumentation: Es sollte nichts einfacher als ausgerechnet dies sein, um es von einer AI als Assistenzprogramm in der Entwicklung erstellen zu lassen.
  • Laufende Updates und Optimierung: Programme werden laufend angepasst und erweitert und mit neuen Versionen und deren Updates versehen.
  • Entwicklungssteuerung: über alle Projektphasen. Hier ist "Mensch" noch erforderlich, zumindest zum Prüfen. Aber je mehr alle einzelnen Schritte intelligent automatisiert werden, desto mehr lassen sie sich auch entsprechend abbilden und so managen und kontrollieren.
  • Sicherheit: Das große und wichtige Thema schlechthin! Wissen um neue und mögliche künftige Einbruchsstrategien einsetzen, um die bestehenden Sicherheitssysteme laufend zu verbessern. 

The good thing about it is the good in it

The good news is that, during development, the potential applications are assessed in a much less emotional way and without moral judgment. The focus is clearly on practical applications and what is feasible. This makes it easier to assess strengths and opportunities on the one hand and weaknesses on the other. And if risks are identified, clear options for preventing them can be outlined. And that's a good thing. Why? Because we have a shortage of skilled workers in development. It's massive and has been going on for many years! Anything that helps us here is good and right, including, of course, training good developers. But if that's not enough (and it still isn't), then we need intelligent tools and systems to support our developers and all the other great assets we are fortunate to have as best we possibly can.

 

 

 

More blog posts

High-profile comic art exhibition “UTOPIA” at the Kunstverein Wunstorf

COMIC Artists sharpen our vision, seek new paths, and open up new worlds.

You've won the European Heritage Seal! What a wonderful honor!

COMIC artists sharpen perspectives, seek new paths, and open up worlds. We are preparing a utopian-dystopian exhibition of visionary comic worlds at…