Skip to content
Leo5700 edited this page May 21, 2017 · 9 revisions

Welcome to the zim-android-mockapp wiki!

This wiki is dedicated to the development of a android app as complement to the Zim desktop wiki.

Goal

The goal: develop an application for Android that can access a zim notebook on the local drive of the device.

The files should be shareable by specialized solutions like dropbox and owncloud.

By comparison an app that interfaces to a server version would be much easier, but would also be less valuable because it causes the problem that you need to deploy a private or public server. However a mobile web version of zim is an intermediate step in the development plan.

Implementation

To avoid developing multiple implementations of common zim functions goal is to include python code from the desktop application.

To allow re-use of the same code for a server based version, try to use html and javascript for the user interface where practical.

You can help!

In order to realize this applications there is work to do for packaging the application and for creating an attractive interface. Below there is a list of milestones. If you feel like diving in some of these topics please let us know and help with realizing these milestones!

Milestones

Milestones for packaging

  1. PACK-1: Demo mock app packaged as an android application -- Deployment
    1. Incude python code of the mock-app
    2. show a webview to show the html output
    3. Demo: clicking link in view → python code call → read file from disk
  2. PACK-2: Source and full documentation for the demo app available
    1. Source available in public repository with open source license
    2. Where to get and how to install pre-requisites
    3. Commands to build application package
  3. PACK-3: Integrate real zim code into the demo app - depends on UI-3
    1. Build real app for testing
  4. PACK-4: Package application according to standard for google play app store

Milstones for html interface

  1. UI-1: Attractive HTML mockup of interface
    1. Attractive HTML interface for mobile usage
    2. Write down navigation model of the application -- Navigation
    3. Test usability using the mock application in server mode
  2. UI-2: Server version running static HTML interface
    1. Integrate interface into server version of zim
    2. Test usability with zim server mode
    3. Ensure zim server mode runs without gtk / gobject dependencies
  3. UI-3: Notebook editable through html interface
    1. HTML/javascript editor for editing page source -- Editor
    2. Suppport for PUT request in zim server
    3. Server commands for for moving / renaming / delete / new page
    4. Test usability with zim server mode
Clone this wiki locally