5 min read

Deep Links in Apps for Improving Student Experience

Featured Image

At Ready Education, our core values center on student success in higher education and giving students the tools they need to be successful. One of the tools we provide students is the ability to manage and track their attendance at events on campus. These could include classes, events, or services hosted by the institution. As the pandemic has evolved our needs for event engagement, deep linking improves student experience by offering an uninterrupted user experience as they move between applications. 

Ready Education’s attendance tracking system records a student’s presence at a particular event by encouraging them to scan an event-specific QR Code. When we architected this system, it was focused on supporting students who were physically present on campus and would scan QR codes at events to record that they were there.

Then the pandemic hit, and many schools, colleges, and universities went partially or completely virtual. We realized we needed to modify the system to allow for attendance tracking at virtual events, such as those that might occur via video conferencing.

We wanted a way for students to register their attendance by opening a link shared with them, regardless of the platform they used to access the link (i.e. web or mobile). Mobile deep links seemed like the ideal way to extend our platform and provide a seamless event engagement experience. 

 

What are Deep Links and Why Do They Matter to Student Experience?

Odds are that if you use a smartphone, you are already familiar with deep links. If you’ve ever wanted to share content from an app on your phone with someone else, you’ll typically do that using a URL. When they open that URL on their phone, it takes them to content on an app or triggers an action if they have the corresponding app installed. If they don’t have the right app installed, they are sometimes redirected to their app store to get the app, or they may be redirected to a web page if they open the link in a web browser. Deep links provide a great deal of flexibility when it comes to sharing content across multiple platforms.

Blank diagram1

 

How the Ready Education Student Connection Platform Uses Deep Links

The primary modes of interacting with the Ready platform are the student-centered iOS, Android mobile apps, and the web-based Campus Cloud CMS for administrators. 

On the Campus Cloud when a new event, service, or health and wellness form is created, a shareable URL for the created resource is generated and can be shared with others. This unique shareable URL is prefixed with each institution’s individual subdomain, ensuring a custom branded experience for each of our partner schools.

unnamed

 

When a student opens the shareable link from their mobile device with the app installed, the student’s attendance at the event is recorded. Furthermore, if the shareable link is being opened from a mobile app but the campus app is not installed, the user is redirected to their device’s app store to install the app. Lastly, if the shareable link is opened from a desktop browser, a web page which is hosted on the school’s specific subdomain-prefixed URL is opened, which then loads more information about the resource.

deep_link_desktop

 

Deep Linking for Deep Higher Education Technology Stacks

Many higher education technology and IT teams have comprehensive technology requirements; they need to support a wide range of apps and want those apps to work together seamlessly. That’s why we support deep-linking between more than 200 mobile apps for our partners. Many comprehensive guides are available for setting up deep links for a single mobile app and domain on both iOS and Android platforms. As a part of offering our partner institutions a custom branded experience for their app platform, we automated this configurability so that Campus Cloud CMS users can easily share deep link URLs without manual intervention.

 

Setting Up Deep Links for Multiple Apps and Domains

For our deep link implementation, we decided to set up a wildcard domain (*.example.com) on AWS Route53, which would allow us to map unique subdomain prefixes to one base domain. We then initialized a bucket on AWS S3 and configured it to host static sites, with the intention that each fully-qualified domain name would be mapped to a unique key or subdirectory in the bucket. This key would in turn be named according to the subdomain-prefix of the fully-qualified domain name (e.g. ‘ready.example.com’ would contain a ‘subdirectory’ in the s3 bucket with the name ‘ready’). Each prefix-named subdirectory would also host a custom web-app for the respective school’s deep linking website.

At this point, you might be thinking: “Hold on, hosting multiple static sites on S3? I thought S3 only allowed hosting a single static site per bucket.”

You would be correct; however, we can leverage a single S3 bucket to serve multiple sites by using a combination of AWS Cloudfront and the Lambda@Edge serverless function, which acts as middleware sitting between Route53 and our S3 bucket. Our serverless lambda rewrites the URI and maps the deep link URL to the specific prefix-named subdirectory in our S3 bucket where the partner school’s branded deep link web page is loaded.

Setting Up Deep Links for Multiple Apps and Domains

 

Note: A similar result could have been achieved using a separate server with Nginx/Apache configured to map incoming deep link URLs to their respective s3 bucket subdirectories.

 

How We Automated the Branded Deep Linking Process

In order for us to rapidly roll-out improvements to partner institutions, we wanted the deep linking process to take care of the heavy lifting involved in providing a branded experience, so our customers could focus on configuring their campus apps. When a new partner school is onboarded to our platform or an existing partner wants to change the configuration of their apps, our automated build system creates a unique subdomain for the school and the subsequent prefix-named subdirectory in the s3 bucket that hosts their deep link webpage. The build system then builds and deploys their iOS and Android apps with the school’s custom configuration, including any new features they would like to enable. Our apps deploy with deep linking working out of the box.

 

Next Steps: Deep Linking in the Ready Education App

At Ready Education, we are dedicated to continually improving the student experience to help build online communities that are essential for student success. To this end, we are excited about two updates that are in the works for deep linking

1. Creating shorter shareable URLs by making our custom link minifier.

Many users find it easier to work with shortened URLs, since they can be shared more easily and take up less visual space when included in the content. We are working on rolling out a minifier system that would shorten our branded deep links, while preserving their custom branding.

2. Supporting deferred deep links.

When opening a shareable URL on a mobile device that does not have the app already installed, the user is redirected to the respective app store to install the app. Upon installing the app, the context of the previous shareable link is lost and the user has to open the link again to be taken to the appropriate location on the app. Deferred deep links circumvent this by keeping this context and opening the app to the exact location on the first launch of the newly installed app.