Preface

Almost everyone has had an idea for an app or perhaps declared, "I wish there were an app for that!" But until recently, taking an idea and building it into a fully functional app would have required hiring an expert software programmer and paying thousands and thousands of dollars. The world of mobile app development had been the domain of an elite group of people with highly specialized skills—proficient coders. The App Inventor project sought to change this reality by democratizing software development. App Inventor 2 is a free, blocks-based, drag-and-drop visual programming language that makes it possible for anyone, even people with no prior coding experience, to turn an idea into a fully functional Android app.

As educators, our passion for promoting global education and empowering people to move from being users of technology to becoming creators of technology were the inspirations for writing this book. With App Inventor, a 12-year-old, a speech therapist, a baseball coach, or anyone else for that matter, can develop an app that is personal, meaningful, and useful to them. People from all backgrounds and levels of education can develop a digital solution to a problem they see in their community. Any App Inventor app, such as an educational game, a music tutorial, or a garbage recycling program can be published or sold in app markets, and thus, have a global impact or spurn opportunities for entrepreneurship, collaboration, and community building.

App Inventor offers an alternative entry point to Computer Science that is more user-friendly and less intimidating than traditional cryptic white-text-on-a-black-screen programming. The colorful blocks that snap together like puzzle pieces along with a design tools enable users to learn both coding and user experience design skills. Furthermore, with a wide gender gap in computer science—males dominating both classes and jobs—we are also passionate about using App Inventor to introduce more girls and women to mobile computing opportunities, such as app contests with Technovation (www.technovationchallenge.org) and coding clubs with Girls Who Code (www.girlswhocode.com).

Because you can take any idea and turn it into a mobile app, the opportunities for imagination, creativity, and innovation are indeed endless. The purpose of this book is to help spark such creativity while introducing you to basic computer science principles, computational thinking, and programming. This book teaches you to navigate the App Inventor platform and helps you become familiar with its features through step-by-step tutorials on building three different mobile apps. Throughout the book, we offer design tools and tips as a pathway to user experience design, since the user interface is such an integral part of any mobile app. Ultimately, by the end of this book, you will be equipped with enough skills to embark on developing your own mobile app from scratch. We are excited to see the apps you are inspired to create and hope that you will share them with us.

We are so excited to share our passion for mobile app development with you and hope that this book awakens a creative spark to make technology that is personal, meaningful, and useful to you. We are thankful to Hal Abelson, Mark Friedman, and all of the original App Inventor developers and visionaries who created the platform that has evolved into App Inventor 2. We are proud to be furthering the App Inventor mission and encourage all of you budding software programmers to, in turn, share App Inventor with other noncoders. Together we can empower others to become part of a growing movement to connect and impact the world with digital creativity.

 

"We look forward to hearing about the digital solutions you devise or your evolution in the mobile computing space. Good luck and keep connecting!"

 
 --Felicia Kamriani and Krishsnendu Roy

What this book covers

Chapter 1, Unleashing Creativity with MIT App Inventor 2, introduces you to the MIT App Inventor software and explores the multifaceted role of the mobile app developer by examining design processes and techniques used to turn an app idea into a prototype. By showing a variety of apps that people just like you have already made, this chapter reveals the range of learning outcomes and skills developed by using App Inventor.

Chapter 2, Setting Up MIT App Inventor 2, walks you through setting up a Google Account to log into App Inventor, downloading software, and connecting your computer to your mobile device via Wi-Fi or USB with Mac, Windows, or GNU/Linux. MIT App Inventor 2 is a free online application that runs in a web browser on your computer and saves your projects in the cloud. The magical part of App Inventor is live testing your app as you build it with the Integrated Development Environment (IDE). If you don't have a mobile device, don't worry, there are instructions on how to use App Inventor with the onscreen emulator. While we provide a step-by-step guide to getting started, we acknowledge that sometimes establishing connectivity can be a challenge. Therefore, we include plenty of troubleshooting and help options.

Chapter 3, Navigating the App Inventor Platform, familiarizes you with the App Inventor Projects View, Designer screen, and Blocks Editor. This chapter teaches you how to build a game app called Fling. The step-by-step tutorial integrates components and properties to design the user interface and colorful puzzle-like blocks to code the behavior of the game. You learn how to create buttons that start or reset play, move a ball, change the ball's direction by touching it, bounce the ball off the edges of the screen, and end game play. During each step of the development process, we show you how to view the changes on your mobile device. By the end of the chapter, you will have built a functional app! However, we have just gotten started on our app development journey.

Chapter 4, Fling App – Part 2, uses the basic app that we built in Chapter 3 as a launching pad for further skill development: debugging and expanding the app with more complex features. Since most games keep score and have increasing levels and difficulty, we augment the Fling tutorial to make a more intermediate app. You learn how to make a scoring mechanism, display the score, increase the speed of the ball, create levels, increase the difficulty of play, and debug by updating the Play and Reset buttons.

Chapter 5, Building an Event App, provides a tutorial for building a second app—this time, an intermediate event-planning app. An app like this can be useful for anyone who is gathering people together for meetings, parties, or events. It gathers information from people who would like to attend, namely, their name, the number of guests, and the pot-luck items to be brought. In return, the app displays to users a guest list and the event information, such as the address and a map. The tutorial teaches you how to include images and artwork, create a navigation menu, use the Backpack tool, add multiple screens, expand your use of labels, and include a map component. By the end of the chapter, you will have accomplished a great deal, but will only be halfway through the Event App development.

Chapter 6, Introduction to Databases, will cover databases that are an essential part of app designing because they store persistent data, meaning that when the app closes and reopens, the previously entered data will remain in the App. Without a database, any data entered by the user when the app is running would be lost once the app is closed. In order to collect user-inputted information for the Event app, this chapter's tutorial demonstrates how to create an RSVP form, establish Google API credentials, store and request information in a database using Google Fusion Tables, and display a guest list.

Chapter 7, Learning About Loops with a Raffle App, will cover a third tutorial—this time, for a Raffle App that includes the computer science principles of lists, loops, and variables. The Raffle App (a digital version of a regular raffle) can be used at a party, meeting break, or as an ice-breaker to involve participants in a short fun activity. Participants text a specific message to the Raffle organizer's phone and the app randomly selects a winner from the list of incoming numbers and then notifies the winner he or she has won and texts the rest of the participants that they did not win. Here, you will learn to code efficiently with variables and a loop, as the app repeats the same behavior (texting a "Sorry you did not win!" message) for a list of many people.

Chapter 8, Expanding Your Mobile App Development Skills, includes more design principles and App Inventor tips to broaden your skill set for your transition from app building with guided tutorials to creating mobile apps from scratch. Also included are app sharing tools that enable you to contribute your creativity and learn from other app developers. Since all the App Inventor apps can be uploaded, shared, and even sold in app markets, the apps you develop can make a global social impact or trigger your path as an entrepreneur. The world awaits your contribution!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset