User Tools

Site Tools

Navigation Menu



Hot Projects


SEEDStack - Open 3D printable seed/sprouting systemDIY Food Hacking


UCSSPM - Unified Clear-Sky Solar Prediction ModelOpen Solar Power


picoReflow - DIY PID Reflow Oven Controller based on RaspberryPiDIY Reflow Soldering


PiGI - DIY Geiger Counter based on RaspberryPiRasPi Geiger Counter

DIY ARA-2000

Active Wideband Receiver Antenna for SDR - ARA-2000Wideband Antenna


DSPace - Map everythingMap everything!





DSpace API Documentation



├── 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.


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?


  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


  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


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)


Federated storage possibilities: (unstable!) https://github.ctom/jcoglan/restore (unstable!)



“Data-Proxies” :

- MVV live stats



→ 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