• This repository has been archived on 26/Oct/2023
  • Stars
    star
    338
  • Rank 124,931 (Top 3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple alarm clock focused on design, readability, and internet radio.

Alarmio Build Status Discord Liberapay

Alarmio is a simple alarm clock that implements many useful features while following regular design standards to ensure that it is quick and intuitive to use.

Screenshots

Home Alarms Timers Themes Ringing
img img img img img

Installation

Get it on F-Droid Get it on Google Play

Alternatively, you can download the latest APK from the GitHub releases.

Pricing

Alarmio is, of course, completely free to download and use from either the GitHub Releases, F-Droid, or my website. However, it is approximately US$1.99 to install it through Google Play. Why is this?

Essentially, when you pay the $1.99 to download the app from the Play Store, you are not paying for the right to use the app. That model has been broken for a long time - even properly obfuscated applications are often trivial to "crack" through many tools available today, and it is no longer viable to ensure that every customer downloads your app through the Play Store and nothing else. Rather, what you are paying for is "support" - replies to your reviews, quicker responses when you send me an email, and the effort of dealing with Google Play as a method of distribution (it's a bit of a pain sometimes).

Permissions

  • SET_ALARM, VIBRATE, WAKE_LOCK: uh, this should be obvious
  • ACCESS_COARSE_LOCATION: determining automatic sunrise/sunset times for "scheduled" light/dark themes
  • INTERNET: obtaining a set of sunrise/sunset times (location data is not shared outside of the device), as well as fetching graphical assets and some of the information in the about page
  • RECEIVE_BOOT_COMPLETED: re-schedule alarms on startup
  • READ_EXTERNAL_STORAGE: used to set custom background / header images in the settings
  • FOREGROUND_SERVICE: used to notify you to sleep - see the "Sleep Reminder" option in the settings
  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: see dontkillmyapp.com

How to Contribute

Alarmio is written by users - everyone working on this project (including myself) is motivated entirely by their own needs and ideals. There is no professional support line to handle complaints or paid development team to fix bugs. Anyone that volunteers their time and expertise to improve this app does so without any obligation or commitment to the users of this software.

As a contributor, you are highly valued - any contribution, no matter how small, misled, or incorrectly formatted, is welcome. We'd much prefer to work together and resolve an issue than turn any genuine effort away. If you need help with this process, have any questions or confusion, or want to get feedback before a contribution, please don't hesitate to get in touch. (either discord or email work fine)

Example contributions

  • Development: Developers can help Alarmio by fixing bugs, implementing features, or helping to debug & research new issues. I'm hoping to write a complete guide to this process in the future - for now, please refer to CONTRIBUTING.md.
  • Design: Alarmio should be intuitive and accessible to a wide variety of users - suggestions to improve certain interfaces are always welcome. This includes compatibility with screen readers, problems with contrast / color blindness, and the sizing/positioning of touch targets in the app - many of which are shamefully untested in Alarmio's present state.
  • Helping users: Often times, issues are created that go untouched for a couple days due to various factors, when they could be resolved immediately. Responding to obvious questions and identifying duplicate issues can be immensely helpful in reducing the workload on other maintainers and developers.
  • Filing issues: Accurately reporting bugs and edge cases you experience can drastically reduce the amount of work we need to do to identify a problem. Providing relevant info - the name & manufacturer of your device, its Android version, the version of Alarmio the bug was encountered in, and a thorough description of how to reproduce it - helps others to understand what the issue is and how it could be solved. If you want to go the extra mile, screen recordings and logcat info are often immensely helpful. Please be sure to check that there isn't already an open issue describing your problem, though!
  • Localization: If Alarmio doesn't have support for your fluent language(s), please consider translating it! Most in-app text is stored in strings.xml - this file should be copied to ../values-{lang}/strings.xml when translated. (this is an absurdly concise explanation - if this isn't clear, simply sending us translations in a new issue or email is perfectly fine!)
  • Documentation: Writing guides and explanations of how Alarmio works, how to use it, and how to contribute to it, can go a long way to ensuring its usefulness and stability in the future. Whether this involves an update to the README, a tutorial for users and contributors, or adding Javadocs & comments to undocumented functions in the app - anything is valid!

Other ways to support Alarmio

Not everyone has the time or technical knowledge to help out with many of the above - we understand that. With this in mind, here are a few other ways to help us out that don't require as much time or dedication.

  • Advertising: Spread the word! If you like what we're doing here, getting more people involved is the best way to help improve it. Suggestions include: posting on social media... writing a blog post... yeah, right, you get the idea.
  • Donations: I've invested a lot of time into this app - as have many of its contributors. Many of us have paying jobs, difficult classes, or otherwise important life occurrences that prevent us from putting all our time into software. Supporting us helps to fund the time we spend building an open source alarm clock when we could be doing... literally anything else :)
  • Politics: Yep, you're reading this right. Free software is, in fact, a very political thing - and I'd like to think we're taking the right approach to it. If you're in a position to do so, I recommend supporting FOSS applications and services over their proprietary counterparts. In addition, similar movements that support user freedom - many supported by the SFC or EFF, as well as Right to Repair - would benefit from increased awareness and advocacy.

Acknowledgements

I'd like to give a huuuuuge thanks to all of Alarmio's contributors, the developers that write the software we depend on, and the users that support our goal. Also, props to the F-Droid team for maintaining the free software repository that distributes our app and many others like it.

I've received a lot of thanks from various people for the time I've put into this, and that thought helps me get up in the morning. If someone fixes a bug you encountered, helps you out in an issue, or implements a feature you enjoy, please consider sending them a tip or a thank-you note to let them know that you appreciate their time :)

Contributors: feel free to create a PR to add/edit your listing here, as well as in the app (attribouter.xml).

Contributors

Translators

Related Work

  • @ajayyy is maintaining a fork of Alarmio that forces you to dismiss the alarm from another device: AlarmioRemote

More Repositories

1

ColorPickerDialog

A simple dialog making it quick and easy to add color picking functionality to any app.
Java
137
star
2

ScreenshotMaker

A small java applet to generate uniform Play Store screenshots with titles and descriptions.
Java
130
star
3

Status

A no-root status bar replacement for Android.
Java
127
star
4

Attribouter

A lightweight "about screen" library to allow quick but customizable attribution in Android apps.
Kotlin
115
star
5

Metronome-Android

A lightweight, well designed metronome app for Android.
Java
111
star
6

Pasta-for-Spotify

A material design Spotify client for Android
Java
110
star
7

Pasta-Music

(unmaintained) A material design music player for Android, based off Pasta for Spotify
Java
106
star
8

SlideActionView

An Android view which provides a nice slide-to-left/right interaction.
Java
70
star
9

SignalStrengths

A library and sample application with the purpose of getting an accurate signal strength on different Android phones.
Java
53
star
10

MediaNotification

Slightly unstable attempt to replace all media notifications with Android O styled copies.
Java
45
star
11

Asteroid

A simple Android game based on avoiding incoming asteroids
Java
41
star
12

AdaptiveIconView

A library to allow easy implementation of pre-Oreo adaptive icon support in Android launchers.
Java
29
star
13

Crasher

An easy to use crash reporting library for Android.
Java
29
star
14

Cleaner

The only storage saving app that actually works! :D
Java
28
star
15

Calculator

(unmaintained) An attempt to make a decent calculator capable of complex functions without sacrificing design.
Java
27
star
16

Feedage

A basic "news reader" that sorts posts from various RSS feeds into categories.
Java
23
star
17

WearColorPicker

A lightweight color picker library for Android Wear.
Java
23
star
18

PaletteGetter

A library that can get the color scheme of any app.
Java
21
star
19

declarativ

A declarative HTML rendering library that is definitely not JSX.
TypeScript
20
star
20

RadialLayout

A scrollable-ish view that arranges images in circles extending from the center of the screen.
Java
19
star
21

mdjavadoc

A script that generates markdown javadocs for use in Jekyll and GitHub Pages.
JavaScript
18
star
22

fennifith.github.io

My personal website.
SCSS
16
star
23

Tooltips

(unmaintained) A small tooltips library for Android based on Material Design.
Java
15
star
24

TimeDatePicker

A simple Android library containing several time/date pickers and dialogs.
Java
15
star
25

Scrurl

Scrolling urls, a.k.a. the second worst website I've ever made.
HTML
15
star
26

Asciimg

A command line tool to display images in ASCII.
JavaScript
14
star
27

Cronhub-Monitor

A native CronHub notification client for Android.
Java
14
star
28

Bagels

A live wallpaper that blurs the screen after a period of time without any actions.
Java
14
star
29

Rocket

(unmaintained) A basic tap-to-fly game experimenting with view animation.
Java
13
star
30

APReader

A small app that displays Android Police articles without waiting for the website to load.
Java
10
star
31

WearLocker

A basic lock screen that prevents accidental touches on Android Wear 2.0.
Java
10
star
32

SunriseSunsetView

A lightweight Android view used for displaying and/or editing sunrise and sunset times.
Java
9
star
33

Wallpapers

(unmaintained) A material design wallpaper dashboard template
Java
9
star
34

AndroidUtils

A bunch of util classes that I use in almost every project I write.
Kotlin
9
star
35

MonkeyTester

Determines whether a user is a monkey, a goat, or both, based on values obtained from android's ActivityManager and UserManager.
Java
9
star
36

ExceptionalTraveler

An implementation of the Traveling Salesperson Problem using the fundamentals of Exceptional Programming.
Java
8
star
37

PortAuthorityFeedbackReporter

A small application to make it easier for riders to report issues to the Pittsburgh Port Authority bus system.
Java
8
star
38

Monochrome

A monochromatic pixelated adventure game.
Java
7
star
39

FelixLauncher

(unmaintained) Dark-themed launcher that supposedly saves a lot of battery.
Java
6
star
40

AAH

A basic cmdline program for Linux to help me do basic things I should already know. Ex: "AAH drive mount"
Go
6
star
41

Paper-Tales

A modified version of Fornax that gets its content from Wordpress articles.
Java
5
star
42

ChargeScreen

(Unmaintained) An annoying screen that pops up when you plug your phone in.
Java
5
star
43

dotfiles

My "generic Linux distro" dotfiles. Used to sync stuff between laptops and not much else.
Shell
4
star
44

bugiver

A small website that gives you an issue to fix when there is nothing to do.
HTML
4
star
45

Blackboard

(unstable) An HTML scraping, JavaScript injecting, spaghettificating, massive heap of Blackboard parsing mobile client.
Java
3
star
46

Robotics

Documentation of stuff done in my robotics class.
C
2
star
47

photos

A collection of my photography, published under the Creative Commons License.
HTML
2
star
48

styles

A collection of all my CSS styles, organized and documented.
HTML
2
star
49

HackNA-Notes

A small sample project created for a workshop at HackNA.
Java
2
star
50

discord-github-thing-doer

A Discord bot that automates github-related tasks for my server.
JavaScript
1
star
51

Music

A collection of my piano compositions and other music-related projects.
HTML
1
star
52

music-automata-api

An Rx-based interface for programming musical automata in JavaScript. (WIP)
JavaScript
1
star
53

pixularautomaton

A basic cellular automaton that makes pretty animations from images.
HTML
1
star
54

MarkdownToJupyter

NodeJS script to execute & convert code blocks in markdown files to a JupyterLab Notebook.
JavaScript
1
star