We built the Button open-source library with the key questions we hear from our partners in mind. In particular:

- It's completely open-source
- No third party dependencies
  - **Note: Android uses Support Library and Google Play services**
- 100% functional test coverage
- Strict semantically versioned releases
- [MIT Licensed](https://en.wikipedia.org/wiki/MIT_License)

## Key Performance Characteristics

_Note: These metrics are automatically updated by our release process -- they always reflect the latest version_

### Android Merchant Library

- Compiled Size: **33 kb** (AAR)
- Method Count: **221 methods**
- Running Memory Footprint
  - Constant: **~200 kb**
  - Peak: **~1 mb**
  - _Java heap size measured on Google Pixel running Android 8.1.0 using [Memory Profiler](https://developer.android.com/studio/profile/memory-profiler)_
- Network Footprint
  - New Install: **1.64 kb**
  - Button Order Tracking: **1.68 kb**
  - All others: **0 bytes**
- Library _start time:_ **~6 ms**
  - Measured as time to return from `configure` method
- Supported OS Versions: _**API 15+**_

### iOS Merchant Library

- Compiled Size: **90 kb**
  - _Measured by uploading two complete builds to TestFlight and comparing their download size_
- Running Memory Footprint
  - Constant: **~2 kb**
  - Peak: **~2.75 kb**
- Network Footprint
  - New Install: **~775 bytes**
  - Button Order Tracking: **~750 bytes**
  - All others: **0 bytes**
- Library _start time:_ **~1 ms**
  - Measured as time to return from `configure` method
- Supported OS Versions: **iOS 9+**
- 100% Swift Code

### Support Guarantee

- There are no _known_ crashing issues in the library
  - A crashing issue in this library is P0 to our team and will be addressed immediately
- All new versions of the Android and iOS will be supported at least 30 days before public availability of the OS version

## Sample Project

Want to see what a complete setup looks like? Both the iOS and Android Merchant library repositories include a full Sample Project.

- [iOS Merchant Library Sample Project](https://github.com/button/button-merchant-ios/tree/master/Examples)
- [Android Merchant Library Sample Project](https://github.com/button/button-merchant-android/tree/master/sample)
