Introduction: Educational App Development for Beginners
Building an educational app, tool, or platform for student learning doesn’t require years of programming experience or a PhD from a computer science program. Really, all it requires is a willingness to learn a few basic concepts and some strategic thinking about how teachers teach and young people learn. Building an app is not unlike learning a new skill: there is a bit of a learning curve, but with practice and experience, it gets easier and more intuitive.
Building an app is not unlike learning a new skill: there is a bit of a learning curve, but with practice and experience, it gets easier and more intuitive.
Making educational apps for competitions like the Tools Competition can be a lot of fun, but it can also be challenging and confusing, especially for first-timers. To help, we have created this “how-to” guide to help teachers, students – anyone, really – understand the basics with as little hassle as possible.
The purpose of this guide is to provide a comprehensive resource for beginning programmers or those with little technical experience to develop educational apps aimed at helping students maximize their educational opportunities. In today’s digital age, leveraging technology can greatly enhance the learning experience and empower students to achieve their academic goals.
We’ve structured this guide to app development to walk beginners through the process, step-by-step, with the help of experts in learning engineering, app development, and computer science. We’ve tried to keep it simple, and have compiled a list of resources to help those who want to go deeper or learn more.
So, let’s dive in and start building something awesome!
Learning Design for Effective Learning Experiences
Don’t start with technology. This may sound counter-intuitive, but before diving into the development process, it’s crucial to understand the specific needs and challenges faced by your future users – teachers and students.
Learning about their needs can be done in a number of ways. If you have access to students, you could convene a small group to discuss what they like and don’t like about the educational apps they currently use, the subject matter they struggle with, or what features they’d wish their apps had.
If convening a group discussion isn’t feasible, developers can conduct similar research through surveys or polls. Platforms like Survey Monkey or JotForm allow users to conduct large-scale surveys with learners around the globe at a reasonable price. While the research stage is important, don’t overcomplicate it. A conversation with your kids (or your neighbors’ kids, if you don’t have any) and their friends can be just as useful as a survey of hundreds of young people.
In addition to understanding the needs of your users, you should also develop a basic understanding of how the human brain learns, so that you can engage in Effective Learning Design. The principles of Effective Learning Design are at the core of any successful educational app. Effective Learning Design is the discipline of creating instructional materials, activities, and environments that facilitate optimal learning for your audience.
To do that, you’ll need to draw on some of the basic principles and strategies from fields like cognitive science, educational psychology, and instructional design so that you can create learning experiences that are engaging, accessible, and will result in your desired learning outcomes. Some common ideas you should familiarize yourself with include the principles of effective learning, such as active learning, scaffolding, and providing timely feedback.
Some key components of Effective Learning Design include:
- Analyzing the needs, prior knowledge, and characteristics of students who will be using your app.
- Organizing the content in your app in a logical and coherent manner.
- Incorporating a variety of instructional strategies and multimedia to appeal to students’ different interests, styles, and motivations such as interactive content, sound, animations, etc.
- Providing opportunities for active learning, practice, and feedback.
- Fostering engagement through relevant, authentic tasks and scenarios.
- Ensuring accessibility and usability for all learners, including those with disabilities.
- Evaluating and revising the design – continuously – based on learner performance and feedback.
If you are building an app for teachers, the research stage is critically important because educators already have access to hundreds – if not thousands – of apps, many of which their schools and districts have paid for. Talk to teachers to hear about the apps they’re already using and where they’re not meeting their needs. Determining how your app can address those gaps or provide educators with features or functionality that others lack will be a critical first step.
If you know teachers – or are one yourself – you might consider enlisting a small number to help co-design your app. By having teachers actively involved in your design process, you can be better assured that the final product will meet their needs and preferences.
Planning and Prototyping Your Educational App
Once you have a clear understanding of the user needs, many developers jump right into the programming. That’s a mistake, according to many veteran app developers. Further, if you lack programming experience, you will likely be setting your project back months by beginning to program before you have thought hard about how your app will work and how users will interact with it.
Experts recommend that app developers, and new app developers especially, start with pen-and-paper prototypes and so-called “low-fidelity” mockups in order to better visualize their app’s interface and user flow. This low-cost approach allows developers to test their initial ideas with users and gather feedback early on. This reduces the risk of costly mistakes later in the development process, especially if developers spend a lot of their time and resources programming before they’re ready.
“Iterating with simple prototypes can refine the design before investing in the tech stack needed for scaled implementation,” said Jim Goodell, Director of Innovation at Quality Information Partners and the editor of the Learning Engineering Toolkit. “It costs much less to change a design in these early iterations with simple prototypes, prior to production applications.”
“Iterating with simple prototypes can refine the design before investing in the tech stack needed for scaled implementation. It costs much less to change a design in these early iterations with simple prototypes, prior to production applications.”
When you’re happy with your pencil-and-paper prototype, you can move on to the next step – a sort of half-step between pencil-and-paper and full-fledged code writing: Utilizing no-code or low-code tools to build a functional prototype. These tools allow developers to iterate quickly based on user feedback, with minimal expense.
Some popular no-code or low-code tools and resources include:
- Bubble: Great for developers seeking intricate customization, deeper control over workflows, and robust capabilities.
- Airtable: Useful for app development because of its flexibility, customization, and integration capabilities.
- Glide: Great for simpler projects, like “minimally viable products” and internal apps, and for quickly turning spreadsheets into apps.
- Torus: An open platform for developing, delivering, improving, and researching adaptive learning experiences.
- Cognitive Tutor Authoring Tools: Great for fast and sophisticated multi-step intelligent tutor authoring.
“The difficult part is not the technical building, but the interaction design,” said Devan Walton, Assistant Professor of Computer Science at Northern Essex Community College. “Being able to pick thoughtful design hypotheses that you can test and iterate is much more valuable than dumping all your money hiring developers.”
Confused? Bone up on the learning engineering process to better understand the importance of rapid iterations and A/B testing of user experiences. “Rapid iteration” is a process of quickly developing and testing versions of a product or feature, making continuous improvements based on feedback and results. A/B testing involves the comparison of two versions of a product or app to determine which one performs better. The Field Guide to Human-Centered Design from IDEO may be a helpful resource in this early stage of planning and prototyping.
The goal at this stage is to create the structure needed for an “MVP,” or “minimally viable product.” This gets a rough prototype of your app into the hands of users so you can get feedback and assess whether your idea is on the right track. This early feedback is crucial because it should inform future iterations of the app.
Early on, it’s better to be quick than perfect, others said. In some instances, a “ready-aim-fire” approach can help keep your project moving ahead quickly.
Choosing a Beginner-Friendly Development Approach
Okay, so you’ve learned a little bit about Effective Learning Design, talked to students about how they best learn, and you’ve created a very rough pencil-and-paper prototype of your app, turned that into a “no-code” MVP, and tested it with students.
Now what?
Well, now it’s time to start thinking about the technology. Specifically, what platform – Android, iOS, or both? Will there be a web version? (While web apps offer broad accessibility and ease of deployment, mobile apps provide a more tailored, high-performance experience with access to native device features.) Should you hire a programmer, or do it yourself? What tech stack is right for your project?
“In terms of the best tech stack, it’s a big question – it depends on ambitions, preferences, and abilities of people in the team, specific functionality, amount of money, funding approach, etc.,” said David Law, founder of Learnt.ai. “For me personally, the goal has been to outsource the important supporting services to a range of established players and focus my efforts on the software itself. This has benefits – stability, reliability, security, fewer distractions, etc. – but can be more expensive and can give you less control.”
“In terms of the best tech stack, it's a big question – it depends on ambitions, preferences, and abilities of people in the team, specific functionality, amount of money, funding approach, etc. For me personally, the goal has been to outsource the important supporting services to a range of established players and focus my efforts on the software itself. This has benefits - stability, reliability, security, fewer distractions, etc. – but can be more expensive and can give you less control.”
For mobile, experts recommend developers build apps that can function across different platforms so that they can develop the largest possible user base. Developers might consider cross-platform solutions like React Native or Flutter, which allow them to develop for iOS and Android using a single codebase. It’s important that developers evaluate popular frameworks and libraries that align with their app’s requirements and expertise level.
Web apps are built with HTML, CSS, and JavaScript – front-end languages used to design websites. Often, they utilize frameworks and libraries such as React, Angular, or Vue.js.
When making important decisions such as about platforms or programming languages, it may be helpful to engage with a professional. At this point, you might want to consider hiring a technical advisor or a “fractional” Chief Technology Officer to guide you through the technology selection process and provide expert advice on best practices, security considerations, and scalability.
A “fractional” CTO simply means you don’t hire them full-time; you engage with them only for the role you need them to play at that moment. Also referred to as freelance or contract CTOs, they are commonly used by startups and small businesses lacking the resources to hire a full-time CTO. Fractional CTOs typically oversee a portion of the project for a defined term before transitioning to another project. You can find people willing to work for you part-time on platforms like Upwork, LinkedIn, and Builtin.
However, another approach made possible by advances in artificial intelligence is to use an LLM platform, like Claude, to give you advice like a CTO would. It takes a bit of thinking to get the prompts right and AI tools like ChatGPT and Claude have a history of “hallucinations” (aka, making stuff up), so be sure to double-check the advice they give. That said, here are some ways in which AI platforms could assist a start-up company in a CTO-like capacity:
- Technology strategy and roadmap: They can help develop and document your technology vision, goals, and roadmap, drawing from the platform’s knowledge across various domains.
- Architecture and design: AI can provide input on system architecture, software design patterns, technology stack selection, and best practices for scalability, security, and performance.
- Technical advisory: Claude or Chat-GPT could act as a technical advisor, offering insights and recommendations on emerging technologies, industry trends, and potential technology partnerships or acquisitions.
- Code review and optimization: AI could be used to review existing codebases, identify areas for improvement, and suggest optimizations for efficiency, maintainability, and security.
- Technical hiring support: AI can help draft job descriptions, review technical resumes, and potentially assist in assessing candidates’ technical skills during the hiring process.
User Interface and Experience for Educational Apps
A well-designed user interface (UI) and user experience (UX) are critical for ensuring the adoption and success of your educational app. What are they?
- User Interface (UI): The visual elements and interactive components through which a user interacts with a product, such as buttons, icons, and layouts.
- User Experience (UX): The overall experience a user has when interacting with a product, including the ease of use, efficiency, and satisfaction.
It’s easy to confuse these two concepts. A simple way to think about it is with ketchup.
Both a glass ketchup bottle and a squeezable ketchup bottle are User Interfaces – they’re the ways in which we access the ketchup. However, the bottles offer very different experiences for the user. The glass bottle may require shaking and tapping on the bottom and the user can’t really control the amount of ketchup that comes out. The squeeze bottle is much more user-friendly, allowing the user to pinpoint exactly where the ketchup goes and in what quantity.
Adhere to the principles of good UI/UX design, such as intuitive navigation, clear information hierarchy, and consistent branding.
Good UI design in app development involves various elements, but here are five basic “must-haves” for creating a user-friendly interface:
- Clarity and Simplicity: The UI should be clear and simple, making it easy for users to understand and navigate. Avoid clutter and unnecessary elements. Use intuitive layouts, clear labels, and familiar design patterns to guide users through the app.
- Consistency: Maintain consistency in design elements such as colors, fonts, icons, and interactions throughout the app. Consistency helps users build mental models and predict how the app will behave, enhancing usability and user experience.
- Responsive Design: Ensure that the UI adapts seamlessly to different screen sizes and resolutions, providing a consistent experience across devices. Responsive design enables users to access and interact with the app effectively on smartphones, tablets, and desktops.
- Feedback and Affordance: Provide immediate feedback to users when they perform actions, such as tapping a button or completing a form. Visual cues, animations, and micro-interactions can indicate the status of interactions and reinforce user actions. Additionally, design elements should exhibit affordance, meaning they should visually suggest how they can be used or interacted with.
- Accessibility: Design the UI to be inclusive and accessible to all users, including those with disabilities. Consider factors such as color contrast, font size, screen reader compatibility, and keyboard navigation. Ensure that users can interact with and understand the app’s content and functionality regardless of their abilities.
There are many great and free resources for developers on how to ensure your UI addresses each of these priorities, so we won’t go into detail about that in this guide. Here are some recommendations:
- Google’s Material Design Guidelines: Google provides comprehensive guidelines for Material Design, covering UI patterns, components, and usability principles. It’s a valuable resource for understanding modern UI design standards.
- UX Collective: An online publication that curates articles, case studies, and resources on UX design from various contributors. It’s a great source for staying updated on industry trends and learning from real-world examples.
- Coursera: Free courses on UX design from top universities and industry experts. Courses like “Introduction to User Experience Design” by Georgia Tech and “UI / UX Design Specialization” by California Institute of the Arts provide comprehensive learning experiences.
- Hack Design: A curated selection of design lessons delivered to your inbox each week. It covers various design topics, including UX/UI fundamentals, typography, and visual design principles.
- Dribbble: A place where designers showcase their work, including UI/UX designs. Browsing through Dribbble shots can provide inspiration and insights into design trends and best practices.
These resources offer a wealth of information and learning opportunities for individuals interested in UX/UI design, and many of them are accessible for free. Ultimately, the goal is to create an interface that is appealing and engaging for students, while ensuring accessibility and inclusivity for users with different abilities or needs. By prioritizing these basic principles in UI design, you can create an app interface that is user-friendly, intuitive, and effective in meeting the needs of your target audience.
Learning Data Analytics and Tracking
Implementing robust data management and analytics is essential for understanding how students interact with your app and identifying areas for improvement. App developers should think about instrumentation early in their design process. Key questions to consider are:
- If your app will have AI features, what data can you collect to support them, give feedback to learners, and inform the next iteration of the product?
- What specific statements will you log about learner activity?
- What metadata and context data will you need to support data-informed decision-making?
Considering these questions early in the design process lays the foundation for collecting valuable data that can enhance your AI features, provide meaningful feedback to users, and guide future product improvements.
By identifying what data to collect, developers can ensure that they capture insights into how users interact with the app, which can inform personalized learning experiences and identify areas needing refinement. Logging specific statements about learner activity – such as their actions, choices, and progress – helps track engagement and performance. Additionally, gathering metadata and context data, such as device type, location, and usage patterns, supports data-informed decision-making. This proactive approach to instrumentation ensures that the app evolves effectively based on real user behavior and needs.
By identifying what data to collect, developers can ensure that they capture insights into how users interact with the app, which can inform personalized learning experiences and identify areas needing refinement.
Furthermore, developers should adhere to industry standards like xAPI (Experience API) or Caliper for logging these interactions and data because they will provide structure and consistency when capturing and sharing learning experiences across different platforms and systems. Using these standards ensures interoperability, making it easier to integrate data from various sources and applications, which is crucial for creating a comprehensive understanding of learner behavior and performance. Adhering to industry standards is also required for integration in the most popular LMS (Learner Management Systems) like Canvas and Moodle. Teachers and schools use an LMS to plan, deliver, and manage classes, create and share content, track student progress, and provide feedback. If your app will target a specific LMS, its crucial to understand what standards it requires for integration.
New developers should also plan to integrate their apps with research data platforms like DataShop or LearnSphere, which provide free analytics tools and enable A/B testing for iterative improvement. These platforms can help new developers gain insights into student performance, identify areas of struggle, and make data-informed decisions to enhance the learning experience.
Testing and Launching Your Educational App
Testing is an integral part of the development cycle and should be conducted throughout the process. Implement unit testing, integration testing, and end-to-end testing to ensure the app’s functionality, performance, and compatibility across different devices and configurations.
Once you’ve completed all the testing, and identified and fixed any bugs, it’s time to deploy your app. Make your app available for download on your website, and promote it on social media. Of course, you’ll want your app available on the big app store platforms, like Apple’s App Store and the Google Play Store. There are many guides and how-to’s available online to help with submitting your app to the App Store and Google Play. Prepare any necessary documentation and assets required, and familiarize yourself with the respective guidelines and policies.
Finally, your project doesn’t end when your app is deployed into the world – in fact, it’s just the beginning. Continuously gather user feedback and analyze app analytics to identify how it can be improved and optimized, and always be thinking of potential new features. Implement a regular update and maintenance schedule to address bug fixes, security patches, and new platform updates.
Stay up-to-date with the latest trends, best practices, and emerging technologies in the mobile app development and educational technology domains. Participate in relevant communities, like this Learning Engineering Google Group, the International Consortium for Innovation and Collaboration in Learning Engineering (ICICLE), or this online community, and attend conferences or workshops to continually expand your knowledge and skills.
Conclusion: Your Journey as an App Developer
Creating an educational app is a rewarding journey that combines creativity, technology, and a passion for learning. Remember, the key to success lies in understanding your users, iterating based on feedback, and staying adaptable. As you embark on this exciting path, keep in mind that every challenge is an opportunity to innovate and improve. With dedication and the right approach, you have the potential to make a significant impact on students’ learning experiences. So, dive in, keep experimenting, and most importantly, enjoy the process. Your app could be the next big step in educational technology!