Survey Resource Protocol — Simple, Readable, Parseable

A survey language
built for enterprise
tooling.

SRP is a plain-text domain-specific language for professional survey design. Version-controlled, AI-compatible, and renderable to every platform your organization already operates. Own your instrument — independent of any vendor.

customer_sat.srp
Survey "customer_satisfaction" do
  title "Customer Satisfaction Study"
  locale "en"

  Page "intro" do

    SingleSelect "overall" do
      text "Overall, how satisfied are you?"
      required

      option "Very satisfied" do
        segment "promoter"
      end
      option "Satisfied"
      option "Neutral"
      option "Dissatisfied" do
        segment "detractor"
      end
    end

    OpenEnd "followup" do
      text  "Tell us more about your experience."
      show_only_if "detractor"
    end

  end
end
Decipher XML — same two questions
<?xml version="1.0" encoding="UTF-8"?>
<survey  compatMode="159" alt="1">
  <block label="B1" randomize="0">
    <radio label="q1" optional="0">
      <title>Do you own a smartphone?</title>
      <row label="r1">Yes</row>
      <row label="r2">No</row>
    </radio>
    <radio label="q2" optional="0"
           where="q1.r1">
      <title>Which operating system?</title>
      <row label="r1">Android</row>
      <row label="r2">iOS</row>
    </radio>
  </block>
</survey>
SRP — same survey
SingleSelect "own_phone" do
  text "Do you own a smartphone?"
  required

  option "Yes" do
    segment "phone_owner"
  end
  option "No"
end

SingleSelect "phone_os" do
  text "Which operating system?"
  show_only_if "phone_owner"
  required

  option "Android"
  option "iOS"
end

Enterprise survey platforms
serialize your work into formats
no one can actually use.

Every major research platform stores surveys as XML, proprietary JSON, or binary files. The moment you save, your instrument stops being a document you can read, version, share, or hand to an AI assistant.

Decipher / Forsta
XML

Verbose nested XML with cryptic attribute flags. Diffs are unreadable. Branching logic hidden in attribute strings.

Qualtrics
QSF — proprietary JSON

Thousands of lines of deeply nested JSON with internal IDs. Version control produces meaningless noise.

Dimensions / SPSS
.mdd / .ddf — binary

Binary metadata database. Completely opaque outside the platform. Translations require the full licensed toolchain.

XForm / ODK
XML (via XLSX)

XLSForm moved authoring into spreadsheets, but XLSX is still binary. Merge conflicts are structurally unsolvable.

Confirmit / Forsta HX
Proprietary XML / JSON

Survey logic lives in a GUI event model. Exports are snapshots of internal state, not readable definitions.

Triple-S
XML — industry standard

The closest the industry has to a neutral format — but Triple-S is a data exchange standard, not an authoring format.

Voxco
Proprietary scripting

Custom scripting language with no portable artifacts. Survey logic cannot leave the platform in any reusable form.

SurveyMonkey / Momentive
No export format

No export path. Surveys are data in their database, not artifacts you own. Migration means rebuilding from scratch.

01

No meaningful version control

XML and binary formats produce diffs that are structurally correct but semantically unreadable. You cannot tell what changed in a question — only that the file changed.

02

Unreadable without the GUI

Open a Qualtrics QSF or Decipher XML in any text editor. Thousands of lines of structural noise precede the question text. Reviewing requires platform access.

03

Vendor lock-in by default

Survey logic authored in a platform GUI cannot be migrated without re-implementation. The format is an internal state snapshot, not a portable standard.

04

AI tools cannot help

LLMs write fluent Ruby, Python, and YAML. They produce broken, hallucinated XML when asked for Decipher or QSF. Your survey format is outside any reasonable training distribution.

05

Translation workflows are manual

Extracting strings from XML for translation requires custom tooling. Merging translations back requires more. Most teams resort to spreadsheet copy-paste.

06

Collaboration requires a license

You cannot send a survey to a colleague for review in any format they can read without platform access. There is no equivalent of a readable document.

SRP is a working format.
Plain text that reads like what it describes.

SRP is a domain-specific language purpose-built for survey design. Its syntax is minimal and consistent — close enough to natural language that anyone familiar with the subject matter can read it without training.

Every SRP file is a plain text file. It opens in any editor. It diffs cleanly in any version control system. It can be reviewed by a stakeholder without platform access and written or modified by any AI coding assistant.

SRP is not a delivery format — it is a working format. Design and review your instrument in SRP, then render it to whichever platform your organization already owns. The translation is mechanical. The design is yours and stays portable.

  • Git-friendly — clean diffs, sensible merge behavior, real commit history
  • Readable by any team member without platform access or training
  • Writable by any LLM that has seen Ruby or structured YAML
  • Shareable as a file — review via email, PR, or messaging
  • Translatable — string extraction is a text operation, not a database query
  • Renderable to HTML, XForm, and additional platform targets

SRP as your upstream format.
Any platform as the delivery target.

You do not need to replace your platform. Move authoring upstream into a format your entire team can review, version, and reason about — then render to the system your organization already operates.

Step 01 — Author
Write your survey in SRP

Use your existing editor, AI assistant, and version control system. SRP is plain text — it lives alongside the rest of your project files with no special tooling required.

Step 02 — Review
Review and collaborate normally

Open a pull request. Share the file by email. Paste it into a document for stakeholder review. No platform license or account is required to read, comment on, or approve an SRP file.

Step 03 — Render
Render to your target platform

SRP renders to HTML for web deployment and XForm for ODK-compatible platforms. Additional renderers can be implemented directly against the published AST.

Render targets
HTML / Web XForm / ODK KoboToolbox Ona SurveyCTO Decipher XML Qualtrics QSF Triple-S XML JSON export

The survey format your
LLM already understands.

Plain text meets plain language.

SRP is sufficiently close to natural language that current LLMs produce it reliably without fine-tuning. The DSL syntax is small and consistent — there is no XML schema to misinterpret, no proprietary JSON structure to invent.

Describe a survey in a prompt. Receive valid SRP. Validate, render, and ship. Any AI assistant your team already uses can draft, translate, refactor, and document SRP instruments without additional configuration.

  • Generate full survey instruments from a research brief
  • Translate question text while preserving routing structure
  • Refactor skip logic and branching across a large instrument
  • Review question wording for clarity, bias, or leading language
  • Convert legacy platform scripts to portable SRP
  • Generate plain-language documentation from survey definitions

SRP is available under a
commercial license.

If your organization authors surveys at scale across multiple platforms, we'd like to talk. Licensing covers use of the SRP parser, renderer, and DSL specification in commercial tooling, integrations, and survey platforms.

Inquire about licensing →

Learn SRP in an afternoon.

The language is intentionally small. There are no surprises, no meta-syntax, and no required configuration. Start with the introduction — the core language is covered in five minutes.