Month: ד׳ באב ה׳תשע״ז (July 27, 2017)

User Interface / Sharing

We have now begun to design and implement the first elements of the user interface for the functions related to sharing content between users. As I have written about earlier, we are integrating Google Drive services into our iOS and Android apps, allowing users to keep their content in their own personal Google Drive accounts. They will then be able to share their content with others through our apps. We developed and tested the protocols for storing and retrieving Google Drive files, and are now working on the user interface elements for signing in and out of Google Drive. As usual, things work differently on iOS and Android. We also found that various built-in user interface elements behave differently on iPhones and iPads. So, as we have done many times before, we are writing custom code to provide a consistent user interface across the various platforms we want to support.

We currently have something acceptable working on iPhones and iPads, and have developed an Android equivalent. Once we have the sign in/out done, we can move on to the design for how to display and interact with a list of the user’s files.

{ Comments are closed }

Yemenite Traditions

As I was reading about various b’nai mitzvah practices and customs (there are lots of links out there), I took an interesting detour and learned a bit about Yemenite Torah reading traditions. I thought I would share some of what I learned this week.

At the Mechon Mamre web site, I read that “Yemenite Jews always allowed even children of five or six to take an aliyah.” And the Wikipedia article  on Yemenite Jews adds that “Children under the age of Bar Mitzvah are often given the sixth aliyah. Each verse of the Torah read in Hebrew is followed by the Aramaic translation, usually chanted by a child. Both the sixth aliyah and the Targum have a simplified melody, distinct from the general Torah melody used for the other aliyot.” So Torah reading (leining) was taught from a very young age. The article also notes that “In the Yemenite tradition each person called to the Torah scroll for an aliyah reads for himself.”

I also came across an article by Ephraim Stulberg on the division of aliyot in the weekly parashiyot. He references some research that indicates that the aliyah divisions did not become standardized until some time in the eighteenth century, and that the Yemenite community has its own division that differs in places from the division we see in most books today. I have looked for a table or listing of the Yemenite aliyah divisions, but so far have not yet found that information. Relating this to the Tikkun app that we are developing, this does bring up the need to support the user in selecting any range of verses as a reading to practice; this flexibility will allow the app to serve any user’s tradition.

{ Comments are closed }

Google Drive Integration

As I wrote a few weeks ago, we were working on integrating Google Drive into our Tikkun app. We had all of the key capabilities working for the Android version of the app, and were next diving into doing the same for iOS. Since we are relatively new to iOS and Swift programming, we are always on a learning curve as we start the next part of the project there. And, of course, the way that Android/Java accesses Google Drive differs significantly from the way that iOS/Swift does.

In particular, although calls to Google Drive occur asynchronously, they are handled in Android/Java in a way that basically results in things happening in order, without having to do any special programming. In iOS/Swift, the asynchronous nature of the interactions must be accounted for by the programmer. This led to learning how to use PromiseKit, a third-party Swift library for simplifying asynchronous code.

We are almost done now with bringing the iOS app’s functionality up to the same level as the we already had in the Android app. Next up: designing how user files should be represented in the app, and then how to arrange the user interface to simplify the sharing of files.

{ Comments are closed }

B’nai Mitzvah Tutors & Students

B’nai Mitzvah tutors have a lot of material to cover with their students. They usually work with students for at least six months and often up to a year, typically meeting once per week. The student is expected to practice the weekly lesson diligently, but a week is a long time for a student, and it can be difficult to practice consistently. So we feel that making it easier for students to stay current with the required level of practice should be a key goal of the app we are designing.

How can this be achieved? We have several ideas. First, we would like to make it easy for the student and tutor to check in with each other during the week between lessons, without this becoming burdensome. Tutors often create recordings for students to practice from, and we would like for them to be able to do this directly in the app; tutors would share recordings with their students through the students’ own instances of the app on their phones or tablets. The students would then be able to listen to these recordings wherever they might be, record their own practices of the required material using the app, and then share those practice recordings back with the tutor. The tutor could check for new recordings from their students each day, and contact a student or a student’s family with a friendly reminder to practice if needed.

Second, as the tutor listens to the shared practice recordings from students, the tutor will be able to hear whether the student is on track, or whether the student needs some additional pointers, without waiting until the next meeting. The tutor could, as needed, make another recording for or just send a message to the student to reinforce the lesson. Again, these interactions would happen through the app in a simple way, allowing the tutor and the student to interact between tutoring sessions. Another possibility would be to add a notifications feature to the app that would alert a student if they had not practiced on a day where they should have done so.

As we move forward in the design of the app, we will be looking at which features will best assist students in being regular about their practice between lessons, as well as features that will enhance communication between students and tutors.

{ Comments are closed }