Skip to content
This repository was archived by the owner on Oct 30, 2019. It is now read-only.

BUILD Overview

duncanmcintosh edited this page Jul 22, 2015 · 12 revisions

BUILD

BUILD is a collaborative design tool that enables non-technical users to create interactive prototypes with realistic sample data, making it easier to capture more accurate user feedback and jump-starting development.

BUILD prototypes are rich HTML5 applications that can run responsively on any device and can optionally be equipped with various enterprise services. The ability to plug-in user interface (UI) libraries enables the generation of prototypes with different frameworks, such as Angular and Open UI5.

Why we created BUILD

In order to BUILD applications with highly usable and attractive UIs we adopted a design-driven development methodology, positioning the role of user experience (UX) designers at the forefront of the application implementation.

However, despite early successes we experienced difficulties scaling this new approach, because the implementation of enterprise-ready HTML5 applications requires both specialized development skills and a large number of experienced UX designers. BUILD is our solution to these problems.

BUILD consolidates design tools and best practices, both from the perspective of design and development. It enables non-technical users, such as UX designers, business analysts, and product owners to create application prototypes via click-and-drag UI composition, or to automatically generate UIs based on business data. It addresses key UX and front-end development pain-points by reducing design process resource requirements, limiting high cost front-end development requirements, and dramatically improving collaboration between design and development at all stages of the implementation.

Main Features

  • UI composition – enables non-technical users to generate applications by creating UIs with reusable components, interactions, and rules without writing a single line of code.
  • Data modelling – facilitates data binding and modelling application generation, so that UIs are automatically generated based on existing data model or a new data model defined by the user. This process replicates the traditional bottom-up application development model.
  • Technology independence – facilitates plugging in UI control libraries from different UI frameworks, including OpenUI5, Angular Widgets, and custom HTML controls.
  • Extensibility – enables the creation of new reusable components and customer UI component libraries that can be share with other users.
  • Collaboration – provides sophisticated collaboration tools that enable users to share context-specific information, ideas, and feedback in real-time.
  • User research - enables users to gather and incorporate feedback from their end users or colleagues during the prototype development process.
  • UI guidelines and rules – helps users build applications that meet predefined UI guidelines while taking into account the current context and usage statistics.
  • Analytics – features analytic tools that capture quantitative end user data and provide stakeholders with a continuous, detailed understanding of user behavior and preferences.
  • Administration - enables users with administrator permissions to set up and customize the platform, for example by specifying the supported UI libraries, connecting to back end systems, user management, and so forth.
  • Project Management – enables project owners to set up users, manage teams, create projects and manage shared assets on a project level.

BUILD Technology

BUILD is implemented via the MEAN technology stack:

  • Mongo.db – this database used for data persistence.
  • Express – the wrapper used for routing service requests.
  • AngularJS – the library used for coding the presentation layer.
  • Node.js – the environment where the server side logic is maintained.

The platform employs a modular architecture.

The modules can be grouped in the following layers:

  • BUILD - this module is the main entry point to the project. It gives an overview of the project. The projects contains a minimal application based on reuse of the shell, as well as some configuration.
  • Functional Modules - these modules provide key pieces of functionality for BUILD.
  • Shared Components - these modules aggregate smaller shared components and dependencies that are used by other modules. There are distinct sets of components for client, server, development and testing.

Each module has its own GitHub repository and publishes its build artefact to the BUILD repository. Each functional module has dependencies on the shell and shared components, but can function as a standalone application.

Modules are also configured to consume the shared dependencies.

Each module may inject its UI into the shell by adding menu options, routes, and so forth.

The Team

BUILD has been initiated by SAP. It is developed and maintained by a number for core development teams, each of which has a project lead, a requirements lead, a resources leads, and a number of designated code reviewers and committers.

Contributing

!!We are not currently accepting code contributions to BUILD!!

Questions and Support

If you have any questions or required support, you can contact the BUILD core-development teams directly using the GitHub Issue Tracker.

Copyright and License

Clone this wiki locally