برچسب: Common

  • Survey software 101: Answers to the most common questions about surveys

    Survey software 101: Answers to the most common questions about surveys


    Surveys are one of the most effective tools for collecting structured and unstructured feedback—and the right survey software makes it easier than ever to do so at scale.  

    Whether you’re measuring customer satisfaction, checking in with employees, or researching new markets, knowing how and when to use surveys can make all the difference. 

    In this quick guide, we’ll tackle the most frequently asked questions about surveys and survey tools, so that you can turn feedback into action with confidence. 

    What is the definition of a survey? 

    A survey is a method of collecting data from a defined group of people to gain information and insights on various topics, behaviors, opinions, or experiences. Surveys typically consist of structured questions and are delivered via online forms, email, mobile apps, or in person. 

    What is the purpose of using a survey? 

    The purpose of a survey is to gather accurate and actionable data that helps organizations make better decisions.  

    Whether you’re fine-tuning a product, leveling up the customer experience, boosting employee morale, or spotting your next big market move, surveys help you gather the data you need to make smarter, faster decisions. 

    A survey and feedback platform—like Alchemer—helps you design, distribute, and analyze surveys. A robust survey platform should be able to automate data collection, ensure data quality, and integrate results into your existing workflows or analytics platforms, making insights more actionable. 

    Why is it important to run surveys? 

    Surveys are essential because they give your audience a seat at the table. Whether it’s customers, employees, or partners, surveys capture perspectives you might not see in everyday operations. They help you measure how people really feel, uncover what’s not working, and confirm whether your instincts are on point. 

    When should surveys be used? 

    You would do a survey when you have a clear goal, audience, and set of questions designed to inform a decision. With Alchemer, it’s easy to capture insights exactly when and where they matter most. Common moments to launch a survey include: 

    • Right after a customer interaction—like completing a purchase or resolving a support ticket 
    • In the middle of product development or beta testing—to make smarter iterations, faster 
    • After an event or campaign—to measure impact and improve next time 
    • On a regular cadence—to track employee or customer sentiment over time and spot trends early 

    With the right timing and tools, surveys become a strategic advantage—not just a checkbox. 

    Where do I make a survey? 

    There are many feedback and survey platforms on the market, each offering different strengths, from quick poll builders to enterprise-level research tools. When evaluating your options, look for a solution that balances ease of use with the power to scale and integrate across your business. 

    The best survey software includes: 

    • Drag-and-drop builders for quick, intuitive survey creation 
    • Pre-built templates to help you start with best practices 
    • Advanced logic and branching for personalized respondent experiences 
    • Flexible distribution methods like web, email, SMS, or in-app 
    • Real-time analytics and reporting to uncover insights fast 

    What are the 3 types of a survey? 

    Most surveys fall into one of three categories, each serving a unique purpose depending on what you’re trying to learn: 

    • Descriptive Surveys: These are designed to capture the “what”—they describe characteristics of a group based on structured feedback. Think customer satisfaction scores, employee engagement levels, or demographic profiles. The goal is to get a clear snapshot of your audience at a specific point in time. 
    • Analytical Surveys: Analytical surveys go a step further, aiming to understand the “why.” They explore cause-and-effect relationships by looking at how different variables interact—such as whether satisfaction impacts loyalty, or how usability affects conversion. These surveys often blend structured data with deeper segmentation and statistical analysis. 
    • Exploratory Surveys: Used early in decision-making, exploratory surveys are all about gathering unstructured feedback—ideas, opinions, or open-ended input you might not have anticipated. They’re especially useful in product development, brand positioning, or when entering a new market. Modern survey platforms use open text analysis and AI-powered sentiment tools to help extract themes, trends, and meaning from unstructured responses. 

    Each type has its place. When used together, they give you a richer, more complete view of your audience—and the confidence to act on what you learn. 

    What is the survey method? 

    The survey method refers to the systematic approach of designing and distributing surveys to collect data. It involves selecting a sample, creating questions, choosing delivery channels (email, SMS, web, etc.), collecting responses, and analyzing results. 

    How does survey software work? 

    Survey software works by guiding users through the process of building a survey, distributing it to a selected audience, collecting responses in real time, and analyzing results through built-in dashboards and reports. Advanced tools also allow for automation, logic branching, integrations, and role-based access for collaboration across teams. 

    So, which software is best for surveys? 

    The best survey software helps you go beyond just collecting feedback by enabling you to take action quickly and confidently. While many tools focus on basic data collection, Alchemer stands out by combining ease of use, fast time-to-value, and robust omnichannel capabilities.  

    With intuitive survey builders, seamless integrations, and powerful automation, Alchemer empowers teams to embed feedback into workflows, surface insights in real time, and make smarter decisions—without the need for complex setup or months-long onboarding. 

    If you want a platform that delivers both speed and impact, Alchemer gives you everything you need to turn feedback into business results—fast. 

    Ready to take your survey strategy to the next level? 

    Surveys are just the start. To truly understand your audience and act on what they’re telling you, you need a feedback approach that works across every channel. 

    Download our free e-guide, Customer Feedback is Everywhere: The Ultimate Guide to Omnichannel Feedback Collection and learn how to: 

    • Collect insights from every touchpoint—digital, in-person, and everything in between 
    • Break down silos between feedback channels 
    • Build a unified strategy that turns customer input into real business results 

    Whether you’re just starting with surveys or scaling your feedback program, this guide will help you get more value from every response. 



    Source link

  • Common media processing operations with Jetpack Media3 Transformer



    Posted by Nevin Mital – Developer Relations Engineer, and Kristina Simakova – Engineering Manager

    Android users have demonstrated an increasing desire to create, personalize, and share video content online, whether to preserve their memories or to make people laugh. As such, media editing is a cornerstone of many engaging Android apps, and historically developers have often relied on external libraries to handle operations such as Trimming and Resizing. While these solutions are powerful, integrating and managing external library dependencies can introduce complexity and lead to challenges with managing performance and quality.

    The Jetpack Media3 Transformer APIs offer a native Android solution that streamline media editing with fast performance, extensive customizability, and broad device compatibility. In this blog post, we’ll walk through some of the most common editing operations with Transformer and discuss its performance.

    Getting set up with Transformer

    To get started with Transformer, check out our Getting Started documentation for details on how to add the dependency to your project and a basic understanding of the workflow when using Transformer. In a nutshell, you’ll:

      • Create one or many MediaItem instances from your video file(s), then
      • Apply item-specific edits to them by building an EditedMediaItem for each MediaItem,
      • Create a Transformer instance configured with settings applicable to the whole exported video,
      • and finally start the export to save your applied edits to a file.

    Aside: You can also use a CompositionPlayer to preview your edits before exporting, but this is out of scope for this blog post, as this API is still a work in progress. Please stay tuned for a future post!

    Here’s what this looks like in code:

    val mediaItem = MediaItem.Builder().setUri(mediaItemUri).build()
    val editedMediaItem = EditedMediaItem.Builder(mediaItem).build()
    val transformer = 
      Transformer.Builder(context)
        .addListener(/* Add a Transformer.Listener instance here for completion events */)
        .build()
    transformer.start(editedMediaItem, outputFilePath)
    

    Transcoding, Trimming, Muting, and Resizing with the Transformer API

    Let’s now take a look at four of the most common single-asset media editing operations, starting with Transcoding.

    Transcoding is the process of re-encoding an input file into a specified output format. For this example, we’ll request the output to have video in HEVC (H265) and audio in AAC. Starting with the code above, here are the lines that change:

    val transformer = 
      Transformer.Builder(context)
        .addListener(...)
        .setVideoMimeType(MimeTypes.VIDEO_H265)
        .setAudioMimeType(MimeTypes.AUDIO_AAC)
        .build()
    

    Many of you may already be familiar with FFmpeg, a popular open-source library for processing media files, so we’ll also include FFmpeg commands for each example to serve as a helpful reference. Here’s how you can perform the same transcoding with FFmpeg:

    $ ffmpeg -i $inputVideoPath -c:v libx265 -c:a aac $outputFilePath
    

    The next operation we’ll try is Trimming.

    Specifically, we’ll set Transformer up to trim the input video from the 3 second mark to the 8 second mark, resulting in a 5 second output video. Starting again from the code in the “Getting set up” section above, here are the lines that change:

    // Configure the trim operation by adding a ClippingConfiguration to
    // the media item
    val clippingConfiguration =
       MediaItem.ClippingConfiguration.Builder()
         .setStartPositionMs(3000)
         .setEndPositionMs(8000)
         .build()
    val mediaItem =
       MediaItem.Builder()
         .setUri(mediaItemUri)
         .setClippingConfiguration(clippingConfiguration)
         .build()
    
    // Transformer also has a trim optimization feature we can enable.
    // This will prioritize Transmuxing over Transcoding where possible.
    // See more about Transmuxing further down in this post.
    val transformer = 
      Transformer.Builder(context)
        .addListener(...)
        .experimentalSetTrimOptimizationEnabled(true)
        .build()
    

    With FFmpeg:

    $ ffmpeg -ss 00:00:03 -i $inputVideoPath -t 00:00:05 $outputFilePath
    

    Next, we can mute the audio in the exported video file.

    val editedMediaItem = 
      EditedMediaItem.Builder(mediaItem)
        .setRemoveAudio(true)
        .build()
    

    The corresponding FFmpeg command:

    $ ffmpeg -i $inputVideoPath -c copy -an $outputFilePath
    

    And for our final example, we’ll try resizing the input video by scaling it down to half its original height and width.

    val scaleEffect = 
      ScaleAndRotateTransformation.Builder()
        .setScale(0.5f, 0.5f)
        .build()
    val editedMediaItem =
      EditedMediaItem.Builder(mediaItem)
        .setEffects(
          /* audio */ Effects(emptyList(), 
          /* video */ listOf(scaleEffect))
        )
        .build()
    

    An FFmpeg command could look like this:

    $ ffmpeg -i $inputVideoPath -filter:v scale=w=trunc(iw/4)*2:h=trunc(ih/4)*2 $outputFilePath
    

    Of course, you can also combine these operations to apply multiple edits on the same video, but hopefully these examples serve to demonstrate that the Transformer APIs make configuring these edits simple.

    Transformer API Performance results

    Here are some benchmarking measurements for each of the 4 operations taken with the Stopwatch API, running on a Pixel 9 Pro XL device:

    (Note that performance for operations like these can depend on a variety of reasons, such as the current load the device is under, so the numbers below should be taken as rough estimates.)

    Input video format: 10s 720p H264 video with AAC audio

    • Transcoding to H265 video and AAC audio: ~1300ms
    • Trimming video to 00:03-00:08: ~2300ms
    • Muting audio: ~200ms
    • Resizing video to half height and width: ~1200ms

    Input video format: 25s 360p VP8 video with Vorbis audio

    • Transcoding to H265 video and AAC audio: ~3400ms
    • Trimming video to 00:03-00:08: ~1700ms
    • Muting audio: ~1600ms
    • Resizing video to half height and width: ~4800ms

    Input video format: 4s 8k H265 video with AAC audio

    • Transcoding to H265 video and AAC audio: ~2300ms
    • Trimming video to 00:03-00:08: ~1800ms
    • Muting audio: ~2000ms
    • Resizing video to half height and width: ~3700ms

    One technique Transformer uses to speed up editing operations is by prioritizing transmuxing for basic video edits where possible. Transmuxing refers to the process of repackaging video streams without re-encoding, which ensures high-quality output and significantly faster processing times.

    When not possible, Transformer falls back to transcoding, a process that involves first decoding video samples into raw data, then re-encoding them for storage in a new container. Here are some of these differences:

    Transmuxing

      • Transformer’s preferred approach when possible – a quick transformation that preserves elementary streams.
      • Only applicable to basic operations, such as rotating, trimming, or container conversion.
      • No quality loss or bitrate change.

    Transmux

    Transcoding

      • Transformer’s fallback approach in cases when Transmuxing isn’t possible – Involves decoding and re-encoding elementary streams.
      • More extensive modifications to the input video are possible.
      • Loss in quality due to re-encoding, but can achieve a desired bitrate target.

    Transcode

    We are continuously implementing further optimizations, such as the recently introduced experimentalSetTrimOptimizationEnabled setting that we used in the Trimming example above.

    A trim is usually performed by re-encoding all the samples in the file, but since encoded media samples are stored chronologically in their container, we can improve efficiency by only re-encoding the group of pictures (GOP) between the start point of the trim and the first keyframes at/after the start point, then stream-copying the rest.

    Since we only decode and encode a fixed portion of any file, the encoding latency is roughly constant, regardless of what the input video duration is. For long videos, this improved latency is dramatic. The optimization relies on being able to stitch part of the input file with newly-encoded output, which means that the encoder’s output format and the input format must be compatible.

    If the optimization fails, Transformer automatically falls back to normal export.

    What’s next?

    As part of Media3, Transformer is a native solution with low integration complexity, is tested on and ensures compatibility with a wide variety of devices, and is customizable to fit your specific needs.

    To dive deeper, you can explore Media3 Transformer documentation, run our sample apps, or learn how to complement your media editing pipeline with Jetpack Media3. We’ve already seen app developers benefit greatly from adopting Transformer, so we encourage you to try them out yourself to streamline your media editing workflows and enhance your app’s performance!



    Source link