Core Services vs. Customizations
We differentiate between core services that we view as critical to the success of any community and services that customize the platform for specialized use cases. Our core services are:
Theming. This includes the visual styling of existing functionality and pages to reflect the use cases, tone, and branding requirements of each customer. It includes device & browser compatibility and the use of existing modules leveraging data and options that already exist within the product. This process typically starts with receiving mockups. Working closely with the theming team helps ensure success and will allow us to advise you if new features are accidentally included in mockups, which would fall outside the scope of core services.
Migrations. We view preserving community data as critically important. We offer data migration services from any platform that allows structured data access via either exports or API. Our extensive tooling allows for cost-effective transformations of data from a large number of sources and we are always willing to build new tools as required to meet your needs.
Single Sign On integrations. Community ownership starts with owning the user experience across platforms. We offer “out-of-box” solutions for OAuth2 and SAML-based SSO, and via core services we offer modified solutions based on these standards for specialized compatibility needs. For customers without an existing SSO solution, we offer an in-house solution that offloads most of the “heavy lifting” to our side of the connection and simplifies setup. However, it still requires a developer to be available to you for setup.
We strive to make these services available at-cost to our customers to ensure a successful onboarding experience, a timely launch, and effective ongoing updates to branding and technical needs.
We never provide services that involve direct access to your servers, databases, or hosting controls. This includes the export of data from your internal databases or configuring the Identity Provider side of an SSO connection.
How We Provide Services
There are 3 models for developing core services and customizations.
- Full Professional Services: We build and maintain a deliverable on your behalf as if it were part of our product. We strongly recommend this option for all customizations, and especially for customers without internal development teams that can easily be brought onto community projects.
- Guided Self-Development: Scope of work is limited to theming with our existing feature set unless explicitly approved otherwise on a per-case basis. We provide guidance on development, but you take ownership of the work and maintenance. Our SLA does not apply. Developer contacts must be part of your internal teams, not third-party contractors.
- Hybrid: The most common hybrid model is that we provide an initial service (most frequently a theme) and then you provide ongoing maintenance and updates. This leverages our experience to ensure a timely launch and low maintenance costs, while providing ongoing flexibility without internal budgeting constraints.
We currently have customers using all 3 of these models successfully. Having a serious conversation with your Customer Success Manager about which is most appropriate for your situation is the best way to guarantee success. We have a great deal of experience building successful communities and managing their technical requirements.
Your project manager may provide a more nuanced process. This broadly covers all types of services under all models in a nutshell:
- You present requirements that include your high-level goals.
- Both parties negotiate acceptance criteria based on goals.
- We determine whether this is core services work or a customization.
- We must approve customizations before they proceed past this point (Self-Guided Development process forks here).
- We produce a formal estimate.
- You sign a Statement of Work.
- We schedule the work and complete it via developer sprints.
- The deliverable is presented for your review.
- We address feedback per the terms of the SOW and estimate.
- We schedule and complete deployment.
Self-Guided Development follows a different process after 4a. Instead, it continues with code review and self-deployment. The section below titled Self-Development Guidance covers this process and its challenges in greater detail.
Our Product Goals
We want to enable full platform transparency via our API and webhooks that allow customers to remotely program any desired functionality through secure, testable, and maintainable endpoints. While we have made great strides in that direction, we recognize there are incomplete areas of our API and we do not yet support native webhooks. Wherever possible, we will enable the development of custom webhooks that adhere to our requirements until such time as we offer a full range of native ones.
Appropriate Customer Goals
The purpose of customizations (non-core services) are to more closely tailor our platform to your business and community needs. Typically this includes small gaps in desired functionality like storing an extra piece of data, displaying additional context, or adding an option. They may include syncing or connecting data to third-party services.
Customizations are not for creating complex native features, creating custom workflows within the product (excepting light integrations with third-party services), substantively changing how the platform works, or generally conducting self-directed software development on our cloud infrastructure.
Our Priorities for Customizations
The most valuable service we provide is a stable, secure, fast, and steadily improving experience for your users who want to interact with your community. Therefore, we have a number of criteria and requirements for customizations so that they do not compromise those priorities.