For most of us, we don't give internet access a second thought. However, many nations across the world still lack a basic Internet connection, such as developing countries in Africa and Asia. In fact, a little less than half of the world's population have yet to go online.
According to researcher Merten Reglitz, a philosopher and global ethics lecturer from the University of Birmingham, "Internet access is a unique and non-substitutable way for realizing fundamental human rights such as free speech and assembly." Internet access is more than what meets the eye - aside from social media and memes we scroll through every day, having an Internet connection allows people to stay informed, speak up, and gain access to resources.
Bearing this in mind, we thought: How might we provide Internet access to anyone who needs it?
Get the information you need, Offline. 📶❌
No internet? No problem. Offline is a mobile application that allows you to surf the web from anywhere without internet access - all you need is a mobile number. By connecting one's mobile number to our application, people can search for what they need when they don't have Internet, and Offline will send an SMS message to web servers to fetch Google search results and feed it back to the interface. Pages can then further be click on and read in HTML. Offline also supports searching of maps and basic directions, which is critical for safety when outside without Internet. With Offline, we're able to deliver an online experience to those who weren't able to experience the web before.
Additionally, among the people we talked to while researching this project idea, we found that approximately 70% of users either seldom used data because of their expensive data plan, or just didn't have a data plan at all. Although our primary use cases with this application would be to allow people in developing nations to get online, we don't believe it's far-fetched to see usage in nations with growing Internet access already, as not everyone has access to data still or would like a cheaper alternative to accessing the web for simple directions, important news, or grocery items while out and about.
How we built it 💻
We developed the app using React Native. We used native modules in order to send and receive text messages on behalf of the user. We used the text messages to send requests to and from the server, and our application returns data without the need for any internet, only through SMS!
We used the Vonage API to facilitate our text message communication. In order to provide useful information to the user, we used the mapbox API, a google search API, and WeatherBit APIs to provide some of the most common use cases for cellular data. On normal websites, we would scrape the provided link for any important text, serialize the data, and rebuild a paired down version of the website on the client-side.
All designs were made from scratch in Figma.
Challenges we ran into 😫
1) Displaying our app on Android Studio after ejecting it from Expo
2) Getting our core feature, SMS messaging, to work - how do people access the web and what do they need to see? By using SMS texts to send a signal to web servers and fetch data for search results, we realized it wouldn't be feasible given our timeframe to fetch numerous results and be able to click into each web page afterwards. To work around this issue, we decided to scrape the HTML of each search result that would be shown to the user. Given that the use case is for people who don't have access to the internet and require access for a source of information, we found this to be a plausible solution.
3) Time constraints of the hackathon. We weren't able to connect the front-end and back-end smoothly in time for submissions and thus demoed with mockups and back-end separately.
What's next for offline 🚀
Due to time constraints, we weren't able to implement all the ideas we originally had planned for Offline - these include full web access similar to a browser, allowing someone to interact on social media platforms as well, posting in forums, commenting, etc. We would love to be able to develop this further to really elevate the experiences of anyone without Internet access currently, and do further research as to what their needs may be. See you offline! 💤