SynthFlight is a fully client-side software for planning aerial photography.
Run it either on the desktop or in a browser online.
There are numerous ways to set up SynthFlight, listed from most to least preferred:
- PWA - works offline, requires low storage space, updates are silent and fast.
- Browser - that's what SynthFlight is built for.
- Desktop builds - works offline and has a nice UI, but requires ~100 Mb of storage. Useful for environments where PWAs are not available.
- Opening a local copy in a browser - it works but might impose performance issues.
- Outdated browser - ew, but SynthFlight got you covered.
- Download the latest build for your OS and platform.
- Extract the downloaded archive wherever you want.
- Navigate to the extracted folder, open it and run
SynthFlight
executable file.
Warning: macOS builds are not signed, so you need to configure your system to run unsigned apps.
A browser that supports it.
One of:
- Chrome 8 or later.
- Firefox 22 or later.
- Safari 6 or later.
- Internet Explorer 9 or later.
- Any other modern desktop or mobile browser.
Problems with outdated browsers:
- Can't read files. Chromium-based browsers have a "feature" that prevents
FileReader
from reading local files. How to solve: run browser with--allow-file-access-from-files
flag or host SynthFlight on a custom server. - Can't save files. How to solve: update your browser.
- App page doesn't load in legacy browsers (browser can't verify SSL certificate). How to solve: enable TLS 1.3 support in your browser or host SynthFlight on a custom server using protocols and/or certificates that your browser supports.
- OSM search doesn't work in browsers that doesn't support TLS >= 1.2. How to solve: update your browser. For IE9, you need to serve SynthFlight over HTTPS and make sure your users have TLS 1.2 support enabled.
Of course, requirements for TLS might change in future with the new TLS versions coming out and GitHub and OSM changing their policies. You can't prevent this from happening, the only thing you can do is using an evergreen browser.
- Operating system - one of:
- Windows 7 or later. ARM64, x86 and x64 platforms are supported.
- Linux with X11 installed (basically all modern distros). ARM32, ARM64, x86 and x64 platforms are supported.
- macOS. I have no idea which versions are supported. Try and see if it works. Also, these builds are not signed.
- CPU: One that can handle web surfing. If you can browse the internet, SynthFlight will work fine.
- RAM: 1 GB or more.
Please, refer to the Wiki page for the user guide.
If you want to build SynthFlight yourself, do the following:
- Install NodeJS.
- Download the source code and
cd
to the project's root. - Download dependencies by running
npm install
. - Build by running
node build.js
. There are additional options, to see them, runnode build.js -h
. - When build will be finished, in project root will be
dist
directory containing builds for different OSs and platforms.
Warning: To build for macOS, you may need to run everything on an actual macOS. I don't have macOS, so I can't test if builds in this repo actually work.
You can easily host SynthFlight on your server:
- Since SynthFlight is a fully client-side software, you can use your favorite HTTP server. So go ahead and install it.
- Download the
browser
build from here or build SynthFlight for the browser manually. - Configure your server to serve
index.html
file in that build.
There's a development branch which you can fork and commit to. If you plan to contribute to this project, please, notify me before doing so because I might be working on a big feature and not commit until it's ready. I'll commit more often if someone will work with me.
Translating this app will be much appreciated. SynthFlight locales can be found in locales
directory and ALS locales are available here. Both of these needs to be translated. Locales are plain JS objects where key is being used in the program itself and value is a string that's being added to the page. Only values needs translation. Copy one of the locales to a new file, change locale name and translate all the values.
You can also contribute by reporting bugs or requesting new functionality. To do so, please, create an issue and describe your request.
Yes.
Backwards compatibility is preserved unless noted otherwise in the release notes. However, this is unlikely to happen unless required for fixing a critical bug.
As license states, yourself :p
However, if you've encountered a some kind of error, please, report it by creating an issue.