<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-18T20:54:47Z</responseDate><request verb="GetRecord" identifier="oai:dspace.mit.edu:1721.1/100626" metadataPrefix="dim">https://dspace.mit.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:dspace.mit.edu:1721.1/100626</identifier><datestamp>2026-06-06T00:49:30Z</datestamp><setSpec>com_1721.1_7582</setSpec><setSpec>com_1721.1_7581</setSpec><setSpec>col_1721.1_131023</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="advisor" lang="en_US">Harold Abelson.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="author" lang="en_US">Sayyaparaju, Vedha</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="other" lang="en_US">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2016-01-04T19:59:59Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2016-01-04T19:59:59Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="copyright" lang="en_US">2015</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued" lang="en_US">2015</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">http://hdl.handle.net/1721.1/100626</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="oclc" lang="en_US">932752939</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">This electronic version was submitted by the student author.  The certified thesis is available in the Institute Archives and Special Collections.</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Cataloged from student-submitted PDF version of thesis.</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Includes bibliographical references (page 70).</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract" lang="en_US">In this thesis, I describe how I designed and built multiple components and extensions to App Inventor 2 that will allow application builders to create custom services and background tasks and to build applications that can interact with these services and tasks. Previously, the App Inventor platform only supported the creation of applications which had a screen in the foreground at all times. As such, the main abstraction of App Inventor was this notion of a "Screen". These screens could launch certain tasks to run in the background, but they were limited to the few tasks that were exposed by the App Inventor interface. Application builders could not design and customize their own background tasks. This restricted App Inventor users from building certain types of applications, for example, a music player application or an application that has heavy network communication. To enable users to build such applications, I extended the App Inventor platform to expose a "Task" object in addition to the existing "Screen" object. I created a messaging system which would allow Screens and Tasks to communicate with each other. I also developed additional task components that could be contained in these new Task objects. Users can customize the functionality of Tasks by putting together multiple task components. In this way, App Inventor users can now build more functional applications and explore a part of the Android SDK that was previously out of reach.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="statementofresponsibility" lang="en_US">by Vedha Sayyaparaju.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="degree" lang="en_US">M.Eng.</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="extent" lang="en_US">70 pages</dim:field>
   <dim:field mdschema="dc" element="language" qualifier="iso" lang="en_US">eng</dim:field>
   <dim:field mdschema="dc" element="publisher" lang="en_US">Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="rights" lang="en_US">M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.</dim:field>
   <dim:field mdschema="dc" element="rights" qualifier="uri" lang="en_US">http://dspace.mit.edu/handle/1721.1/7582</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Electrical Engineering and Computer Science.</dim:field>
   <dim:field mdschema="dc" element="title" lang="en_US">User-designed background tasks in App inventor</dim:field>
   <dim:field mdschema="dc" element="type" lang="en_US">Thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="dspace" element="authorsordered">false</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="4c71b2fa-4002-4add-a384-2bd68f7dbf54">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
	&lt;Language>eng&lt;/Language>
   	&lt;Title>User-designed background tasks in App inventor&lt;/Title>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2015&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>Sayyaparaju, Vedha&lt;/DisplayName>
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;DisplayName>Massachusetts Institute of Technology&lt;/DisplayName>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;License>http://dspace.mit.edu/handle/1721.1/7582&lt;/License>
    &lt;Keyword>Electrical Engineering and Computer Science.&lt;/Keyword>
   	&lt;Abstract>In this thesis, I describe how I designed and built multiple components and extensions to App Inventor 2 that will allow application builders to create custom services and background tasks and to build applications that can interact with these services and tasks. Previously, the App Inventor platform only supported the creation of applications which had a screen in the foreground at all times. As such, the main abstraction of App Inventor was this notion of a &amp;quot;Screen&amp;quot;. These screens could launch certain tasks to run in the background, but they were limited to the few tasks that were exposed by the App Inventor interface. Application builders could not design and customize their own background tasks. This restricted App Inventor users from building certain types of applications, for example, a music player application or an application that has heavy network communication. To enable users to build such applications, I extended the App Inventor platform to expose a &amp;quot;Task&amp;quot; object in addition to the existing &amp;quot;Screen&amp;quot; object. I created a messaging system which would allow Screens and Tasks to communicate with each other. I also developed additional task components that could be contained in these new Task objects. Users can customize the functionality of Tasks by putting together multiple task components. In this way, App Inventor users can now build more functional applications and explore a part of the Android SDK that was previously out of reach.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>