[–] 3 points 2 days ago (1 child)

i second this. when you try to load a book, it can have a file select and also an opt in for syncing with local server, project gutenberg, or whatever. same with dictionary, select the dictionary file with instructions on where to find it, or opt in to download one from a known source.

  • source
  • parent
  • context
  • [–] 6 points 2 days ago (3 children)

    If you're making it yourself I'd argue the best way would be to make it optional. Both paths available, easy to ignore the internet part if you like. Also gives a backup for internet use people if needed.

    You just only ask when required, and explain why its needed and what it does. That's my opinion

    Good luck anyhow!

  • source
  • [–] 1 point 2 weeks ago*

    I like its simple UI, I will probably give it a try at some point.

    Protected apps — Google Play Services

    Whether it's a fature is arguable... Isn't a warning better?


    Btw. The most interesting feature I've seen in firewall app was: blocking all traffic, but showing a notification "X app tries to access internet" [Allow] [Block] [Allow once]

    The Allow/Block options added it to white/black-list so the notification doesn't appear again.

    But the "Allow once" option was the interesting part. It blocked by default, but when user choose to allow once it gained temporary permission to communicate over network. I don't remember if it allowed access for as long as the app stayed in foreground or just for some predefined time. Sadly after some app update it was removed and I never seen any other firewall implement that option since.

    Is something like this outside of the scope of the project?

  • source
  • [–] [S] 1 point 3 weeks ago

    Some codes to redeem for free the app:

    JNQ2ZLUWC5P0ML31GMCYMAE B0VEYB3KBJ1CB11ZP752RFH 5JGAV7CBF5GX82ZSWALWXLS BHJCP7YLMATVAUL4RGX5VWE NL80CE22YH9VBMQNXDP8SFH KJXEH6657A4T7JNPJUXAW45 2N4GAM1M8K1VSEWFX9NRPZ1 WXSEX44Y2ACYF5SG86MZU7B KT0HX784N67425GTR1QJQS3 VZJ2U6Z2RF3NEC9JSUPCNX7 W1MCCD67Y9E5ER378UZKD2L VDK097U0TC7121J0E9YNL1L 1FBTSYRABVZ0TNDANTNP91G GNR4JBSM16SDJZWV73U9XUX Y255VKZSR50D82415D60V73 CUEZ6538DP1B0FAMUEV1NZN LB1HTMJSBYENLAAH0HJ95T7 KGH191THWCBWLTL51L2TBC9 NKFRZFE80XJXSEZKVBAQPND 5CLGBVT318LR8Z7RZ4F2VJL K4QCD29BK1AN48XR1XB15Z5 GQJS8DTYZ52PVNQSZEC6CRD

  • source
  • [–] [B] 1 point 3 weeks ago

    Not on the concept, but on one of the features you listed: "a cap on how many times you open something" is harder than it looks on Android, and it's worth knowing before users start reporting wrong numbers.

    If you're counting with UsageStatsManager.queryEvents, ACTIVITY_RESUMED fires more often than a person would call "opening the app". It fires again when you come back from a second activity inside the same app, and on configuration changes — rotation, theme switch, font size — because the activity is recreated. Counting raw resume events overcounts, and worst for exactly the apps people want to limit, since those tend to be multi-activity.

    What holds up better is tracking foreground package transitions: only count when the newly resumed package differs from the previously resumed one, and debounce a few seconds so bouncing out to a notification and straight back doesn't register as a second open.

    The other thing, if you haven't hit it yet: there is no supported way for a third-party app to actually block another app. Digital Wellbeing uses privileged APIs that aren't available to us. Everything else ends up on an AccessibilityService or a draw-over overlay, and both carry real costs — accessibility use is restricted on the Play Store and needs justification, and polling the foreground app aggressively shows up in battery stats, which is its own kind of uninstall.

  • source
  • [–] [S] 2 points 1 month ago

    Good question ! The free version is a complete single-camera dashcam: loop recording that never fills your storage, automatic clip lock on impact, speed overlay, gallery, and watching another Sentinel phone live is free too !

    Pro adds:

    • Both: road and cabin recorded at the same time (on phones that support two cameras at once)
    • Remote access: watch this phone live and browse its clips from your other devices
    • Cloud offload: clips copied to your NAS, WebDAV or a cloud folder
    • Periodic snapshots: a still picture every few minutes
    • Push notifications via ntfy

    It will be a one-time purchase, planned around 5.99 (Google converts it to your local currency). No subscription, no ads. With the tester code SENTINEL-BETA you get Pro free for 30 days.

  • source
  • parent
  • context
  • [–] [S] 1 point 1 month ago

    Thanks for your comment. Punish is not a speed bump or a delay. The power is always in the user's hands. We aim to rewire habits by adding a mental weight the user considers twice before opening the distracting app or avoiding the thing they set out to do

  • source
  • parent
  • context
  • [–] [S] 1 point 1 month ago

    Hi bro, thanks for your comment. Punish is the only app where we don't touch your money. You pick an organization you hate. Personally, I found it way more motivating than just losing money. If you want to try and see how it works for you let me know

  • source
  • parent
  • context
  • [–] [S] 1 point 1 month ago

    Personally, I needed a couple of very specific features that none of the options I found offered. It turns out there was one that did what I needed (which I was linked to later), but it was much too complicated for me to put on my parents' devices, so I made my own mini-app... it just ballooned into a lot more when I got a lot of users making feature requests.

    As for why a lot of people are making these, I am guessing it's a combo of:

    • LLMs making "vibe-coding" accessible (to be clear, this app is coded by hand with some use of AI for troubleshooting mostly).
    • the fact that people are using VPNs to avoid the onslaught of identity-verification laws that are cropping up everywhere means many are switching from VPN-based filtering to Private DNS.

    But that's just a guess.

    As for why I kept at this instead of switching to one of the existing solutions; the main reason is that they either have bad or overly complex UX, or do a lot more than necessary. This feels like the best compromise between features and usability. That's all.

  • source
  • parent
  • context
  • view more: next ›