body, html { background-color:#FAFAFA; } .hero-text { font-size:clamp(10px, 1.5vw, 18px); } .wp-block-post-content { margin-top:0; } .fancy-text strong { background: -webkit-linear-gradient(145deg, #E82586, #FC9802); -webkit-background-clip: text; -webkit-text-fill-color: transparent; color: transparent; background-clip: text; } /* Simple fade-in animation for the content */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

iMotions 11


Cerner tous les aspects du comportement humain

En 2005, nous nous sommes lancés avec une vision ambitieuse : donner aux chercheurs les moyens de percevoir les signaux qui se cachent sous la surface, de comprendre comment les gens pensent, ressentent et agissent réellement, sans être limités à un seul appareil ou à une seule méthode.

Vingt ans plus tard, nos utilisateurs partagent notre vision. Aujourd’hui, iMotions s’impose comme la première plateforme mondiale dédiée à la recherche comportementale multimodale, à laquelle font confiance des scientifiques, des enseignants et des entreprises du monde entier.

Rejoignez Peter Hartzbech, PDG, pour une rétrospective sur 20 ans d’innovation, et explorez la chronologie interactive pour découvrir comment iMotions a redéfini la recherche comportementale – et ce que l’avenir nous réserve.

Conçu pour les chercheurs, perfectionné par l’expérience

La version 11 de Motions s’inscrit dans la poursuite de notre objectif à long terme : rendre la recherche comportementale plus accessible, plus rapide et plus flexible pour tous.

S’appuyant sur vingt ans d’expérience, cette version met l’accent sur des améliorations concrètes qui aident les chercheurs à travailler plus efficacement, qu’il s’agisse d’une intégration plus fluide des capteurs ou de meilleurs outils d’automatisation et de visualisation.

Chaque mise à jour s’inscrit dans la même vision : une plateforme indépendante du matériel, sur laquelle vous pouvez connecter les outils dont vous avez besoin, analyser efficacement vos données et partager vos conclusions en toute confiance.

Découvrez Jacob Ulmert, vice-président de l’ingénierie chez iMotions, qui vous présente les dernières mises à jour et vous fait découvrir les nouveautés d’iMotions 11.

Découvrez les étapes clés de l’innovation qui ont conduit pratiquement toutes les grandes universités, au fil des ans, à adopter notre logiciel

:root { /* — Define Company Colors — */ –imotions-color: #FC8902; /* Blue */ –affectiva-color: #E82586; /* Green */ –default-color: white; /* Gray */ /* — Define Marker Styles — */ –marker-size: 14px; –marker-color: #e0e0e0; –marker-active-color: #333; –marker-hover-color: #aaa; /* — Define Marker Positions — */ –pos-center: 33px; /* 20px (nav center) – 7px (half marker) */ –pos-stacked-top: 26px; –pos-stacked-bottom: 40px; } /* — Timeline Container — */ .timeline-container { max-width: clamp(16rem, 85vw, 80rem); margin: 2rem auto; padding: 3rem; border-radius: 1.5em; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); background:linear-gradient(45deg, #041C38, #073465, #041C38); box-sizing:border-box; } .timeline-container h2 { margin-top: 0; color:#FFF;} /* — Filter Controls (Unchanged) — */ .timeline-filters { display: flex; justify-content: space-between; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; display:none; } .timeline-filters .filter-group { display: flex; flex-direction: column; } .timeline-filters .filter-group strong { font-size: 0.8rem; text-transform: uppercase; color: #FFF; margin-bottom: 0.5rem; } .timeline-filters .filter-group button { background-color: transparent; border: 1px solid white; border-radius: 4px; color:white; background: transparent; padding: 0.4rem 0.8rem; font-size: 0.9rem; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; margin-right: 0.5rem; } .timeline-filters .filter-group button:hover { background-color: #ddd; background: #ffffff3b;} .timeline-filters .filter-group button.active { color: #fff; background: #ffffff3b;} .timeline-filters [data-filter-group="company"] button[data-filter="iMotions"].active { background-color: var(–imotions-color); } .timeline-filters [data-filter-group="company"] button[data-filter="Affectiva"].active { background-color: var(–affectiva-color); } .timeline-filters [data-filter-group="company"] button[data-filter="all"].active { background-color: #333; } .timeline-filters [data-filter-group="type"] button.active { background-color: #555; } .filter-group button[data-filter="company-milestone"]::before { content: ''; height: 1em; width: 1em; display: inline-block; background: black; vertical-align: middle; border-radius: 50%; margin-right: 0.3em; background:linear-gradient(45deg, #19AC85, #2B7CD5); } .filter-group button[data-filter="technology-milestone"]::before { content: ''; height: 0.8em; width: 0.8em; display: inline-block; background: black; vertical-align: middle; margin-right: 0.3em; transform: rotate(45deg); background: linear-gradient(45deg, #FC8902, #E82586); } /* — Timeline Navigation — */ .timeline-nav { position: relative; display: flex; justify-content: space-between; margin-bottom: 8rem; height: 40px; } .timeline-nav::before { content: ''; position: absolute; top: 40px; left: 0; right: 0; height: 2px; background-color: #FFF; transform: translateY(-50%); z-index: 1; } .timeline-nav button { position: relative; z-index: 2; background: none; border: none; padding: 0; cursor: pointer; width: 100%; height:80px; border-left: 1px dashed white; transition: all 200ms ease; } .timeline-nav button:first-child { border:0; } .timeline-nav button.active { background: #ffffff33; } .timeline-nav button::after { content: attr(data-year); position: absolute; top: 100%; left: 50%; transform: translateX(-50%); font-size: 0.85rem; font-weight: 600; color: #ffffff69; transition: color 0.3s ease; margin-top: 24px; } .timeline-nav button.active::after { color: #FFF; } .timeline-nav button:disabled::after { color: #ccc; } .timeline-nav button:disabled { cursor: not-allowed; width:0; border:0; } /* — Indicators (Unchanged) — */ .indicator { display: none; position: absolute; left: 50%; width: var(–marker-size); height: var(–marker-size); background-color: var(–marker-color); transition: all 0.3s ease; } .indicator.company-milestone { transform: translateX(-50%); border-radius: 50%; background:linear-gradient(45deg, #19AC85, #2B7CD5); } .indicator.technology-milestone { transform: translateX(-50%) rotate(45deg); background:linear-gradient(45deg,#FC8902, #E82586); } .timeline-nav button:hover .indicator { background-color: var(–marker-hover-color); } .timeline-nav button.active .indicator { background-color: var(–marker-active-color); transform: translateX(-50%) scale(1.2); } .timeline-nav button.active .indicator.technology-milestone { transform: translateX(-50%) rotate(45deg) scale(1.2); } .timeline-nav button:disabled .indicator { background-color: #f4f7f6; border: 2px solid #e0e0e0; opacity: 0.7; } /* — NEW: Tooltip Styling — */ .timeline-tooltip { display: none; position: absolute; bottom: 100%; /* Position above the button's content */ left: 50%; transform: translateX(-50%); margin-bottom: 28px; /* Space above the indicators */ background-color: #333; color: #fff; padding: 8px 12px; border-radius: 4px; width: max-content; /* Fit content */ max-width: 300px; z-index: 10; font-size: 0.85rem; pointer-events: none; /* Let hover pass through */ } /* Show tooltip on button hover */ .timeline-nav button:hover .timeline-tooltip { display: block; } /* Tooltip arrow */ .timeline-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border-width: 5px; border-style: solid; border-color: #333 transparent transparent transparent; } .tooltip-item { display: block; white-space: nowrap; } /* Space between items in the same tooltip */ .tooltip-item + .tooltip-item { margin-top: 6px; } /* Styling for the small indicator inside the tooltip */ .tooltip-item::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: middle; border-radius: 50%; /* Default to circle */ background-color: var(–default-color); /* Fallback */ } /* Set color by company */ .tooltip-item[data-company="iMotions"]::before { background-color: var(–imotions-color); } .tooltip-item[data-company="Affectiva"]::before { background-color: var(–affectiva-color); } /* Set shape by type */ .tooltip-item[data-type="company-milestone"]::before { transform: none; border-radius: 50%; } .tooltip-item[data-type="technology-milestone"]::before { transform: rotate(45deg); border-radius: 0; } .interactive-timeline { list-style: none; padding: 0; margin: 0; display:flex; flex-direction: column; align-items: center; } .interactive-timeline li { display: none; padding: 1rem 1.5rem;margin-bottom: 1rem; border-left: 5px solid var(–default-color); border-radius: 4px; background-color: #f9f9f90f; color: white; max-width: 520px; width: 100%; } .interactive-timeline li[data-company="iMotions"] { border-left-color: var(–imotions-color); } .interactive-timeline li[data-company="Affectiva"] { border-left-color: var(–affectiva-color); } .interactive-timeline li.active { display: block; animation: fadeIn 0.5s ease-in-out; } .interactive-timeline li b { display: block; font-size: 1.25rem; margin-bottom: 0.5rem; } .interactive-timeline li::before { content: attr(data-type) ' / ' attr(data-company); display: block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.75rem; color: var(–default-color); } .interactive-timeline li[data-company="iMotions"]::before { color: var(–imotions-color); } .interactive-timeline li[data-company="Affectiva"]::before { color: var(–affectiva-color); } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
Entreprise
Type d'étape
  • Création d'iMotions La vision fondatrice était de développer des technologies de détection des émotions non intrusives, en mettant fortement l'accent sur la couche logicielle. L'oculométrie à distance a été la première modalité de capteur à utiliser la pupille, le clignement des yeux et le regard pour estimer les réponses émotionnelles. Le premier tour de financement initial a permis de recruter du personnel et de commencer à développer le produit et l'activité. Le premier marché cible identifié était le neuromarketing, un domaine tout nouveau combinant les neurosciences, les biocapteurs et le marketing.
  • Lancement du premier produit Lancement d'Emotion Tool 1.0. Conçu pour répondre aux besoins des premiers utilisateurs de biocapteurs dans le domaine des études de marché. Il intégrait un algorithme de détection des réactions émotionnelles en instance de brevet, permettant aux spécialistes du marketing de pré-tester des publicités imprimées de manière rapide et simple.
  • Prix de l'entrepreneuriat : iMotions remporte le prix Edison de Computer World DK, décerné par le public, ce qui a renforcé la confiance de l'équipe d'iMotions et sa conviction quant à la direction choisie.
  • Expansion du marché en période de crise La crise financière de 2008 touche également iMotions, le financement des start-ups devenant difficile. Une crise est un excellent accélérateur d'innovation : iMotions élargit son produit pour prendre en charge davantage de cas d'utilisation et une clientèle plus large.
  • Premier client universitaire : iMotions signe son premier contrat avec un client universitaire, la CBS au Danemark.
  • Au-delà de l'oculométrie : virage vers une plateforme multimodale iMotions s'associe à Emotiv et intègre le premier capteur EEG. Peu après, iMotions s'associe à Affectiva afin d'intégrer son capteur Q-Sensor. Pour la première fois, les utilisateurs peuvent mener des recherches multimodales (indépendantes du fournisseur) à l'aide d'un seul logiciel. Les partenariats et les intégrations sont devenus un moteur puissant et déterminant de la croissance de l'entreprise. iMotions a conclu son premier accord avec une grande université, l'Iowa State University, avec le Dr Stephen Gilbert.
  • Bureau de Boston iMotions ouvre un bureau à Boston, aux États-Unis. Le fondateur déménage et quitte le Danemark pour recruter du personnel et développer le marché, en mettant l'accent sur le milieu universitaire. C'est le début d'une forte croissance, où l'adéquation produit-marché est affinée. 2012 a été la première année d'exploitation rentable, preuve que l'entreprise a réussi à se développer au-delà des applications de neuromarketing.
  • Intégration d'Affectiva L'un des partenaires proches d'iMotions dans le domaine de l'analyse des expressions faciales ayant été racheté par Apple, iMotions redynamise son partenariat avec Affectiva en intégrant son moteur très réputé de détection des émotions sur le visage.
  • Prix Gazelle 2016 iMotions remporte le prix Borsens Gazelle 2016 pour sa croissance élevée et constante.
  • Prix Gazelle 2017 iMotions remporte le prix Gazelle 2017 de Borsens pour sa croissance élevée et constante.
  • Prix Gazelle 2018 iMotions remporte le prix Gazelle 2018 de Borsens pour sa croissance élevée et constante.
  • Covid-19 Ne jamais laisser une crise se perdre. La pandémie a rendu impossible la conduite de recherches en laboratoire ; la solution a consisté à étendre la gamme de produits pour prendre en charge la recherche en ligne, ce qui a finalement conduit à de nouvelles innovations telles que l'eye tracking haute performance par webcam et la mesure de la respiration par webcam.
  • Acquisition Smart Eye acquiert iMotions dans le cadre d'une transaction de 400 millions de couronnes suédoises. iMotions opère de manière indépendante et poursuit sa stratégie indépendante du matériel. Affectiva, iMotions et Smart Eye sous un même toit : une configuration très visionnaire pour le secteur automobile, tandis qu'iMotions dirige le volet recherche de l'entreprise.
  • Affectiva rejoint iMotions Affectiva rejoint iMotions au sein de la division de recherche sur le comportement humain de Smart Eye. Affectiva et iMotions sont des partenaires proches depuis le tout début et cette union constitue un formidable coup de pouce pour les deux entreprises, leur permettant de partager leurs technologies et leurs ressources, renforçant ainsi les capacités d'IA d'iMotions et l'intégration multimodale d'Affectiva.
  • Visualisation avancée des données Développement d'options de graphiques et de visualisation plus sophistiquées pour les données de recherche.
  • Lancement d'iMotions 11 Le fruit de 20 années de travail acharné. Nous remercions tous nos clients et partenaires qui nous ont accompagnés contre vents et marées. Nous nous réjouissons à l'idée de construire les 20 prochaines années.
document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('.timeline-container').forEach(initTimeline); }); function initTimeline(timelineContainer) { const timeline = timelineContainer.querySelector('.interactive-timeline'); if (!timeline) return; const items = timeline.querySelectorAll('li'); if (items.length === 0) return; // — 1. GET ALL UNIQUE YEARS — const years = […new Set(Array.from(items).map(item => item.dataset.year))].sort(); // — 2. CREATE AND INJECT NAVIGATION (NOW WITH TOOLTIPS) — const nav = document.createElement('nav'); nav.className = 'timeline-nav'; years.forEach(year => { const button = document.createElement('button'); button.dataset.year = year; // Create the indicators const companyIndicator = document.createElement('span'); companyIndicator.className = 'indicator company-milestone'; const techIndicator = document.createElement('span'); techIndicator.className = 'indicator technology-milestone'; // — NEW: Create the tooltip container — const tooltip = document.createElement('div'); tooltip.className = 'timeline-tooltip'; // Add all elements to the button button.appendChild(companyIndicator); button.appendChild(techIndicator); button.appendChild(tooltip); // Add empty tooltip nav.appendChild(button); }); timeline.parentNode.insertBefore(nav, timeline); // — 3. GET REFERENCES TO ALL CONTROLS — const navButtons = nav.querySelectorAll('button'); const filterButtons = timelineContainer.querySelectorAll('.timeline-filters button'); // — 4. DEFINE CORE UPDATE FUNCTION (Unchanged) — function updateView() { const activeYear = nav.querySelector('button.active')?.dataset.year; const activeCompany = timelineContainer.querySelector('[data-filter-group="company"].active').dataset.filter; const activeType = timelineContainer.querySelector('[data-filter-group="type"].active').dataset.filter; if (!activeYear) { items.forEach(item => item.classList.remove('active')); return; } items.forEach(item => { const matchesYear = item.dataset.year === activeYear; const matchesCompany = activeCompany === 'all' || item.dataset.company === activeCompany; const matchesType = activeType === 'all' || item.dataset.type === activeType; if (matchesYear && matchesCompany && matchesType) { item.classList.add('active'); } else { item.classList.remove('active'); } }); } // — 5. UPDATE NAV INDICATORS (WITH TOOLTIP POPULATION) — function updateNavAvailability() { // Read position variables from CSS const rootStyles = getComputedStyle(document.documentElement); const posCenter = rootStyles.getPropertyValue('–pos-center').trim(); const posTop = rootStyles.getPropertyValue('–pos-stacked-top').trim(); const posBottom = rootStyles.getPropertyValue('–pos-stacked-bottom').trim(); const activeCompany = timelineContainer.querySelector('[data-filter-group="company"].active').dataset.filter; const activeType = timelineContainer.querySelector('[data-filter-group="type"].active').dataset.filter; navButtons.forEach(button => { const year = button.dataset.year; const companyIndicator = button.querySelector('.company-milestone'); const techIndicator = button.querySelector('.technology-milestone'); // — NEW: Get tooltip and clear it — const tooltip = button.querySelector('.timeline-tooltip'); tooltip.innerHTML = ''; // Clear existing content // — REFACTORED: Use .filter() instead of .some() — const companyItems = Array.from(items).filter(item => { const matchesYear = item.dataset.year === year; const isCompanyType = item.dataset.type === 'company-milestone'; const matchesCompanyFilter = activeCompany === 'all' || item.dataset.company === activeCompany; const matchesTypeFilter = activeType === 'all' || activeType === 'company-milestone'; return matchesYear && isCompanyType && matchesCompanyFilter && matchesTypeFilter; }); const techItems = Array.from(items).filter(item => { const matchesYear = item.dataset.year === year; const isTechType = item.dataset.type === 'technology-milestone'; const matchesCompanyFilter = activeCompany === 'all' || item.dataset.company === activeCompany; const matchesTypeFilter = activeType === 'all' || activeType === 'technology-milestone'; return matchesYear && isTechType && matchesCompanyFilter && matchesTypeFilter; }); const hasCompanyContent = companyItems.length > 0; const hasTechContent = techItems.length > 0; // — NEW: Populate tooltip with filtered items — const allMatchingItems = […companyItems, …techItems]; allMatchingItems.forEach(item => { const heading = item.querySelector('b')?.textContent; if (!heading) return; const tooltipItem = document.createElement('span'); tooltipItem.className = 'tooltip-item'; tooltipItem.dataset.company = item.dataset.company; tooltipItem.dataset.type = item.dataset.type; tooltipItem.textContent = heading; tooltip.appendChild(tooltipItem); }); // — Positioning Logic (Unchanged) — companyIndicator.style.display = hasCompanyContent ? 'block' : 'none'; techIndicator.style.display = hasTechContent ? 'block' : 'none'; if (hasCompanyContent && hasTechContent) { companyIndicator.style.top = posTop; techIndicator.style.top = posBottom; } else if (hasCompanyContent) { companyIndicator.style.top = posCenter; } else if (hasTechContent) { techIndicator.style.top = posCenter; } button.disabled = !hasCompanyContent && !hasTechContent; }); // (The rest of the function is unchanged) const activeNavButton = nav.querySelector('button.active'); if (activeNavButton && activeNavButton.disabled) { activeNavButton.classList.remove('active'); const firstAvailableButton = nav.querySelector('button:not(:disabled)'); if (firstAvailableButton) { firstAvailableButton.classList.add('active'); } } if (!nav.querySelector('button.active') && nav.querySelector('button:not(:disabled)')) { nav.querySelector('button:not(:disabled)').classList.add('active'); } updateView(); } // — 6. ATTACH EVENT LISTENERS (Unchanged) — function handleYearClick(e) { const clickedButton = e.currentTarget; if (clickedButton.disabled) return; navButtons.forEach(btn => btn.classList.remove('active')); clickedButton.classList.add('active'); updateView(); } navButtons.forEach(button => { button.addEventListener('click', handleYearClick); }); function handleFilterClick(e) { const clickedButton = e.currentTarget; const group = clickedButton.dataset.filterGroup; timelineContainer.querySelectorAll(`[data-filter-group="${group}"]`).forEach(btn => { btn.classList.remove('active'); }); clickedButton.classList.add('active'); updateNavAvailability(); } filterButtons.forEach(button => { button.addEventListener('click', handleFilterClick); }); // — 7. SET INITIAL STATE (Unchanged) — timelineContainer.querySelector('[data-filter="all"][data-filter-group="company"]').classList.add('active'); timelineContainer.querySelector('[data-filter="all"][data-filter-group="type"]').classList.add('active'); const firstAvailableButton = nav.querySelector('button:not(:disabled)'); if (firstAvailableButton) { firstAvailableButton.classList.add('active'); } updateNavAvailability(); }

iMotions 11 — Des fonctionnalités à ne pas manquer

Cette version marque une étape décisive dans l’histoire d’iMotions, qui célèbre 20 ans d’innovation et d’améliorations constantes apportées à iMotions Lab, sa solution logicielle tout-en-un dédiée à la recherche sur le comportement humain.

Module fNIRS

Replay multi-stimuli

Traitement du suivi multi-visages et de l’analyse des émotions avec Affectiva

Améliorations apportées à R Notebook

Respiration devant la webcam

Détection de segments vidéo

AOI automatique


iMotions Lab en action

iMotions Lab

En savoir plus

Collecte de données à distance

En savoir plus