Canvas Mobile Update - Fall 2019!

Community Member
8 7 831

We’re waffling between snow and sunshine in Utah and my discolored pumpkins are shriveled and leaking, so that means it’s time for a fall update! Here’s what the mobile teams are working on.

Rise of the Machines

After a couple of relatively smooth iOS update cycles over the past two years, iOS 13 landed like Jello in a mud puddle. Its release coincided with a few big changes shipped as Canvas Student 6.6 and run-of-the-mill fall start firefighting. This combination resulted our patching the iOS student app every two weeks since August. While most of our users weren’t impacted by most of the bugs that were fixed, we didn’t hold onto fixes any longer than necessary. Now that the fall start rush has subsided, we’ve decided to redouble our efforts to automate testing in our mobile apps.

We’ve made more progress on automated testing in the past six months than in the previous three years combined, but we expect the robots to do more -- and to do it faster -- so that humans can focus on creating cool new things instead of shipping patches for defects that robots would have caught.

To illustrate the point, here’s a gif of an automated test of quiz-taking in the Android student app, first through the quizzes list and then through the assignments list:

quizzes end-to-end test

So that’s much faster than a human doing the same thing.

The up-front cost is high: it takes longer for a person to write the test above than it does for a person to test that flow. But once the test is written, it can be run as often as necessary. When you consider that the student app test suite is comprised of hundreds of tests, being able to run all of those tests in minutes instead of weeks is a substantial improvement.

The iOS and Android teams are both committed to writing and running all P0 and P1 [highest priority] tests by the end of this year. The good news is the automated test runs are already catching defects! A test run failed earlier this week when “Stop Acting As User” resulted in the robot admin being logged out altogether, for example.

The bad news is the increased focus on automation slows down our progress on parent app feature improvements. But I think it will be worth the wait.

Canvas Parent 3.0

In case you didn’t see the previous mobile update, we’re dividing parent app work into three chunks: grades list and syllabus (3.0), messaging (3.1), and calendar (3.2).

We’re in the process of testing one API change scheduled to go to production this week to finish up work on iOS Canvas Parent 3.0. I think we’ll be able to provide a link to the TestFlight version of that update by the end of this week. Apple allows public TestFlight links now, so no need to register beforehand anymore! 

I’ll provide a little more detail when I post the link, but at a high level, you’re going to see a grades list in the parent app for the first time, more robust homepage support (syllabus and frontpage will both be supported), and links from each of those places will work. Here's what that looks like:

course home in 3.0

This replaces the old "week" view within a course, which was redundant within the parent app.

If the TestFlight version looks good, we plan to ship it to the App Store in December.

For a variety of reasons -- some of which have to do with automated testing -- the current plan is for Android to bundle all three parent app chunks into a single update, which we’ll call 3.2. I’ll post a public link to that work-in-progress within a few weeks. We’re predicting that both platforms will ship 3.2 at about the same time in the new year.

Keep your eyes peeled for a separate post with more details soon!

------------

Since this post was relatively light on visuals, I took a picture of my desk neighbor and Android QA lead, "Just-Try-And-Stop-Me" Joe, working on automated tests for the student app:

 

smart joe

Happy November to you too, Joe! Do it to it!

7 Comments
Surveyor II

Thanks for the update, pcraighill@instructure.com! Any chance the new Parent app will have push notifications turned on by default? Or at least prompt the parents to turn them on after the first login? We have a fairly low adoption rate because the teachers were feeling the app didn't work because parents weren't getting announcement notifications when testing it on Open House nights.

Community Member

Hey Hanes.Matthew.B@muscogee.k12.ga.us‌ -- good to hear from you! Yes, we can definitely set defaults for alert thresholds in the parent app. Is that what you're referring to? That seems like a good idea.

Surveyor II

pcraighill@instructure.com, yes! Check out my screenshot and you can see that everything is off by default. We would want course and institution announcements on at the least.331368_Screenshot_20191123-173117.png

Learner II

It's an awesome idea! Matt, thank you for bringing this up again! Smiley Happy

Surveyor II

I know I may be the most annoying person waiting for these updates.  But hey....just want our parents and teachers to have a good experience in our Canvas Grading / Parent App pilot.      Are we closer to knowing an exact date for the release of 3.0?     This is something parents/teachers are really asking for.  Would love it if we can announce it before the holiday break.  Thanks!

Community Member

Thanks for your patience and sorry for the delay hildi.pardo@apsva.us! We were waiting for one last change to hit production. Just posted: Canvas Parent 3.0 iOS Beta 

Surveyor II

Awesome, thanks!   I'll have one or two folks test it out. 🙂

About the Author
I’ve worked in product management at Instructure for five years. I love my teams, and Canvas, and solving problems to make Canvas better.