anchor.diff:      each val, key in project.schema
         if (val.type === "int")
           .form-group.row
  -          label.form-control-label.col-sm-3(for="#{key}") #{key}
  +          label.form-control-label.control-label.col-sm-3(for="#{key}") #{key}
             .col-sm-9
               input.form-control(type="number", value="#{val.default}", name="#{key}", id="#{key}", required)
         else if (val.type === "float")
           .form-group.row
  -          label.form-control-label.col-sm-3(for="#{key}") #{key}
  +          label.form-control-label.control-label.col-sm-3(for="#{key}") #{key}
             .col-sm-9
               input.form-control(type="number", value="#{val.default}", step="any", name="#{key}", id="#{key}", required)
         else if (val.type === "bool")
           // TODO Consider replacing with two radio buttons
           .form-group.row
  -          label.form-control-label.col-sm-3(for="#{key}") #{key}
  +          label.form-control-label.control-label.col-sm-3(for="#{key}") #{key}
             .col-sm-9
               input.form-control(type="text", value="#{val.default}", pattern="(true|false)", title="Enter true or false", name="#{key}", id="#{key}", required)
         else if (val.type === "string")
           .form-group.row
  -          label.form-control-label.col-sm-3(for="#{key}") #{key}
  +          label.form-control-label.control-label.col-sm-3(for="#{key}") #{key}
             .col-sm-9
               input.form-control(type="text", value="#{val.default}", name="#{key}", id="#{key}", required)
         else if (val.type === "enum")
           .form-group.row
  -          label.form-control-label.col-sm-3(for="#{key}") #{key}
  +          label.form-control-label.control-label.col-sm-3(for="#{key}") #{key}
             .col-sm-9
               select.form-control(name="#{key}", id="#{key}")
                 each value in val.values
  
positive.code:                   option(value="#{value}", selected="selected") #{value}
                  else
                    option(value="#{value}") #{value}
      #machines.form-group.row
        label.col-sm-3 Submit to machine
        .col-sm-9
  
negative.code:         // Process form
          var formObj = {};
          // Loop over form simply (does not work on nested data)
          var hasErrors = false;
          $("#new-experiment").find(":input").each(function(ind, el) {
            var $el = $(el);
            var $formGroup = $el.closest(".form-group");
            // Remove previous validation
            $el.removeClass("form-control-success form-control-error");
            $formGroup.removeClass("has-success has-error");
            var name = $el.attr("name");
            var val = $el.val();
            // Validate
            if ($el.attr("type") === "number") {
              val = parseFloat(val);
              // Check floats
              if (isNaN(val)) {
                $el.addClass("form-control-error");
                $formGroup.addClass("has-error");
                hasErrors = true;
              } else {
                if ($el.attr("step")) {
                  $el.addClass("form-control-success");
                  $formGroup.addClass("has-success");
                } else {
                  // Check ints
                  if (val % 1 !== 0) {
                    $el.addClass("form-control-error");
                    $formGroup.addClass("has-error");
                    hasErrors = true;
                  } else {
                    $el.addClass("form-control-success");
                    $formGroup.addClass("has-success");
                  }
                }
              }
            } else if ($el.attr("pattern")) {
              if (val !== "true" && val !== "false") {
                // Check bools
                $el.addClass("form-control-error");
                $formGroup.addClass("has-error");
                hasErrors = true;
              } else {
                // Convert bools
                val = (val === "true");
                $el.addClass("form-control-success");
                $formGroup.addClass("has-success");
              }
            } else {
              if (val === "") {
                // Check strings
                $el.addClass("form-control-error");
                $formGroup.addClass("has-error");
                hasErrors = true;
              } else {
                $el.addClass("form-control-success");
                $formGroup.addClass("has-success");
              }
            }
            formObj[name] = val; // Set key and value
          });
          // Stop if form has errors
          if (hasErrors) {
            return false;
          }
  
          $.ajax({
            url: "/api/experiments/machines/" + macId + "/#{project._id}",
            type: "POST",
  