Developers

Want to help?

The POH performance apps are written in Javascript, HTML, and CSS as a single page application. All POH performance apps share a common framework with aircraft-dependent pages. The browser version of the app can be executed locally using any modern bowser. The apps require a lightweight PHP backend for weather and settings backup, but can function without it.

The iOS and Android versions of each app are generated using Cordova (via Adobe PhoneGap Build), which produces a native application with an embedded WebView along with the code.

Source

The source is published on SourceForge here. There is extensive documentation included with the source. See README.html.

License

The code is provided under license. The license is free for non-commercial use. The purpose of the license is to protect the developers and to ensure that derivative works are not confused with POH Performance versions.

Adding aircraft types and models

Adding a new aircraft type requires reasonable Javascript skill. It is best approached by starting from a similar existing aircraft type. Simple model additions to an existing aircraft type app, only require a modicum of Javascript skills. Most of the effort involves translating the performance tables and/or graphs into the internal JSON-like format. If you attempt this with performance graphs, using graph digitizer software will make this quicker and much more accurate. All performance data should be compared against the POH at least twice.

For the curious, here's a snippet from the Cessna 172S:

	climbRate: new Ptable({
		title: "Climb rate",
		parmNames:	["temperature", "altitude"],
		a: [
		{p:-20, a: [
			{p:0,		v:855},
			{p:2000,	v:760},
			{p:4000,	v:685},
			{p:6000,	v:575},
			{p:8000,	v:465},
			{p:10000,	v:360},
			{p:12000,	v:255}
		]}, {p:0, a: [
			{p:0,		v:785},
			{p:2000,	v:695},
			{p:4000,	v:620},
			{p:6000,	v:515},
			{p:8000,	v:405},
			{p:10000,	v:300},
			{p:12000,	v:195}
		]}, {p:20, a: [
			{p:0,		v:710},
			{p:2000,	v:625},
			{p:4000,	v:555},
			{p:6000,	v:450},
			{p:8000,	v:345},
			{p:10000,	v:240},
			{p:12000,	v:135}
		]}, {p:40, a: [
			{p:0,		v:645},
			{p:2000,	v:560},
			{p:4000,	v:495},
			{p:6000,	v:390},
			{p:8000,	v:285},
			{p:10000,	v:180}
		]}]
	}),

App statistics

Here are the some lines of code statistics on the application. This includes code, JSON and comments, but not external libraries.

Infrastructure20,468
Baron15,396
C17210,113
TBM52,306

The infrastructure is included in each app and is the same for all apps. The TBM version is significantly larger since it includes the emergency procedures and circuit breakers for all the models, whereas the the other aircraft types do not have that functionality.