'''Mentors''': Carlos, Rod
===Backup App Data and Settings===
'''Description''': When new versions of Amahi come out, a drawback of Amahi is that it's hard to backup the settings (e.g. partitioning) installed applications and their user data
'''Objective''': The plugin should allow an administrator to backup any application data either on an external media or in the cloud(e.g.: Dropbox, Google Drive, etc).The restore process should check if the application is installed on the HDA and if not it should be automatically installed from the AppStore before the user data is restored.
*Create an Amahi plugin that will allow backup and restore of the user data for apps installed from the AppStore
*Centralizing app data/configs - link them to app folder instead.
*"Destructive" update awareness
*Ability to list, outline data directories for backups/upgrade check
'''Skills Required''': System scripting
'''Mentor''': Rod, Carlos
=== Backend Improvements ===
'''Description''': One requested feature for our mobile app (iOS and later Android) is the ability to browse apps within our mobile app while remote. This is supported locally, but not remotely. Our server side of the app needs to be setup to proxy specific webapps that the user has installed. Collaboration with the iOS/Android devs will also be necessary to prototype it. Technically, this project consists of add functionality to our reference proxy (written in Go) to do transparent HTTP proxying for individual webapps separately. It's not a mobile project in the sense of being on a mobile OS.
'''Objective''': The following features need to be implemented:
* NPN negotiation, compliance to http/2
* More edge case tests.
* Server push
* Actual implementation of priorities (everything is one priority at the moment)
* Extensive error handling for all possible rainy-day scenarios specified in the specification
* Support for other than HTTP GET frames, i.e. POST, PUT or any request that has a body
Details can be found on [https://github.com/amahi/spdy#status SPDY].
'''Skills Required''': Go programming
== Apps==
* Use sandboxing and containers to improve app stability, updating and more
* Improve installation and user onboarding (OOBE)
* Better upgrades with backup of apps, settings, etc.
Plus, of course we are open to suggestions. Open a dialog. We're happy to discuss and determine a suitable project.