Agnieszka Hołownia-Niedzielska, author of the article and Senior Solutions Consultant at Espeo Software
Consortia and corporate platforms face numerous challenges, including managing complexity, enhancing collaboration, and improving transparency. Espeo Software is pleased to announce that its Solutions Consultant, Agnieszka Hołownia-Niedzielska, to contribute her expertise in a research project on Coopetition in Corporate Platforms. The Darmstadt Business School, under the leadership of Prof. Dr. Ulrich Klüh, conducts the study and he also handles the interview. The project, funded by the Hans Böckler Foundation, explores the challenges and solutions of consortia and corporate platforms.
Hołownia-Niedzielska’s interview focuses on how Distributed Ledger Technology (DLT) can help address the challenges consortia and corporate platforms face. She analyzes various aspects and implications of decentralized architectures.
“It’s crucial to emphasize that DLT continues to mature and is no longer merely an innovation. Companies are starting to realize the tangible business benefits it provides,” says Hołownia-Niedzielska.
According to Hołownia-Niedzielska, success in DLT projects starts with problem identification. This is followed by the second phase, where the needs of interested parties are gathered. The third phase involves collaborative work across companies to create solutions. Lastly, a Minimum Viable Product (MVP) or a Proof of Concept (PoC) is developed. An article with the entire interview is now available as a blog post on our website.
Espeo Software demonstrates the tangible benefits of DLT through its successful case study with HLB Global, a network of advisory and accounting firms spanning 157 countries. We developed a decentralized system using the Hyperledger Fabric private blockchain network to enhance transparency in HLB’s referral processes. This solution allows all members to interact seamlessly, with built-in trust and accurate tracking for every action, making the network tamper-proof.
We thank Prof. Dr Ulrich Klüh and Darmstadt Business School for recognizing our expertise in the field of DLT. This technology can become essential to how consortia and corporate platforms operate. DLT can lead to streamlined processes and better data quality by offering security and accountability.
About Agnieszka Hołownia-Niedzielska:
Agnieszka Hołownia-Niedzielska is a Senior Solutions Consultant at Espeo Software. She has over a decade of experience in FinTech and RegTech product development and project management. Having been a business owner herself, she brings unique insights into business and technical analysis across various project sizes. She acquired Blockchain for Business Professional certification.
About Espeo Software:
Espeo Software has been helping companies develop and implement innovative fintech solutions since 2008. By leveraging our expertise in blockchain, online payments, and other related areas, our clients can invent and create cutting-edge solutions and services that help them stay at the forefront of innovation.
To doskonała okazja do networkingu z innymi specjalistami, a to wszystko w luźnej festiwalowej atmosferze, gdzie nie zabraknie pizzy, pysznych przekąsek i napojów.
Coding.fest 2.0 #Poznan
Temat:Narzędzia AI, a praca programisty
Data: 22 czerwca (czwartek)
Godzina: 18:00
Miejsce: Espeo Software, ul. Baraniaka 6, 61-131 Poznań
Programujesz i interesujesz się najnowszymi rozwiązaniami, które mogą ułatwić Ci pracę? Chcesz dowiedzieć się więcej na temat narzędzi AI? A może chcesz podyskutować na ten temat w gronie innych specjalistów? Być może wierzysz w siłę networkingu i chcesz spotkać się ze innymi programistami w Poznaniu by poznać się i wymienić doświadczeniami? Doskonale się składa! Wygląda na to że Coding.fest 2.0 jest właśnie dla Ciebie!
Program wydarzenia
Zaczynamy o godzinie 18:00. Merytoryczna część wydarzenia obejmuje 3 prezentacje. Czas przewidziany na tę część meetup’u to około 90- min. W ramach prezentacji możesz także spodziewać się konkursów dla widowni! Liczymy na Twoje zaangażowanie dyskusję. W trakcie dla gości dostępne będą przekąski i napoje. Po części merytorycznej odbędzie się integracja przy świeżej pizzy. Pamiętaj żeby zapisać się do udziału w wydarzeniu TUTAJ.
Konkurs na wystąpienie
Masz pomysł na temat, który jest związany z AI i programowaniem i chcesz o tym podyskutować? Świetnie się składa! Do naszego składa chcemy zaprosić spikera, który zostanie wyłoniony w ramach konkursu.
Zwycięzca zostanie zaproszony na wydarzenie jako mówca, a dodatkowo otrzyma za swoje wystąpienie nagrodę w postaci 1500 złotych.
Co trzeba zrobić?
W konkursie mogą brać udział wyłącznie osoby pełnoletnie. Należy przygotować krótką prezentacje o tym, co chcesz przedstawić na wydarzeniu. Prezentacja ta powinna być przygotowana w formie wypowiedzi wideo i trwać maksymalnie 90 s (1.5 min).
Zgłoszenie konkursowe
Zgłoszenie należy wysłać mailem zatytułowanym “Konkurs Coding.fest 2.0” na adres: eb@espeo.eu. Można przesyłać je do końca dnia w niedzielę 18 czerwca. Zgłoszenie powinno zawierać twoje dane personale: imię, nazwisko, datę urodzenia, e-mail oraz numer telefonu. Załączony film powinien być w formacie MP4. Przesłanie zgłoszenia jest równoznaczne ze zgodą na przetwarzanie danych osobowych na potrzeby przeprowadzenia i rozstrzygnięcia konkursu.
Wyniki konkursu
Komisja konkursowa złożona z pozostałych prelegentów wybierze zwycięzce w poniedziałek 19 czerwca. Wtedy wszyscy uczestnicy zostaną poinformowani o wynikach. Zwycięzca otrzyma zaproszenie na wydarzenie i wsparcie w przygotowaniu prezentacji na wydarzeniu (przewidywany czas tej prezentacji to 20 – 30 min). Po wystąpieniu zwycięzca otrzyma nagrodę w wysokości 1500 złotych! Powodzenia!
AI can now produce meaningful lines of code. How cool is that? But should developers be worried about becoming unemployed? Are the creators of AI-powered tools effectively software-designing themselves out of a job? And the main question is what will happen with programmers: should they be afraid of being replaced. Especially if we are talking about juniors. At the beginning of their career path they perform easier and quite repetitive tasks, writing simple code that ChatGPT can generate in just a few seconds?
Lately, there has been a large number of articles and titles asking pretty much the same question. People are comparing the latest achievement in AI, and machine learning fields in particular, to the industrial revolution. After OpenAI dropped a newer version of ChatGPT with even more advanced coding abilities, people are considering the option that there will be no need for programmers soon, especially junior ones, as it is much cheaper to ask ChatGPT to do the task!
What is AI and how does it work?
What exactly is AI? “Artificial intelligence (AI) is the simulation of human intelligence processes by machines, especially computer systems. Specific applications of AI include expert systems, natural language processing, speech recognition and machine vision”. In general, AI is trained based on analyzing large amounts of data to predict what output will look like. So its knowledge is limited to what it’s been shown.
But is it enough to fulfill the whole commercial software development process? Let’s start with some more theoretical thoughts.
Programmers vs AI
First of all, programming is a creative process. Programmers are getting business requirements as input and creating software according to it as an output. These requirements are not so obvious. So it’s challenging to cope with such creative tasks without involving human intelligence and critical thinking.
Before even starting to write code it is necessary to understand business needs, determine technical specifications and features of the program. What is more, good software isn’t just plain lines of code! There are many more things that AI still can’t afford. – Things like picking the right tools, analyzing user experience, and making design decisions. Also, understanding an exact business need.
The conclusion is that software must be created by a qualified person to fulfill the business and market needs and be easy to use and maintain.
“Since it’s [AI] based on natural language models, it’s mimicking what it has seen before in that context and doesn’t have a deeper understanding of the algorithms, data structures, or possess general problem-solving skills. It can’t truly extrapolate new solutions to unknown problems and will likely struggle when new ones are presented.”
Alan Fern, professor of computer science and executive director of AI research at Oregon State University’s College of Engineering
One more thing that is quite bothersome – there is no source reference mentioned once you receive the answer from ChatGPT. So, it’s unclear whether it is quoting someone or it is its own conclusions. Still there are also a couple of other caveats related to using ChatGPT in commercial projects such as security issues and copyright problems.
Otherwise, there are a few areas where AI is already better than humans, for example playing chess or quizzes. But the latest OpenAI research demonstrates that Leetcode tasks are not that easy for AI to crack. The more complicated these tasks are, the more difficult it is for ChatGPT to complete. Although it is possible to cope with a few using ChatGPT 4.
Espeo Crew
Practical examination of ChatGPT – creating web application
Preparations
Now that we have looked at the theory, let’s use ChatGPT to build a simple web application for managing hardware in an IT company. I will add only the code received from chat and try to cope with all the errors with the help of AI. To start, let’s give it the following prompt:
Create a react app for IT company inventory management purposes (hardware), having navbar with two routes – dashboard and hardware in use, and add the following features:
1. list of all hardware – create mock data – with the following fields: serial number, name of the model, and quantity;
2. list of hardware that is now in use – create mock data – with the same fields as above plus the name, and surname of an employee using it.
Use typescript, and react-router for routes, for state management use react built-in state management and for CSS use tailwind for styling – main colors are #f90045 and #212725
ChatGPT suggests steps to create a React app
“Sure, I can help you with that. Here are the steps to create a React app for IT company inventory management purposes:” – it answered and gave me the following instructions:
Create a new React app using create-react-app
Install necessary dependencies
Create mock data for hardware inventory
Create mock data for hardware in use
Create the Navbar component with two routes: Dashboard and HardwareInUse
Create the Dashboard component, which will display a table of all hardware
Set up routing using react-router-dom
Import tailwindcss in your index.tsx file
Finally, add the main colors to your tailwind.config.js file
Video 1: Each step contained pieces of code and CLI commands that I had to run in the console.
“That’s it!
Unfortunately, the react-router version was a bit outdated, so I asked it to update App.tsx code with a newer one. ChatGPT provides all the necessary information on how to update the package and both App.tsx and Navbar.tsx components.
Photo 1: A screenshot of ChatGPTPhoto 2: A screenshot of ChatGPT
A couple of features are still missing! Let’s extend our app with pagination and a search box. Also, I asked to update the design to make it look better and create more mock data.
And here is the result!
Photo 3: A performance of Chat GPT
Pros of Chat GPT performance
After using ChatGPT for completing the task above and in my job as a frontend developer I can tell that it is good at:
Explaining each answer with links to the official documentation.
Giving comments in the code to make it easier to adjust.
Recollection, so we don’t need to provide all the context information with each prompt.
Writing test cases.
Refactoring.
Potential risks of Chat GPT performance
And there are several things you should be aware of before replacing your junior devs with ChatGPT.
No folder structure, and the tool does not generate you the whole project but provides instructions and code for separate components.
You don’t know its defaults. If you prefer to use any specific tool or package (e.g. yarn over npm) you need to be precise about it.
The generated code does not always follow good practices.
You should plan the project architecture and design. The more code ChatGPT generates, the easier it is to get lost.
The clue point is that even if you have such a powerful tool as ChatGPT, you still need expertise in the relevant topic. ChatGPT requires precise instructions on what you expect to get.
Can AI currently replace programmers? How will tools like Chat GPT innovate the programming process?
Even though AI will have a massive impact on the world, I think it will not replace any developer’s soon. I believe it will help programmers do their job more efficiently. AI integrations with different tools are becoming more and more available.
For the junior developers, AI can be a great support in learning new things, e.g. using ChatGPT for doing research or working with tools like GitHub Copilot or Amazon CodeGuru and analyzing the proposed solutions. More experienced developer can make use of AI while refactoring, writing tests and documentation.
There is a huge part of software development, where AI can be pretty efficient right now: low-code and no-code solutions. That could be a place to develop AI potential. There is a possibility that if creating software like this is quite repetitive and a known algorithm, one can train AI based on a company codebase, so it will be able to create a project as simple as building lego.
Still, before that happens, the company, so real programmers, need to create its own codebase, check it and teach AI to use it. What is more, technology is developing rapidly, so there will always be a necessity to update the codebase and AI algorithms.
Espeo Crew
Does ChatGPT believe it can replace programmers?
And finally let’s ask ChatGPT!
Will you replace software developers?
As an AI language model, I am designed to augment and assist software developers rather than replace them. While AI has come a long way in automating some tasks, software development is a complex process that involves creativity, critical thinking, and problem-solving skills that AI has not yet fully mastered.
AI can help software developers by providing code suggestions, identifying potential bugs, and assisting with routine tasks, which can make the development process more efficient. However, human developers are still essential for understanding user needs, making design decisions, and ensuring the software meets the desired outcomes.
In summary, AI tools like me can be a valuable resource for software developers, but we are not likely to replace them entirely. Instead, we will work together to create better software more efficiently.
ChatGPT
Summary
We are in a “weak AI phase” now, and I think it will take a long time before AI will be able to fully replace programmers, learn to interpret business requirements, and make a plan on how to develop a functional product. We don’t need to be afraid of technology development, we need to learn how to use it properly.
During the journey of every Android Developer, we have observed various Material Design language rules. We started with the first guidelines of Material Design in 2014. Then we acknowledged the set of updates to the language in Material 2 in 2018. Finally, we have seen the major changes in the newest version of Material Design called Material You (Material 3) in 2021.I will introduce these changes through the years from the Android Developer’s perspective and describe the most valuable changes and new things in Material 3. Let’s begin!
Material design is a design language (scheme or style that guides the product design). There were 3 major versions of this language.
Material 1
Google introduced the first version of Google Material Design in 2014. The primary purpose of creating this language was to combine principles of good design with technical and scientific innovation. It allowed the unifying design of Google applications. What else, developers can exclude basic components with Google’s material components API.
The next step was Material 2 (Material Theme), introduced in 2018 as an update of Material 1. The language went through some cosmetic changes to highlight the components even more.
The main differences between Material 1 and Material 2 are:
new font — Google Sans,
more white spaces,
rounded corners,
colorful icons, and so on.
The video below is a great example showing the migration from Material 1 to Material 2.
Source: ‘Google Material Design 2.0’, youtube.com, uploaded by mobileCTRL, July 24, 2018
Material 3
Material 3, also known as Material You, is the newest version of Material Design. The two previous versions were strictly standardized. Otherwise, Material 3 focuses on user-oriented personalization. The newest version of the language introduced many updates. Some of them are listed below:
dynamic colors based on the user’s wallpaper,
different shapes,
new typography,
changed components (for example bigger buttons)
Source: ‘Android 12 Official Release – What We Waited For!’, youtube.com, uploaded by In Depth Tech Reviews, October 20, 2021
I believe that James Williams explains very well the changes between Material 2 and Material 3 in the article ‘Migrating to Material Design 3′ (source: Material Design Blog, uploaded at October 27, 2021).
Let’s dig deeper into the major features of Material 3.
Characteristics of Material 3
Dynamic colors
Material You focuses on a variety of different colors and shapes. The colors are fully customizable. On the contrary, with material 2, more apps look similar due to strict standards.
The dynamic colors allow the app to match the system color preferences. As you can see in the example above, the colors in the app change every time users change the wallpaper.
Material You is based on a variety of shapes. You can distinguish different ones used on one screen and even the 7-level shape scale based on the roundedness of the component corners.
Also, Google has updated the icons to Material Icons, which can have slightly different versions. The symbols are easily customizable, and an updated version is available on the Google icon’s page.
The Material 3 typography went through simplification. As a result, from the 6 Headline variations, currently (Jan 2022), we have fewer variants for each classification (Small, Medium, Large).
The Action Buttons in Android can be classified as Floating Action Buttons (FAB) or Extended Floating Action Buttons. FAB is a circular button that triggers the primary action in the UI apps. Extended Floating Action Button is the class with the Material Components library in Android. Concluding, it looks more rectangular now.
The Top App Bar and the status bar (displaying the battery and the network icons) now have the same color. Also, there is less contrast between the app bar and the content below.
The users are used to the Floating Action Button at the edge of the Bottom App Bar. However, the new Material expands the bar vertically and keeps the button inside.
The new navigation bar has a more distinguishable selected element by changing the icon to a fill version, bolding the label, and adding a shape around the icon in a different color.
Also, the time picker component is similar to the date picker component. I recommend a more detailed article about the implementation of the time picker component.
And here you can find a full list of the Material 3 components.
Conclusion
From its premiere in 2014, Material Design language went through dozen changes. After a while, there was an update to Material 2. That wasn’t a big deal. However, the major changes came with Material 3. The first Android system with Material 3 released in late 2021.
Today is the beginning of 2023, and I think the next 2–3 years are the time for validating and uploading improvements to Material 3.
Therefore, the upcoming versions of Android OS and different Google UI libraries for programmers will need some changes.
Let’s observe what Google will develop in the coming years!
Manage Cookie Consent
We use cookies to optimize our website and our service.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
We use technologies like cookies to store and/or access device information. We do this to improve browsing experience and to show personalized ads. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.