sharedstreets / mobility-metrics

Tools for collecting, processing, and interpreting mobility data using SharedStreets
MIT License
50 stars 17 forks source link

desktop #25

Closed morganherlocker closed 5 years ago

morganherlocker commented 5 years ago

I have been working on a desktop implementation of this project on the desktop branch. This branch wraps the existing UI inside an electron app for 1 click installs and cross platform distribution. This greatly simplifies the ease of use for cities with limited IT infrastructure or cities where setting up servers and proxies is a slow process. Overall, decentralized applications put more control in the hands of the user, and more closely model the usage of traditional GIS tools.

todo

Moving away from server/CLI based tooling requires a couple additional UI panels for admin tasks, as well as dev tooling for building across OSX and Windows, our two most commonly requested platforms.

morganherlocker commented 5 years ago

I was able to get 1 click OSX installs working today (🎉), and have what I think is working configs for Windows and Linux as well. After banging my head against the wall on Windows builds, I realized that we have a few native dependencies (OSRM & LevelDB) that must be built on the targeted operating system or they are silently ignored. I have dual boot Windows & Linux desktop at home that I will test this theory on this weekend and update results here.

icons

It's important to format icons properly for each platform. I have a sharedstreets icon ready to go, but will need to render it in a few resolutions: 512x512 for OSX and Linux; 256x256 for Windows.

morganherlocker commented 5 years ago

I ran into issues on this front when trying to compile leveldb on Windows. The issue with Windows was caused by a node-gyp compilation step that required 2 conflicting python versions. leveldb is no longer a dependency in the latest version, so this may be a bit easier to solve now. 🤞

morganherlocker commented 5 years ago

The lack of Windows support for OSRM combined with the simplified static site refactor means the desktop is app is less important for distribution. This will improve the security of data as well, since raw data will only be handled by fully automated systems that can be appropriately locked down.