每日大赛app

About Us

Healthcomm established through a collaboration between Universiti Kebangsaan Malaysia (每日大赛app) and UNICEF

to serve as a hub in promoting the SBCC approach in health communication for Malaysia and regional countries.

Left Circle
Right Circle
New Center Image
We focuses on...

Curriculum Development
Training
Research
Technical Support
Advice for Implementation

Strategic Communication Drive Positive Behaviour Social Change

Our Purpose, Vision, Mission

Director鈥檚 Foreword

Hello Changemakers!
Welcome to Healthcomm, a place where human stories take centre stage in our approach to improving community health and wellbeing through the power of communication.

Allow me to illustrate. Imagine Pekan Manis, a small town with a high number of diabetes cases. People鈥檚 daily routines include desserts and sweetened drinks at every mealtime. Gatherings and celebrations would not be complete without teh tarik and cendol durian. Despite being aware of the dangers of diabetes, the people of Pekan Manis find it hard to cut sugar from their diet. Having diabetes is accepted as a rite of passage of growing old.

So how can we help this community?

Instead of carrying out a generic campaign that solely relies on health talks and posters to 鈥榚ducate鈥, we engage with the communities themselves to understand the barriers and motivations behind dietary behaviours. We explore local norms and activities that could garner participation and improve people鈥檚 confidence in their ability to prevent diabetes. We tap into people鈥檚 behavioural drivers to reduce sugar in food and design communication materials that are tailored to their logic. We work with community leaders, local kuih sellers, and cooks to create a supportive environment where people can access healthier options. With the right communication technology and platforms, messages are delivered consistently to help reinforce new beliefs and gently nudge behaviours.

Slowly, community-led healthy cooking classes begin to fill up. More people start asking for a 鈥渒urang manis鈥 [less sweet] version of food and drinks at stalls. Serving plain water at kenduri [receptions] becomes a commendable practice. It is not just about improving knowledge, it is about shifting norms in a respectful and strategic manner.

At Healthcomm, this is the kind of change we believe in. We believe in harnessing local wisdom and leadership to empower communities to make better health decisions. We have seen, time and time again, how a carefully curated message, shared in the right way, can inspire action, influence behaviours, and guide communities towards better health. Communication is not just a tool, it plays a key role in making that change possible.

That is why our work in Social and Behaviour Change Communication (SBCC) goes far beyond campaigns and slogans. We develop evidence-based strategies, design meaningful training, support academic learning, and collaborate with a wide range of partners, from policymakers to community leaders, researchers to frontliners. And most importantly, we listen, because real change begins with understanding.

Our strongest ideas are co-created together with the multiple stakeholders we aim to serve. We embrace diversity and challenge standard approaches as we build health interventions grounded in real needs, real voices, and real experiences.

As you explore this site, I invite you to discover the stories, the people, and the passion that drive Healthcomm forward. Whether you are here to learn, collaborate, or create change in your own community, we are glad you are here.

Because the change you want to see starts with YOU.



Assoc. Prof. Dr. Emma Mirza Wati Mohamad

Director
Our Team

The brains behind
Healthcomm


Associate Professor Dr. Emma Mirza Wati Mohamad

Director
Learn More

Dr. Arina Anis Azlan

Deputy Director
Learn More

Associate Professor Dr. Mohammad Rezal Hamzah

Fellow - UNIMAP

Dr. Daniella Maryam Mohamed Mokhtar

Fellow 鈥 每日大赛app
Learn More

Dr. Surendran Rajaratnam

Fellow 鈥 每日大赛app
Learn More

Dr. Neevaarthana Subramaniam

每日大赛app Post-Doctoral Researcher
Learn More

Aliff Ahmad

Project Manager

Dr. Andi Muhammad Tri Sakti

Fellow 鈥 每日大赛app

Siti Zaiton Mohd Ajis

Graduate Research Assistant
How we work

Our way of working


Understanding the Problem

We begin by taking the time to understand the issue through formative research and behaviour analysis. This helps us connect with the real needs and concerns of our stakeholders, ensuring our approach is relevant and addresses the real challenge.

Collaborative and Purposeful Planning

With insights in hand, we work collaboratively to design a strategic communication plan. We focus on clear, shared goals, tailoring our messages and strategies to meet the specific needs of each audience.

Inclusive and Impactful Implementation

We implement our plans thoughtfully, ensuring that our communication strategies reach and resonate with our stakeholders, empowering them to make informed decisions that encourage behaviour change.

Learning and Adapting Together

Through continuous monitoring and evaluation, we learn from the process, making adjustments and improvements to enhance the impact of our efforts, always aiming for positive, sustainable change.

Our Main Partners

Interested?
Enquire more here!


For Services & Programs

Contact us

For Collaboration for Impact

Contact Us

Contact us for more!

Contact Us
// const popupHTML = ` // // `; // $('body').append(popupHTML); // // Load shortcode content via Ajax (optional) // $('#popupContent').html(''); // // Open popup on button click // $('#openPopup').on('click', function() { // $('#customPopup').fadeIn(); // }); // // Close popup on overlay or close button click // $('body').on('click', '#closePopup, #customPopup', function(e) { // if (e.target.id === 'customPopup' || e.target.id === 'closePopup') { // $('#customPopup').fadeOut(); // } // }); // }); // ---------------------- Test Moving Icons (JS) ---------------------- // jQuery(function($) { gsap.registerPlugin(ScrollTrigger); gsap.fromTo(".box", { xPercent: -550, yPercent: -1500, scale: 2.5 }, { xPercent: 0, yPercent: 0, scale: 1, ease: "power2.out", scrollTrigger: { trigger: ".main-banner", markers: false, start: "top 0%", // when box enters the viewport end: "bottom 100%", // adjust as needed scrub: true // scrub ties scroll position to animation } } ); }); jQuery(function($) { gsap.registerPlugin(ScrollTrigger); gsap.fromTo(".box-2", { xPercent: 0, yPercent: -1700, scale: 2.5 }, { xPercent: 0, yPercent: 0, scale: 1, ease: "power2.out", scrollTrigger: { trigger: ".main-banner", markers: false, start: "top 0%", // when box enters the viewport end: "bottom 100%", // adjust as needed scrub: true // scrub ties scroll position to animation } } ); }); jQuery(function($) { gsap.registerPlugin(ScrollTrigger); gsap.fromTo(".box-3", { xPercent: 800, yPercent: -1500, scale: 2.5 }, { xPercent: 0, yPercent: 0, scale: 1, ease: "power2.out", scrollTrigger: { trigger: ".main-banner", markers: false, start: "top 0%", // when box enters the viewport end: "bottom 100%", // adjust as needed scrub: true // scrub ties scroll position to animation } } ); }); // ---------------------- Smooth Scroll (JS) ---------------------- // jQuery(function($) { const lenis = new Lenis({ duration: 1.2, easing: (t) => Math.min(1, 1.001 - Math.pow(2.25, -10 * t)), }); function raf(time) { lenis.raf(time); requestAnimationFrame(raf); } requestAnimationFrame(raf); }); // ---------------------- Stacked Cards (JS) ---------------------- // console.clear(); const cards = gsap.utils.toArray(".card"); const spacer = 0; const minScale = 1; const distributor = gsap.utils.distribute({ base: minScale, amount: 0 }); cards.forEach((card, index) => { const scaleVal = distributor(index, cards[index], cards); // Animation with scroll gsap.to(card, { scrollTrigger: { trigger: card, start: `top top`, scrub: true, markers: false, snap: [0, 0.33, 0.5, 0.66, 1], invalidateOnRefresh: true }, ease: "none", scale: scaleVal }); // Pin and active class management ScrollTrigger.create({ trigger: card, start: "top-=100 top", // Offset the pin start by 100px endTrigger: ".cards", pin: true, pinSpacing: false, // markers: { indent: 0 }, id: "pin", invalidateOnRefresh: true, onEnter: () => card.classList.add("active"), onLeave: () => card.classList.remove("active"), onEnterBack: () => card.classList.add("active"), onLeaveBack: () => card.classList.remove("active") }); }); // ---------------------- Scroll Horizontal (JS) ---------------------- // // gsap.registerPlugin(ScrollTrigger); // let sections = gsap.utils.toArray(".slide"); // gsap.to(sections, { // xPercent: -100 * (sections.length - 1), // ease: "none", // scrollTrigger: { // trigger: ".horizontal-sliders", // pin: ".main1", // pinSpacing: true, // scrub: 1, // end: "+=1000", // } // }); // gsap.to('.next-block',{ // backgroundColor:'tomato', // scrollTrigger:{ // trigger:'.next-block', // pinnedContainer: ".main", // start:'top 50%', // toggleActions: 'play none reset none', // } // }) // ---------------------- Scroll Text (JS) ---------------------- // const horTextAnimation = () => { // Kill only the specific ScrollTrigger if it exists const existingTrigger = ScrollTrigger.getById("horizontalTextScroll"); if (existingTrigger) existingTrigger.kill(); // TARGET ELEMENT const horText = document.querySelector(".section-scroll-text h1"); if (horText) { // ANIMATION gsap.to(horText, { x: () => -(horText.offsetWidth - window.innerWidth), ease: "linear", scrollTrigger: { id: "horizontalTextScroll", // Unique ID to target this ScrollTrigger trigger: ".section-scroll-text", pin: true, scrub: true, invalidateOnRefresh: true, end: () => `+=${horText.offsetWidth - window.innerWidth}` } }); // REFRESH ScrollTrigger.refresh(); } }; // RUN ANIMATION horTextAnimation(); // RESPONSIVE window.addEventListener("resize", horTextAnimation); // ---------------------- Add More Scroll Text (JS) ---------------------- // jQuery(function($) { gsap.registerPlugin(ScrollTrigger); // Set initial positions (off-screen right) gsap.set(".img1", { x: 0, y: 2000, opacity: 0 }); gsap.set(".img2", { x: 450, y: 2000, opacity: 0 }); gsap.set(".img3", { x: 900, y: 2000, opacity: 0 }); gsap.timeline({ scrollTrigger: { trigger: ".section-slide-up", // start: "top center", start: "top-=600 top", markers: false, once: true } }) .to(".img1", { x: 0, y: 0, opacity: 1, duration: 1, ease: "power2.out" }) .to(".img2", { x: 450, y: 0, opacity: 1, duration: 1, ease: "power2.out" }, "+=0.3") .to(".img3", { x: 900, y: 0, opacity: 1, duration: 1, ease: "power2.out" }, "+=0.3"); }); // ---------------------- Add More Scroll Text (JS) ---------------------- // // const horTextAnimation = () => { // // Kill existing ScrollTriggers // const triggerIDs = [ // "horizontalTextScroll", // "imageScroll1", // "imageScroll2", // "imageScroll3" // ]; // triggerIDs.forEach(id => { // const existingTrigger = ScrollTrigger.getById(id); // if (existingTrigger) existingTrigger.kill(); // }); // // Animate the main scrolling text // const horText = document.querySelector(".section-scroll-text h1"); // if (horText) { // gsap.to(horText, { // x: () => -(horText.offsetWidth - window.innerWidth), // ease: "linear", // scrollTrigger: { // id: "horizontalTextScroll", // trigger: ".section-scroll-text", // pin: true, // scrub: true, // invalidateOnRefresh: true, // end: () => `+=${horText.offsetWidth - window.innerWidth}` // } // }); // } // // Image configs: {selector, endX} // const images = [ // { selector: ".img1", endX: 100 }, // { selector: ".img2", endX: 300 }, // { selector: ".img3", endX: 500 } // ]; // images.forEach((img, index) => { // const el = document.querySelector(img.selector); // if (el) { // gsap.fromTo(el, // { // x: window.innerWidth + (index * 100), // opacity: 0 // }, // { // x: img.endX, // opacity: 1, // ease: "power1.out", // scrollTrigger: { // id: `imageScroll${index + 1}`, // trigger: ".section-scroll-text", // start: `top+=${index * 100} top`, // trigger one by one // scrub: true, // end: "+=300", // invalidateOnRefresh: true // } // } // ); // } // }); // ScrollTrigger.refresh(); // }; // horTextAnimation(); // window.addEventListener("resize", horTextAnimation); // Process each `[animate]` element independently document.querySelectorAll('[animate]').forEach(section => { // Initialize SplitType for the current section let typeSplit = new SplitType(section, { types: 'lines, words', tagName: 'span' // Wrap each line and word in a }); // Create GSAP animation for each section gsap.fromTo( section.querySelectorAll('.line'), // Target lines inside the current section { filter: 'blur(15px)', // Start with a blur opacity: 0, // Start with opacity 0 }, { filter: 'blur(0px)', // Animate to no blur opacity: 1, // Animate to full opacity duration: 1, ease: 'power1.out', stagger: 0.1, scrollTrigger: { trigger: section, // Trigger animation for this specific section start: 'top center', // Start when the section reaches the center of the viewport once: true // Ensure the animation runs only once } } ); }); // ---------------------- Slick Slider (JS) ---------------------- // $(document).ready(function() { $(".Modern-Slider").slick({ autoplay: false, autoplaySpeed: 9000, speed: 500, mobileFirst: true, slidesToShow: 1, slidesToScroll: 1, pauseOnHover: false, respondTo: 'min', cssEase: 'linear', prevArrow: '', nextArrow: '', responsive: [ { breakpoint: 767, // when screen width is <= 767px settings: { slidesToShow: 3 } } ] }); }); // ---------------------- We Work Box (JS) ---------------------- // jQuery(function($) { $(window).on('scroll', function() { $('.we-work-box').each(function(index) { const box = $(this); const content = $('.we-work-content').eq(index); const boxTop = box.offset().top; const boxHeight = box.outerHeight(); const scrollTop = $(window).scrollTop(); const windowHeight = $(window).height(); // Calculate visible part of the box const visiblePart = (scrollTop + windowHeight) - boxTop; const halfBox = boxHeight / 2; if (visiblePart >= halfBox && scrollTop < boxTop + boxHeight) { content.addClass('active'); } else { content.removeClass('active'); } }); }); // Trigger on load in case elements already in view $(window).trigger('scroll'); }); //# sourceURL=mfn-scripts-js-after /* ]]> */