Table of Contents

DSpace-Client

Develop-Demo

DSpace API Documentation

Components

Ender

├── qwery@3.4.0 - blazing fast CSS3 query selector engine
├── domready@0.2.11 - bullet proof DOM ready method
├── bean@1.0.2 - A small, fast, framework-agnostic event manager
├── bonzo@1.3.2-1 - Library agnostic, extensible DOM utility
├── morpheus@0.6.6 - Animations
├─┬ backbone@0.9.9 - Give your JS App some Backbone with Models, Views, Collections, and Events.
| └── underscore@1.4.3 - JavaScript's functional programming helper library.
└─┬ handlebars@1.0.7 - Extension of the Mustache logicless template language
  ├── uglify-js@1.2.6 - JavaScript parser and compressor/beautifier toolkit
  └─┬ optimist@0.3.4 - Light-weight option parsing with an argv hash. No optstrings attached.
    └── wordwrap@0.0.2 - Wrap those words. Show them at what columns to start and stop.

Overlays

Dynamic Overlays that are not embedded into the map tiles but created by JS on the client

  1. POIs
  2. Area of Effect/Action
  3. Position of group members (geolocation of people) (Privacy Settings?)
  4. Position of drones (geolocation of devices)

Possibility to access static POI's even when not connected to the net?

Features

  1. Select different baselayer maps for different use-cases
  2. Find POIs in Area of Action (radius around current geolocation)
  3. Ruler (set two points and calculate distance)
  4. Scale
  5. Bandwidth Detection to deliver lower resolution/compressed tiles

UI

  1. Mouse
    1. Left click → Single click
    2. Right click → Popup area specific context menu
  1. Touch
  2. Short Touch → Single click
  3. Long touch → Popup area specific context menu
  1. Gesture
  2. One finger swipe → pan map
  3. Two finger swipe left/right → Switch to next overlay
  4. Two finger zoom → Zoom

FeatureBox

User adds Overlays to featurebox
 - appears as new tab (like browser), each tab has a represenattive icon (the marker image)
 - add (plus) button as last tab
 - visible checkbox
 - remove overlay from featurebox option

Bare Client Flow (new client without any Overlays)

  1. Add Overlay (Have a button in top right corner)
  2. Modal Directory Interface, splittet in
    1. geobar: for semantic search or url pasting
    2. Gallery: showing overlays with matching proximity (neat: Having autocompletion in the geobar and show overlays in gallery matching the current keyword)
  3. User selects Overlay from Directory to add to his FeatureBox
    1. Overlay Appears with FeatureItems as a Tab in the FeaturBox
- Keyboard (panning with arrow keys / zooming with page Up(in)/Down(out)

Storage

Federated storage possibilities:

http://remotestorage.io (unstable!) https://github.ctom/jcoglan/restore (unstable!)

DSNP

Transports

“Data-Proxies” :

- MVV live stats

XMPP

Flow

→ init new World

[world]                                 [map]                                                            [overlay]                              

{attributes: options} {model/world: world} {collection: featurecollection}

  1. > create Map( world )
  2. > render Map
    1. > initbasemap
      1. > create frame (MM)
  1. —- create overlays ———

world.get( geofeeds ).each

  1. > create featurecollection( feed )
  2. > create overlay( featurecollection )
                                                                                                                      #on geofeed.reset
                                                                                                                      <- map.addMapLayer( featurecollection )
                                               mm.addlayer markerlayer <-
                                            [markerlayer] {collection: featurecollection }
                                             -> setIndex
                                             -> set marker factory to marker
                                             
                                            [marker]  {model:feature}
                                            -> bind to
     
                                                ----- remove feeds ---------
  1. > reset overlays

#send trigger

  1. > remove from dom