Enjoyment, Understanding, Achievement: Introducing the Developing Custom VersionOne Apps 101 Series

This is an introduction to the Developing Custom VersionOne Apps 101 series. This  series demonstrates an experimental, work-in-progress approach for creating your own custom apps for VersionOne using standard HTML and open source JavaScript libraries you already know and love. You’ll leverage the VersionOne REST APIs to build extensions and customizations to VersionOne that only you and your team can dream up!

But, this series is just one iteration, presented to you, our ultimate product owners, for your review and retrospection.

As mentioned above, this is an experimental, work-in-progress, community-driven approach. As such, you should not view this series as an “officially supported way of doing things”. Instead, see it as the beginning of a new approach that is community-focused. The JSON data format you’ll see used in the series comes from a small client-side shim v1json.js file that you can use or adapt to your own needs. Once we iterate enough on this, we’ll bake the JSON format support into the product back-end, and the shim will not be needed.

Why we’re writing this: to start developing with you, not at you

As we roll out our new development blog, we’re also rolling out some new ways of working with you, our end users. We want to engage in more collaboration, face to face, and virtually, with you and be more responsive to your wants and needs for our products and APIs.

We want you, developers/testers/designers/administrators/operators in organizations all around the world who use the VersionOne software, to be excited about using and programming against our APIs and platform.

We realize it makes your job harder if you have to learn proprietary frameworks and APIs developed in an ivory tower and handed down to you by “architects who don’t code” (who’ve never read the FMGTABAA) — or even worse, by executects, marketects or salesitects.

Because of this, we encourage you to be involved and vocal about your wants and needs for a powerful API and platform. If it looks like we are falling down on this, then remind us that:

You want to experience Enjoyment, Understanding, and Achievement

You should feel great when using our APIs to customize VersionOne to your needs! Some things we’d love for you to feel are:


We want you to visibly enjoy using the API. Yes, we want you to enjoy it. Not just tolerate it, or roll your eyes and grit your teeth because your boss thinks you need to use the API to intergrate with some old school monolithic one-size-fits-all tracking/reporting/source control “suite”.

Repeat: we want you to enjoy writing code that consumes VersionOne APIs.

Hey, what about that visibly part? Well, we plan to do some hackathons, so we hope to see you there!


You should feel like you’re deepening the app development skills you already have, or that you are picking up new ones that will also apply elsewhere, not just with the VersionOne APIs.

If at any time, you feel like we’re producing APIs and tools that are borrowing vendor lock-in moves from the late 1990s, then yell at us, for our own good. This is not the late 1990s. We all work in a web that is increasingly linked, with services and sites sharing data in a “Linked Data” kinda way.


You have your own products to create. VersionOne cannot get in your way. It must make your lives easier.

We know the web and all the devices connected to it keep changing and improving. We know you and your organizations want to move beyond the static web, beyond the dynamic web, and into the “real-time web”!

It would be arrogant beyond belief for us to think that you don’t have choices or that other companies aren’t empowering you as we speak to do just that.

We prefer that you choose willingly to use VersionOne because of the enjoyment you feel about using it and our APIs, the knowledge and skills you gain while developing with those APIs, and because, taken together, the whole package lets you and your organization build your own products more quickly and easily.

You can also remind us about this:

Agile Manifesto

You probably recognize that from http://agilemanifesto.org/.

It’s likely that those words are what inspired you or your company to take the plunge and delve into agile in the first place. And, if it does not feel that way to you sometimes, maybe you can remind the company you work for of this phrase:

Words mean things

VersionOne co-founder and CEO, Robert Holler, sent this brief video out to our company last month to remind us all of that very idea.

The words of the Agile Manifesto have always meant something special to VersionOne — one of the earliest companies to pursue the philosophy and practices of agile wholeheartedly. These words continue to resonate with us today, even in a time when “agile” has become a platitudinous marketing buzzword that you should be skeptical of whenever you hear it, including from us!

What you will learn

By reading this series and performing the code exercises, you’ll get your hands dirty with lots of web technologies. You can dig in at any level of your current understanding.

Throughout the series, you’ll get incrementally more exposure to using these technologies with the VersionOne REST APIs, but what you learn will be valuable in your own web apps or with other APIs you use.

  • VersionOne Feature Requestor Sample App — Take a tour of this sample app, built entirely with open source JavaScript libraries and the VersionOne REST APIs, then open the hood and see how it works.
  • HTTP (Hypertext Transfer Protocol) — Learn why the web was created by Tim Berners-Lee in 1989 (he was frustrated!), and how your browser uses a simple protocol to “get you what you want and post what ya got”.
  • REST (REpresentational State Transfer) — Understand what it is and how it builds upon HTTP to power the web, and learn why Roy Fielding coined the phrase in the first place (he was angry!)
  • REST-based APIs (Application Programming Interfaces) — Learn why they exist and how lots of them, including VersionOne’s, take advantage of REST principles to make your job easier.
  • JSON (JavaScript Object Notation) — Practice using this simple data format that’s become ubiquitous in APIs, and use use new, improved JSON support in the VersionOne API.
  • Google Chrome Developer Tools — Explore some great tools within Google for opening up the hood of your favorite web apps and even tinkering with them!
  • HTML Forms — Create simple HTML forms and populate them with JSON data from web APIs.
  • jQuery — Use this powerful and popular JavaScript library for web apps that makes simple tasks cake and advanced tasks taste more like icing.
  • Backbone.js — Need some structure for your web app? Learn how Backbone simplifies using REST APIs in your web apps with Models, Collections, Routers, Views, and more
  • Underscore.js — Companion to Backbone, learn how to reduce the amount of code you write for looping, object creation, filtering, and other functional programming concepts.
  • Backbone Forms — Tired of writing HTML forms by hand already? Use this open source library for Backbone to create pretty and self-validating forms automatically!
  • VersionOne Meta REST API — Play with the “data behind the data” in VersionOne, and add even more dynamic power to your Backbone Forms.
  • VersionOne Localization REST API — Need multilingual user interfaces? Start using the Localization API to do just that
  • CoffeeScript and the Future of JavaScript — JavaScript is ubiquitous, and has been ever since its inventor Brendan Eich was given just 10 days to create the prototype in 1994. Others have taken more time to improve the developer experience with JavaScript, resulting in new languages that compile into JavaScript. Learn how those improvements are catching the eye of Eich, who serves now as the Mozilla CTO, and are influencing international standards.
  • jQueryMobile — We know you’re going mobile. We are too. Get your hands dirty with this powerful library that powers the VersionOne Feature Requestor Sample App.

What’s Next?

Enjoyment, Achievement, Understanding…these words mean things. What do they mean to you?

Keep that in mind, and head over to the Developing Custom VersionOne Apps 101 Series Guide to get started.

This entry was posted in How-To. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *