Sync function was down, including create account, login, and actual sync. Fix was overdue by several months and was too late to be done.

Background: Alkitab app has backend service in GCP. The project name is alkitab-host-hrd, web address https://alkitab-host-hrd.appspot.com, aliased to https://www.alkitab.app and https://www.bibleforandroid.com/.

The server runs on Google App Engine since 2012. In 2012, App Engine has only one kind, which is now called Standard Environment. It is very simple to deploy applications. Just upload Python 2.7 files and all library dependencies, and one or more server instances will be spawned, auto-scaled according to load. It has out-of-the-box services (“App Engine APIs”) such as Datastore, Task Queues, Mail, Cron, Text Search Engine that can be accessed just by calling library functions, without any configuration.

In 2014 I made the Sync function in the backend. It allows users to have multiple devices and those devices will have the same bookmarks, highlights, notes, reading plan progress, pins, and history. It also allows users to change their devices without losing data. However, the Sync code requires a lot of computational power and memory, such that the unchangeable limits of Standard App Engine (128MB ram, 30 sec http timeout) were soon reached.

So it was inevitable that we need to move to Flexible App Engine. In Flexible, it is like renting a machine on Google’s datacenter by number of CPU power and RAM needed. The lowest option they provide is almost 4 GB ram, much more powerful that the Standard. This seemed like a great choice, albeit the high price. However, there are some drawbacks:

  1. Deployment and configuration is much more complicated. I need to manage threads myself, updating code needs 10 to 15 minutes, and the logs are very hard to read, since they do not show any severity level and do not separate logs by request any more. When there is an error in the server, I need to wait at least 15 minutes to do the patching and to wait until it is up, repeating it as many times as needed.
  2. The Flexible App Engine previously still provided the out-of-the-box services mentioned above by declaring the “runtime” to be “python-compat” and enabling the App Engine APIs. This ability was declared by Google to be removed around 2018, but they keep extending until the final notice:

“We’re writing to let you know that App Engine Flexible Compat mode (beta feature) will be shut down on January 31, 2020.”

They extended it once more, to Feb 28. Then March came, and around March 6 suddenly the App Engine Flexible instance I had was turned off completely.

Panic happened. Tens of users sent emails saying that they can’t sync or they can’t create a new account. I need to rectify this problem immediately.

So actions taken:

  1. I tried to redeploy the app without enabling App Engine APIs, and see what happens. The App Engine deployment server correctly said that I can’t use the python-compat any more, and enabling App Engine APIs are not allowed any more.
  2. The web server needs to be run as an independent program, not managed by App Engine runtime any more. So I figured out how it works. It needs gunicorn as the web server (I’m not sure I get this right), needs an entrypoint that knows how to route paths to their corresponding handler, etc.
  3. I figured out what needed to be reimplemented. Luckily, Google did not deprecate App Engine APIs for Standard App Engine, only for Flexible App Engine. (I didn’t mention it earlier that not all endpoints runs on Flexible. These functions are running in Standard: Sharing verses, Bible translation list and download, Song book and songs, Announcements, Feedback).
  4. There are 3 services that is used by Sync: Datastore, Task Queues, and Mail. 
    • The Mail is for sending password recovery email. I just reroute the request to the Standard instance to send the email.
    • Datastore is for storing and retrieving user data. Google had NDB for the Standard App Engine, they (super super lucky for me) reimplemented it for Flexible App Engine and for other servers. (It does not use memcache any more). I need to vendor “webapp2” because webapp2 2.5.2 (the latest stable version) still uses the old NDB and patch it myself. Phew. All the @ndb.transactional decorator did not work, I had to replace it with ndb.transaction(function) instead. I could not find any solution for that.
    • Task Queues, which was previously super magically easy to use due to their “deferred” wrapper, now do not have such thing and scheduling tasks has to be implemented manually. This is used to send push notifications to the other devices when user data is updated. It is also used to unpack cached data (I compressed some of the user data). Google has a service Cloud Tasks that I used to implement this. However every time I add a tasks to execute a request to the App Engine instance, it always failed to execute, with 500 error “Instance Unavailable”. I changed it such that it executes a HTTP request instead, albeit pointing it to the same App Engine service.

So after 3 days of very not-interesting work and opaque, the Sync function is now up again. I am sorry that you had to experience the downtime. I expect some bugs to happen though. But at least I was thankful that this was done and I think God gave me the strength to do this by not easily give up and by having some people cheering me up like Tika and Fernando. Thank you.

4.4 and 4.5: Updates after we did not update the app for so long

Dear Bible for Android app users,

I apologize that there has been no updates to this blog for over 2 years. Not only this blog, but also the apps are not frequently updated.

I have to admit that I did not maintain the app as diligently as before. I do not think the existence of the app is as important as 4-5 years ago. In the past, YouVersion, the most popular Bible app on Android, in my opinion, was not good enough because it is slow and crashes quite frequently. It also didn’t provide offline functionality for reading the Bible, which was very necessary in my home country back then. Now, YouVersion is much better.

But I still think that this Bible for Android project is important. This is the Bible app that allows you to read the Bible without much distractions, zero pop-ups and advertisements, except for the less-than-once-a-year notification that appears on your status bar (not even a pop-up). The reason is that I wanted to create a Bible app that allows you to read the Bible without distractions. Taking your attention from the word of God to something else is a thing that I consider wrong.

I still feel that this project is not yet done because there are still a few things that could have been done, mainly:

  • Playing audio Bibles
  • Interlinear, as in showing the original language together with the translation phrase-by-phrase
  • Strong’s number
And also, since the project is open-source, I wish I could make the project easier to adopt and modify. I am very thankful to God that the code has been used by another project, KJV Study Bible with 500K+ downloads, albeit a lot of advertisements. There is also Mizo Go Bible with 50K+ downloads. I hope people read the Bible more because of those apps.
Since version 4.4, the Bible and font files are not stored in the device’s shared storage ‘bible/yes’ or ‘bible/fonts’ folders. They are moved to the app’s internal storage to prevent other apps from messing up with the files, e.g. Clean Master and whatever cleaner that is supposed to clean unwanted files but also deletes your Bible files.
Since version 4.5, we trimmed the list of versions that is downloadable from the version list screen. It is because, other than the problem of maintaining it, also the problem of people and organizations claiming that they have the right to claim as the owner a derived version of the Word of God by means of “copyright issues” etc.

You can still download Quick Bible from the GitHub releases page.

4.3 Features (3): Your data on the cloud

The sync feature syncs your markers, reading plan progress, pins, and recently opened verses (history). Some of us has larger number of sync data, but they are only inside your phone.

We have created a system that allows you to use and develop your sync data elsewhere. Go to www.bibleforandroid.com/cloud, login with your sync account, and you will see all your successfully synced data on the cloud inside your web browser. The tab “bookmarks, notes, and highlights”, “Reading plan progress”, “pins”, or “recent verses” is used to switch between different view of which data to show. You can see or even copy the page for your own reference or download them all as JSON file, if you want to process them yourself.

A little explanation for the reading plan progress tab. There are 3 columns: ID, starting date, and done. On the done column, you will see something like “Day 1: position 1 2 3”. This shows which passage you have done reading according to the plan, on the day 1. You may have one or more passages to read everyday.

For example: On day 7 of Bible Plan Gospels Reading plan, you need to read Matthew 19, 20, and 21 so your bible reading is on-schedule. In that case:
– position 1 is Matthew 19
– position 2 is Matthew 20
– position 3 is Matthew 21

On the day 7, only position 1 (Matt 19) has been read.

Reading plan progress tab
Because on day 7, only position 1 (Matt 19) has been read, the done status on day 7 of Bible Plan Gospel is written as “Day 7: position 1”.
Hopefully this feature will be useful for you. If you have any questions or suggestions, do not hesitate to leave comments or reach us at help@bibleforandroid.com.


Fitur sinkronisasi dapat menyinkronkan data marka, progres rencana baca, jejak, dan history ayat. Beberapa dari kita memiliki data sync yang begitu banyak, namun data tersebut hanya tersedia di dalam HP mereka.

Kami telah membuat suatu sistem supaya anda dapat menggunakan dan mengembangkan data sync data. Lihatlah ke halaman www.bibleforandroid.com/cloud, login menggunakan akun sync anda, dan anda akan melihat semua data sync yang sudah sukses disinkronkan di dalam tampilan web. Gunakan tab “bookmarks, notes, and highlights”, “Reading plan progress”, “pins”,  atau “recent verses” untuk melihat berbagai tampilan data yang sesuai. Anda bisa lihat dan bahkan copy isi halaman tersebut untuk bahan referensi anda atau mengunduhnya dalam bentuk file JSON jika anda ingin memproses data tersebut.

Sedikit penjelasan untuk “reading plan progress”. Ada kolom “ID”, “starting date”, dan “done”. Di kolom “done”, isinya contohnya: “Day 1: position 1 2 3”. Ini menunjukkan bagian Alkitab mana yang sudah anda baca berdasarkan rencana baca anda, di hari pertama. Setiap hari mungkin ada lebih dari 1 pasal yang perlu dibaca.

Sebagai contohnya: Di hari ke-7 untuk Bible Plan Gospel Reading plan, anda dijadwalkan untuk membaca Matius 19, 20, 21 supaya pembacaan Alkitab anda sesuai jadwal. Maka:
– position 1 adalah Matius 19
– position 2 adalah Matius 20
– position 3 adalah Matius 21

Jika pada hari ke-7 anda baru membaca Matius 19, maka status di kolom “done” untuk Bible Plan Gospel untuk Day 7 akan tertulis “Day 7: Position 1”.

Semoga fitur ini dapat bermanfaat bagi anda. Jika anda memiliki pertanyaan atau saran, silakan memberikan komentar atau hubungi kami di help@bibleforandroid.com.

4.3 Features (2) – Bible Maps

One of the most requested feature for Alkitab / Quick Bible is the ability to display locations on the Bible on a map. We did not know how to implement this, especially because we did not know how to get the source of the locations, and whether the pictures of ancient maps available online were free to be distributed or used.

I think, having access to a map where we can look up any location that is mentioned in the Bible is useful in many ways.

  • Look up how Jacob, Paul, or anyone else did their travels
  • See whether a particular city is far or near another city
  • Investigate whether a location is inside a region or a nation
  • Determine if a place is inside or is surrounding another place
Then we found openbible.info where a list of locations in the Bible is provided, together with the verse locations and the latitude+longitude of each of them. I think we can create an app where the map drawing is provided from a legal source (Google Maps) but the locations can be overlaid using the openbible.info data. 
After a month, then a new application is published: Bible Maps (Please download and try and rate it, then continue reading!) This is a bit special also in the fact that searching for “Bible maps” or “Bible map” in Play Store yields pretty much useless results apart from few apps. 
If you have installed Bible Maps app, in Alkitab / Quick Bible 4.3 you will find some verses equipped with a location target icon:

When you click it, a popup is displayed, showing the locations mentioned on the verse.
In the example screenshot, you can see in that verse there are 3 locations: Cos, Patara, and Rhodes. The popup shows all three in tabs, so you can view the locations in relation to each other. You can even mark some locations with stars. If you put a star, it will be saved, and any time you open the map, either from the Alkitab / Quick Bible app or directly from the Bible Maps launcher, the stars will still be visible. That is useful to make a location as an “anchor” or “pivot point” so you can see other locations relative to this location.
Hopefully you enjoy this feature!
===
Salah satu fitur Alkitab / Quick Bible yang banyak diminta adalah menampilkan lokasi-lokasi di Alkitab pada peta. Kami tidak tahu bagaimana membuat fitur ini ini, terutama karena kami tidak tahu cara mendapatkan daftar lokasi, dan apakah gambar peta kuno yang tersedia secara online bebas untuk didistribusikan atau digunakan.
Sepertinya peta yang berisi setiap lokasi yang disebutkan dalam Alkitab bisa berguna misalnya untuk: 
  • Mencari bagaimana Yakub, Paulus, dll melakukan perjalanan mereka
  • Melihat apakah kota tertentu jauh atau dekat dengan kota lain
  • Menyelidiki apakah suatu lokasi terletak dalam suatu wilayah atau bangsa
  • Menentukan apakah suatu tempat berada di dalam atau di sekitar suatu tempat lainnya

Kemudian kami menemukan openbible.info yang menyediakan daftar lokasi dalam Alkitab, lengkap dengan lokasi ayat dan lintang + bujur masing-masing. Sepertinya kita dapat membuat sebuah aplikasi di mana gambar peta disediakan dari sumber legal (Google Maps) tapi lokasinya dicantumkan menggunakan data openbible.info.
Setelah satu bulan, maka terbitlah aplikasi baru: Peta Alkitab (Silakan unduh dan coba dan beri rating, kemudian lanjutkan membaca!) Lumayan juga, berhubung pencarian “peta Alkitab” di Play Store tidak banyak memunculkan aplikasi yang berguna.
Jika Anda telah menginstal Peta Alkitab, di Alkitab / Quick Bible 4.3 Anda akan menemukan beberapa ayat dilengkapi dengan ikon target:

Ketika Anda klik, sebuah popup akan muncul, menunjukkan lokasi-lokasi yang disebutkan di ayat tersebut.

* Jika versi Alkitab yang digunakan bahasa Indonesia, maka nama-nama tempat akan tertulis dalam bahasa Indonesia juga. Selain itu, akan tertulis dalam bahasa Inggris.
Pada contoh layar itu, Anda dapat melihat bahwa ayat itu ada 3 lokasi: Kos, Patara, dan Rodos. Ketiganya tertulis di tab, sehingga Anda dapat melihat letak satu lokasi terhadap yang lain. Anda bahkan dapat menandai beberapa lokasi dengan bintang. Jika Anda memasang bintang, setiap kali Anda membuka peta, baik dari aplikasi Alkitab / Quick Bible maupun dari langsung meluncurkan Peta Alkitab, bintang yang dipasang itu akan tetap terlihat. Hal ini berguna untuk membuat suatu lokasi sebagai “jangkar” sehingga Anda dapat melihat lokasi lainnya relatif terhadap lokasi ini.
Semoga Anda menyukai fitur ini!

4.3 Features (1) – Partial sync

I was surprised that some of you have so many bookmarks, notes, highlights or labels! I saw some with more than 20000 items. Seeing that the data are so many, it made us happy because it means that the app is used so frequently.

When we tried to create the syncing feature, we didn’t expect that users create so much data on the Quick Bible app. Every time a sync is performed, all unsynced data is sent from the device to the server. The data transferred becomes so large, reaching 1 to 3 MB. But the worst thing is, after the server receives the data, since there are so many items, the server times out before all data is stored, or the database on the server reports error because there are too many things written in a single transaction.

So we tried to overcome this by using another approach from the client side. Instead of sending all unsynced data, it sends them in chunks. Each time a sync is performed, the device only sends maximum of 100 new markers or labels.

So, if you already have so many data on your device, and you just signed up for Sync, you will see on the Sync settings that the revision number goes up by 100 at a time. Hopefully this makes sync better. Please let us know if it still fails.

Ternyata ada beberapa orang yang pembatas buku, catatan, sorotan atau labelnya banyak sekali! Saya pernah melihat ada yang memiliki hingga 20000 lebih. Kami senang melihat banyaknya data itu, karena berarti aplikasi Alkitab digunakan begitu sering.

Ketika kami membuat fitur sync, kami tidak menyangka ada pengguna yang membuat sebegitu banyak data di dalam aplikasi Alkitab. Setiap kali sync berjalan, semua data yang belum disync dikirim dari perangkat ke server. Jumlah data yang ditransfer menjadi sangat besar, mencapai 1–3 MB. Hal yang terburuk adalah ketika server menerima data yang banyak itu, server tidak dapat memprosesnya dalam waktu yang ditetapkan (1 menit) atau database di server menolak menyimpan data karena ada terlalu banyak operasi tulis dalam satu transaksi.

Maka kami berusaha mengatasi ini dengan cara lain dari sisi klien. Daripada mengirim semua data yang belum disync sekaligus, klien mengirim sebagian-sebagian saja, maksimum 100 marka atau label baru.

Jadi, kalau data dalam perangkat Anda sudah banyak sekali, dan Anda baru saja memakai fitur Sync, anda akan melihat nomor revisi pada layar Pengaturan Sync menaik 100 demi 100. Semoga hal ini membuat sync berjalan lebih baik. Kabarkan pada kami jika belum berhasil baik.

Bible Reading Plan

We know that reading and understanding the Bible is very important. To be able to understand the Bible properly, we need to understand the context of the passage that we read. Thus, many people advise to have a planned Bible reading and not to pick only the verses that you want to read. By this Bible reading plan the reader is expected to understand the outline of the Bible more clearly.

In the newly released Bible app, we now have a new reading plan menu. Currently it provides you with several reading plans:

  1. Bible Plan Gospels. Duration: 30 days. Only read all the Gospels.
  2. Bible Plan Psalms. Duration 31 days. Only read Psalms.
  3. Bible Plan Proverbs. Duration 31 days. Only read Proverbs.
  4. Blue Letter One Year Historical Plan, Duration 1 year. OT was ordered by Hebrew canon, NT was ordered by the time they were written.
  5. Blue Letter OT and NT. Duration 2 years. Read OT and NT daily.
  6. Blue Letter One Year Canonical. Duration 1 year. Read from cover to cover.
  7. M’Cheyne Bible Reading Plan. Duration 1 year. Daily read OT, NT, Psalms or Gospels.
  8. ESV Every Day in the Word. Duration: 365 days. Every day you will read Old Testament, New Testament, Psalms and Proverbs.
  9. ESV Daily Reading Bible. Duration 1 year. Every day OT, NT and Psalms.
  10. ESV Through the Bible in a Year Reading Plan. Duration 1 year. Every day OT and NT.
  11. Back To The Bible Chronological Reading Bible. Duration 1 year. Chronologically ordered.

This feature also helps you to save your progress by marking whenever you finish your daily reading.
To start using this reading plan. You need to go to Menu – Reading plan, you will see this screen:

You have to download the reading plan before you start using it. After you click “Download”, a dialog will appear:
This is the selection of reading plans available as I already listed above. The list is complete with the description of each plans and its duration. From this dialog, you have to select one plan to start with. Let say you pick M’Cheyne Bible Reading Plan, you will get this screen:

On the title bar, we can see the title of the plan that you selected. You can download as many plans as you want, but it will not allow you to select the same plan you already downloaded. The title is actually a dropdown list, so if you really want to use some plans, you can choose the plan from the dropdown.
The screen above clearly shows that Nov 21 2013 is day 1 and today you have 4 passages you have to read. You can navigate to next day or previous day if you want to see your plan day by day or you can click “Show details” to show you the long list of your plan in one screen.

Now if you want to read today readings, you need to click today passage list (ex: Genesis 1; in the screen above). It will immediately open the Bible with the interface that you already familiar with.

This screen is the same screen that you normally see when you read the Bible. Nothing you need to learn here except that additional floating menu below. This reading plan menu will disappear in a few seconds and you can awake it up by scrolling.
The left and right navigation buttons is for you to go to the next reading in your selection day. If you finish reading it, you may check the check box, if you want to go back to the reading plan screen, you can tap the button in the middle (the one with the description). If you want to close you can tap the cross button.
While you are using this reading mode, you still can navigate to other chapter that are not in the reading plan using the left and right button as normal but the verse will be shaded . For example today reading is Genesis 1, but you are very curious about Genesis 2. It will look like this:

If you insist to read this chapter, you need to close the menu and it will clear the shading.

Lets go back to the reading plan screen, if you mark the reading, it will be reflected in the screen and you can see your progress by looking at the progress bar indicator.

The green is your actual progress. When you mark the reading, the green bar will increase. The red one is indicating how much you are left behind. For example as displayed above you have finished 9.66% from all readings you have to read in this plan. This number is reflected as the green bar. Until today, you have to read around 11.23%. It means you are left behind by 1.58%. This number is reflected as the red bar.

To read the whole bible in one year is not easy. Maybe you need to read around four chapters each day and if for some good reasons you are left behind and cannot catch up the target, you may want to realign your plan. You can do this by select the menu and select “Catch me up”. This menu will move your last fully read day to yesterday or in another word your first unread reading will become today. So today you have to read the first unread reading. For example in the figure above today I have to read Genesis 43, Mark 13, Job 9 and Roman 13. But actually I have not started read Job yet. I even was stuck in Nehemiah 10. After I select “Catch me up” menu, I will get this screen.

If you compare the previous screen with this screen, you may notice that initially 21 November 2013 is day 41 but now it become day 20 and only left behind by 0.07%.
However you have to use it sparingly as you may see from the screen above, I reversed 21 days, and for 21 days I will only read 1 chapter. After these 21 days, it will be very hard for you to start reading 4 chapters each day again and maybe you will have forgotten that Genesis 43.

Currently it does not have any reminder for you to read your bible. For now you can use bible reminder from Devotion menu if you really need a reminder.

This reading plan menu is only a feature to keep track what you have read. Make sure you choose the best plan for you and feel comfortable with the plan because reading the whole bible in a year or two will not benefit much if you only read for the sake of finishing the bible. Lastly if you have another good reading plan please share with us so we can add in the future.

4.2 Features (6) – Reading Plan progress synchronization and other enhancements

Setelah beberapa kali percobaan, kami akhirnya mempublikasikan fitur sync Rencana baca untuk Alkitab/Quick Bible v4.2 Beta 5.

Yang di sync adalah progres kemajuan. yaitu tanggal mulai, dan checkbox yang menunjukkan bagian mana saja yang sudah anda baca. Anda masih perlu mengunduh Rencana baca yang dipakai di segala perangkat anda yang ingin di-sync.

Sekarang anda juga bisa mengubah tanggal mulai Rencana baca semau anda. Ada pengguna yang meminta supaya ia bisa memulai rencana baca tidak dari awal (karena sebelumnya ia sudah melakukannya). Dengan perubahan ini, anda bisa mengatur kapan anda mulai, dan akan di-sync di perangkat anda yang lain.

Jika anda menghapus rencana baca yang sedang dipakai, checkmarks akan tetap disimpan di dalam perangkat. Jadi jika anda mengunduh rencana baca yang sama, anda tetap bisa melanjutkan kembali pembacaan dari hari yang terakhir dibaca. Jika checkmark otomatis dihapus, perangkat lain akan mengira anda dengan sengaja menghapusnya, namun mungkin anda ingin melanjutkan pembacaan.
Jadi apabila anda memang ingin mengulang kembali pembacaan dari awal, anda bisa membuka menu drawer kiri rencana baca, dan pilih Restart.

Apakah mungkin terjadi konflik dalam sync Rencana baca? Ya, mungkin saja terjadi, untuk tanggal mulai, namun tidak untuk checkmarks. Jika anda mengubah tanggal mulai di 2 perangkat yang berbeda (sebelum sync dimulai), data akan ditumpuk, disesuaikan dengan yang paling terakhir disync. Untuk checkmarks, menurut penilaian kami, tidak mungkin terjadi konflik, jika itu berdasarkan revisi yang sama.

Apakah versi BETA itu? Bagaimana cara mengunduhnya?

Lihat di halaman ini untuk penjelasannya.


After some testing, we finally release the Reading plan progress sync in Alkitab/Quick Bible v4.2 Beta 5.

This do not synchronize the reading plan itself, only the progress, which is the starting date, and the checkmarks that indicate which readings you have done. You still need to download the reading plans on all your devices.

Now you can also change the starting date for a reading plan arbitrarily. Once a user asks whether he can start a year-length reading plan from the middle, not starting from Day 1, but starting on the middle as well. With this, you can manually set the starting date to be January 1, and you will start at Day Something according to the day of the year of that day. If you change the starting date, it will be synced to other devices as well.

If you delete a reading plan with some checkmarks, the checkmarks are now still stored in the device. So, the next time you add the same reading plan, you will get the checkmarks again. This is to facilitate syncing the reading plan progress. If the checkmarks were deleted when you delete a reading plan, other devices might receive it as clearing all the checkmarks for all readings of the reading plan, which is incorrect, because you may want to keep the reading plan on the other device. So how do you remove all the checkmarks, in case you want to repeat a reading plan? Open the left drawer, and select Restart. The changes will be synced too, so your other devices will get all checkmarks cleared for this particular reading plan.

Is it possible to have conflicts during sync? The answer is yes, for starting date, but no for the checkmarks. If you change the starting date of a reading plan on two devices separately (before any of them has the chance of syncing), you will get the starting date based on the device that syncs last. As for checkmarks, according to our experiments, you can’t have conflicting state, if both devices are based on the same revision. Any time you remove a checkmark for a reading on one device, you can only have two possible operations on the other device, which are, not doing anything, or removing it too. Either way, you will get the checkmark removed after syncing. The same goes for adding. This will behave differently when you have two devices at a different revision. But hopefully this should be sufficient.

What is BETA version? And how to download it?
Take a look at this page for the answers.

4.2 Features (5) – Truly night mode

Biasanya, ketika anda memilih mode gelap, tampilan yang berubah hanya isi, sedangkan action bar/app bar di bagian atas dan bar belah tetap berwarna biru abu. Ini membuat mode gelap tidak begitu gelap. Sekarang, ketika anda memilih mode gelap, segala bagian dalam aplikasi berubah warna untuk mengikuti tampilan mode gelap, sehingga anda lebih nyaman membaca di ruangan gelap.

mode biasa
mode gelap


Apakah versi BETA itu? Bagaimana cara mengunduhnya?

Lihat di halaman ini untuk penjelasannya.


When you activate the night mode, the action bar (the bar on the top) and the split-version handle color is still the default blue grey color. This makes the night mode not-so-night mode. Now, when the night mode is on, the action bar color and split handle color will become almost black. So you can read more comfortably in a dark room.

normal mode
night mode

What is BETA version? And how to download it?
Take a look at this page for the answers.

4.2 Features (4) – Sharing URL

Ketika anda membagikan ayat (terutama melalui facebook), versi Alkitab yang akan ditampilkan mungkin berbeda dengan yang anda ingin bagikan. Contohnya, ketika anda membagikan ayat dari NIV, link yang diklik oleh orang lain melihat ayat yang anda bagikan mungkin akan menampilkan versi KJV atau yang lain. Alasannya, karena facebook hanya menerima direct link ketika membagikan sesuatu, dan link itu akan menuju ke halaman web yang menampilkan teks Alkitab. Ini menjadi masalah jika halaman web tersebut tidak menyediakan versi Alkitab yang sama seperti yang ingin anda bagikan.

Sekarang, ketika anda membagikan ayat, aplikasi ini akan membuat link otomatis untuk menampilkan versi Alkitab yang sesuai, karena teks-nya akan disimpan di dalam server kami. Jadi ketika anda menyalin dan membagi ayat, aplikasi ini otomatis menambahkan link untuk melihat ayat tersebut di halaman web.

Namun, jika anda ingin mematikan link tersebut, anda bisa ke penggunaan > Salin dan bagikan > matikan “link bagi ayat”.

tampilan web link bagi ayat
opsi URL bagi ayat

URL ini berbeda setiap kali anda menyalin/membagi ayat. Bahkan jika pengguna lain menyalin dari ayat yang sama, link URL akan berbeda. Jika anda ingin tahu berapa kali ayat yang anda bagikan dilihat, anda bisa membuka halaman URL tersebut dan pilih menu “View Source” dari browser, dan bisa melihat jumlah “viewCount”.

Apakah versi BETA itu? Bagaimana cara mengunduhnya?

Lihat di halaman ini untuk penjelasannya.


When you share verses (especially to facebook) the Bible version might be different than what you actually want to share. For example, if you share a verse from NIV, the link generated will redirect your friends to a verse in KJV or other versions. The reason for this is because facebook can only accept direct link when sharing, and the link will redirect to another website that provides web-based Bible reading text. But this could be a problem if the website doesn’t provide the same Bible version as what you share.

Now, when you share verses, the app will generate a link for sharing that shows the verse in the exact same version you are currently viewing, because the actual verse text will be stored in our server.
So when you copy or share verses, it will automatically include the link to open it in web-browser. If you don’t like this, you can go to Setting > Copying and sharing > disable the option “Share URL”.

web-view when opening the shared verse
Share URL option

The URL is unique every time you copy or share. Even if a different user copies or shares the exact same verse, the URL will still be different. If you share a verse URL and you want to see about how many times your verse has been viewed, you can open the page and select the View Source menu on your browser, you can see a ‘viewCount’ message somewhere there.

What is BETA version? And how to download it?
Take a look at this page for the answers.

4.2 Features (3) – Progress mark synchronization

Lebih banyak pengguna yang menunggu fitur sync untuk rencana baca, namun kami perlu pemanasan dahulu dengan mencoba membuat fitur sync untuk jejak. Seperti yang anda ketahui, sync rencana baca jauh lebih kompleks daripada sync jejak. Jangan kuatir, kami pasti mencoba membuat sync rencana baca, jadi mohon kesabarannya.

Jika anda tidak familiar dengan jejak: jejak adalah 5 buah pin warna-warni yang anda lihat ketika membuka menu drawer kiri. Anda dapat membaca panduan lengkap tentang jejak di halaman ini.

Jejak kini dapat di-sync.

Dalam kasus ketika anda memiliki jejak di 2 HP yang berbeda, dan anda mengubah salah satu jejak di HP “A”, namun jejak di HP “B” belum mengikuti perubahan tersebut, waktu lokal di perangkat tersebut akan digunakan untuk menentukan perubahan yang akan disimpan.
Contohnya, di HP “A” anda mengubah nama jejak menjadi “hari Minggu”. Satu menit kemudian, anda mengubah namanya lagi menjadi “tiap hari”. Maka, tidak peduli HP mana yang selesai terhubung dengan server terlebih dahulu (bisa jadi HP “B” terhubung dengan server duluan daripada “A”), jejak anda di HP “A” dan “B” akan berubah nama menjadi “tiap hari”.

Apakah versi BETA itu? Bagaimana cara mengunduhnya?

Lihat di halaman ini untuk penjelasannya.


Although people may be waiting for reading plan synchronization across devices more, I need to warm up my brain by doing progress mark synchronization first. As you may know, reading plan sync is way more complex than progress mark sync. Don’t worry, we will definitely try doing the reading plan sync so please be patient with us.

If you are not familiar with progress marks, it is the colorful pins that you see when you open the left drawer. You can read the more detail explanation about progress mark in our web guide.

Progress marks can now be synced.

In case that you update one of the five progress marks from two devices, before one catches up with the other, the local time of the device will be used to determine which changes are saved eventually. So for example you disconnect your phone and tablet, then on your phone you change the Red progress mark title to “Sunday reading” and then a minute later on your phone you change the Red progress mark title to “Daily”, then, no matter which device connects to the sync server first, eventually the Red progress mark title will be “Daily”, because it is set later.

What is BETA version? And how to download it?
Take a look at this page for the answers.