Devil's Advocate: Why do we need mobile apps?

don_bryn
Community Champion
1
1070

Goal

I am creating this blog post with full the expectation of disagreement posts. My goal is to create a discussion that explores the best way to design a complex project like Canvas for use on many types of devices, screens, and operating systems.

 

My History with Mobile Apps

  • I initially tried using Speedgrader mobile when we first started using Canvas and did not find it any more convenient than using the web version.
  • I have explored Canvas Student and Teacher a few times, including today.  I find that the apps are quite convenient for certain tasks and that I miss being able to quickly accomplish others.
  • My students use Canvas Student all the time, even in class, so I know they are using it to keep track of assignments.  This is actually a problem when students ONLY look at the To-Do list and miss other pages in the modules.
  • I teach exclusively using iPad, and very often do grading and even course creation on iPad.  The only task I have attempted that did not work was scrolling quizzes when in speedgrader,  but using quiz moderating it works fine.
  • I have designed web-apps and am a 'hack' coder.  Meaning I do a lot of coding, but was not formally trained so I am always researching the best way to accomplish coding problems.  However I know just enough to be dangerous. :smileydevil:

 

My Question in a Nutshell

Why do we need to create mobile apps when virtually all devices have web browsers and we can create responsive websites that provide the same functionality via responsive Graphical User Interfaces (GUI's) based on the screen and Operating System (OS).

 

More Explanation

Responsive web design is considered one of the most important features of a well-designed website.  The goal of responsive web design is to provide the same information and functionality, but formatted in the most accessible and navigable and easy-to-read manner specific for the user's device.

 

We have all seen websites that look one way on a desktop (large) screen, but then reformat with content flowing in a different order when the screen is smaller.   You can test this by changing the size of your desktop screen to see how the content layout changes as the screen gets smaller.  With the page you are currently viewing, for example, when you make the screen smaller than a certain width the top navigation bar collapses in to a drop-down menu, and the buttons at the bottom which are side-by-side on the larger screen become stacked top-to-bottom.  

 

This is done via Cascading Style Sheets (CSS).  The basic idea behind CSS is the importance of separating content from formatting, thus allowing the same content to be presented in a variety of manners.  A different style sheet can be applied to the same content making it accessible by smaller screens, visual-assistive devices, hearing-assistive devices, etc.

 

Because much of what the mobile apps accomplish is this same reformatting of content, I'm not sure why we need separate mobile apps when we could just use CSS and create the various versions of Canvas in the web version.

 

As for OS, this is where things can get much more complicated because different OS's and different browsers can have completely different application programming interfaces (API's).  Even CSS can be interpreted differently.  This is why there are different versions of many apps on say, the iOS and Android platforms.   HOWEVER, as web designers and programmers, we have many tools available to us to make that process easier.    

 

For example, JQuery is a cross-browser javascript library that handles all of the various browser differences, allowing a designer to simply use the JQuery API and be assured that everything will work on most browsers.  I say "most" because as older versions of browsers age, they become unsupported. Bootstrap is another popular cross-browser framework.   jQuery is in use by Canvas, which is why we have access to things like collapsible menus.  There is also an extension library for jQuery called jQuery Mobile, which adds a lot of functionality for mobile devices.

 

Many mobile apps we use today are basically web apps wrapped into packages and installed as separate applications.    

 

The Point

Since web application design has evolved so far and is so widely used, there are many advancements and tools available that make it efficient to create a web application that can provide all the functionality we have in Canvas across many devices.  A web app can be dynamically served depending on the device, OS, and screen, presented in a format most logical for that device.   So why not leverage that technology and put the time and resources of Canvas into developing each new advancement directly into the web application for various devices at the same time?   This is instead of creating advancements in the web app and then adding those same advancements to each of the mobile apps.  Why spread out our development into so many apps instead of focusing our efforts into one cross-browser, cross-platform web app?

 

I am tempted to continue, pointing out all of the feature requests that want a specific feature in this app or that app, or the PDF's I found of the feature lists of various apps on various devices and how those are prioritized for development.   Even polls could be added to Canvas within the current web application.  But I think I've written enough to get a conversation started.

 

I look forward to reading replies!

1 Comment
rseilham
Community Champion

I love this blog post. I think it's important for us to be critical of the status quo to keep innovating and explore possible better solutions. Here is my take on this: 

I initially tried using Speedgrader mobile when we first started using Canvas and did not find it any more convenient than using the web version.

I think it was built to be more convenient than the web, but I think you are confusing convenient with "easier" in this statement. Being convenient is being available when you need it, not necessarily easier to use, just timely.

I have explored Canvas Student and Teacher a few times, including today. I find that the apps are quite convenient for certain tasks and that I miss being able to quickly accomplish others.

The philosophy of this app can be a little polarizing. The app was built to take care of most tasks before the course starts, and the majority of the tasks once the course is live. It's all about facilitating the course and not necessarily creating or building. I know there are some exceptions here though. The decisions behind the app aren't arbitrary either. They did site visits, conducted several surveys, and looked at the mobile landscape to identify the most important features to a teacher before building the app, which is still not complete. 

My students use Canvas Student all the time, even in class, so I know they are using it to keep track of assignments. This is actually a problem when students ONLY look at the To-Do list and miss other pages in the modules.

In the few studies I've conducted for mobile and web, this is what students do. They live and die by the To-Do list. This isn't just a mobile issue, it's an issue everywhere. 

I teach exclusively using iPad, and very often do grading and even course creation on iPad. The only task I have attempted that did not work was scrolling quizzes when in speedgrader, but using quiz moderating it works fine.

Your situation is very intriguing, which makes your case even more valuable. 

I have designed web-apps and am a 'hack' coder. Meaning I do a lot of coding, but was not formally trained so I am always researching the best way to accomplish coding problems. However I know just enough to be dangerous.

That's awesome! I do a little of the same and really appreciate the ideas and innovation that comes from "hacking" around. 

Responsive web design is considered one of the most important features of a well-designed website.  The goal of responsive web design is to provide the same information and functionality, but formatted in the most accessible and navigable and easy-to-read manner specific for the user's device.

You make quite a few valid claims why responsive web design is VITAL in 2017. From Canvas to the corner flower shop, there is a disadvantage to not having content accessible on all platforms. I totally agree that anywhere Canvas can be responsive, it should be. Of course, there are so many factors on Instructure's side when it comes to resources and priority. To me, this is very important, but to others, they probably want the new quiz tool or a better peer review system before making content more mobile friendly. 

A web app can be dynamically served depending on the device, OS, and screen, presented in a format most logical for that device.

A good point! Ask the few Windows mobile users! 

 So why not leverage that technology and put the time and resources of Canvas into developing each new advancement directly into the web application for various devices at the same time? Why spread out our development into so many apps instead of focusing our efforts into one cross-browser, cross-platform web app?

Getting to the point, the real question is why not mobile web instead apps? Well, this could be an all-day debate that goes back 10 years, but in this case, here is my take. 

  1. People want apps. It's just the truth. When schools sign up for a contract, they want an app. When students take a class, they want an app. I know I'm generalizing, but being involved with LMS apps since 2009 (Blackboard, yay!) this is by far the most common answer from the schools, users, and the companies building the apps. Now, does this mean it "should" be this way? 
  2. Push Notifications. This is very important to students. Remember the To-Do lists? This is just an extension of that. Instead of constantly reviewing this list, wouldn't it be great if your device could do that for you? Well, push notifications fill this role. Native apps can do this, responsive can't. 
  3. Offline Content. There is an advantage to native apps here. Even though the apps only have limited access to offline content now, it's coming, and the native app will be the cornerstone of this. 
  4. Familiar navigation. Responsive web is the holy grail of flexibility and portability, but building one design for many devices isn't always a natural and enjoyable experience for users. Native apps can take advantage of the devices natural UI to great a UX. Can this be done with responsive? Sure, but I have confidence that native will always be better. 
  5. Device features. The native app platform will generally work more seamlessly when taking advantage of the device's camera, microphone, media libraries, 3rd-party apps, GPS, etc. 
  6. Better performance. This can be debated, but generally native apps perform better than web apps on smartphones. 

I know this sounds like I'm totally stacked against your opinion, but I agree with many of your ideas. I think Canvas should be responsive, but also focus on the native app, but at what expense in other places?