Ask HN: How do you handle white-labeling product from a technical perspective?
1–8 of 8 posts
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#2Approach branding in the same way as internationalization. Instead of hardcoding strings, reference a config file that translates the logo/brand names/color scheme for the specific deployment. Look into how Shopify does this for their customers.
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#3Disclaimer: I've never done this before, but this is what I'd do. Approach branding in the same way as internationalization. Instead of hardcoding strings, reference a config file that translates the logo/brand names/color scheme for the specific deployment. Look into how Shopify does this for their customers.
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#4Disclaimer: I've never done this before, but this is what I'd do. Approach branding in the same way as internationalization. Instead of hardcoding strings, reference a config file that translates the logo/brand names/color scheme for the specific deployment. Look into how Shopify does this for their customers.
yeah something like that is decently easy on web... I think it may be a more significant challenge on the Mobile side. I'm also curious about things like... should we have 1 github repository for the base app and then branches for each customer, or some other type of code management setup.
For Github we had the base app in one repo and client apps in their own repos. This was more out of necessity as we had different clients on different versions of the product / with their own custom functionality.
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#5Disclaimer: I've never done this before, but this is what I'd do. Approach branding in the same way as internationalization. Instead of hardcoding strings, reference a config file that translates the logo/brand names/color scheme for the specific deployment. Look into how Shopify does this for their customers.
yeah something like that is decently easy on web... I think it may be a more significant challenge on the Mobile side. I'm also curious about things like... should we have 1 github repository for the base app and then branches for each customer, or some other type of code management setup.
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#6If I were to do it again I'd likely not use the branches for branding config, but keep them all in one place and use a build tool to make sure the required settings are in place and merged before deployment. As long as you tag your releases you can fix certain clients to certain releases.
Make sure you talk to your clients about what their branding requirements are. Some companies get very very specific about what they 'need' and as soon as you offer the ability to customise something they can get irritated if their brand doesn't look quite right. As others have said make all of these customisations part of a config file and just reference that in your code. Once you start making specific changes for a client your life becomes difficult and you end up managing a specific bunch of code just for them.
You didn't say if the white labeled app would be a public download of it it's intended for company staff. If it's the latter you can probably have a single app that gets configured on the first start up, i.e. it's blank when you open it, sign in and it pulls in the required config and then takes on the customer's brand.
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#7White labels are fairly easy. As another poster mentioned, use internationalization tools for branding language. Create layouts specific to each partner and namespace assets in a folder.
Setup a subdomain for each partner and you're done. It's not hard at all if you're using a framework like Rails.
Re: Ask HN: How do you handle white-labeling product from a technical perspective?
#8- we use a single server and the domain name determines which white label we are on.
- we use LESS and everything is variable. We load a single compiled CSS based on the domain.
- we never hard code anything, unless we know it's a single page for a single domain (everything is internationalized).
- the database contains everything and we filter out stuff a particular white label doesn't want.
This is because the website displays content (it's not a service like shopify) and most white labels want most of our editorial content, so syncing DBs is not an option (is it?). We have 40+ white labels and unless the customization is heavy we can create a new one in a matter of minutes.