Daylight shows how much daylight you get: sunrise, sunset and the length of the day for any place on Earth and for any date within five years back or ahead. All times are calculated directly on your device, using the well-established sunrise/sunset algorithm published in the Almanac for Computers (1990) by the United States Naval Observatory.
A few things set Daylight apart from typical sunrise & sunset apps:
This makes the app most rewarding at higher latitudes – where day length changes quickly and polar phenomena occur – and for travelers who want to check daylight at their destination without a network connection.
The heart of the app is a circular, 24-hour sun dial: noon is at the top, midnight at the bottom, and the blue slice represents the daylight portion of the day. A sun marker travels around the dial and shows the current moment, and the sunrise and sunset times are labeled where day meets night. At a glance you can see not only when the sun rises and sets, but also what fraction of the whole day is daylight.
Above the dial, two cards show the current location (place name and coordinates) and the selected date, each with a Change button. Below it, dedicated cards list the exact sunrise and sunset times (to the second) and the resulting length of day. The whole view can be enlarged with a pinch-to-zoom gesture (up to 3×) – useful for reading the details from a distance or for anyone who prefers larger text.
Scrolling down reveals the comparison section – the part of the app that shows how daylight is changing:
All comparisons are calculated for the selected location and date, so you can just as easily check how fast the days are getting longer in Tromsø next February as at home today.
Inside the polar circles the sun behaves differently: in summer there are periods when it never sets (the polar day, or Midnight Sun), and in winter periods when it never rises above the horizon (the polar night). Many sunrise apps simply fail or show meaningless times there. Daylight instead switches to one of two dedicated views:
When the app starts for the first time, a welcome screen lets you decide how to pick a location. There are four ways, and none of them requires an internet connection:
Whichever way you choose, the location is then fixed: the app never switches to a different location on its own, so it keeps showing the place you selected until you change it yourself.
The location permission is optional. If you deny it, nothing is lost except the “Get device location” button – manual search and recent locations work exactly the same. The start screen also offers a “Start with last used location” switch: when enabled, the app skips the welcome screen on the next launch and reopens directly on the location you used last time.
The town database covers populated places, which is exactly what a remote location is not. The “Enter coordinates manually” button in the search dialog opens a screen where you type a latitude and longitude yourself, so any point on Earth can be used – including the high latitudes and empty regions where daylight is most interesting and towns are scarcest.
A typed point is treated exactly like any other manually chosen location: it is added to Recent locations, it can be used by the widgets, and the app keeps showing it until you change it. If there is a known place near the coordinates, its name is used as the label; if there is none, the coordinates themselves become the label rather than the location being unusable.
Typed coordinates also get their correct local time zone, worked out offline from timezone boundary data bundled with the app. That data covers the entire globe, oceans included, so a point in the middle of the Pacific, on the Greenland ice cap or in the middle of a desert shows times for where it actually is. A position read from the device keeps the phone’s own time zone, and a town picked by name keeps the time zone recorded for that town – in both of those cases there is already a trustworthy answer, so nothing needs to be looked up.
Daylight is not limited to today. Tapping Change next to the date opens a calendar where you can select any date up to five years in the past or future – check the sunrise time for a planned trip, or see exactly how short the days will be in December. A Today button brings you straight back to the current date.
The selected date is intentionally temporary: it stays while you use the app, but the app returns to today when it is started again, so you never look at an old date by accident.
From the menu you can set a one-time alarm for the next sunrise, the next sunset, or both, at the location currently shown in the app. For each alarm you choose:
Saved alarms are listed in the same dialog under Currently set alarms, together with the location, sound and lead time, and each can be cancelled with one tap. If the alarm’s location is in a different time zone, the dialog also shows the time converted to your local zone.
The alarms are deliberately one-shot: each fires once for the specific upcoming sunrise or sunset, then it is done – nothing keeps running in the background afterwards. Alarms survive a phone restart. If the moment was missed (for example the phone was off), the alarm is dropped rather than ringing at a wrong time. During a polar day or polar night, when there is no sunrise or sunset to wake up to, alarms are unavailable and the dialog explains why.
Please note that this is not an alarm clock: the alarm is delivered as a regular notification, so it respects your phone’s sound settings. If the phone is in “vibrate only” or silent mode, the notification appears and the phone vibrates, but the selected sound plays only when the phone’s sound is on.
Daylight offers two home screen widgets: a large “Daylight today” card with the full picture of the day, and a small “Sun countdown” tile with a single number. You can place either of them, or both, and they share one location setting.
The “Daylight today” widget puts the essentials on your home screen: today’s sunrise and sunset, the length of the day, the change compared with yesterday, and whether it is currently day or night at the widget’s location. In polar conditions the widget switches to Midnight Sun or Continuous Night with a countdown to the next event. A small note tells you how fresh the data is (for example “updated just now”).
The “Sun countdown” widget is the opposite of the one above: a small tile, two columns wide and one row high, showing one glanceable value – how much time is left until the next sun event. A sun or a moon icon leads the value, and a short caption below says what is running out: of day left while the sun is up, of night left while it is down.
Tapping the tile opens the app, exactly like the larger widget.
Both widgets share one settings screen, available from the app menu, with a single choice – the location source:
The setting applies to both widgets at once, so they always show the same place. Widget settings affect only the widgets – they never change the location shown in the app, and the widgets never read the device location on their own.
Daylight keeps its settings minimal. The Preferences dialog contains a single switch:
Everything else – the selected date, the zoom level – deliberately resets when the app restarts, so it always opens in a predictable state.
Daylight is free and supported by advertising: a single small banner ad (Google AdMob) may appear at the bottom of the main screen. The ads are deliberately unobtrusive:
Daylight requests only the permissions it needs for the features described above:
Daylight builds on the work of others, and this section credits it fully. It repeats and expands the information available in the app’s About dialog.
The offline location search and the naming of GPS positions use data from GeoNames – specifically the cities5000 dataset (populated places with at least 5,000 inhabitants, about 68,000 entries), transformed into an embedded SQLite database so it can be used entirely offline. GeoNames data is licensed under the Creative Commons Attribution 4.0 International License. GeoNames data is provided “as is”, without warranty or any representation of accuracy, timeliness or completeness.
Time zones for manually entered coordinates are resolved offline from timezone boundary data produced by timezone-boundary-builder. That data is derived from OpenStreetMap: it contains information from OpenStreetMap, © OpenStreetMap contributors, available under the Open Database License (ODbL) 1.0.
The copy embedded in this application is a Derivative Database: the boundaries have been simplified onto a grid so that they fit on a phone. That derived database, and the script that produces it, are offered under the same ODbL 1.0 licence and can be obtained here: github.com/jakubhalun/datasets →
All five alarm sounds were created by DRAGON-STUDIO, published on Pixabay and used under the Pixabay Content License. The author makes all of their sound effects and music free for commercial and personal use:
| Sound (name in the app) | Author | Source |
|---|---|---|
| Rooster Crowing | DRAGON-STUDIO | pixabay.com → |
| Rooster Call | DRAGON-STUDIO | pixabay.com → |
| Doorbell Chime | DRAGON-STUDIO | pixabay.com → |
| Correct | DRAGON-STUDIO | pixabay.com → |
| Ding | DRAGON-STUDIO | pixabay.com → |
Sunrise and sunset times are computed with the algorithm published in the Almanac for Computers, 1990, Nautical Almanac Office, United States Naval Observatory, Washington, DC 20392.