[BetterBatteryStats] chamonix:
My new workflow

I have been experimenting a bit and thought it would be useful for you guys to understand my new workflow. Of course if you have suggestions please feel free to comment. After review and potential changes I will update the posts #1 to #3 to reflect this.

Community, issues and feature requests

The most important first: XDA and this thread are my go-to places in terms of feedback and future developments. I started the development of BBS with this thread in 2011 (seems like yesterday) with a promise: BBS will always be free for XDA users.

XDA as community and this thread particularly have not stop amazing me with permanent constructive feedback, engagement in testing and more importantly in supporting BBS users. Thanks to all of you for you help and support!

You can also hit me up on twitter (@asksven) or raise issues and feature requests on github.

License model

Some of you may not know that but BBS is open source from day 1; it started as an experiment trying to demonstrate that open source is compatible with earning money. The source is available to everyone to review, fork, build upon under the terms of the Apache 2.0 license here: https://github.com/asksven/BetterBatteryStats.

I think I should state, that the name of the app (BetterBatteryStats) as well as the logo/artwork are excluded from the open-source license.

Distribution

As a matter of fact I distribute two versions of BBS:

- the paid version on google play: https://play.google.com/store/apps/details?id=com.asksven.betterbatterystats

- the free "XDA" version that is a different package and can be installed side-by-side with the gplay version

Until 2.2 I have been distributing the APKs of the "xda" edition by uploading to this thread. Starting this summer I have move my workflow to continuous delivery and have started removing all manual steps. The current version is now available on HockeyApp.

I get quite some questions about distributing BBS in ROMs or by other means: my answer to such requests has (as stated in the OP) always been no based on following arguments:

- usability: I don't think it's serving users to have an old BBS version included in any ROM

- support: I don't have the bandwidth to support distributions of BBS that I don't know the details of

- feedback: I really prefer the app coming from a source that I control and have visibility into

Development

I have abandoned Eclipse and moved to Android Studio, sometimes using the stable version, sometimes Canari. I code on a Dell XPS15 (2016 model with 32GB RAM and 4K display), either on Windows 10 (preview, fast-ring) or in a Linux VM. If you want to roll your own BBS build please follow the instructions of the README on github.

Continuous delivery

I build BBS on CircleCI and automatically publish to HockeyApp and Google Play:

- every commit goes to HockeyApp (xda edition) so you should be aware of the fact that you are on the bleeding edge if you pick that distribution model

- selected commits are tagged and go automatically are published to google play in the beta programme: this is a slower pace for more stable releases

Feedback loop

What is the sense of iterating faster if it would not take feedback into account? Both the XDA edition and the GPlay version collect anonymized usage stats / analytics. Of course these can be turned off but I encourage you to leave these on so that I can make decisions based on these metrics. On top of that your feedback as well as the issues and feature requests are also taken into account. If you have concerns in terms of data-privacy please contact me or review the code yourself.

Translations

All translations are crowd-funded and you can find the due credits in the app. Translations are currently submitted as pull-requests (translated values/strings.xml) on github.

What comes next?

I am working on building more confidence into the delivery pipeline (read automated testing) and definitely aim at releasing to google play "production" automatically as well.

Depending on your feedback I may add more rings to the HockeyApp distribution channel, e.g. a weekly slow-ring.

Your turn

If there is anything that you don't like, would like to know more about, would like to see in the future? Shoot!