App install stats ?

Posted on
  • Is it possible to get stats on how many times an App has been installed from the main App Loader site. This would be really useful to see. It would give a very good indication of which Apps were really popular and needed to get ported to any new Espruino supported watch.

  • Good point! While I don't report or keep any stats like that, I do have the webserver's access log.

    Here's the download count for 2021:

          1 ncstart
          2 flagrse
          2 widnceu
          2 widncr
          3 helloworld
          3 ncfrun
          3 smartibot
          5 mywelcome
          5 openseizure
          6 clickms
          7 doztime
          7 miplant
          7 tilthydro
          8 widid
          9 hamloc
         10 dsdrelay
         12 nato
         12 qmsched
         13 color_catalog
         13 horsey
         15 espruinoctrl
         15 kitchen
         16 tabata
         18 battleship
         18 osgridref
         19 scolor
         19 viewstl
         20 widchime
         21 UI4swatch
         22 gpstimeserver
         22 simplest
         22 widhwt
         23 bluetoothdock
         23 openloc
         24 hrrawexp
         25 jbells
         25 osmpoi
         26 mmonday
         26 omnitrix
         26 route
         26 smtswch
         26 whereworld
         27 batclock
         27 hrings
         28 sweepclock
         29 BLEcontroller
         29 testuserinput
         29 vibrclock
         31 edisonsball
         32 accelrec
         33 berlinc
         33 sclock
         33 wohrm
         34 hidjoystick
         34 widcom
         35 miclock
         36 bclock
         37 1button
         37 hourstrike
         37 intervals
         37 pizzatimer
         37 rndmclk
         37 wclock
         38 cprassist
         38 pparrot
         38 swlclk
         39 morse
         40 hidbkbd
         41 beer
         42 daysl
         42 moonphase
         43 cscsensor
         43 qrcode
         44 petrock
         44 waypointer
         45 buffgym
         45 dotclock
         45 getup
         46 animals
         46 ncrclk
         47 jbm8b
         48 binclock
         49 balltastic
         49 gmeter
         49 widver
         51 hardalarm
         51 hidkbd
         51 life
         52 gpspoilog
         53 blackjack
         53 worldclock
         54 minionclk
         56 widclk
         57 ctrclk
         57 isoclock
         57 mandel
         57 stetho
         57 widmp
         59 oblique
         60 countdowntimer
         61 devstopwatch
         62 chrono
         63 supmariodark
         63 widbatwarn
         65 breath
         65 chargeanim
         65 pomodo
         68 accellog
         68 pong
         69 snake
         71 gesture
         73 de-stress
         73 metronome
         75 lifeclk
         75 swatch
         76 widhrt
         76 widviz
         77 slevel
         80 chronowid
         81 blescan
         81 widgps
         83 fclock
         86 bootgattbat
         86 stepo
         87 widtbat
         91 batchart
         92 widancs
         97 tapelauncher
        101 impwclock
        101 svclock
        102 dclock
        102 pipboy
        103 ballmaze
        103 geissclk
        104 sleepphasealarm
        107 digiclock
        109 astroid
        109 barclock
        111 alpinenav
        112 lazyclock
        112 planetarium
        114 marioclock
        114 walkersclock
        115 rpgdice
        116 astral
        116 mclockplus
        116 numerals
        117 gallifr
        118 clotris
        119 counter
        119 findphone
        119 speedo
        121 miclock2
        124 analogimgclk
        124 calendar
        126 gbmusic
        126 largeclock
        127 torch
        131 animclk
        132 simpletimer
        132 trex
        134 blobclk
        134 widram
        135 dane
        140 demoapp
        140 HRV
        147 calculator
        148 imgclock
        149 dotmatrixclock
        150 gpsautotime
        156 boldclk
        158 speedalt
        158 widpedom
        163 astrocalc
        165 hidcam
        166 gpsservice
        166 slidingtext
        169 bledetect
        173 rclock
        175 hidmsic
        177 flappy
        189 dane_tcr
        192 widhrm
        197 cliock
        198 gpssetup
        198 magnav
        203 fileman
        207 multiclock
        207 verticalface
        218 arrow
        224 weather
        227 aclock
        235 toucher
        236 openstmap
        245 widbatpc
        258 clock2x3
        263 compass
        277 gpsnav
        277 gpstime
        285 dtlaunch
        289 gpsinfo
        309 banglerun
        315 notifyfs
        318 beebclock
        319 heart
        324 welcome
        352 files
        370 widbat
        403 gpsrec
        411 widbt
        425 mclock
        439 locale
        549 hrm
        553 activepedom
        600 alarm
        644 launch
        751 gbridge
        796 notify
        832 boot
        857 about
       1263 setting

    Going forward keeping track of this info would be pretty handy though (alongside user ratings)

  • Really interesting. I think how long an App has been around has some bearing on it. Would be good to make it possible to give user ratings to the Apps 1-5 stars etc. Would be interested to see how this list moves on in a couple of months.

  • Nice topic!
    I also thought that it would be great to see statistics on app downloads or something.

    But stars app ratings are most likely not needed, as it would seem rude to developers who are enthusiasts and work for free. Instead, I would like to have comments for each application or a link to the author's repository to provide feedback, report bugs and suggest development ideas.

    Moreover, I would transfer money to some authors for coffee, since they turned out very good apps! On GitHub, it seems that it is possible to attach donations to the repository. In general, financial gratitude is like giving 5 stars.

  • I think how long an App has been around has some bearing on it

    Yes, absolutely - the pre-installed apps will obviously have a big boost too.

    Ratings are definitely on my list of things to do, it just means moving away from a totally static site (perhaps just adding an API via

    I totally get the reasoning for not having ratings on something that is provided for free, but also I think there's a pretty big benefit to users in having them. Comments would be valuable, but without a rating it's hard to users to easily find the best apps.

    I've had a reasonable amount of Bangle.js returns (which ends up being expensive for me) because of the quality of the software, and while obviously the firmware itself isn't totally polished, I think if there were a clear path for people to find the best apps then perhaps a few of those returns would have been avoided and more people would be happy.

    I feel like actually any feedback is good. I think a lot of users do avoid posting GitHub issues for feedback, so if there were a way to post comments it might help - not just for criticism, but for advice/tips/suggestions too.

    One thing that might help is to keep track of how many apps are installed on Bangles at this moment (rather than downloads), but honestly I think there may be privacy concerns there.

  • @Gordon I agree, these apps are not built by commercial app developers. So ratings are not quite important. For me it is point of motivation that someone like and using app that was created by me. I am quite happy to see that there are 63 downloads for my app in 2021. :)

  • If the quality of the apps affects watch returns, then that's another matter entirely. In this case, you can think about ratings (for example, the ability to point only thumbs up, no negative ratings), with all due respect to the developers :)

    Or it would be nice to make sure that the rating cannot be given without comment. If you don't like the app then write why do you give a low rating? Perhaps this will motivate the developer to improve the application.

    And one more thing: what if in the future there will be several times more apps? For such a case, you will definitely need sorting by rating or other convenient quality criteria.

    Alternatively, you can add the "Recommended" or "Best of" Tab right now and specify the best apps there. What are the quality criteria? This is a separate question :)

  • Watch return: I it really because of the apps. I mean is it possible to make a hard fault by just uploading javascript app?

  • what if in the future there will be several times more apps? For such a case, you will definitely need sorting by rating or other convenient quality criteria.

    Yes, absolutely. I think this is the real issue - initially there were only a few apps but even now it's probably too many to just scroll through. Not having the ability to screenshot on the Bangle feels like a big issue to me as well - for clocks especially a screenshot feels very important, and while some folks have gone to the effort of making them with a camera, many (including me!) haven't.

    "Recommended" or "Best of" Tab

    I had wondered about this - That's the easiest option for sure - but this feels to me significantly less fair than a ratings system.

    a rating cannot be given without comment

    That sounds like a good idea. It'd need some thought but I feel like the ability to flag a comment/rating as no longer accurate would be needed.

    So for instance if someone rates something 1 star saying it crashes and then someone else fixes that crash, we'd want to delete that comment.

    From my point of view, if I could have a script that ran through GitHub issues and generated a rating then that'd save a whole bunch of time and admin - but again it's not actually very easy for non-developer users to contribute to (unless we could somehow use the GitHub APIs to make a comment actually post into a GitHub issue?).

    I mean is it possible to make a hard fault by just uploading javascript app?

    It shouldn't be possible to 'brick' the Bangle by uploading an app, but you could make it reboot the watch or something like that I guess, and apps that take a long time to render could make uploads/etc unreliable (however I have tried to work around that).

    However if you compare Bangle.js with other watches like Amazfit then I guess it's missing some things 'out of the box' - specifically fitness functionality and tracking - and that's probably something I should look into more. While there are apps like BangleRun and the pedometer they don't really make a coherent offering and I imagine they're pretty hard to find for new users.

    Honestly it's a bit frustrating because I never really get a clear answers for why the users want a return. It's more just general unhappiness with the whole thing - I think it's often kicked off by buyers in Europe getting stung with import VAT and a delay in shipping, and I'm sure lockdown doesn't help.

    I think if you're in the right frame of mind then it's fine, but if you're actually trying to pick holes in Bangle.js it's pretty easy to find ways it doesn't live up to an Apple Watch.

  • I understand how you feel @Gordon, people should understand that there are not buying an Apple Watch or AmazeFit.

    This is an OpenSource hackable watch with is not a fitness tracker at all. I backed this project because I want something that I can wear and runs on Espruino. I have several other watches like Fossils and other cheap fitness tracker for this purpose.

    So thinking of making fitness app should not be the goal I guess, and it should be up to Espruino community.

    I planned to make even an Android app for Bangle Js but have no time.

    Honestly I really appreciate your effort by making wonderful Espruino. Thanks a lot.

  • Thanks! It's tricky - obviously I want to be more user-friendly, but as Espruino devices get more like consumer products, people treat them more like it :)

  • @Gordon Movement in the right direction! As I see there are a lot of ideas.
    About screenshots on the watch itself - everything is also true, people in the future need some kind of convenient mechanism for that.

    @Abhigkar That's right, but let's think wider. Bangle.js can already be used as a fitness tracker.

    For example, I constantly record bike rides and steps with GPS, then transfer the data to Strava. I have a cheap fitness tracker, but now I don't need it.

    If there are standard, reliable fitness apps, then this will have a positive effect on the sales Bangle.js, because it will be at min a cute, durable, moisture-resistant fitness tracker that does not collect unnecessary data about the user. Yes, it might expand the number of non-tech users, but that's great!
    On the other hand, for non-technical users, UX (user experience) should be very good: out of the box, basic functions should work stably.

  • @serj, yes you are correct that BangleJs can be used as a fitness tracker and from hardware perspective it is a fitness tracker indeed. But what I wanted to say that since it is an open source watch so one can have its own use case that make this thing customizable. Like you used this to record the bike ride and GPS. Other person may have a different use case.

    Bangle.JS is precise in providing the communication to its peripherals line one can get accelerometer, magnetometer or even heart monitor sensor raw data. and it's an app that use this raw data and process it for different purpose. Like accelerometer data can used to predict "Step Count", I would see this is an app that is converting the raw X,Y,Z data to step count using some algorithm which should be the part of the App not the firmware.

    I may sound completely wrong here, this is my thought. I consider Espruino is acting like HAL + SDK for BangleJs and one can make their own app on JavaScript that can be run on Bangje.Js.

    If there are standard, reliable fitness apps, then this will have a positive effect on the sales Bangle.js,

    Agree, and community should come forward and make stable fitness apps. I am sure @Gordon will help if there is a need of change/improvement/fix in Espruino.

    Yes, it might expand the number of non-tech users, but that's great!
    On the other hand, for non-technical users, UX (user experience) should be very good:

    I think it will take some time. Even Microsoft is still improving :)

    out of the box, basic functions should work stably.

    AFAIK It is already working.

  • I agree with a lot.

    Of course it is necessary to keep the main firmware and applications separate. And of course the community plays a very important role. By the way, there is a wonderful community around Espruino :) I hope it will grow.

    By basic functions, I mean fitness features when comparing Bangle.js to serial fitness trackers.
    Perhaps, a set of the best fitness applications should be initially installed, which will out of box and can then be safely removed or replaced. But these are just thoughts, ideas.

  • Perhaps, a set of the best fitness applications should be initially installed

    Yes, on the fitness tracking side of things it'd be nice to have something out of the box that 'just works' and is easily extensible. I just posted a forum post on this at­364674/ and I wonder if you've got any thoughts on it?

    I feel like it shouldn't be too painful to do.

    UX (user experience) should be very good: out of the box

    Yeah, I think actually the most sensible option for now is actually going to be to expand the 'default' apps to include fitness, notifications and probably a nicer clock, and then even though I said I'm not that sure about it, I think a 'suggested' apps tag does make sense.

    I'd be interested in thoughts for wording though. 'suggested' doesn't seem fair to non-suggested apps, nor does 'verified'. Maybe 'popular'? There must be a good way to describe apps where we say "we've put a bunch of work in to these and we think they're a good idea"

  • then even though I said I'm not that sure about it, I think a 'suggested' apps tag does make sense

    Well, it can be temporarily. Such a tag is now the fastest way to improve. And after the ratings and comments are added - the "Suggested" tag can be removed.

    Regarding how this tag should be called:

    For example, what about this: "Recommended by community"? Or "Suggested by community." Or "Approved by community." And here on the forum, open the topic and discuss which applications should be by such a tag. On the other hand, the discussion will require a time that can be spent on adding ratings and comments :)

    "Popular" - not bad. Pretty good option, by the way.
    Another ideas for the tag: "in trends".

    I would like to hear the opinions and ideas of other people.

  • What about if the apps can be grouped for a defined watch mode.
    For example-
    Fitness/Sports tracker mode will have all health related apps.
    Gaming Mode will be loaded with loads of games
    Geek mode will have tech apps
    Custom mode: default apps(bootloader,welcome,a clockface...) + user can define their own set of apps

  • What about if the apps can be grouped for a defined watch mode.

    Well, we already have that to a certain extent with tags don't we?

    Clocks Games Tools Widgets Bluetooth Outdoors Favourites

    I guess maybe within that we want to put the 'approved' apps first though

  • Not having the ability to screenshot on the Bangle feels like a big issue

    For most apps like clocks using the emulator would probably work, but maybe "adding screenshots is a good idea" should be documented a bit more? It's easy to overlook for people who just spent a lot of time staring at the app while developing it.
    (Somewhat off-topic: a nice addition might be some way to specify a single screenshot per app which is displayed right away in the list of apps.)

    Download stats would definitely be nice to see, but you run the risk of a feedback loop where people keep downloading the most downloaded apps.
    Maybe the About page could get a button to "Participate in survey", to submit currently installed apps? That way it's opt-in, and the idea is that people submit their setup once they are happy with it, so you won't count e.g. five HRMs per user while they try them all out.
    (And because they are submitted as set, you could even suggest apps "often used together")

  • Great discussion. Another option might be a thumbs up and a thumbs down. As an App developer I'd want to see at least a 1 line comment as to the reason for the thumbs up / down though. Eg - dont dis my app if you dont tell me why and please give me some credit / thanks if you like the App. Download stats probably is misleading. I've tried most of the Apps - often as there was no README or screenshots and it was the only way to make an assessment of the App. Taking photos of the Apps with your phone is quite time consuming. I often have to take 5 ot 6 shots before I get a decent one and before the LCD times out etc. Then I have to crop them and resize etc. Some ability to grab a standard 240x240 pixel png screenshot through IDE would be useful.

    As for those sending the watch back as they dont like the Apps - then why not get learning javascript and start writing better apps. The whole point of an open source smartwatch is that its for tweaking and configuring. The bangle is not the prettiest of watches but it is the only one I know of where you can truly get control of the GPS chip. The Amafit Bip has reasonably good GPS but all you can get out of it is a lat and lon - such a waste of the hardware, and 6 out of 10 to Amizfit for not going the extra mile and writing the software to make a useful wrist based GPS app. Likewise when I use a FitBit Charge HR - I was always wondering why they never had a built in sedentary timer in them as it would have been an easy feature to provide. Its something I could code one day on the Bangle.

  • Recommended is good. Popular is what it says on the tin - easy to understand. IE most people liked it and would recommend it. If we want to get complicated then you could use the Net Promoter Score system (NPS). You ask people 'how likely are you to recommend this app to others'. 7 is discounted as sitting on the fence. 1-6 are detractors and 8,9,10 are promoters.­er. But I think keep it simple (#thumbs up - #thumbs down).

  • (c) wiki: As of 2020, versions of the NPS are now used by two-thirds of Fortune 1000 companies.

    So that's what it's called! Interesting, thanks for the link @HughB

    Net Promoter Score (NPS) - fits very well. In fact, on the one hand, this is an assessment for the apps on a wider scale (10 versus 5 stars), on the other hand, it is a recommendation. And here it is logical that the most recommended apps will be tagged "Recommended". Next, the top rate apps will be automatically collected in a separate tab-tag. In addition to such a recommendation, a small comment with an explanation should be written; without a comment, the rating cannot be increased or decreased. And such comments can be marked as #thumbs up - #thumbs down. Because comments can be out of date or false. @Gordon wrote about something similar above.

    And it may be psychologically more comfortable to rate NPS than classic rating stars. "A bad rating" and "a lack of recommendation" sounds different.

    If #thumbs up - #thumbs down is set as a rating for apps, then now I see problems with this. For example, we have 10 stopwatches apps and I like them all in their own way, I put everyone #thumbs up + comment. But most likely other users will want to see a more flexible rating system. It will also be a plus for the developer - it is clear that the app is just good/neutral, but not great.

    Download statistics are really not a very reliable metric. But I would still like to have such statistics at hand in the App Loader. It's interesting at least.

  • Thanks! That's really interesting! I think in the absence of ratings, thumbsup/down could be good.

    Screenshots... It's easy to overlook for people who just spent a lot of time staring at the app while developing it.

    Well, it's mainly because I don't want to ask people to take a photo of their watch - it feels like it won't give a good screenshot unless you're really careful and is a lot of effort. I wanted to get a decent way to do screenshots - but once that is done I think having a JSON field for the screenshot would be great.

    Talking of which.... I'd been meaning to allow the emulator to run apps containing multiple files, which would at least open the door to screenshots for a lot more apps.

    I have just come up with a quick hack (which I'd been meaning to do for ages) which allows you to render a screenshot direct from the watch. It's really slow though:­364715

    Still, if this works reliably on most apps I could build it into Bangle.js which should at least make it a little faster.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

App install stats ?

Posted by Avatar for HughB @HughB