Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: pub@towardsai.net
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-François Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

10 Top Geolocation Based App Ideas in 2021
Latest   Machine Learning   Newsletter

10 Top Geolocation Based App Ideas in 2021

Last Updated on July 24, 2023 by Editorial Team

Author(s): Sophia Martin

Originally published on Towards AI.

Location is the key to most businesses, and the entrepreneurs typically build their reputation at a particular spot. -Phyllis Schlafly

Agree with it or not, but geolocation is being witnessed in more than 90% of apps that are installed on every smartphone. It is one of the best features that the user can get in today’s innovative technological environment.

And with the introduction of geolocation features in mobile apps, many new doors have been opened for startup and businesses. This mini yet essential feature allows the user to construct amazing experiences with mobile applications.

So Now The Question Is: Can this feature bring smart devices with a change in the whole game 0f future?

Well, there are ways in which this unique technology can move ahead with the popularity of location-based services. Recent research into Geolocation services in the USA shows that one in three adult Americans uses Geolocation services at least once a week. This clearly shows that integration can be superb and fabulous.

Therefore, here are some of the unique location-based apps ideas that we have presented our audience with. These ideas would not only help them to bring that million-dollar idea into reality, but it would also give them a blueprint of the things they want.

Amazing 10 Top Geolocation-Based App Ideas

This feature tends to develop many cool and amazing apps, and in the near future, it would continue to do so. Here are some of the coolest and top location-based apps ideas 2021 that would tell you how far we are down the road, and where all can we go.

1. Fitness Tracking and Health Scaling

A study that was done by NYU Langone Medical Health, 58% of US smartphone owners, tends to download those apps that are associated with health or fitness apps. These location-based fitness and health apps go as far as estimating the speed and the activity just with the help of tracking the live location. The most significant advantage of these location-based apps is that they let the user connect with friends and local communities in live deportment.

For all the sport-lovers, these GPS enabled apps to tend to input data to create and keep track of their walking, cycling, and running trails. Not only the miles, but these apps tend to record other exercises like swimming, dancing, cycling, and many other things. These apps work in a way where they access the phone’s GPS data to track speed, map the routes, or even unite the user with fellow runners in the places that are nearby. Not only tacking, but the app tends to use geolocation in the app that tends to obtain the most imminent fitness studios or personal coaches and even observe local provisions in video streaming fitness apps.

2. Navigation and Mapping for Tourism

This is a huge market opportunity for all location-based apps and location-based app development. When it is paired with AR and all the other apps, wonders tend to happen. For the people who love traveling and seeing new places, they always require some help or an innovative friend that would know about all the sites. Apps like NativeX tend to show some of the best spots in a city that the people are traveling. The location-based apps tend to provide the user with information about the sights and local businesses right on the mobile device.

It encourages tourists to obtain guidance and recommendations about resorts, restaurants, or watchable cities near the chosen locations. The Geolocation settings also allow the apps to present driving directions or notify passengers concerning possible transportation. There are apps such as Airbnb that tends to give the user localization as well as for instructions when trying to find a hotel or any other hosting place.

3. Online Gaming and Augmented Reality

Started from super Mario and here we are.

Then the popularity of the mobile game has been long with people from the time it has come into existence. The massive adoption of Pokemon Go made quite a stir with every individual. There is something really interesting about that game, which helps the user to recreate the world that they are living in and that itself is really exciting. The location feature of this mobile game has earned good popularity. Thus it is quite evident that a game app like this can do wonders in the market.

If the user is thinking of generating an augmented reality game app, then they should consider Geolocation apps to improve the trending game lovers and enthusiasts to avail of the advantages of the feature. Thus, geolocation has to be one of the most advantageous things that are included in the game apps. There are a lot of other examples of these apps, too, that tend to use location. Some of the examples of these apps would include scavenger hunt-type games like scavify.

4. Dating Apps and the Increasing Connectivity

The advantage of this feature has improved the functionality of various dating apps. Creating a dating app like Tinder or Bumble is an excellent and most significant plan, the user can create and construct a dating app by combining the Geolocation feature. They have the authority to add several characteristics like location, distance range, and other things too.

Now there is no need to wait for the right one because these apps tend to make everything easy for you. The best part is that the user can set everything according to their needs and find their true one. The Geolocation system enables the app-designers to combine a distance range into the application as well.

And there is no hidden fact that these apps are doing really well in the market with providing services related to location-based mobile app development. Thus, it would not be a bad idea to construct platforms like these.

5. Safety App and Tracking of the Whereabouts

Safety and tracking the whereabouts of your loved ones: Isn’t this amazing?

Well, it is one of the most famous and top location-based mobile apps ideas 2021

How?

Well, Geo-targeting tends to include the detecting and tracking of a person’s location, and that tends to present them with the communication-based message on their site. Those are the communications that might include things like ads or other such related content. It can be a short email, or it can either be a geo-targeted push notification. Geo-targeted communications are formed with the most precise and standard text or push notifications, and it might also come when they would open a particular app on the social media website. Geo-targeting enables the user to target the users wherever their device would go.

Applications like Road iD, Garmin LiveTrack uses this technology to keep the woman of the neighbourhood safe and sound.

6. Checking on the Weather-related Apps

If you are living in a city that has weather like the moods, then you know what I am talking about. For people like these, smartphones have always been their savior. Weather applications like Weather Underground or Yahoo Weather have always provided the users with data and information on climate and have always been among location-based apps trends.

It is categorized as the third most popular and leading mobile app idea that integrated with the Geolocation system that it further presents the user with an accurate and precise forecast based on the user’s current location. Not only this, but the app tends to prevent the Weather app from representing a broad and comprehensive array of data and improves its performance as well.

7. Locate it via Pictures

Let’s imagine that you saw a picture of a dish that was really tempting and sumptuous. You go online and start looking for the lounges that are nearby, but unfortunately, you are not able to find the desired place.

Well, sometimes, it is really really hard and difficult for the user to find and locate a place even if they have a picture of it. Thus, geolocation has presented them with one of the easiest ways to locate their location by picture through

One of the biggest examples of such apps is HoReCa. This location-based app may be a great tool both for both advertisers as well as visitors.

How does geolocation app work in this category? Well!

Well, the advertisers can utilize the app in order to locate and find photos of happy customers. Not only this, but they may count customers on the basis of gifts from the restaurants and cafes for check-ins like this used to be in Foursquare app. Thus, with the introduction of these apps, the audience has come close to a more evolved future.

8. Building Indoor App

If the mobile app development company thought that geolocation was only limited to outdoor applications that require the user to travel, then you are a bit wrong. It is not limited to outdoor applications. There are apps primarily for hotels, large resorts, and malls that tend to create apps that help visitors and shoppers to navigate around. It may include venue, local bathroom, dining hall, sauna pool area, and many such related things.

This indoor navigation tends to utilize the network that is there for the BLE device (Bluetooth low energy) instead of traditional GPS data. However, the possibilities of such technologies are endless.

Some of the best examples of these apps are Google Indoor Maps and Path Guide. These are the apps that tend to obtain those sensors in the handset and the environment around the user. They then tend to build a map to help the user and help them move to their desired location within the building quickly and efficiently. In short, the app tends to improve the user to find their way in a whole, obscure building.

9. Getting Social Became Easy

You would rarely find a being in today’s technological driven era, not using a social media platform or mobile app development services. People love it, adore it, and cherish it as much as they can.

Reason: They tend to create, share and discuss all the location-based content. To put it in simpler words, Social Media is always in real-time.

One of the most prominent examples of such an app is Instagram. Even though the location-based settings app features are not the focus part of Instagram, but it still is committed to building the best possible user experience. A user has the authority to keep posting about their lives as it happens and then shares it publicly with other users and selected friends.

The app virtually eliminates the need to text or call. Users can set up groups and share different experiences and events, as they occur with specific groups (or not). Similarly, if the user ever organizes a social networking app, it doesn’t involve what the focus part is, the user should always consider combining geolocation pieces.

10. Not Forgetting the E-commerce

The location Based App Development Services feature is again a useful locating app that tends to track and help people to purchase on e-commerce apps. This is the functionality that enables the user to know when the item is getting shipped and when the issue is going to get received.

Not only this, but if there is an e-commerce app that tends to charge extra for the shipping, then they could only calculate and sum up with the help of this geolocation feature.

When it is about the retail and e-commerce management, it tends also tends to track the location of their customers and the audience that offers and provides better-improved services.

There are also retail stores such as Target, IKEA, and Walmart that tend to use geolocation tracking apps to help the customers and the audience locate the nearest stores. Then they tend to deliver it with the help of pickup locations. One of the best parts about Indoor navigation is that geolocation tends to help in beacons technology that then helps in augment in-experience.

So if any user is planning and thinking to create or construct an E-commerce app, then Geolocation based app is the hero for you. All you need is to integrate the geolocation feature to avail of these advantages for both you and your customers.

In The Nutshell

One thing that is clear and evident in the fact that once individuals become familiar with the tasks and the idea that they can adopt too, it becomes effortless for them to know what they want. And with the immense potential with geolocation, mobile market apps are becoming striking unique. To help you with more navigation, route tracking, and the personalized market for products and services, geolocation is the hero of the day. Before you hire mobile app developers, make sure that they are aware of the latest trends.

We hope that this article has provided you with all the necessary details and information on all location-based apps. If the user has any doubts regarding the following topics, then they can write their thoughts on the comment section below. Our experts would answer them and provide essential tips and information.

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

Published via Towards AI

Feedback ↓

Sign Up for the Course
`; } else { console.error('Element with id="subscribe" not found within the page with class "home".'); } } }); // Remove duplicate text from articles /* Backup: 09/11/24 function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag elements.forEach(el => { const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 2) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); */ // Remove duplicate text from articles function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag // List of classes to be excluded const excludedClasses = ['medium-author', 'post-widget-title']; elements.forEach(el => { // Skip elements with any of the excluded classes if (excludedClasses.some(cls => el.classList.contains(cls))) { return; // Skip this element if it has any of the excluded classes } const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 10) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); //Remove unnecessary text in blog excerpts document.querySelectorAll('.blog p').forEach(function(paragraph) { // Replace the unwanted text pattern for each paragraph paragraph.innerHTML = paragraph.innerHTML .replace(/Author\(s\): [\w\s]+ Originally published on Towards AI\.?/g, '') // Removes 'Author(s): XYZ Originally published on Towards AI' .replace(/This member-only story is on us\. Upgrade to access all of Medium\./g, ''); // Removes 'This member-only story...' }); //Load ionic icons and cache them if ('localStorage' in window && window['localStorage'] !== null) { const cssLink = 'https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css'; const storedCss = localStorage.getItem('ionicons'); if (storedCss) { loadCSS(storedCss); } else { fetch(cssLink).then(response => response.text()).then(css => { localStorage.setItem('ionicons', css); loadCSS(css); }); } } function loadCSS(css) { const style = document.createElement('style'); style.innerHTML = css; document.head.appendChild(style); } //Remove elements from imported content automatically function removeStrongFromHeadings() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, h6, span'); elements.forEach(el => { const strongTags = el.querySelectorAll('strong'); strongTags.forEach(strongTag => { while (strongTag.firstChild) { strongTag.parentNode.insertBefore(strongTag.firstChild, strongTag); } strongTag.remove(); }); }); } removeStrongFromHeadings(); "use strict"; window.onload = () => { /* //This is an object for each category of subjects and in that there are kewords and link to the keywods let keywordsAndLinks = { //you can add more categories and define their keywords and add a link ds: { keywords: [ //you can add more keywords here they are detected and replaced with achor tag automatically 'data science', 'Data science', 'Data Science', 'data Science', 'DATA SCIENCE', ], //we will replace the linktext with the keyword later on in the code //you can easily change links for each category here //(include class="ml-link" and linktext) link: 'linktext', }, ml: { keywords: [ //Add more keywords 'machine learning', 'Machine learning', 'Machine Learning', 'machine Learning', 'MACHINE LEARNING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ai: { keywords: [ 'artificial intelligence', 'Artificial intelligence', 'Artificial Intelligence', 'artificial Intelligence', 'ARTIFICIAL INTELLIGENCE', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, nl: { keywords: [ 'NLP', 'nlp', 'natural language processing', 'Natural Language Processing', 'NATURAL LANGUAGE PROCESSING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, des: { keywords: [ 'data engineering services', 'Data Engineering Services', 'DATA ENGINEERING SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, td: { keywords: [ 'training data', 'Training Data', 'training Data', 'TRAINING DATA', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ias: { keywords: [ 'image annotation services', 'Image annotation services', 'image Annotation services', 'image annotation Services', 'Image Annotation Services', 'IMAGE ANNOTATION SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, l: { keywords: [ 'labeling', 'labelling', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, pbp: { keywords: [ 'previous blog posts', 'previous blog post', 'latest', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, mlc: { keywords: [ 'machine learning course', 'machine learning class', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, }; //Articles to skip let articleIdsToSkip = ['post-2651', 'post-3414', 'post-3540']; //keyword with its related achortag is recieved here along with article id function searchAndReplace(keyword, anchorTag, articleId) { //selects the h3 h4 and p tags that are inside of the article let content = document.querySelector(`#${articleId} .entry-content`); //replaces the "linktext" in achor tag with the keyword that will be searched and replaced let newLink = anchorTag.replace('linktext', keyword); //regular expression to search keyword var re = new RegExp('(' + keyword + ')', 'g'); //this replaces the keywords in h3 h4 and p tags content with achor tag content.innerHTML = content.innerHTML.replace(re, newLink); } function articleFilter(keyword, anchorTag) { //gets all the articles var articles = document.querySelectorAll('article'); //if its zero or less then there are no articles if (articles.length > 0) { for (let x = 0; x < articles.length; x++) { //articles to skip is an array in which there are ids of articles which should not get effected //if the current article's id is also in that array then do not call search and replace with its data if (!articleIdsToSkip.includes(articles[x].id)) { //search and replace is called on articles which should get effected searchAndReplace(keyword, anchorTag, articles[x].id, key); } else { console.log( `Cannot replace the keywords in article with id ${articles[x].id}` ); } } } else { console.log('No articles found.'); } } let key; //not part of script, added for (key in keywordsAndLinks) { //key is the object in keywords and links object i.e ds, ml, ai for (let i = 0; i < keywordsAndLinks[key].keywords.length; i++) { //keywordsAndLinks[key].keywords is the array of keywords for key (ds, ml, ai) //keywordsAndLinks[key].keywords[i] is the keyword and keywordsAndLinks[key].link is the link //keyword and link is sent to searchreplace where it is then replaced using regular expression and replace function articleFilter( keywordsAndLinks[key].keywords[i], keywordsAndLinks[key].link ); } } function cleanLinks() { // (making smal functions is for DRY) this function gets the links and only keeps the first 2 and from the rest removes the anchor tag and replaces it with its text function removeLinks(links) { if (links.length > 1) { for (let i = 2; i < links.length; i++) { links[i].outerHTML = links[i].textContent; } } } //arrays which will contain all the achor tags found with the class (ds-link, ml-link, ailink) in each article inserted using search and replace let dslinks; let mllinks; let ailinks; let nllinks; let deslinks; let tdlinks; let iaslinks; let llinks; let pbplinks; let mlclinks; const content = document.querySelectorAll('article'); //all articles content.forEach((c) => { //to skip the articles with specific ids if (!articleIdsToSkip.includes(c.id)) { //getting all the anchor tags in each article one by one dslinks = document.querySelectorAll(`#${c.id} .entry-content a.ds-link`); mllinks = document.querySelectorAll(`#${c.id} .entry-content a.ml-link`); ailinks = document.querySelectorAll(`#${c.id} .entry-content a.ai-link`); nllinks = document.querySelectorAll(`#${c.id} .entry-content a.ntrl-link`); deslinks = document.querySelectorAll(`#${c.id} .entry-content a.des-link`); tdlinks = document.querySelectorAll(`#${c.id} .entry-content a.td-link`); iaslinks = document.querySelectorAll(`#${c.id} .entry-content a.ias-link`); mlclinks = document.querySelectorAll(`#${c.id} .entry-content a.mlc-link`); llinks = document.querySelectorAll(`#${c.id} .entry-content a.l-link`); pbplinks = document.querySelectorAll(`#${c.id} .entry-content a.pbp-link`); //sending the anchor tags list of each article one by one to remove extra anchor tags removeLinks(dslinks); removeLinks(mllinks); removeLinks(ailinks); removeLinks(nllinks); removeLinks(deslinks); removeLinks(tdlinks); removeLinks(iaslinks); removeLinks(mlclinks); removeLinks(llinks); removeLinks(pbplinks); } }); } //To remove extra achor tags of each category (ds, ml, ai) and only have 2 of each category per article cleanLinks(); */ //Recommended Articles var ctaLinks = [ /* ' ' + '

Subscribe to our AI newsletter!

' + */ '

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

'+ '

Towards AI has published Building LLMs for Production—our 470+ page guide to mastering LLMs with practical projects and expert insights!

' + '
' + '' + '' + '

Note: Content contains the views of the contributing authors and not Towards AI.
Disclosure: This website may contain sponsored content and affiliate links.

' + 'Discover Your Dream AI Career at Towards AI Jobs' + '

Towards AI has built a jobs board tailored specifically to Machine Learning and Data Science Jobs and Skills. Our software searches for live AI jobs each hour, labels and categorises them and makes them easily searchable. Explore over 10,000 live jobs today with Towards AI Jobs!

' + '
' + '

🔥 Recommended Articles 🔥

' + 'Why Become an LLM Developer? Launching Towards AI’s New One-Stop Conversion Course'+ 'Testing Launchpad.sh: A Container-based GPU Cloud for Inference and Fine-tuning'+ 'The Top 13 AI-Powered CRM Platforms
' + 'Top 11 AI Call Center Software for 2024
' + 'Learn Prompting 101—Prompt Engineering Course
' + 'Explore Leading Cloud Providers for GPU-Powered LLM Training
' + 'Best AI Communities for Artificial Intelligence Enthusiasts
' + 'Best Workstations for Deep Learning
' + 'Best Laptops for Deep Learning
' + 'Best Machine Learning Books
' + 'Machine Learning Algorithms
' + 'Neural Networks Tutorial
' + 'Best Public Datasets for Machine Learning
' + 'Neural Network Types
' + 'NLP Tutorial
' + 'Best Data Science Books
' + 'Monte Carlo Simulation Tutorial
' + 'Recommender System Tutorial
' + 'Linear Algebra for Deep Learning Tutorial
' + 'Google Colab Introduction
' + 'Decision Trees in Machine Learning
' + 'Principal Component Analysis (PCA) Tutorial
' + 'Linear Regression from Zero to Hero
'+ '

', /* + '

Join thousands of data leaders on the AI newsletter. It’s free, we don’t spam, and we never share your email address. Keep up to date with the latest work in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

',*/ ]; var replaceText = { '': '', '': '', '
': '
' + ctaLinks + '
', }; Object.keys(replaceText).forEach((txtorig) => { //txtorig is the key in replacetext object const txtnew = replaceText[txtorig]; //txtnew is the value of the key in replacetext object let entryFooter = document.querySelector('article .entry-footer'); if (document.querySelectorAll('.single-post').length > 0) { //console.log('Article found.'); const text = entryFooter.innerHTML; entryFooter.innerHTML = text.replace(txtorig, txtnew); } else { // console.log('Article not found.'); //removing comment 09/04/24 } }); var css = document.createElement('style'); css.type = 'text/css'; css.innerHTML = '.post-tags { display:none !important } .article-cta a { font-size: 18px; }'; document.body.appendChild(css); //Extra //This function adds some accessibility needs to the site. function addAlly() { // In this function JQuery is replaced with vanilla javascript functions const imgCont = document.querySelector('.uw-imgcont'); imgCont.setAttribute('aria-label', 'AI news, latest developments'); imgCont.title = 'AI news, latest developments'; imgCont.rel = 'noopener'; document.querySelector('.page-mobile-menu-logo a').title = 'Towards AI Home'; document.querySelector('a.social-link').rel = 'noopener'; document.querySelector('a.uw-text').rel = 'noopener'; document.querySelector('a.uw-w-branding').rel = 'noopener'; document.querySelector('.blog h2.heading').innerHTML = 'Publication'; const popupSearch = document.querySelector$('a.btn-open-popup-search'); popupSearch.setAttribute('role', 'button'); popupSearch.title = 'Search'; const searchClose = document.querySelector('a.popup-search-close'); searchClose.setAttribute('role', 'button'); searchClose.title = 'Close search page'; // document // .querySelector('a.btn-open-popup-search') // .setAttribute( // 'href', // 'https://medium.com/towards-artificial-intelligence/search' // ); } // Add external attributes to 302 sticky and editorial links function extLink() { // Sticky 302 links, this fuction opens the link we send to Medium on a new tab and adds a "noopener" rel to them var stickyLinks = document.querySelectorAll('.grid-item.sticky a'); for (var i = 0; i < stickyLinks.length; i++) { /* stickyLinks[i].setAttribute('target', '_blank'); stickyLinks[i].setAttribute('rel', 'noopener'); */ } // Editorial 302 links, same here var editLinks = document.querySelectorAll( '.grid-item.category-editorial a' ); for (var i = 0; i < editLinks.length; i++) { editLinks[i].setAttribute('target', '_blank'); editLinks[i].setAttribute('rel', 'noopener'); } } // Add current year to copyright notices document.getElementById( 'js-current-year' ).textContent = new Date().getFullYear(); // Call functions after page load extLink(); //addAlly(); setTimeout(function() { //addAlly(); //ideally we should only need to run it once ↑ }, 5000); }; function closeCookieDialog (){ document.getElementById("cookie-consent").style.display = "none"; return false; } setTimeout ( function () { closeCookieDialog(); }, 15000); console.log(`%c 🚀🚀🚀 ███ █████ ███████ █████████ ███████████ █████████████ ███████████████ ███████ ███████ ███████ ┌───────────────────────────────────────────────────────────────────┐ │ │ │ Towards AI is looking for contributors! │ │ Join us in creating awesome AI content. │ │ Let's build the future of AI together → │ │ https://towardsai.net/contribute │ │ │ └───────────────────────────────────────────────────────────────────┘ `, `background: ; color: #00adff; font-size: large`); //Remove latest category across site document.querySelectorAll('a[rel="category tag"]').forEach(function(el) { if (el.textContent.trim() === 'Latest') { // Remove the two consecutive spaces (  ) if (el.nextSibling && el.nextSibling.nodeValue.includes('\u00A0\u00A0')) { el.nextSibling.nodeValue = ''; // Remove the spaces } el.style.display = 'none'; // Hide the element } }); // Add cross-domain measurement, anonymize IPs 'use strict'; //var ga = gtag; ga('config', 'G-9D3HKKFV1Q', 'auto', { /*'allowLinker': true,*/ 'anonymize_ip': true/*, 'linker': { 'domains': [ 'medium.com/towards-artificial-intelligence', 'datasets.towardsai.net', 'rss.towardsai.net', 'feed.towardsai.net', 'contribute.towardsai.net', 'members.towardsai.net', 'pub.towardsai.net', 'news.towardsai.net' ] } */ }); ga('send', 'pageview'); -->