App Store and source code: | Google Play Store and source code: | Website and source code: |
|
|
|
The goal of this app is to recreate the "Luach HaMaor Ohr HaChaim" calendar that is widespread in Israel. This calendar is special because Rabbi Ovadiah Yosef ZT"L oversaw it's creation and used the calendar himself until he passed:
In order to recreate the calendar, I needed an API that would give me the times for sunrise and sunset everyday (since all the other zmanim are based on these times). I was recommended the well known KosherJava package, and that is the basis for all of the app's zmanim (time) calculations. KosherJava was made for Java applications which made it perfect for the android app. However, iOS runs on swift/objective-c. Moshe Berman created an objective-c port called KosherCocoa, however, with KosherCocoa many classes and methods were missing from the package. In the end, I recreated the entire KosherJava project into my own repository and called it, KosherSwift
The only zman/time that could not be computed by the KosherJava/KosherCocoa API is the sunrise time that the Ohr HaChayim calendar uses. They explain in the calendar introduction that they take the sunrise times from a calendar called, "Luach Bechoray Yosef". That calendar calculates the time for sunrise by taking into account the geography of the land around that area and finding when is the first time the sun is seen in that area (based on the introduction to Chaitables.com). While not impossible, this would take a massive toll on a mobile phone's processor and memory, therefore, the app does not support it. However, I discovered that the creator of this calendar made a website ChaiTables.com to help people use his algorithm for sunrise/sunset all over the world and create a 12 month table based on your input. I added the ability to download these times in the app with your own specific parameters. (I highly recommend that you see the introduction on chaitables.com.)
Daily view of the app:
- For an in-depth explanation on each specific time, please look at the descriptions for each individual time, found in the app-itself.
- For an overall explanation, please visit our organization's ReadME on GitHub.