[ { "id": "boot", "name": "Bootloader", "icon": "bootloader.png", "version":"0.04", "description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings", "tags": "tool,system", "storage": [ {"name":".boot0","url":"boot0.js"}, {"name":".bootcde","url":"bootloader.js"}, {"name":"+boot","url":"bootloader.json"} ], "sortorder" : -10 }, { "id": "launch", "name": "Default Launcher", "icon": "app.png", "version":"0.01", "description": "This is needed by Bangle.js to display a menu allowing you to choose your own applications. You can replace this with a customised launcher.", "tags": "tool,system,launcher", "storage": [ {"name":"+launch","url":"app.json"}, {"name":"-launch","url":"app.js"} ], "sortorder" : -10 }, { "id": "gbridge", "name": "Gadgetbridge", "icon": "app.png", "version":"0.03", "description": "The default notification handler for Gadgetbridge notifications from Android", "tags": "tool,system,android", "storage": [ {"name":"+gbridge","url":"app.json"}, {"name":"-gbridge","url":"app.js"}, {"name":"*gbridge","url":"app-icon.js","evaluate":true}, {"name":"=gbridge","url":"widget.js"} ] }, { "id": "mclock", "name": "Morphing Clock", "icon": "clock-morphing.png", "version":"0.02", "description": "7 segment clock that morphs between minutes and hours", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+mclock","url":"clock-morphing.json"}, {"name":"-mclock","url":"clock-morphing.js"}, {"name":"*mclock","url":"clock-morphing-icon.js","evaluate":true} ], "sortorder" : -9 }, { "id": "setting", "name": "Settings", "icon": "settings.png", "version":"0.02", "description": "A menu for setting up Bangle.js", "tags": "tool,system", "storage": [ {"name":"+setting","url":"settings.json"}, {"name":"-setting","url":"settings.js"}, {"name":"@setting","url":"settings-default.json","evaluate":true}, {"name":"*setting","url":"settings-icon.js","evaluate":true} ], "sortorder" : -2 }, { "id": "alarm", "name": "Default Alarm", "icon": "app.png", "version":"0.01", "description": "Set and respond to alarms", "tags": "tool,alarm", "storage": [ {"name":"+alarm","url":"app.json"}, {"name":"-alarm","url":"app.js"}, {"name":"@alarm","content":"[]"}, {"name":"*alarm","url":"app-icon.js","evaluate":true}, {"name":"=alarm","url":"widget.js"} ] }, { "id": "wclock", "name": "Word Clock", "icon": "clock-word.png", "version":"0.02", "description": "Display Time as Text", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+wclock","url":"clock-word.json"}, {"name":"-wclock","url":"clock-word.js"}, {"name":"*wclock","url":"clock-word-icon.js","evaluate":true} ] }, { "id": "aclock", "name": "Analog Clock", "icon": "clock-analog.png", "version":"0.02", "description": "An Analog Clock", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+aclock","url":"clock-analog.json"}, {"name":"-aclock","url":"clock-analog.js"}, {"name":"*aclock","url":"clock-analog-icon.js","evaluate":true} ] }, { "id": "clck3x2", "name": "3x2 Pixel Clock", "icon": "clock3x2.png", "version":"0.02", "description": "This is a simple clock using minimalistic 3x2 pixel numerical digits", "tags": "clock", "storage": [ {"name":"+clck3x2","url":"clock3x2.json"}, {"name":"-clck3x2","url":"clock3x2.js"}, {"name":"*clck3x2","url":"clock3x2-icon.js","evaluate":true} ] }, { "id": "trex", "name": "T-Rex", "icon": "trex.png", "version":"0.01", "description": "T-Rex game in the style of Chrome's offline game", "tags": "game", "allow_emulator":true, "storage": [ {"name":"+trex","url":"trex.json"}, {"name":"-trex","url":"trex.js"}, {"name":"*trex","url":"trex-icon.js","evaluate":true} ] }, { "id": "astroid", "name": "Asteroids!", "icon": "asteroids.png", "version":"0.01", "description": "Retro asteroids game", "tags": "game", "allow_emulator":true, "storage": [ {"name":"+astroid","url":"asteroids.json"}, {"name":"-astroid","url":"asteroids.js"}, {"name":"*astroid","url":"asteroids-icon.js","evaluate":true} ] }, { "id": "clickms", "name": "Click Master", "icon": "click-master.png", "version":"0.01", "description": "Get several friends to start the game, then compete to see who can press BTN1 the most!", "tags": "game", "storage": [ {"name":"+clickms","url":"click-master.json"}, {"name":"-clickms","url":"click-master.js"}, {"name":"*clickms","url":"click-master-icon.js","evaluate":true} ] }, { "id": "horsey", "name": "Horse Race!", "icon": "horse-race.png", "version":"0.01", "description": "Get several friends to start the game, then compete to see who can press BTN1 the most!", "tags": "game", "storage": [ {"name":"+horsey","url":"horse-race.json"}, {"name":"-horsey","url":"horse-race.js"}, {"name":"*horsey","url":"horse-race-icon.js","evaluate":true} ] }, { "id": "compass", "name": "Compass", "icon": "compass.png", "version":"0.01", "description": "Simple compass that points North", "tags": "tool,outdoors", "storage": [ {"name":"+compass","url":"compass.json"}, {"name":"-compass","url":"compass.js"}, {"name":"*compass","url":"compass-icon.js","evaluate":true} ] }, { "id": "gpstime", "name": "GPS Time", "icon": "gpstime.png", "version":"0.01", "description": "Update the Bangle.js's clock based on the time from the GPS receiver", "tags": "tool,gps", "storage": [ {"name":"+gpstime","url":"gpstime.json"}, {"name":"-gpstime","url":"gpstime.js"}, {"name":"*gpstime","url":"gpstime-icon.js","evaluate":true} ] }, { "id": "openloc", "name": "Open Location / Plus Codes", "icon": "openlocation.png", "version":"0.01", "description": "Convert your current GPS location to a series of characters", "tags": "tool,outdoors,gps", "storage": [ {"name":"+openloc","url":"openlocation.json"}, {"name":"-openloc","url":"openlocation.js","evaluate":true} ] }, { "id": "speedo", "name": "Speedo", "icon": "speedo.png", "version":"0.01", "description": "Show the current speed according to the GPS", "tags": "tool,outdoors,gps", "storage": [ {"name":"+speedo","url":"speedo.json"}, {"name":"-speedo","url":"speedo.js"}, {"name":"*speedo","url":"speedo-icon.js","evaluate":true} ] }, { "id": "gpsrec", "name": "GPS Recorder", "icon": "app.png", "version":"0.01", "interface": "interface.html", "description": "Application that allows you to record a GPS track. Can run in background", "tags": "tool,outdoors,gps", "storage": [ {"name":"+gpsrec","url":"app.json"}, {"name":"-gpsrec","url":"app.js"}, {"name":"@gpsrec","url":"app-settings.json","evaluate":true}, {"name":"*gpsrec","url":"app-icon.js","evaluate":true}, {"name":"=gpsrec","url":"widget.js"} ] }, { "id": "slevel", "name": "Spirit Level", "icon": "spiritlevel.png", "version":"0.01", "description": "Show the current angle of the watch, so you can use it to make sure something is absolutely flat", "tags": "tool", "storage": [ {"name":"+slevel","url":"spiritlevel.json"}, {"name":"-slevel","url":"spiritlevel.js"}, {"name":"*slevel","url":"spiritlevel-icon.js","evaluate":true} ] }, { "id": "files", "name": "App Manager", "icon": "files.png", "version":"0.01", "description": "Show currently installed apps, free space, and allow their deletion from the watch", "tags": "tool,system", "storage": [ {"name":"+files","url":"files.json"}, {"name":"-files","url":"files.js"}, {"name":"*files","url":"files-icon.js","evaluate":true} ] }, { "id": "sbat", "name": "Battery Level Widget", "icon": "widget-battery.png", "version":"0.01", "description": "Show the current battery level and charging status in the top right of the clock", "tags": "widget,battery", "type":"widget", "storage": [ {"name":"+sbat","url":"widget-battery.json"}, {"name":"=sbat","url":"widget-battery.js"} ] }, { "id": "sbt", "name": "Bluetooth Widget", "icon": "widget-bluetooth.png", "version":"0.01", "description": "Show the current Bluetooth connection status in the top right of the clock", "tags": "widget,bluetooth", "type":"widget", "storage": [ {"name":"+sbt","url":"widget-bluetooth.json"}, {"name":"=sbt","url":"widget-bluetooth.js"} ] }, { "id": "hrm", "name": "Heart Rate Monitor", "icon": "heartrate.png", "version":"0.01", "description": "Measure your current heart rate", "tags": "health", "storage": [ {"name":"+hrm","url":"heartrate.json"}, {"name":"-hrm","url":"heartrate.js"}, {"name":"*hrm","url":"heartrate-icon.js","evaluate":true} ] }, { "id": "stetho", "name": "Stethoscope", "icon": "stetho.png", "version":"0.0198", "description": "Hear your heart rate", "tags": "health", "storage": [ {"name":"+stetho","url":"stetho.json"}, {"name":"-stetho","url":"stetho.js"}, {"name":"*stetho","url":"stetho-icon.js","evaluate":true} ] }, { "id": "swatch", "name": "Stopwatch", "icon": "stopwatch.png", "version":"0.01", "description": "Simple stopwatch with Lap Time recording", "tags": "health", "allow_emulator":true, "storage": [ {"name":"+swatch","url":"stopwatch.json"}, {"name":"-swatch","url":"stopwatch.js"}, {"name":"*swatch","url":"stopwatch-icon.js","evaluate":true} ] }, { "id": "hidmsic", "name": "Bluetooth Music Controls", "icon": "hid-music.png", "version":"0.01", "description": "Enable HID in settings, pair with your phone, then use this app to control music from your watch!", "tags": "bluetooth", "storage": [ {"name":"+hidmsic","url":"hid-music.json"}, {"name":"-hidmsic","url":"hid-music.js"}, {"name":"*hidmsic","url":"hid-music-icon.js","evaluate":true} ] }, { "id": "hidkbd", "name": "Bluetooth Keyboard", "icon": "hid-keyboard.png", "version":"0.01", "description": "Enable HID in settings, pair with your phone/PC, then use this app to control other apps", "tags": "bluetooth", "storage": [ {"name":"+hidkbd","url":"hid-keyboard.json"}, {"name":"-hidkbd","url":"hid-keyboard.js"}, {"name":"*hidkbd","url":"hid-keyboard-icon.js","evaluate":true} ] }, { "id": "hidbkbd", "name": "Binary Bluetooth Keyboard", "icon": "hid-binary-keyboard.png", "version":"0.01", "description": "Enable HID in settings, pair with your phone/PC, then type messages using the onscreen keyboard by tapping repeatedly on the key you want", "tags": "bluetooth", "storage": [ {"name":"+hidbkbd","url":"hid-binary-keyboard.json"}, {"name":"-hidbkbd","url":"hid-binary-keyboard.js"}, {"name":"*hidbkbd","url":"hid-binary-keyboard-icon.js","evaluate":true} ] }, { "id": "animals", "name": "Animals Game", "icon": "animals.png", "version":"0.01", "description": "Simple toddler's game - displays a different number of animals each time the screen is pressed", "tags": "game", "storage": [ {"name":"+animals","url":"animals.json"}, {"name":"-animals","url":"animals.js"}, {"name":"*animals","url":"animals-icon.js","evaluate":true}, {"name":"*snake","url":"animals-snake.js","evaluate":true}, {"name":"*duck","url":"animals-duck.js","evaluate":true}, {"name":"*swan","url":"animals-swan.js","evaluate":true}, {"name":"*fox","url":"animals-fox.js","evaluate":true}, {"name":"*camel","url":"animals-camel.js","evaluate":true}, {"name":"*pig","url":"animals-pig.js","evaluate":true}, {"name":"*sheep","url":"animals-sheep.js","evaluate":true}, {"name":"*mouse","url":"animals-mouse.js","evaluate":true} ] }, { "id": "qrcode", "name": "Custom QR Code", "icon": "qrcode.png", "version":"0.01", "description": "Use this to upload a customised QR code to Bangle.js", "tags": "", "custom": "qrcode.html", "storage": [ {"name":"-qrcode"}, {"name":"+qrcode"}, {"name":"=qrcode"} ] }, { "id": "beer", "name": "Beer Compass", "icon": "beercompass.png", "version":"0.01", "description": "Uploads all the pubs in an area onto your watch, so it can always point you at the nearest one", "tags": "", "custom": "beercompass.html", "storage": [ {"name":"-beer"}, {"name":"+beer"}, {"name":"=beer"} ] }, { "id": "route", "name": "Route Viewer", "icon": "route.png", "version":"0.01", "description": "Upload a KML file of a route, and have your watch display a map with how far around it you are", "tags": "", "custom": "route.html", "storage": [ {"name":"-route"}, {"name":"+route"}, {"name":"=route"} ] }, { "id": "ncstart", "name": "NCEU Startup", "icon": "start.png", "version":"0.02", "description": "NodeConfEU 2019 'First Start' Sequence", "tags": "start", "storage": [ {"name":"+ncstart","url":"start.json"}, {"name":".boot3","url":"start.js"}, {"name":"*ncstart","url":"start-icon.js","evaluate":true}, {"name":"*bangle","url":"start-bangle.js","evaluate":true}, {"name":"*nceu","url":"start-nceu.js","evaluate":true}, {"name":"*nfr","url":"start-nfr.js","evaluate":true}, {"name":"*nodew","url":"start-nodew.js","evaluate":true}, {"name":"*tf","url":"start-tf.js","evaluate":true} ] }, { "id": "ncfrun", "name": "NCEU 5K Fun Run", "icon": "nceu-funrun.png", "version":"0.01", "description": "Display a map of the NodeConf EU 2019 5K Fun Run route and your location on it", "tags": "health", "storage": [ {"name":"+ncfrun","url":"nceu-funrun.json"}, {"name":"-ncfrun","url":"nceu-funrun.js"}, {"name":"*ncfrun","url":"nceu-funrun-icon.js","evaluate":true} ] }, { "id": "nceuwid", "name": "NCEU Logo Widget", "icon": "nceu-widget.png", "version":"0.01", "description": "Show the NodeConf EU logo in the top left", "tags": "widget", "type":"widget", "storage": [ {"name":"+nceuwid","url":"nceu-widget.json"}, {"name":"=nceuwid","url":"nceu-widget.js"} ] }, { "id": "sclock", "name": "Simple Clock", "icon": "clock-simple.png", "version":"0.04", "description": "A Simple Digital Clock", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+sclock","url":"clock-simple.json"}, {"name":"-sclock","url":"clock-simple.js"}, {"name":"*sclock","url":"clock-simple-icon.js","evaluate":true} ] }, { "id": "gesture", "name": "Gesture Test", "icon": "gesture.png", "version":"0.01", "description": "BETA! Uploads a basic Tensorflow Gesture model, and then outputs each gesture as a message", "tags": "gesture,ai", "type":"app", "storage": [ {"name":"+gesture","url":"gesture.json"}, {"name":"-gesture","url":"gesture.js"}, {"name":".tfnames","url":"gesture-tfnames.js","evaluate":true}, {"name":".tfmodel","url":"gesture-tfmodel.js","evaluate":true}, {"name":"*gesture","url":"gesture-icon.js","evaluate":true} ] }, { "id": "pparrot", "name": "Party Parrot", "icon": "party-parrot.png", "version":"0.01", "description": "Party with a parrot on your wrist", "tags": "party,parrot,lol", "type":"app", "allow_emulator":true, "storage": [ {"name":"+pparrot","url":"party-parrot.json"}, {"name":"-pparrot","url":"party-parrot.js"}, {"name":"*pparrot","url":"party-parrot-icon.js","evaluate":true} ] }, { "id": "hrings", "name": "Hypno Rings", "icon": "hypno-rings.png", "version":"0.01", "description": "Experiment with trippy rings, press buttons for change", "tags": "rings,hypnosis,psychadelic", "type":"app", "allow_emulator":true, "storage": [ {"name":"+hrings","url":"hypno-rings.json"}, {"name":"-hrings","url":"hypno-rings.js"}, {"name":"*hrings","url":"hypno-rings-icon.js","evaluate":true} ] }, { "id": "morse", "name": "Morse Code", "icon": "morse-code.png", "version":"0.01", "description": "Learn morse code by hearing/seeing/feeling the code. Tap to toggle buzz!", "tags": "morse,sound,visual,input", "type":"app", "storage": [ {"name":"+morse","url":"morse-code.json"}, {"name":"-morse","url":"morse-code.js"}, {"name":"*morse","url":"morse-code-icon.js","evaluate":true} ] }, { "id": "blescan", "name": "BLE Scanner", "icon": "blescan.png", "version":"0.01", "description": "Scan for advertising BLE devices", "tags" : "bluetooth", "storage" : [ {"name":"+blescan","url":"blescan.json"}, {"name":"-blescan","url":"blescan.js"}, {"name":"*blescan","url":"blescan-icon.js", "evaluate":true} ] }, { "id": "mmonday", "name": "Manic Monday Tone", "icon": "manic-monday-icon.png", "version":"0.01", "description": "The Bangles make a comeback", "tags": "sound", "storage": [ {"name":"+mmonday","url":"manic-monday.json"}, {"name":"-mmonday","url":"manic-monday.js"}, {"name":"*mmonday","url":"manic-monday-icon.js","evaluate":true} ] }, { "id": "jbells", "name": "Jingle Bells", "icon": "jbells.png", "version":"0.01", "description": "Play Jingle Bells", "tags": "sound", "type":"app", "storage": [ {"name":"+jbells","url":"jbells.json"}, {"name":"-jbells","url":"jbells.js"}, {"name":"*jbells","url":"jbells-icon.js","evaluate":true} ] }, { "id": "scolor", "name": "Show Color", "icon": "show-color.png", "version":"0.01", "description": "Display all available Colors and Names", "tags": "tool", "type":"app", "allow_emulator":true, "storage": [ {"name":"+scolor","url":"show-color.json"}, {"name":"-scolor","url":"show-color.js"}, {"name":"*scolor","url":"show-color-icon.js","evaluate":true} ] }, { "id": "miclock", "name": "Mixed Clock", "icon": "clock-mixed.png", "version":"0.02", "description": "A mix of analog and digital Clock", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+miclock","url":"clock-mixed.json"}, {"name":"-miclock","url":"clock-mixed.js"}, {"name":"*miclock","url":"clock-mixed-icon.js","evaluate":true} ] }, { "id": "bclock", "name": "Binary Clock", "icon": "clock-binary.png", "version":"0.02", "description": "A simple binary clock watch face", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+bclock","url":"clock-binary.json"}, {"name":"-bclock","url":"clock-binary.js"}, {"name":"*bclock","url":"clock-binary-icon.js","evaluate":true} ] }, { "id": "clotris", "name": "Clock-Tris", "icon": "clock-tris.png", "version":"0.01", "description": "A fully functional clone of a classic game of falling blocks", "tags": "game", "allow_emulator":true, "storage": [ {"name":"+clotris","url":"clock-tris.json"}, {"name":"-clotris","url":"clock-tris.js"}, {"name":"*clotris","url":"clock-tris-icon.js","evaluate":true}, {"name":".trishig","url":"clock-tris-high"} ] }, { "id": "flappy", "name": "Flappy Bird", "icon": "app.png", "version":"0.03", "description": "A Flappy Bird game clone", "tags": "game", "allow_emulator":true, "storage": [ {"name":"+flappy","url":"app.json"}, {"name":"-flappy","url":"app.js"}, {"name":"*flappy","url":"app-icon.js","evaluate":true} ] }, { "id": "gpsinfo", "name": "GPS Info", "icon": "gps-info.png", "version":"0.01", "description": "An application that displays information about altitude, lat/lon, satellites and time", "tags": "gps", "type": "app", "storage": [ {"name": "+gpsinfo","url": "gps-info.json"}, {"name": "-gpsinfo","url": "gps-info.js"}, {"name": "*gpsinfo","url": "gps-info-icon.js","evaluate": true} ] }, { "id": "pomodo", "name":"Pomodoro", "icon":"pomodoro.png", "version":"0.01", "description": "A simple pomodoro timer.", "tags": "pomodoro,cooking,tools", "type": "app", "allow_emulator":true, "storage": [ {"name": "+pomodo","url": "pomodoro.json"}, {"name": "-pomodo","url": "pomodoro.js"}, {"name": "*pomodo","url": "pomodoro-icon.js","evaluate": true} ] }, { "id": "blobclk", "name": "Large Digit Blob Clock", "icon": "clock-blob.png", "version":"0.03", "description": "A clock with big digits", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+blobclk","url":"clock-blob.json"}, {"name":"-blobclk","url":"clock-blob.js"}, {"name":"*blobclk","url":"clock-blob-icon.js","evaluate":true} ] }, { "id": "boldclk", "name": "Bold Clock", "icon": "bold_clock.png", "version":"0.02", "description": "Simple, readable and practical clock", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+boldclk","url":"bold_clock.json"}, {"name":"-boldclk","url":"bold_clock.js"}, {"name":"*boldclk","url":"bold_clock-icon.js","evaluate":true} ] }, { "id": "wdclk", "name": "Digital clock widget", "icon": "digital_clock_widget.png", "version":"0.01", "description": "A simple digital clock widget", "tags": "widget,clock", "type":"widget", "storage": [ {"name":"+wdclk","url":"digital_clock_widget.json"}, {"name":"=wdclk","url":"digital_clock_widget.js"} ] }, { "id": "wpedom", "name": "Pedometer widget", "icon": "pedometer_widget.png", "version":"0.02", "description": "Daily pedometer widget", "tags": "widget", "type":"widget", "storage": [ {"name":"+wpedom","url":"pedometer_widget.json"}, {"name":"=wpedom","url":"pedometer_widget.js"} ] }, { "id": "berlinc", "name": "Berlin Clock", "icon": "berlin-clock.png", "version":"0.02", "description": "Berlin Clock (see https://en.wikipedia.org/wiki/Mengenlehreuhr)", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+berlinc","url":"berlin-clock.json"}, {"name":"-berlinc","url":"berlin-clock.js"}, {"name":"*berlinc","url":"berlin-clock-icon.js","evaluate":true} ] }, { "id": "ctrclk", "name": "Centerclock", "icon": "app.png", "version":"0.02", "description": "Watch-centered digital 24h clock with date in dd.mm.yyyy format.", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"+ctrclk","url":"app.json"}, {"name":"-ctrclk","url":"app.js"}, {"name":"*ctrclk","url":"app-icon.js","evaluate":true} ] }, { "id": "demoapp", "name": "Demo Loop", "icon": "app.png", "version":"0.01", "description": "Simple demo app - displays Bangle.js, JS logo, graphics, and Bangle.js information", "tags": "", "type":"app", "allow_emulator":true, "storage": [ {"name":"+demoapp","url":"app.json"}, {"name":"-demoapp","url":"app.js"}, {"name":"*demoapp","url":"app-icon.js","evaluate":true} ], "sortorder" : -9 }, { "id": "flagrse", "name": "Espruino Flag Raiser", "icon": "app.png", "description": "App to send a command to another Espruino to cause it to raise a flag", "tags": "", "storage": [ {"name":"+flagrse","url":"app.json"}, {"name":"-flagrse","url":"app.js"}, {"name":"*flagrse","url":"app-icon.js","evaluate":true} ] } ]