Noutați

C++ Builder Is The Choice For The Award-Winning FileOptimizer

Today’s article is from C++ developer Javier Gutiérrez Chamorro. Javier is a very enthusiastic long-term C++ Builder developer who has won multiple awards for his FileOptimizer C++ app. Here he tells us why he continues to choose C++ Builder as his C++ IDE and the story behind his success. Table of Contents Who is Javier Gutiérrez Chamorro and what is FileOptimizer? What was the development process behind FileOptimizer? What operating system do you use? Have you always used C++ Builder, if so, why? Was C++ Builder a good choice? Why do you use C++ for FileOptimizer? What lessons have you learned from the success of FileOptimizer? Who is Javier Gutiérrez Chamorro and what is FileOptimizer? Javier Gutiérrez Chamorro here, the founder and main developer of the award-winning FileOptimizer tool. This is not something I say but supported by third party entities such as Sourceforge who awarded it for several times as project of the week and the month, and of course, Embarcadero, who recognized it in the “Building Good with C++ Builder Contest 2021”. In order to understand the context, first things first. I am a professionally involved in technology since almost 25 years ago, but not Delphi nor C++ Builder related for almost a decade. I am in the industry of Javascript, HTML, PHP, and the tons of libraries, frameworks and tool chains. As it happens usually, during my workdays I have a need, a program that allowed me to easily optimize the images that would be loaded in websites and iOS applications in order to reduce its size, and thus improve the loading and rendering speed. FileOptimizer is essentially a GUI (Graphics User Interface) frontend to powerful, but hard to use command line tools that perform the hard job, the lossless compression of files. No matter if you are referring to a PNG image, MP4 video, PDF leaflet or a Word document, FileOptimizer will recognize it and pass the action to the appropriate plugin in order to optimize it. What is the point? Well, you will get files that look exactly the same as the original, that use exactly the same format and can be opened by same original tools, but they will be smaller. What was the development process behind FileOptimizer? Small files were a key point back in the 1980s when memory and disk storage was scares. Nowadays with gigabytes of RAM and terabytes of disk it could sound as something of the past, but it is not. Lots of devices have limited hardware capabilities (smartphones, tablets, …) and you want to extract the most of them; and in other cases, bandwidth is a constraint. Bandwidth is expensive, and I am sure all of you will prefer to place a 100 K image on your website as opposite to the same image weighting 1000 K. I know you have modern formats reduce file size as we compare them to existing ones, just take a look at H265 for videos or WebP for images. Unfortunately those new formats require new tools too. New programs to edit or convert them, new apps to view them… So the need of reducing the size of a file, but keeping the original format is still there. What operating system do you use? I have been always based in Windows platform, well […]

Read More

Looking for a DevSecOps maturity model that works? Start with our 2021 Global Survey

Our 2022 Global DevSecOps Survey is out now! Learn the latest in DevOps insights from over 5,000 DevOps professionals. In our 2021 Survey, 4300 people told us about their successes and their challenges, but in some ways the biggest takeaway were the signs of a burgeoning DevSecOps maturity model. Somehow, when Covid and DevOps collided, big things started to happen particularly around DevSecOps. Yes, Virginia, there is a DevSecOps More teams are doing DevSecOps than ever before – and doing it well. Fully 72% of security professionals rated their organizations’ security efforts as “strong” or “good,” a significant increase from 59% the year before. This shows us that investments in security and the cultural shifts from DevOps to DevSecOps are paying off. That’s right, we’re shifting left Over 70% of security pros said their teams have shifted left and moved security earlier into the development lifecycle. So who’s in charge? That’s still an open question in this new DevSecOps maturity model. Almost 31% of security pros told us they were the ones in charge, but 28% said everyone that was responsible, almost identical to last year’s survey. And when it came to finding bugs, 77% of security pros admitted to being the exterminators in their org (not devs) after code is merged in a test environment. So how is it shifting left? While there are some conflicting responses (Devs! Security! Devs! Security!) – the truth is probably somewhere in the testing. The SAST and the furious In this new DevSecOps maturity model there is simply more testing (and that’s never a bad thing). Today, 53% of developers run SAST scans (a 13% increase from last year) and 44% run DAST scans (a 17% increase from last year). Better yet, over 50% of security pros report their devs scan containers, run dependency scans, and do license compliance checks. That’s all excellent news! So all testing issues are solved, right? Well, not exactly. Security testing remains a sticking point. While security pros agreed that their teams are shifting left, testing still happens too late in the process (over 42%), and it’s still was a struggle to fix vulnerabilities. While security is finding most of the bugs, almost 37% of them said it was tough to track the status of the bug fixes, and 33% said it was hard to prioritize the remediations. Finally, 32% said just finding someone to fix the problems was a headache too. In spite of everything thrown at them over the last year, DevOps teams are innovating and collaborating on problems like never before, and this year’s DevSecOps survey results are showing just how far we’ve come. Still, there are opportunities for growth and security challenges left to solve. Our 2022 GitLab DevSecOps Survey has the latest insights from over 5,000 DevOps professionals. Download the report and learn about the practices and processes that are shaping the way we deliver software. You can also compare it with previous year surveys Share on Facebook Share on Twitter Share on LinkedIn Share on Hacker News

Read More

Learn Python with Pj! Part 1 – Getting started

Hello World! My name is Pj Metz and I’m the education evangelist at GitLab. My day job involves working with universities across the globe to help faculty and students learn to use GitLab for educational or research purposes. Currently, my code experience is limited to C# and JavaScript, with some HTML and CSS in there for good measure. However, one of the most popular languages in the education community is Python, so I decided to jump in and teach myself Python to better connect with my community members. I’ll be learning on Codecademy, an online interactive learning platform that offers a variety of languages and career path curriculums, both free and paid. It’s where I started learning to code back in 2020 so I’m already comfortable with it’s format and curriculum style. Every few weeks you’ll see what I’ve learned and how I’ve applied that new knowledge. I’ll discuss the basics of writing in Python and show off some of what I’ve done. I’m still relatively new to writing code in general, so expect to see this through the eyes of a beginner — not just a Python beginner, but coding in general. I might even make a mistake in my descriptions/explanations. Let’s jump in! 🐍 First lessons The first few lessons involved writing a “hello world” and changing the value of a premade variable. I moved on to writing my own variables and experimenting with several different types, including ints, strings, and floats. I learned that you can change a variable after defining it, similar to many languages, and that you can even change the type; the most recently defined type will be the one used at run time. Concatenation works similarly to other languages: using a plus sign to combine variables. I did some reading ahead and learned about f-strings as an easy method of concatenating strings. I’m used to doing something similar in JavaScript for my Twitter bots, so this felt important to know. I also learned how to do some control flow through if, elif, and else. The logic remains the same, but conventions are a bit different. I’m used to writing an if statement like this in JavScript. if(partyRock === ‘in the house tonight’) { everybody = ‘have a good time’ console.log(`Party rock ${partyRock} everybody just ${everybody}`) } else { everybody = ‘sad party rock noises’ console.log(everybody) } In Python, there are no curly braces. Rather, a colon and indent takes care of that work. if partyRock == ‘in the house tonight’: everybody = ‘have a good time’ print(f”Party Rock is {partyRock} everybody just {everybody}”) else: everybody = ‘sad party rock noises’ print(everybody) Initial thoughts I like the readability of Python. It’s a little less cluttered, but I remember being very excited about curly braces when I first learned them. Using them for functions and methods and the like always made me feel like a “real programmer” when I was first starting. That being said, Python syntax is coming along naturally for me. Something that’s different for me is the way Python has you initialize variables. C# is a statically typed language, meaning that part of defining a variable is saying what type of variable it is (int, string, float, etc.). Python does not require you to define the type, it will simply know at […]

Read More

How is AI/ML changing DevOps?

The last few years have seen an explosion in artificial intelligence, machine learning, and other types of projects. Companies like Hugging Face and applications like DALL-E 2 have brought to the mainstream what the power of AI/ML can bring to the next generation of computing and software. As every company has become a software company over the last few decades, the ability to innovate and leverage the ever-growing amount of data that organizations have access to have become where enterprises turn to compete. However, a lot of AI/ML projects get stalled from several challenges that may seem familiar to software professionals who have been around since the early days of DevOps.  Adoption and optimization of artificial intelligence and machine learning have been hampered by a lack of repeatability for experiments, a disparity of tools and information silos, and a lack of team collaboration. A new model for data modeling One of the first ways to look at this problem is to make sure that the mental model is in place to allow the team to reason about both the strategic vision for AI/ML at your organization. And once that has been established, also think about the tactical “jobs to be done” to lay the foundation for that work. Strategically, there are many teams that have to come together for a successful AI/ML program. First, the data has to both be acquired and transformed into a usable set of clean data. Often referred to as “DataOps” this involves the typical “ETL” or extract, load, transform processes data has to go through to be useful for teams. From there, you have to productionize the data workloads through MLOps – the experimentation, training, testing, and deployment of meaningful models based on the extracted and transformed data. And once those two steps are complete, you can finally understand how to make production use cases for your data. You can use AI Assisted features to focus on improving user experiences, for financial forecasting, or for general trends and analysis of various parts of your business. Given the complexity of this value chain, the various teams and skills involved, and the current mishmash of tooling, there is a lot that teams can learn from the history of DevOps as they tackle these problems. DevOps and AI/ML Much like the various stages of obtaining and applying AI/ML for business uses, software development consists of many varied steps with different teams and skills sets to achieve the business goals outlined. That is why years ago, folks came up with this concept of “DevOps”– combining teams and having them work together in a cycle of continuous improvement towards the same goals – to combat silos and inefficiencies. Data science teams are using specialized tools that don’t integrate with the existing software development lifecycle tools they already use. This causes teams to work in silos, creating handoff friction and resulting in finger-pointing and lack of predictability. Businesses and software teams often fail to take advantage of data, and it takes months for models to get into production by which time they may be out of date or behind competitors.  Security and data ethics are frequently treated as an afterthought. This creates risk for organizations and slows innovation. Learning from the past If the past decades of “DevOps” evolution have taught […]

Read More

Cum RAD Studio Enterprise Edition vă ajută să creați aplicații mai bune

Dacă utilizați în prezent ediția Professional a Delphi, C++Builder sau RAD Studio, aveți o oportunitate unică de a beneficia de promoția actuală pentru edițiile Enterprise și Architect . Până la sfârșitul lunii august, cu o achiziție sau o actualizare RAD Studio Enterprise sau Architect Edition, obțineți și UltraEdit , un editor de texte premium, cunoscut pentru gestionarea sa facilă a fișierelor foarte mari de 4GB+ și o licență  InterBase Server de până la 50 de utilizatori . Vezi oferta promoțională aici . Pentru a explora caracteristicile UltraEdit și InterBase Server și valoarea pe care acestea o pot adăuga afacerii dvs., citiți această postare de blog . În regulă, spuneți, „ dar pe lângă instrumentele și licențele suplimentare, ce pot obține și care nu vine cu ediția Professional? Ce face ca upgrade-ul la Enterprise să merite investiția? ” În aceast articol vom încerca să răspundem la această întrebare. Vom analiza caracteristicile care diferențiază RAD Studio Enterprise Edition de Professional, beneficiile pe care le generează pentru dvs., dezvoltatorul, și valoarea pe care o puteți oferi clienților dvs. printr-un software mai bun, cu funcționalități mai mari. Diferența majoră: Enterprise Edition este pentru conectivitate avansată la rețea și acces la date Ediția Enterprise a RAD Studio®, Delphi® și C++Builder® adaugă mai multe îmbunătățiri și biblioteci ediției Professional. Aceste îmbunătățiri sunt concepute pentru a vă ajuta să creați aplicații cu conecțiuni sigure și să stocați în siguranță datele companiei pe dispozitive mobile. Pe scurt, Enterprise Edition este concepută pentru a dezvolta aplicații de tip client-server, care necesită colectarea și stocarea de la distanță a datelor în rețea. Cum RAD Studio®, Delphi® și C++Builder® Enterprise asigură conectivitate îmbunătățită. 1. Acces de mare viteză la distanță la baze de date cu FireDAC FireDAC este un data access layer care susține și simplifică accesul la date pentru aplicații de înaltă performanță. FireDAC oferă un API comun pentru accesarea unei game de back-end-uri de baze de date populare fără a afecta performanța aplicației . Ediția Enterprise a FireDAC adaugă conectivitate la nivel de rețea pe lână conexiunile de baze de date locale și încorporate. Migrarea de la Microsoft ADO la FireDAC este, de asemenea, foarte ușoară. Acesta este modul în care un dezvoltator și-a descris experiența cu FireDAC: „ Ne-am mutat la FireDAC de la ADO și am lansat produsul ca o actualizare majoră. Clienții sunt încântați, aplicația noastră a fost imediat mai rapidă, mai ușor de implementat și mai stabilă. ” 2. Multi-Tier Development Ediția Enterprise permite dezvoltarea aplicațiilor pe mai multe niveluri, oferind API-ul de nivel mediu pentru aplicațiile-client pentru a se conecta la sisteme și baze de date. Acest strat mijlociu creează un singur punct de acces pentru conectarea și gestionarea acestor sisteme și baze de date și un spațiu pentru ca logica de afaceri să existe independent. Aceste straturi separate reduc semnificativ complexitatea asociată cu dezvoltarea aplicațiilor la nivel de întreprindere, cu echilibrarea încărcăturii, mișcarea REST a datelor către nivelul client și ușurința de scalare. Opțiunile cu mai multe niveluri din RAD Studio®, Delphi® și C++Builder® sunt DataSnap, RAD Server și WebServer. Spre deosebire de DataSnap, RAD Server vine cu notificări push, stocare JSON securizată încorporată, gestionarea controlului accesului utilizatorilor/grupurilor, suport multi-tenancy și analiză API (vezi imaginea de mai jos). 3. Vizează Linux Cu ajutorul Delphi puteți desfășura aplicațiile și pe serverele Linux cu un cod partajat, care se compilează și pentru Windows. Rezultatul este viteză superioară și performanță generală, dezvoltare simplificată și flexibilitate extraordinară pentru dezvoltatori și utilizatorii software-ului lor. RTL (Run-Time Libraries) de la RAD Studio […]

Read More

Ce puteți obține cu Delphi, C++Builder și RAD Studio Enterprise and Architect doar în luna August!

Acum puteți face mult mai multe cu noi instrumente și licențe RAD Studio. Pentru luna august 2022, cu fiecare licență Enterprise sau Architect a Delphi, C++Builder sau RAD Studio, veți primi, de asemenea, o licență  UltraEdit și licențe InterBase Server pentru până la 50 (!) utilizatori prin promoția RAD Studio UltraEdit. De fapt, Architect Edition vine acum cu UltraEdit All-Access , care este o colecție incredibilă de instrumente de gestionare a fișierelor, care vă poate crește mult productivitatea.  Ce este UltraEdit și ce pot face licențele InterBase Server pentru afacerea dvs. prin promoția RAD Studio UltraEdit? Să le privim mai detaliat. Faceți cunoștință cu Ultra Edit Cu peste patru milioane de utilizatori din întreaga lume, UltraEdit este un editor de text, cod și hexadecimal pe disc premiat pentru Windows, Mac și Linux. Poate edita HTML, PHP, JavaScript, Perl, C/C++, Python și, practic, orice alt limbaj de programare. Dezvoltatorii RAD Studio includ Ultra Edit în centura lor de instrumente de dezvoltare pentru a simplifica lucrul pe parcursul ciclului de viață al dezvoltării și pentru a scurta timpul de lansare pe piață. Un utilizator numește UltraEdit „ Bugatti al editorilor de text într-o lume inundată de Ford și Dacia. Face totul bine și face multe din toate. Există dezvoltatori care înghesuie cât mai multe funcții în software-ul lor și ajung să obțină rezultate pe jumătate (și greșite). UltraEdit este bogat în funcții și totul este bine făcut ”. Cunoscut pentru gestionarea rapidă și corectă a fișierelor foarte mari. Gestionarea fișierelor UltraEdit este concepută pentru a împiedica utilizarea întregii memorie disponibile, ceea ce ar opri rularea altor aplicații. Aceasta înseamnă că UltaEdit nu are o limită reală în ceea ce privește dimensiunea fișierului – și poate deschide, edita și salva cu ușurință fișiere text mari de peste 4 GB! UltraEdit acceptă gestionarea fișierelor pe 64 de biți atât pe platformele Windows pe 32 de biți, cât și pe 64 de biți (Windows 7 și versiuni ulterioare). Iată ce are de spus CNET/Download.com despre UltraEdit: „Cu aspectul său clar și caracteristicile puternice pentru proiect și spațiu de lucru, poate gestiona proiecte complexe și sofisticate de dezvoltare de software. Dar, în ciuda gamei sale vaste de funcții, UltraEdit nu se simte niciodată copleșitor. Este flexibil și ușor de personalizat, iar interfața de utilizator rafinată oferă acces ușor la cele mai importante opțiuni…” Caracteristici remarcabile Putere, performanță, viteza de pornire și încărcare de fișiere de neegalat Teme personalizabile, configurabile, frumoase Integrarea sistemului de operare (linie de comandă, extensie shell) Căutare / înlocuire și căutare rapidă în fișiere / înlocuire în fișiere Comparare fișier complet integrată. Operații de diferențiere instantanee Browser nativ FTP/SFTP, consolă SSH/telnet Un tip puternic de fișier / selecție Gestionarea fișierelor mari demnă de un lider pe piață: peste 10 GB și mai mult Editare hexagonală. Editare coloană / blocare Suport special XML și JSON. Analizați și reformatați rapid XML/JSON UltraEdit Standard include UltraCompare Professional GRATUIT! UltraEdit include UltraCompare Professional. UC Pro oferă compararea și îmbinarea fișierelor în 2 și 3 căi, compararea și sincronizarea folderelor, compararea hex, compararea tabelului/Excel, sincronizarea locală/la distanță și integrarea Git. O licență UltraEdit personală poate fi instalată pe până la 3 mașini pe orice combinație de platforme. Architect Edition vine cu UltraEdit All-Access: Ce este All-Access? UltraEdit All-Access este o colecție de instrumente de gestionare a fișierelor. Pe lângă UltraEdit, colecția include: UE Studio : Integrare nativă a tuturor ramurilor dvs. Git. Clonează, verifică, actualizează, commit și push/pull, direct din UEStudio pentru a-ți gestiona depozitele Git UltraCompare : comparați 2 sau 3 fișiere din […]

Read More

How to access GitLab on a private network with Tailscale

GitLab provides an easy-to-install package for most Linux distributions and even for devices like the Raspberry Pi. However, if you want to install GitLab in a home lab or similar private network, you would then be faced with a new issue: how do you access the instance from outside that private network? Traditionally, you would set up your router to forward traffic from your public IP address to the server inside your network. However, this comes with several drawbacks: Opening a port on your home or private network comes with a sustainable amount of risk. It can be hard or impossible for folks to do depending on their internet service provider and what routing equipment they use. It can be especially tough if your ISP doesn’t provide you with a statically assigned IP address which means your address can change from time to time, and you’ll need to either update DNS manually or through some third-party dynamic DNS service. For me, all of these challenges have meant that I’ve only ever really run GitLab “for fun” on my local network. Given the challenges above, running a permanent installation wasn’t an option. That is until Tailscale entered my life. Tailscale Tailscale isn’t necessarily the “newest” technology. In fact, it is based on the WireGuard protocol, which has existed in one form or another since 2015 and has seen native kernel support added to various Linux distributions as well as the kernel itself over the past several years. Wireguard VPN technology makes considerable improvements in the usability and setup of virtual private networks over earlier protocols like IPsec. Even with being easier to use, the “problem” with WireGuard, at least for me, was always that it was still too complex to set up and maintain. Much like configuring my ISP’s router for port forwarding, it wasn’t impossible, but it just wasn’t practical. Enter Tailscale. Tailscale provides a simple piece of client software, available for Linux, Mac, and Windows (and iOS and Android!), which implements the WireGuard protocol and allows you to control your VPN network from a handy web interface. Not only that, it’s free to use for individuals and small networks. When I started using Tailscale, it was to make sure I could connect back to my home network and troubleshoot it while traveling for work. As the only system administrator in my house, this was fantastic. However, Tailscale also offers the ability to easily access services inside of various networks as well by setting up a mesh VPN between them, all with IP addresses in the 100.x.y.z range. That means for any web service or other service on my network, I can access it with a statically assigned IP address from any other device connected to Tailscale, and create a DNS record to have a domain point to the IP address. At last, I could run GitLab (and other open source tools) at home and safely connect to them from outside my house with as little hassle as possible. So how did I get it to work? Tailscale and GitLab together Assuming you already have a GitLab installation up and running on your network, getting it working through Tailscale involves a few steps: Installing Tailscale Setting up DNS for the private address Configuring HTTPS encryption Installing Tailscale Packages are available […]

Read More

Artist highlight: Jonathan van Immerzeel

When I was really getting my feet wet with 3D modeling, games like Rime and Breath of the Wild always managed to captivate my interest. Their abstracted art styles and use of color inspired a sense of adventure and exploration which really resonated with me. Non-photorealistic game art still sits at the core of what I strive for. More recently, Ubisoft’s open world games have set the bar for me in terms of scale and worldbuilding workflows. I can only imagine the amount of research and development that must go into vegetation alone. Over time, I started learning more about the natural world through reference materials, which drove me to see those places in person. This provided me ample opportunities to capture source materials and generally soak up inspiration. In a sense, observing and simplifying the intricacies of nature and translating them to a video game context sits at the heart of my job!

Read More

Animation Curves, the ultimate design lever

The row of spheres in the image above was created by positioning a sequence of Rigidbodies in a row and constraining their X and Z Freeze Position properties. An upward force was then applied using an Animation Curve based on the compression upward force, but with different curves for each sphere, positioned side-by-side for better visualization. You can use this technique to find the desired level of bounce for an object, or to tweak existing bounce to balance out characteristics. As a designer, being able to manipulate the characteristics of the upward force can help you create abstractions of more complex functions. Curves are a powerful XY chart data type, and though not technically perfect, they can help you prototype speedy damping solutions that can be visually edited in the Inspector and saved as presets at runtime. In this blog on the art of damping, Alexis Bacot highlights all the things that “depend on good damping. Camera, animation, movement, color gradients, UI transitions, and many many more… it’s used everywhere! Understanding damping is key to achieving great polish. Damping alone can make the difference between a bad or good experience.” In the same post, he demonstrates how Unity’s SmoothDamp can be used to create a beautiful ease in and out, and reacts to the target changing accurately. But it does not bounce like an “advanced spring damper that can oscillate, which is great for car suspension or fake ball physics” – an example of where Animation Curves provide a powerful advantage. Of course, curves have more uses than as an XY data type to manipulate gameplay. They can also be treated as an evaluation tool to capture data visually using AddKey via the Unity API. For evaluating a position over time, such as damping in the vehicle suspension example, or the falling spheres, use AddKey(elapsedTime, currentSpringCompression) in a method, and then call that method and pass captureResolution as the repeating rate via InvokeRepeating. A capture resolution of 0.1f means that, at every 0.1s, a key is added to the curve. View the mini result in the Inspector, or open the graph up to see the complete data.

Read More

How Kidoz and Unity are building a safer digital space for children

CE: What is the original story behind Kidoz? JW: Kidoz first started as a developer of apps and other software specifically for children under 13. Through that experience, we identified one of the biggest challenges for advertisers and publishers is reach and monetization within young audiences.  For example, we saw regulatory policies from Google and Apple tightening and becoming more stringent over time as they increased their privacy and security.  At this time, there was an opportunity to launch a proprietary ad network using our own custom built SDK and partner with app developers whose target audience is children.   CE: How do you work with publishers and advertisers? JW: We only use contextual targeting to identify unique segments within the thousands of apps we reach using the Kidoz SDK and through our direct supply partners.   We execute special campaign plans for our advertising partners to whom compliance with COPPA, GDPR, Google and Apple is business and brand critical. This commitment to compliance and performance has made Kidoz the number one kid-safe mobile network. Kidoz has a large network of sales and agency partners that represent the Kidoz inventory globally and just last year in 2021 we activated deals in 58 different countries.     CE: What kind of brands does Kidoz work with? JW: We work directly or through our sales partners with most of the global brands that advertise to children and families. These brands prioritize compliant child-safe media for their advertising and they know Kidoz can help them reach their audience at scale. In the toy industry, some of the brands we work with include Lego, Mattel, Hasbro, Playmobil, MGA, and Spinmaster. In entertainment, we work with Disney, Netflix, Universal, Paramount, Warner, Sony, Amazon Prime, Nickelodeon, and many more. These brands are global leaders and while they are the most active when it comes to child-directed media, they are also deeply committed to advertising compliance and therefore the Kidoz solution and our network partners must be completely compliant in technology and operations.   CE: What should publishers and advertisers be thinking about to stay compliant while increasing their revenue? JW: First and foremost, advertisers and publishers need to ensure they’re working with COPPA and GDPR compliant partners that stay aligned with the latest policies and keep their technology up to date. There’s no room for mistakes when it comes to advertising to child audiences as the penalties can be large for those that are noncompliant. As children are a significant percentage of all app traffic, there’s a growing trend amongst developers to operate apps with an age gate that segments users into COPPA, which is currently under 13 years of age, and also non-COPPA users that are 13 and above. With age gating, publishers can operate two separate monetization technologies which allows for the distinct treatment of both user segments. This approach can facilitate compliant monetization of both user segments.   CE: How do you see child advertising and COPPA evolving in the next decade? JW: The most important aspect of evolution over the last few years has been the tighter enforcement by the Federal Trade Commission (FTC) and the issuance of penalties for infringements. This has forced game publishers, brands, and the platforms themselves to adopt and enforce COPPA and GDPR compliance. Many other countries […]

Read More