File sharing & Google Drive

As I wrote last week, we are working on how to support users in sharing their study materials with one another, regardless of whether they have iOS or Android devices. I want to present some additional background about our goals and our approach. First, we want to enable the sharing of study materials entirely through the apps we are building, and in as simple a manner as possible. We do not want users to have to use their desktop or laptop computers as intermediary devices, or have to switch to email, another app, or a web page to share something. This means that the file sharing protocols must all be accessible programmatically from within our apps. We also want users to fully own and manage their study materials, without us keeping any copies of them or other related data on some server that we manage. Each user’s data should be entirely under their own control, so they can be comfortable that their data is not being used in any unknown ways or for any purposes other than what they want. Additionally, sharing can be useful to users by themselves. Users who own more than one mobile device — for example, an iPad and an Android phone — may want to use our apps on each device, and have all of their study materials synced between those different devices. And whenever users upgrade to new mobile devices, they need a straightforward way to transfer all of their study materials from the old device to the new one.

With these goals in mind, we settled on Google Drive as the most promising technology to use. Google Drive also stood out because of the continuing surge in the use of Chromebooks and related Google services by students in elementary and secondary schools, especially in the United States. This is important since we are looking to have our apps used by b’nai mitzvah students and their tutors. If students are already familiar with Google services like Google Drive, it will make using our apps that much more straightforward for them. A recent article in the New York Times noted that, “In 2016, Chromebooks accounted for 58 percent of mobile devices shipped to primary and secondary schools in the United States,” and that “more than half the nation’s primary- and secondary-school students — more than 30 million children — use Google education apps like Gmail and Docs.” Also, Google Drive is free for anyone to use, with generous data limits.

So we are now deep into the technical details of accessing the Google Drive functionality within our Android and iOS apps. This is actually more complicated in Android than in iOS, because in iOS, there is only one way to do things. In Android, there are multiple supporting technologies, and it requires some extra effort to determine which approach will give us the right services for our needs. And, of course, newer versions of Android work differently than older versions, so that also has to be taken into account. Further, on Android, a user is basically already signed in to Google, so we want to take advantage of that and streamline the process for the user. That means doing more behind the scenes programming to make everything “just happen.” And that’s where we are this week.

We are always happy to hear from you. Write to me directly at marsha@zigzagworld.com

Subscription option

Thanks to several readers who let us know that they would like to be notified by email about updates to our blog! Just sign up using the form in the right margin, and you will always know when we publish a new post.

I am still on a learning curve in terms of using WordPress, so if something doesn’t look right or function as expected, please let me know about it. You can always contact me directly at marsha@zigzagworld.com

Welcome to our blog

Thank you to everyone who has subscribed to our Hebrew in Hand Newsletter for so many years! I look forward to staying in touch with you about our work through this blog, which will be updated regularly. I plan to tweet whenever there is an update — find us @hebrewinhand. Visit us here anytime to find out what we are up to. As always, we want to hear from you. Please share your thoughts and questions directly with me at:

marsha@zigzagworld.com

In case you have just found us, here is a quick summary of who we are and what we are doing. ZigZag, Inc. is a small software development company, and for many years we have been creating mobile apps of Judaic and Hebrew interest. As part of our work, we have created Android apps, web apps and fonts for accurately displaying Biblical Hebrew on mobile devices. We have recently added iOS apps to our development repertoire. Our most well-known apps are Tanach Bible and My Tanach, both for Android. They were done in partnership with Davka Corporation, and are sold through them.

Late last year, we began exploring the idea of creating a cross-platform Tikkun app — for both iOS and Android — for leiners (Torah readers) and b’nai mitzvah tutors and students. Our first task was to determine whether to use a cross-platform development environment, or to code each app natively. After studying the most promising cross-platform options, we decided to try using Nativescript to code the core of the app — the two-column display of Torah text, pointed text on the right and unpointed text on the left, with fully-justified lines,  predetermined line-breaks, and extra space at specific points within a line of text. This is a very demanding layout to handle. And we found that the cross-platform environment was just too limited for it to work. We then moved on to creating two separate apps, each coded natively. Both apps can display the two-column Tikkun text, plus handle a few user preferences. Here is the two-column text displayed on an iPad:

The next major technical area that we needed to work through was how to share study materials between users, no matter which platform each might be using. It clearly would not be enough for iOS users to only share with iOS users and Android users to only share with Android users. Again, we studied the various technologies for sharing data between users on different platforms, and settled on Google Drive as being the best candidate for our needs. We implemented a very limited proof-of-concept sharing feature in both the iOS and Android environments, and are now expanding that work to include the standard user interface features that users will expect. We now have the ability to securely sign in and out of Google drive accounts. We are next working on the internal mechanisms for sharing a specific file with a specific user directly through the app.

And that is where we are today.