idea development

Drupal™ Development

Small Robot has developed projects with the Drupal Content Management System (CMS) for over 15 years. Drupal allows you to have a website, api, etc, that can scale, and grow with your business.

Being that Drupal is an Open Source project, this allows your project to have a worldwide community of developers that speak the same language. We have development knowledge, and experience with:

  • Drupal 6+
  • Drupal Commerce
  • Decoupled Drupal with JSON:API
  • Contenta CMS (Drupal distribution)
  • OpenEDU (Drupal distribution)
  • and more...

Our clients range from Higher Education, and Technology Institutions, to Small Business, and Personal sites.

See our development approach for details on how we work.

Web Applications

We love to develop web based applications, for the flexibility of platform, from phones, tablets, desktops, kiosks, and further. Using a web app can allow native like user interaction, instant feedback, and even more. The site you are reading right now is actually a "Progressive Web App" (PWA), which as the capabilities of your device / browser / connection, change, the app is still usable, even offline. 

We can build your web app with Ember.js, Vuejs, or other frameworks. We will help you pick the best solution for your requirements. The application alone is not just the whole picture, we work with your existing API's, and can develop a custom one for your needs. 

Why develop web applications:

  • More advanced presentation layer
  • "Real Time" content
  • Contextual content
  • Native app like interactivity
  • Multiple apps, from the same data source
  • Offline, and installable
  • More potential uses
  • Not just a website

Development Approach

We prefer to use a modified “Agile” approach to web development. For the project, all tasks are broken into 2 week “sprints”, or development cycles, which span the whole project development. These sprints contain tasks that should be able to be completed during the sprint, allowing faster internal review of the projects development progress. 

At the end of each sprint, there is a client meeting, where we go over the progress of the sprint, along with, if completed tasks are demo ready, a demonstration of the completed tasks.

Tasks are typically divided into “development tasks”, and “front end tasks”, also known as theming. During the sprint planning, we will schedule development tasks to be completed early on in the project timeline. This allows the functionality of components, api’s, content structures, etc, to be completed first, allowing for testing with content, integrations, and more, without being held back by the front end presentation.

After each sprint demo, a review of the deployable code is made, and if possible, the completed tasks are deployed to a staging server for client interaction. We will then perform an internal review, and adjust the next sprint to continue incomplete tasks, and start additional tasks. This cycle repeats throughout development.

Code Standards

We follow the coding standards that are set forth by the project we are using, for example Drupal development, we follow Drupal Coding Standards. This allows consistency in our code, as well as the ability to use automated code tests, to ensure quality code. 

Accessibility, and browser compatibility is also very important to us, so when we create HTML, CSS, and JavaScript, we preform tests to be as due diligent with these requirements. For government, and education clients, we follow the Web Content Accessibility Guidelines (WCAG) 2.0, and 508 compliance, as a standard practice. 

Version Control

All development projects are kept in a GIT repository, to allow versioning of code, as well as efficient collaboration between development teams. We recommend Github or Bitbucket as hosts for your repository, in private mode, especially during development.

Open Source

We develop all our projects using Open Source Software. Using software that is not proprietary allows costs to be, in some cases, less, but also allows for a greater number people that can develop on your project in the future. Open Source Software, like any software, is not 100% free from bugs. In the case of bugs, having a open community that finds them, allows for bugs to get fixed as a group. 

Some of the development we may complete on your project, has the potential to be given back to the Open Source Software community. With your permission, along with due credit, we suggest showing support for the projects, by sharing potential improvements to the code, custom modules, and more.