<?xml version="1.0"?>
<News hasArchived="true" page="7884" pageCount="10930" pageSize="10" timestamp="Fri, 06 Nov 2026 19:06:34 -0500" url="https://my3.my.umbc.edu/posts.xml?mode=recent&amp;page=7884">
<NewsItem contentIssues="true" id="42251" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42251">
<Title>New Tickets on Sale at the CIC!</Title>
<Tagline>Orioles Game Bus Trip &amp; Hershey Park!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <div><strong>Stop by the Campus Information Center in The Commons to purchase the tickets listed below!</strong></div>
    <div><em><strong><br></strong></em></div>
    <div><strong>MGC Showcase</strong></div>
    <div><em>     Friday, February 14th </em></div>
    <div><em>     University Center Ballroom @ 7pm</em></div>
    <div><em>     UMBC ID = Free</em></div>
    <div><em>     General Admission = $5.00</em></div>
    <div><em><strong>     Postponed!!!</strong></em></div>
    <div><em><strong><br></strong></em></div>
    <div><strong><a href="http://my.umbc.edu/events/22407" rel="nofollow external" class="bo">SEB DC Trip - Cherry Blossom Festival</a></strong></div>
    <div><em>     Saturday, March 29th</em></div>
    <div><em>     Bus Departs: Commons Loop @ 10am</em></div>
    <div><em>     All Guests = $10.00</em></div>
    <div><em><strong>     We are Sold Out!!!</strong></em></div>
    <div><em><strong><br></strong></em></div>
    <div><span><span><div><span><a href="http://my.umbc.edu/events/22490" rel="nofollow external" class="bo"><strong>SEB Captain America Midnight Premiere</strong></a></span></div>
    <div><span><em>     Thursday, April 3rd</em></span></div>
    <div><span><em>     Bus Departs: Commons Loop @ 11pm</em></span></div>
    <div><span><em>     All Guests = $5.00</em></span></div>
    <div><span><span><em><strong>     We are on Ticket 45 of 250</strong></em></span></span></div>
    <div><em><strong><br></strong></em></div>
    <div><span><a href="http://my.umbc.edu/events/22491" rel="nofollow external" class="bo"><strong>SEB Sky Zone Trampoline Park</strong></a></span></div>
    <div><span><em>     Friday, April 4th</em></span></div>
    <div><span><em>     Bus Departs: Commons Loop @ 5pm</em></span></div>
    <div><span><em>     All Guests = $10.00</em></span></div>
    <div><span><span><em><strong>     We are on Ticket 45 of 49</strong></em></span></span></div>
    <div><span><span><br></span></span></div>
    <div><span><span><span><span><div><span><span><div><span><strong><a href="http://my.umbc.edu/groups/seb/events/22482" rel="nofollow external" class="bo">SEB Orioles Game Bus Trip</a></strong></span></div>
    <div><span>     <em>Friday, April 11th</em></span></div>
    <div><span>     <em>Bus Departs: Commons Loop @ 6pm</em></span></div>
    <div><span>     <em>All Guests = $10.00</em></span></div>
    <div><span>     <strong><em>We are on Ticket 1 of 49</em></strong></span></div>
    <div><span><br></span></div>
    <div><span><strong><a href="http://my.umbc.edu/groups/seb/events/22998" rel="nofollow external" class="bo">SEB Hershey Park Bus Trip</a></strong></span></div>
    <div><span>     <em>Saturday, April 19th</em></span></div>
    <div><em>     Bus Departs: Commons Loop @ 8am</em></div>
    <div><em>     All Guests = $35.00</em></div>
    <div><em>     <strong>We are on Ticket 1 of 49</strong></em></div>
    <div><span><br></span></div>
    <div><span><strong><a href="http://my.umbc.edu/events/22530" rel="nofollow external" class="bo">SEB Quadmania: Capital Cities</a></strong></span></div>
    <div><span><em>     Sunday, April 27th</em></span></div>
    <div><span><em>     The RAC @ 8pm</em></span></div>
    <div><span><em>     All Guests = $12.00</em></span></div>
    <div><span><span><em><strong>     We are on Ticket 688 of 2500</strong></em></span></span></div>
    <div><span><span><br></span></span></div>
    <div><span><span><div><span><strong>SEB Individual Weekly Movie Tickets</strong></span></div>
    <div><span><span><em>     All Guests = $2.00</em></span></span></div>
    <div><span><span><br></span></span></div>
    <div><span><strong>SEB Semester Movie Pass</strong></span></div>
    <div><span><em>     All Guests = $10.00</em></span></div></span></span></div></span></span></div></span></span></span></span></div></span></span></div>
    </div>
]]>
</Body>
<Summary>Stop by the Campus Information Center in The Commons to purchase the tickets listed below!     MGC Showcase       Friday, February 14th        University Center Ballroom @ 7pm       UMBC ID = Free...</Summary>
<Website>https://www.facebook.com/UMBC.CIC</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42251/guest@my.umbc.edu/fef888810519429b9a68cec6b499ea7d/api/pixel</TrackingUrl>
<Group token="cic">Campus Information Center (CIC)</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/cic</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/xsmall.png?1318518699</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/original.png?1318518699</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/xxlarge.png?1318518699</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/xlarge.png?1318518699</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/large.png?1318518699</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/medium.png?1318518699</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/small.png?1318518699</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/xsmall.png?1318518699</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/311/7180ee78abc8c4401d89f708582062e4/xxsmall.png?1318518699</AvatarUrl>
<Sponsor>Campus Information Center (CIC)</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/xxlarge.jpg?1394462327</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/xlarge.jpg?1394462327</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/large.jpg?1394462327</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/medium.jpg?1394462327</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/small.jpg?1394462327</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/xsmall.jpg?1394462327</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/251/0a0f319f4d1b7acc7a879809f0f1063f/xxsmall.jpg?1394462327</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 10:39:37 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="42246" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42246">
<Title>RecycleMania is in full swing</Title>
<Tagline>Competition ends March 29th!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Do you like competing? Do you love being green? Do you love recycling? If you answered yes to any of these questions, you’ll love RecycleMania!</p>
    
    <p><strong>What is RecycleMania? </strong></p>
    
    <p>It is an annual 8-week competition between universities to see who can recycle the most! Sounds fun right? So go around and grab all your recyclables (and your friends) and help our school win!</p>
    
    <p>RecycleMania is not just a competition; it’s also a great
    way to educate people about recycling. There are plenty of events to attend
    like the RecycleMania Parade and “Regames” which feature giveaways and musical
    performances! </p>
    
    <p>For more information on events and scheduling, visit <a href="http://my.umbc.edu/groups/sustainability/news/39998" rel="nofollow external" class="bo">http://my.umbc.edu/groups/sustainability/news/39998</a>
    . If you still are not interested, maybe checking out their website will help?
    Just give it a try and recycle when you can!</p>
    
    </div>
]]>
</Body>
<Summary>Do you like competing? Do you love being green? Do you love recycling? If you answered yes to any of these questions, you’ll love RecycleMania!    What is RecycleMania?     It is an annual 8-week...</Summary>
<Website>http://recyclemaniacs.org/</Website>
<AttachmentKind>Flyer</AttachmentKind>
<AttachmentUrl>https://assets4-my.umbc.edu/system/shared/attachments/5da7cac50b14c0df278f240a5875e519/6aee6b8a/news/000/042/246/b82b80956cfbe75101bd223fe6319dec/Recyclemania Calendar 2014.pdf?1394461781</AttachmentUrl>
<Attachments>
<Attachment kind="Flyer" url="https://my3.my.umbc.edu/posts/42246/attachments/12805"></Attachment>
</Attachments>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42246/guest@my.umbc.edu/8849c380c5ae2aa3e52ff7fc10533ee7/api/pixel</TrackingUrl>
<Group token="transit">UMBC Transit </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/transit</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/xsmall.png?1448285304</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/original.png?1448285304</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/xxlarge.png?1448285304</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/xlarge.png?1448285304</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/large.png?1448285304</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/medium.png?1448285304</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/small.png?1448285304</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/xsmall.png?1448285304</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/592/23ec211d0365be0665abf1354689014d/xxsmall.png?1448285304</AvatarUrl>
<Sponsor>UMBC Transit</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/xxlarge.jpg?1394461247</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/xlarge.jpg?1394461247</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/large.jpg?1394461247</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/medium.jpg?1394461247</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/small.jpg?1394461247</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/xsmall.jpg?1394461247</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/246/34ff462c2eca7365339aa7b238a9c143/xxsmall.jpg?1394461247</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 10:31:38 -0400</PostedAt>
<EditAt>Mon, 10 Mar 2014 11:17:46 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="42247" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42247">
<Title>Being a part of campus life while living off campus</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><span>Students
    living off campus don’t have to miss out on campus life—the office of
    Off-Campus Student Services has commuter students covered! </span></p>
    <p><span> </span></p>
    <p><span><span>Commuter Connections is a program of
    fun, educational monthly events aimed at connecting commuter students to the
    greater campus community and resources on and off-campus. Christopher Cho, a
    UMBC senior majoring in philosophy and a Commuter Assistant, says, “</span></span><span>There is no
    reason why commuters shouldn't go to Commuter Connection events. Everything is
    free, it's during free hour on Fridays, and plenty of people come each time.” <span>The next two CC events are on March 7<sup>th</sup> in the
    SportsZone and April 18<sup>th</sup> in Lower Flat Tuesdays—both locations are
    in The Commons. Free lunch is provided. </span></span></p>
    <p><span><span> </span></span></p>
    <p><span>Students can also swing by The
    Commons Main Street every Tuesday morning from 8:30am to 10:00am for free
    breakfast at Good Morning Commuters. It's complimentary with the Commuter Gold
    Card which can be purchased for $5 at any breakfast. At GMC, students can meet
    new people, express commuter concerns, and learn about the latest events and
    programs at UMBC. Commuter Assistant Angela Saguros, a UMBC sophomore majoring
    in psychology, thinks that “</span><span>Students should come to GMC because it's a great way
    to know what is going on at OCSS. Also breakfast is the most important meal of
    the day so students should come to fuel themselves for their classes!”</span><span></span></p>
    <p><span> </span></p>
    <p><span>Students can connect through
    alternative transportation-related events too like the next Carpool Social on
    March 28<sup>th</sup> in Lower Flat Tuesdays during free hour. The free food
    and games are March Madness themed! There are also free screenings of the
    documentary “Mumbai Disconnected” in the SportsZone on April 14<sup>th</sup>. A
    discussion of the documentary as well as UMBC commuter concerns will be held at
    the 2<sup>nd</sup> annual “UMBC Transit Forum” on April 16<sup>th</sup> in the
    University Center 312 from 12-1:30pm. </span></p>
    <p><span> </span></p>
    <p><span>The Casual Carpooling page @ </span><a href="http://my.umbc.edu/groups/casualcarpooling" rel="nofollow external" class="bo"><span>http://my.umbc.edu/groups/casualcarpooling</span></a><span> is where students can connect to UMBC carpoolers. For more
    information about any of these events, students can check out the Off-Campus
    Student Services myUMBC group @ </span><a href="http://my.umbc.edu/groups/ocss" rel="nofollow external" class="bo"><span>http://my.umbc.edu/groups/ocss</span></a><span>. </span></p>
    <p><span> </span></p>
    </div>
]]>
</Body>
<Summary>Students living off campus don’t have to miss out on campus life—the office of Off-Campus Student Services has commuter students covered!      Commuter Connections is a program of fun, educational...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42247/guest@my.umbc.edu/2980040234d0c2b4cd2d9e02c39a5864/api/pixel</TrackingUrl>
<Group token="retired-420">UMBC Family Connection </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-420</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xsmall.png?1340914772</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/original.png?1340914772</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xxlarge.png?1340914772</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xlarge.png?1340914772</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/large.png?1340914772</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/medium.png?1340914772</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/small.png?1340914772</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xsmall.png?1340914772</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xxsmall.png?1340914772</AvatarUrl>
<Sponsor>UMBC Family Connection</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/xxlarge.jpg?1394461650</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/xlarge.jpg?1394461650</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/large.jpg?1394461650</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/medium.jpg?1394461650</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/small.jpg?1394461650</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/xsmall.jpg?1394461650</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/247/9d73c511c577700b0c7a8bc05e3a2b08/xxsmall.jpg?1394461650</ThumbnailUrl>
<PawCount>3</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 10:28:30 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="42245" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42245">
<Title>Recognizing Academic Excellence</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <div>
    <span>It is clear our students are committed to their academics and succeeding at UMBC and beyond. UMBC students </span><span>demonstrate their passion for success through their engagement with faculty and staff members in and out of the </span><span>classroom while also utilizing the many campus resources that support and propel our students to greater academic </span><span>achievement semester after semester. Some of these resources include the:</span>
    </div>
    <div><br></div>
    <div>• Learning Resource Center (<a href="http://www.umbc.edu/lrc/">www.umbc.edu/lrc/</a>)</div>
    <div><br></div>
    <div>• Undergraduate Research Opportunities (<a href="http://www.umbc.edu/oue/research">www.umbc.edu/oue/research</a>) </div>
    <div><br></div>
    <div>• Career Services Center (<a href="http://www.careers.umbc.edu/">www.careers.umbc.edu/</a>)</div>
    <div><br></div>
    <div>• Counseling Center (<a href="http://www.umbc.edu/counseling/">www.umbc.edu/counseling/</a>) </div>
    <div><br></div>
    <div>This past fall semester was no different. UMBC students who live on campus excelled in the classroom and roughly 24 <span>percent of students who live on campus were recognized by being named to the Dean’s or President’s List. The Dean’s </span><span>List recognizes all students who achieved at least a 3.75 semester grade point average (GPA) and the President’s List </span><span>showcases students who earned a 4.00 semester GPA. </span>
    </div>
    <div><br></div>
    <div>The Residential Life Office wanted to thank our students for being positive and academically-focused community <span>members by organizing a series of recognition events that invited them to meet and talk with UMBC leaders like Philip </span><span>Rous, Provost and Senior Vice President for Academic Affairs, Scott Casper, Dean of the College of Arts, Humanities, </span><span>and Social Sciences, and William LaCourse, Dean of the College of Natural and Mathematic Sciences. Students who </span><span>attended these recognition events were encouraged to get involve in the UMBC community through serving as tutors, </span><span>joining a student organization, or participating in undergraduate research opportunities or internships. </span><span>Students who attended these events commented that they enjoyed meeting with fellow students who shared in their </span><span>passion for academic success. They also enjoyed having the opportunity to hear from University leaders and meet with </span><span>them one-on-one. The Residential Life Office will continue these recognition efforts in future semesters and look forward </span><span>to involving students in the planning process. If you have questions on how students can connect with opportunities </span><span>like this or with faculty/staff members and campus resources, please feel free to contact Jim Hague, Student Success </span><span>Coordinator at 410-455-5571 or <a href="mailto:jihague@umbc.edu">jihague@umbc.edu</a>.</span>
    </div>
    </div>
]]>
</Body>
<Summary>It is clear our students are committed to their academics and succeeding at UMBC and beyond. UMBC students demonstrate their passion for success through their engagement with faculty and staff...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42245/guest@my.umbc.edu/7b648f95c7336fb11980eb25f3105cc1/api/pixel</TrackingUrl>
<Group token="retired-420">UMBC Family Connection </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-420</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xsmall.png?1340914772</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/original.png?1340914772</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xxlarge.png?1340914772</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xlarge.png?1340914772</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/large.png?1340914772</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/medium.png?1340914772</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/small.png?1340914772</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xsmall.png?1340914772</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/420/30293457191c29e0d0d7a715d26041bd/xxsmall.png?1340914772</AvatarUrl>
<Sponsor>UMBC Family Connection</Sponsor>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 09:51:19 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="42243" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42243">
<Title>Registration Advising Appointments - Please Read</Title>
<Tagline>Sign up for a group advising appointment!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Attention Mechanical, Chemical, Computer Engineering, and Computer Science Majors:<br><br>It’s time to start thinking about registration for Fall 2014. All students must meet with an advisor for pre-registration advising. Pre-registration advising appointments for Fall 2014 begin Monday, March 24, 2014. Please see the information below to determine your next steps in the registration advising process.<br><u><strong><br>Students Who Have Not Completed the Gateway:</strong></u><br>Students who have not completed the gateway requirements for their major must meet with an academic advisor in order to be cleared for registration. Beginning on <u>Wednesday, March 12th</u>, sign-up sheets will be posted on the bulletin boards outside the advising offices ITE 202-206. Appointments will begin Monday, March 24th. <br><br>This semester we are continuing to offer group advising appointments. Group advising appointments require approximately 30 minutes of your time and give you the opportunity to review your registration plans with multiple advisors in a small group setting. Students who attend group advising will be cleared to register during the group advising session. <br><br>If you attend group advising, you may still sign up to meet with an advisor individually to address any additional questions or concerns you may have. However, an individual appointment is not required.<br><br>In order for this process to go as smoothly as possible, we ask all students to come to the hallway outside ITE 202-206 to sign up for group advising. Please make a note of the date and time of your appointment.<br><strong><br>Prior to your appointment:</strong><br>1.    Please review your scheduling options by looking over the schedule of classes available on the UMBC website<strong> <a href="http://my.umbc.edu/go/schedule" rel="nofollow external" class="bo">HERE</a></strong>.<br>2.    Review your degree audit – major and general education/foundation requirements, so that you are aware of the courses still needed to complete your degree requirements. Learn more about your degree audit <a href="http://my.umbc.edu/groups/advising/news/17978" rel="nofollow external" class="bo"><strong>HERE</strong></a>.<br>3.    Review the sample 4-year plan for your major to determine where you are in the recommended sequence of courses. <a href="http://advising.coeit.umbc.edu/four-year-plans/" rel="nofollow external" class="bo"><strong>HERE</strong></a><br>4.    Check the Gateway requirements for your major and determine where you are in relation to the completion of this requirement. <a href="http://advising.coeit.umbc.edu/gateway-information/" rel="nofollow external" class="bo"><strong>HERE</strong></a><br>5.    Come prepared to your appointment with a list of courses you intend to take in Fall 2014.<br><br>After your advising appointment, you will have clearance to register for classes. However, you will not be able to register until your assigned registration time. Your registration time is the earliest date and time that you may register for classes. For information about registration times, please go <a href="http://registrar.umbc.edu/academic-calendar/registration-appointments/" rel="nofollow external" class="bo"><strong>HERE</strong></a>. If you have not attended an advising session, you will not be able to register when your registration time occurs.<br><br><u><strong>Students Who Have Completed the Gateway:</strong></u><br>Students who have completed the gateway requirements for their major should follow the instructions for your specific major below. You may review your degree audit to check your progress in completing the gateway requirements for your major.<br><br><u>Computer Engineering and Computer Science:</u><br><br>If you have completed your gateway requirements, your may view your assigned faculty advisor’s name online. To access this information, follow these steps:<br><ul><li>Login to myUMBC</li></ul>
    <ul><li>Select “Topics”</li></ul>
    <ul><li>Select “Advising and Student Support”</li></ul>
    <ul><li>Select “My Advisors”</li></ul>Your faculty advisor will be contacting you to schedule an appointment, but you may contact your faculty advisor beginning on March 24th.<br><br><u>Chemical Engineering:</u><br>If you have completed your gateway requirements and ENCH 215, please go to ENGR 314 to find your advisor’s contact information.<br><br><u>Mechanical Engineering:</u><br>If you have completed your gateway requirements, you will receive an email from the Mechanical Engineering Department by March 24th that will provide you with your advisor’s name or will advise you of a Mechanical Engineering advising meeting that you will be required to attend. <br><br>If you do not receive an email by the 24th, you may also visit the Mechanical Engineering Department and speak with Mr. Chuck Smithson in ENGR 210 for a list of advisor assignments and for information about the Mechanical Engineering advising meeting.<br><br>
    </div>
]]>
</Body>
<Summary>Attention Mechanical, Chemical, Computer Engineering, and Computer Science Majors:  It’s time to start thinking about registration for Fall 2014. All students must meet with an advisor for...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42243/guest@my.umbc.edu/93c4edaa924f1457af44d75a9c784c52/api/pixel</TrackingUrl>
<Group token="coeitadvising">College of Engineering &amp;amp; Information Technology Advising</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/coeitadvising</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xsmall.png?1778247417</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/original.png?1778247417</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xxlarge.png?1778247417</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xlarge.png?1778247417</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/large.png?1778247417</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/medium.png?1778247417</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/small.png?1778247417</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xsmall.png?1778247417</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xxsmall.png?1778247417</AvatarUrl>
<Sponsor>Engineering &amp; Computer Science Advising</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 09:42:20 -0400</PostedAt>
<EditAt>Mon, 10 Mar 2014 09:46:38 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="42244" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42244">
<Title>Real People Profiles: Ankur Vaidya</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <em><span>We're asking some of the people you might encounter on the UMBC campus, including students, faculty, staff and alumni, to answer a few questions about themselves and their experiences. These are their responses.</span></em><br><span><span><strong><br></strong></span></span><br><div><a href="http://2.bp.blogspot.com/-rYReP-Vm4Rc/UxY2rC1hSzI/AAAAAAAADxo/6N1zl88ZeGI/s1600/Ankur+Vaidya.jpg" rel="nofollow external" class="bo"><span><img src="http://2.bp.blogspot.com/-rYReP-Vm4Rc/UxY2rC1hSzI/AAAAAAAADxo/6N1zl88ZeGI/s1600/Ankur+Vaidya.jpg" height="213" width="320" style="max-width: 100%; height: auto;"></span></a></div>
    <span><span><span><strong>Name: </strong></span></span>Ankur Vaidya</span><br><span><span><span><span><strong><br></strong></span></span><span><span><strong>Hometown: </strong></span></span></span>Baltimore</span><br><span><span><br><strong>Major: </strong></span>Biology and Psychology</span><br><span><span><br></span></span><br><div>
    <div><div><div><div><div><div><div><div><div><strong><span>Q: How long have you been at UMBC?</span></strong></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><span><span><span>A: </span></span>I'm a second semester sophomore</span></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><strong><span>Q: What is your current title (job or student organization position)?</span></strong></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div></div>
    <div>
    <div><div><div><div><div><div><div><div><span><span><span>A: </span></span>I am the Online Chair for Relay for Life. I also am a graphic designer for (seb) and a member of the Events and Seminars Committee for Global Medical Brigades.</span></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><span><strong>Q: In 12 words or less, what role(s) do you play on campus?</strong> </span></div></div></div></div></div></div></div></div>
    </div>
    <div><div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div>
    <div><span><span><span>A: </span></span>Student, teacher, friend, leader, and planner.</span></div>
    <div><span><span><br></span></span></div>
    </div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><strong><span>Q: What aspect of your UMBC role(s) do you enjoy most?</span></strong></div></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div>
    <div><span><br></span></div>
    <div><span><span><span>A: </span></span>I enjoy learning and seeing others learn. Development and overcoming of obstacles is always a sight to see.</span></div>
    </div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div></div>
    <div>
    <div><div><div><div><div><div><div><div>
    <strong><span>Q: What is the most important or memorable thing you learned in college/have learned at UMBC?</span></strong><br><div><strong></strong></div>
    </div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div>
    <div><span><br></span></div>
    <div>
    <span><span><span>A: </span></span>I've learned and grown quite a bit since being here, but if I had to pick one thing, it would be that to learn and develop, one cannot do it on one's own. Cooperation and collusion is almost always beneficial, whether it is in regard to studying or even completing an active project on campus. I used to always do things on my own, but I am more successful now that I am not afraid to ask questions when I don't know something. The sharing of knowledge is valuable for the bettering of society.</span><br><span><br></span>
    </div>
    </div></div></div></div></div></div></div>
    </div>
    <div>
    <div><div><div><div><div><div><div><div><strong><span>Q: Complete this sentence: "I am a big fan of __________"</span></strong></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div><div><span><br></span></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div>
    <div><span><span><span>A: </span></span>Optimism (within the bounds of pragmatism, of course).</span></div>
    <div><span><br></span></div>
    </div></div></div></div></div></div></div>
    </div>
    <div><div><div><div><div><div><div><div><strong><span>Q: Do you have any UMBC stories, little-known facts about UMBC, favorite spots on campus, or anything else you’d like to share?</span></strong></div></div></div></div></div></div></div></div>
    <div><div><div><div><div><div><div>
    <div><span><br></span></div>
    <span><span><span>A: </span></span>Go outside when it's warm. It's wonderful to have a lively campus.</span><br><div><div><span><br></span></div></div>
    <div><div><em><span><a href="http://cocreateumbc.blogspot.com/" rel="nofollow external" class="bo">Co-Create UMBC</a> is a blog for and about UMBC, written by David Hoffman and Craig Berger from the Office of Student Life. Join the <a href="http://my.umbc.edu/groups/co-create" rel="nofollow external" class="bo">Co-Create UMBC group</a> on MyUMBC. Like <a href="https://www.facebook.com/cocreateumbc" rel="nofollow external" class="bo">Co-Create UMBC on Facebook</a>. And follow <a href="https://twitter.com/CoCreateUMBC" rel="nofollow external" class="bo">David</a> and <a href="https://twitter.com/CraigBerger" rel="nofollow external" class="bo">Craig</a> on Twitter.</span></em></div></div>
    </div></div></div></div></div></div></div>
    </div>
    </div>
]]>
</Body>
<Summary>We're asking some of the people you might encounter on the UMBC campus, including students, faculty, staff and alumni, to answer a few questions about themselves and their experiences. These are...</Summary>
<Website>http://cocreateumbc.blogspot.com/2014/03/real-people-profiles-ankur-vaidya.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42244/guest@my.umbc.edu/be768153bafaa2a40964049849c76aef/api/pixel</TrackingUrl>
<Tag>real-people-profiles</Tag>
<Group token="co-create">Co-Create UMBC</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/co-create</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/xsmall.png?1499890363</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/original.jpg?1499890363</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/xxlarge.png?1499890363</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/xlarge.png?1499890363</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/large.png?1499890363</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/medium.png?1499890363</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/small.png?1499890363</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/xsmall.png?1499890363</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/002/5b8f025dafb56cb8d3088b7259aadcfb/xxsmall.png?1499890363</AvatarUrl>
<Sponsor>Co-Create UMBC</Sponsor>
<PawCount>52</PawCount>
<CommentCount>8</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 09:42:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="42242" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42242">
<Title>NASA Needs Engineers! Transforming Education through STEM</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <h5>by Susan Hoban</h5>
    <div>Years ago, when I was teaching undergraduate astronomy, I began to wonder why the students had so much difficulty solving problems.  As I unraveled the thread of that thought, I found myself working with high school educators, trying to help them better understand the processes of science so they could pass their understanding along to their students.  Now I am funded to conduct STEM professional development (focused on the relationship between Science, Technology, Engineering and Math) for K-12 teachers and informal educators. Sometimes, my team and I find ourselves in unusual situations ... (<a href="http://umbcbreakingground.wordpress.com/2014/03/10/nasa-needs-engineers-transforming-education-through-stem/" rel="nofollow external" class="bo">continue reading</a>)</div>
    </div>
]]>
</Body>
<Summary>by Susan Hoban  Years ago, when I was teaching undergraduate astronomy, I began to wonder why the students had so much difficulty solving problems.  As I unraveled the thread of that thought, I...</Summary>
<Website>http://umbcbreakingground.wordpress.com/2014/03/10/nasa-needs-engineers-transforming-education-through-stem/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42242/guest@my.umbc.edu/43137ec140c692da131120a04310e873/api/pixel</TrackingUrl>
<Group token="bg">UMBC BreakingGround</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/bg</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xsmall.png?1360169927</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/original.png?1360169927</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xxlarge.png?1360169927</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xlarge.png?1360169927</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/large.png?1360169927</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/medium.png?1360169927</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/small.png?1360169927</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xsmall.png?1360169927</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xxsmall.png?1360169927</AvatarUrl>
<Sponsor>UMBC BreakingGround</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/xxlarge.jpg?1394458570</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/xlarge.jpg?1394458570</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/large.jpg?1394458570</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/medium.jpg?1394458570</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/small.jpg?1394458570</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/xsmall.jpg?1394458570</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/242/1e5150cfd4738a504723789416a43639/xxsmall.jpg?1394458570</ThumbnailUrl>
<PawCount>6</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 09:36:30 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="42237" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42237">
<Title>Walk in Advising Hours March 10- March 14</Title>
<Tagline>Stop by to see an advisor</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <br>Monday, March 10th<br>10am-11:30am<br>1:30pm-3pm<br><br>Tuesday, March 11th<br>10am-11:30am<br>1:30pm-3pm<br><br>Wednesday, March 12th<br>10am-11:30am<br>1:30pm-3pm<br><br>Thursday, March 13th<br>10am-11:30am<br>1:30pm-3pm<br><br>Friday, March 14th<br>10am-11:30am<br><br>Advisors are also available by appointment.<br>
    </div>
]]>
</Body>
<Summary>Monday, March 10th 10am-11:30am 1:30pm-3pm  Tuesday, March 11th 10am-11:30am 1:30pm-3pm  Wednesday, March 12th 10am-11:30am 1:30pm-3pm  Thursday, March 13th 10am-11:30am 1:30pm-3pm  Friday, March...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42237/guest@my.umbc.edu/1dbd7ca89ec4c9d59afca4d0d44fef58/api/pixel</TrackingUrl>
<Group token="coeitadvising">College of Engineering &amp;amp; Information Technology Advising</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/coeitadvising</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xsmall.png?1778247417</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/original.png?1778247417</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xxlarge.png?1778247417</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xlarge.png?1778247417</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/large.png?1778247417</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/medium.png?1778247417</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/small.png?1778247417</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xsmall.png?1778247417</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/564/6207e48bc2612a0b21c093b4a46a3be8/xxsmall.png?1778247417</AvatarUrl>
<Sponsor>Engineering &amp; Computer Science Advising</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 08:07:04 -0400</PostedAt>
<EditAt>Mon, 05 May 2014 08:47:20 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="42236" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42236">
<Title>Four Ways To Build A Mobile Application, Part 4: Appcelerator Titanium</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <table width="650">
    <tbody>
    <tr>
    <td>
    <div>
    <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" style="max-width: 100%; height: auto;"><br><a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=1" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=1" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=2" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=2" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=3" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=3" alt="" style="max-width: 100%; height: auto;"></a>
    </div>
    </td>
    </tr>
    </tbody>
    </table>
    <p>This article is the last in a series of articles covering four ways to develop a mobile application. In previous articles, we covered how to build a tip calculator in <a href="http://mobile.smashingmagazine.com/2013/11/22/four-ways-to-build-a-mobile-app-part1-native-ios" rel="nofollow external" class="bo">native iOS</a>, <a href="http://mobile.smashingmagazine.com/2014/01/10/four-ways-to-build-a-mobile-app-part2-native-android/" rel="nofollow external" class="bo">native Android</a> and <a href="http://mobile.smashingmagazine.com/2014/03/11/four-ways-to-build-a-mobile-app-part3-phonegap/" rel="nofollow external" class="bo">PhoneGap</a>. In this article, we’ll look at another cross-platform development tool, Appcelerator Titanium.</p>
    <p>PhoneGap enabled us to build a tip calculator app quickly and have it run on both the Android and iOS platforms. In doing so, we were left with a user interface (UI) that, while quite usable, did not offer quite the same experience as that of a truly native application. Our PhoneGap solution leveraged a Web view and rendered the UI with HTML5 and CSS3. By contrast, Appcelerator Titanium applications render the UI using the platform’s native controls. <strong>Titanium is intended to provide the experience of a native UI</strong>, along with portability between the iOS, Android and BlackBerry platforms. Appcelerator plans to release support for Windows Phone and Windows 8 <a href="http://www.appcelerator.com/blog/2014/01/windows-8-support-whats-going-on/" rel="nofollow external" class="bo">later this year</a>.</p>
    <p>Here’s the Appcelerator Titanium version of our sample FasTip application running on both iOS and Android:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/01-ios-screenshot.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/01-ios-screenshot-500.png" alt="FasTip application on iOS." width="300" height="450" style="max-width: 100%; height: auto;"></a><br><em>FasTip application on iOS. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/01-ios-screenshot.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/02-android-screenshot.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/02-android-screenshot-500.png" alt="FasTip application on Android." width="300" height="525" style="max-width: 100%; height: auto;"></a><br><em>FasTip application on Android. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/02-android-screenshot.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p>With Titanium, an application is written in JavaScript. However, instead of manipulating an HTML DOM, as would be done in a PhoneGap application, the JavaScript is interacting with Appcelerator Titanium’s API. Titanium provides UI objects for things like buttons, text fields, lists and so on, and these are backed by the mobile platform’s truly faithful representation of the respective native controls. In many cases, the code you write for one platform can run unmodified on other platforms as well. However, as we’ve seen with native iOS and Android’s different approaches to navigating screens (for example, <code>ViewControllers</code> with the <code>NavigationController</code> on iOS and <code>Activities</code> in Android), not all of these differences can be abstracted well. As such, even with Appcelerator, at least some parts of your code will have to be written specifically for each platform.</p>
    <p>Appcelerator consists of a suite of products, including the Titanium SDK for building mobile applications, and some cloud services that can be used for the back end of the application. The products may be used independently of one another or in combination. The Titanium SDK and an integrated development environment (IDE) are offered free of charge for any commercial application. Appcelerator makes available at additional cost an <a href="http://www.appcelerator.com/plans-pricing/" rel="nofollow external" class="bo">Enterprise</a> version that includes additional support, cloud services and analytics capabilities. Training courses and a certification program are also available for an additional fee.</p>
    <p>A Eclipse-based IDE named <a href="http://www.appcelerator.com/titanium/titanium-studio/" rel="nofollow external" class="bo">Titanium Studio</a> is offered by Appcelerator. This IDE contains a JavaScript editing environment, along with a source-level debugger.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/03-titanium-studio-ide.jpg" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/03-titanium-studio-ide-500.jpg" alt="Titanium Studio IDE overview." width="500" height="369" style="max-width: 100%; height: auto;"></a><br><em>Titanium Studio IDE overview. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/03-titanium-studio-ide.jpg" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p>As of the time of writing, no graphic layout tools exist that are akin to the ADT layout manager for Android or the StoryBoards and Interface Builder for iOS. With Titanium, the layout of screens is written either in JavaScript or in an XML definition language, as part of Appcelerator Titanium’s Alloy framework. Alloy is an application framework that allows you to specify the UI of an application in XML and apply styles to the controls in the project via a CSS-like syntax. I’ve included the code for both an Alloy and a Classic version of our application in the <a href="https://github.com/ptraeg/mobile-apps-4-ways" rel="nofollow external" class="bo">same GitHub repository</a> that holds the code samples for the other articles in this series.</p>
    <h3>Starting Your First Project</h3>
    <p>Appcelerator Titanium and Titanium Studio are available free of charge. Appcelerator offers a “<a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Quick_Start-section-29004949_QuickStart-LaunchingTitaniumStudio" rel="nofollow external" class="bo">Quick Start</a>” document that fully covers the steps to get started. Just follow these steps to get Titanium’s tools:</p>
    <ol>
    <li>To use Titanium, you must <a href="https://my.appcelerator.com/auth/signup" rel="nofollow external" class="bo">create a free developer account</a> on the Titanium website. Through this developer account, you will obtain the Titanium SDK and Titanium Studio IDE.</li>
    <li>Once you have a developer account, you’ll have access to Appcelerator’s <a href="https://my.appcelerator.com/resources" rel="nofollow external" class="bo">developer resources</a>. Here, you’ll find a series of “Getting Started” links, including ones to obtain the tools for Mac, Windows and Linux.</li>
    <li>Just as with PhoneGap, you’ll have to install the native SDKs for the platforms you wish to support. However, Titanium Studio makes that easy. A <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Installing_Platform_SDKs-section-29004842_InstallingPlatformSDKs-StudioPlatformConfigurationTool" rel="nofollow external" class="bo">Platform Configuration</a> tool built right into Titanium Studio makes it easy to install and update the native SDKs:
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/04-install-sdk.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/04-install-sdk-500.png" alt="Install the native SDKs" width="500" height="302" style="max-width: 100%; height: auto;"></a><br><em>Install the native SDKs. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/04-install-sdk.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p>	Now you’re ready to create a project.</p>
    </li>
    <li>From the “File” menu, choose “New” → “Mobile App Project.” This will open a dialog box that lets you choose an Alloy or Classic development project. As mentioned, Alloy is an application framework by Appcelerator that enables you to specify the UI of an application in XML and to use a CSS-like syntax to style the application. The Classic templates take an all-code approach. Appcelerator recommends Alloy for most new Titanium projects. Most of the examples in this article will use Alloy because I find its code structure to be more maintainable.
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/05-newapp-step1.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/05-newapp-step1-500.png" alt="Choose an development project." width="500" height="502" style="max-width: 100%; height: auto;"></a><br><em>Choose an development project. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/05-newapp-step1.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    </li>
    <li>Selecting the “Default Alloy” project will give you a simple project with one “Hello World” screen, a useful starting point. Clicking “Next” opens the next dialog:
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/06-newapp-step2.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/06-newapp-step2-500.png" alt="A simple project with as a useful starting point." width="500" height="504" style="max-width: 100%; height: auto;"></a><br><em>A simple project with as a useful starting point. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/06-newapp-step2.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p>	In the example above, we’ve filled in the fields for an app named “MySampleApp.” Once you click the “Finish” button, Titanium Studio will create the project’s directory structure and open it in the project explorer.</p>
    </li>
    <li>Running the app is as easy as selecting a simulator in the device drop-down menu and pressing the “Run” button:
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/07-run-on-ios.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/07-run-on-ios-500.png" alt="run-on-ios-500" width="500" height="205" style="max-width: 100%; height: auto;"></a><br><em>Running the app. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/07-run-on-ios.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    </li>
    <li>The “Run” button has a drop-down menu of its own that provides options for debugging and packaging your application for distribution.</li>
    </ol>
    <h3>Organizing An Appcelerator Project</h3>
    <p>For this article, we’ll focus on the Alloy version of the application. Its project structure looks like this:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/08-directory-structure.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/08-directory-structure.png" alt="Project Structure" width="253" height="459" style="max-width: 100%; height: auto;"></a><br><em>Project Structure</em></p>
    <p>A project is a collection of XML, TSS (we’ll get to these later) and JavaScript files, along with any graphic assets required for the application. When the project is compiled for a platform, the compiler translates the XML and TSS files into JavaScript code and packages the code, along with the graphic assets, into a deployment package for the relevant mobile platform. The XML and TSS files are not interpreted at runtime; they’re there simply to save you the tedium of writing a lot of code for the layout and styles of the controls. Titanium’s documentation shows <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Concepts-section-34636240_AlloyConcepts-AlloyandtheTitaniumSDK" rel="nofollow external" class="bo">how the XML and TSS are mapped</a> to JavaScript. If you’re familiar with Adobe Flex development, the XML files are handled much like MXML files.</p>
    <p>Every project starts off with an <code>index.xml</code> file, which serves as the starting point of the application. Upon opening the <code>index.xml</code> file in the <code>views</code> directory, we see the following:</p>
    <pre><code>&lt;Alloy&gt;&#x000A;    	&lt;Require id="calculator" src="calculator" platform="android"/&gt;&#x000A;    	&lt;NavigationWindow id="index" platform="ios"&gt;&#x000A;    		&lt;Require src="calculator" id="calculator"/&gt;&#x000A;    	&lt;/NavigationWindow&gt;&#x000A;    &lt;/Alloy&gt;</code></pre>
    <p>This markup tells the compiler to load the contents of <code>calculator.xml</code> into the main window. Note the <code>platform="android"</code> attribute; every element in Alloy may be <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_XML_Markup-section-35621528_AlloyXMLMarkup-ConditionalCode" rel="nofollow external" class="bo">decorated with a <code>platform</code> and/or <code>formFactor</code> attribute</a> to indicate that the element is meant for a particular platform (Android, iOS, etc.) or form factor (handheld or tablet).</p>
    <p>After the <code>Require</code> element for Android, we see the same <code>Require</code> element but wrapped in a <a href="http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.iOS.NavigationWindow" rel="nofollow external" class="bo">NavigationWindow</a> element. As mentioned, Android and iOS have different mechanisms for moving the user between screens. In this case, <code>NavigationWindow</code> corresponds to the <code>UINavigationController</code> that we used to build our native iOS application. Android does not have a corresponding navigation element, and so navigation is handled differently. Titanium’s SDK exposes both forms of navigation to the developer, rather than attempting to abstract the differences via some lowest-common-denominator approach. This provides more direct access to the native controls but requires the developer to deal with these differences. As a result, in several places in our code, we’ll have to account for the requirements of each platform.</p>
    <p>For each view, we have a corresponding controller file. Here are the contents of <code>index.js</code>:</p>
    <pre><code>if (OS_IOS) {&#x000A;    	Alloy.Globals.navgroup = $.index;&#x000A;    }&#x000A;    &#x000A;    if (OS_ANDROID) {&#x000A;    	$.calculator.getView().open();&#x000A;    } else {&#x000A;    	$.index.open();&#x000A;    }</code></pre>
    <p>This file begins with some code that checks <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Controllers-section-34636384_AlloyControllers-ConditionalCode" rel="nofollow external" class="bo">special variables</a> provided by Alloy to indicate the platform on which the application is running. For iOS, we assign a reference to the <code>NavigationWindow</code> object onto the <code>Alloy.Globals</code> object. <code>Alloy.Globals</code> is simply a common namespace where you can store objects that can be accessed anywhere in the application. In this case, we’re storing a reference to <code>NavigationWindow</code> so that we can access it anywhere in the app. The last section of code opens the controller that will display the main calculator view. For Android, we’ll open the view on the controller directly. For iOS, the view is in <code>NavigationWindow</code>, so we need to open <code>NavigationWindow</code> instead.</p>
    <h3>Defining The UI</h3>
    <p>On the first screen of our application, the UI is defined by the <code>views/calculator.xml</code> file. It contains elements to describe each <code>TextField</code>, <code>Button</code>, <code>Label</code> and so on on the screen.</p>
    <pre><code>&lt;Alloy&gt;&#x000A;    	&lt;Window title="Alloy FasTip" backgroundColor="#fff"&gt;&#x000A;    		&lt;!-- Android menu --&gt;&#x000A;    		&lt;Menu platform="android"&gt;&#x000A;    			&lt;MenuItem&#x000A;    					onClick = "clickedSettings"&#x000A;    					title = "Settings"&#x000A;    					icon = "Ti.Android.R.drawable.ic_menu_preferences"&#x000A;    					showAsAction = "Ti.Android.SHOW_AS_ACTION_IF_ROOM" /&gt;&#x000A;    		&lt;/Menu&gt;&#x000A;    &#x000A;    		&lt;!-- rightNavButton for platforms that support it --&gt;&#x000A;    		&lt;RightNavButton platform="ios"&gt;&#x000A;    			&lt;Button id="settingsButton"&#x000A;    					onClick="clickedSettings"&#x000A;    					title="Settings" /&gt;&#x000A;    		&lt;/RightNavButton&gt;&#x000A;    &#x000A;    		&lt;TextField id="billAmtTextField"&#x000A;    					top="40"&#x000A;    					width="146"&#x000A;    					height="35"&#x000A;    					textAlign="right"&#x000A;    					hintText="Bill amount"&#x000A;    					keyboardType="Ti.UI.KEYBOARD_DECIMAL_PAD"&#x000A;    					returnKeyType="Ti.UI.RETURNKEY_DONE" /&gt;&#x000A;    &#x000A;    		&lt;Button id='calcTipButton'&#x000A;    				onClick="clickedCalculate"&#x000A;    				title="Calculate Tip"&#x000A;    				top="100" width="122"&#x000A;    				class="primaryButton" /&gt;&#x000A;    &#x000A;    		&lt;View top="170" width="Ti.UI.SIZE" height="Ti.UI.SIZE"&gt;&#x000A;    			&lt;Label left="13" width="124"&#x000A;    					top="0"&#x000A;    					textAlign="Ti.UI.TEXT_ALIGNMENT_RIGHT"&gt;&#x000A;    				Tip Amount:&#x000A;    			&lt;/Label&gt;&#x000A;    			&lt;Label id="tipAmtLabel" left="130"&#x000A;    					top="0" width="80"&#x000A;    					textAlign="Ti.UI.TEXT_ALIGNMENT_RIGHT"&gt;&#x000A;    				$0.00&#x000A;    			&lt;/Label&gt;&#x000A;    			&lt;Label left="13" width="124" top="30"&#x000A;    					textAlign="Ti.UI.TEXT_ALIGNMENT_RIGHT"&#x000A;    					class="totalAmt"&gt;&#x000A;    				Total Amount:&#x000A;    			&lt;/Label&gt;&#x000A;    			&lt;Label id="totalAmtLabel" left="130"&#x000A;    					top="30" width="80"&#x000A;    					textAlign="Ti.UI.TEXT_ALIGNMENT_RIGHT"&#x000A;    					class="totalAmt"&gt;&#x000A;    				$0.00&#x000A;    			&lt;/Label&gt;&#x000A;    		&lt;/View&gt;&#x000A;    	&lt;/Window&gt;&#x000A;    &lt;/Alloy&gt;</code></pre>
    <p>At the top of the file, we run into another difference between platforms. Android supports menus that, as we saw in the article on native Android, appear in the action bar on Android 4.x devices. This menu element describes a single menu option on this screen, the settings wrench.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/09-android-actionbar.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/09-android-actionbar.png" alt="Android Action Bar." width="487" height="75" style="max-width: 100%; height: auto;"></a><br><em>Android Action Bar.</em></p>
    <pre><code>&lt;!-- Android menu --&gt;&#x000A;    &lt;Menu&gt;&#x000A;    	&lt;MenuItem&#x000A;    			onClick = "clickedSettings"&#x000A;    			title = "Settings"&#x000A;    			icon = Ti.Android.R.drawable.ic_menu_preferences&#x000A;    			showAsAction = Ti.Android.SHOW_AS_ACTION_IF_ROOM /&gt;&#x000A;    &lt;/Menu&gt;</code></pre>
    <p>The menu element applies only to Android, so decorating this with a platform-specific attribute, such as <code>platform="android"</code>, is not necessary. In iOS, this element will be ignored by the Alloy compiler.</p>
    <p>To make the settings button appear in iOS, we need to add it to the iOS navigation controller’s button bar. This is accomplished with the following element, with an attribute that restricts it to iOS (<code>platform="ios"</code>):</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/10-ios-navcontroller.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/10-ios-navcontroller-500.png" alt="iAndroid Navigation Controller" width="300" height="59" style="max-width: 100%; height: auto;"></a><br><em>Android Navigation Controller</em></p>
    <pre><code>&lt;RightNavButton platform="ios"&gt;&#x000A;    	&lt;Button id="settingsButton" onClick="clickedSettings"&#x000A;    			systemButton="Titanium.UI.iPhone.SystemButton.COMPOSE" /&gt;&#x000A;    &lt;/RightNavButton&gt;</code></pre>
    <p>The <code>systemButton</code> attribute in the <code>Button</code> element above identifies one of iOS’ standard button styles. You could, of course, remove it and supply a text title or other suitable image if you desire.</p>
    <p>Notice that in both cases, the menu item and the navigation button invoke the same function via the <code>onClick</code> attribute. The code for this screen is controlled by a JavaScript file with the same name as the <code>.xml</code> file. The Alloy framework refers to this as a controller, and by convention it is found in the <code>controllers/calculator.js</code> file. Alloy follows a <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Concepts-section-34636240_AlloyConcepts-ConventionoverConfiguration" rel="nofollow external" class="bo">set of conventions</a> that govern where all files are located in the directory structure and how they relate to each other.</p>
    <p>The first function in our <code>calculator.js</code> file handles the click event when the user taps the “Calculate tip” button:</p>
    <pre><code>function clickedCalculate(e) {&#x000A;    	var tipPct = Ti.App.Properties.getDouble('tipPct', .15);&#x000A;    	var billAmt = parseFloat($.billAmtTextField.value) || 0;&#x000A;    	var tipAmt = billAmt * tipPct;&#x000A;    	var totalAmt = billAmt + tipAmt;&#x000A;    	$.tipAmtLabel.text = '$' + tipAmt.toFixed(2);&#x000A;    	$.totalAmtLabel.text = '$' + totalAmt.toFixed(2);&#x000A;    	$.billAmtTextField.blur();&#x000A;    }&#x000A;    &#x000A;    Ti.App.addEventListener('recalc', clickedCalculate);</code></pre>
    <p>To calculate the tip, we first attempt to retrieve the default tip percentage from <code>Ti.App.Properties</code>. This object is much like the objects we’ve used in the other three implementations: <code>NSUserDefaults</code> in iOS, <code>SharedPreferences</code> in Android and <code>LocalStorage</code> in PhoneGap. The controls that we defined in the <code>calculator.xml</code> file become properties in this controller, and we can reference them by using the <code>$.&lt;controlId&gt;</code> format. The calculation itself is very much like the code we used for PhoneGap — after all, this is still JavaScript.</p>
    <p>In the <code>calculator.js</code> controller, we’ve also added an event listener via the <code>Ti.App.addEventListener</code> method. This enables our code to respond to events that occur elsewhere in the application. In this case, we’ll fire the <code>recalc</code> event from the settings screen when the user exits the window. This way, the calculator will always be up to date with the latest tip percentage. As we’ll soon see, the settings screen does not contain a direct reference to the calculator, so it cannot invoke methods on it directly. Using event listeners in this manner is a good way to decouple the controllers in our application, allowing them to continue communicating but without direct references to each other. These events come with some performance overhead, so use a direct callback if they’re going to fire in rapid succession.</p>
    <h3>Navigating Between Screens: Dealing With Platform Differences</h3>
    <p>The following code is run when the user clicks the “Settings” button:</p>
    <pre><code>function clickedSettings(e) {&#x000A;    	var settingsController = Alloy.createController('settings');&#x000A;    	var win = settingsController.getView();&#x000A;    &#x000A;    	if (Alloy.Globals.navgroup) {&#x000A;    		Alloy.Globals.navgroup.openWindow(win);&#x000A;    	} else if (OS_ANDROID) {&#x000A;    		win.open();&#x000A;    	}&#x000A;    }</code></pre>
    <p>As soon as the user clicks the “Settings” button in the calculator view, the <code>clickedSettings</code> method on the calculator’s controller is invoked. Here, we create an instance of <code>settingsController</code> and get a reference to its view. The <code>Alloy.Globals</code> object is then checked for whether it contains a <code>navgroup</code> reference. Recall that this was established for iOS applications in the <code>index.js</code> file when our app first launched. Now we can use that <code>navgroup</code> to open the settings window. Android has no <code>navgroup</code> object, so we would just open the window directly.</p>
    <h3>The Settings Screen</h3>
    <p>The settings screen is defined in <code>settings.xml</code>, and its content is very similar to what we saw in <code>calculator.xml</code>:</p>
    <pre><code>&lt;Alloy&gt;&#x000A;    	&lt;Window title="Settings" backgroundColor="#fff"&gt;&#x000A;    		&lt;!-- Android menu --&gt;&#x000A;    		&lt;Menu platform="android"&gt;&#x000A;    			&lt;MenuItem&#x000A;    					onClick="clickedDone"&#x000A;    					title="Done"&#x000A;    					icon = "Ti.Android.R.drawable.ic_menu_save"&#x000A;    					showAsAction = "Ti.Android.SHOW_AS_ACTION_IF_ROOM" /&gt;&#x000A;    		&lt;/Menu&gt;&#x000A;    &#x000A;    		&lt;Label top="35"&gt;Set tip percentage&lt;/Label&gt;&#x000A;    &#x000A;    		&lt;TextField id="tipPctTextField"&#x000A;    					top="72"&#x000A;    					width="60"&#x000A;    					height="35"&#x000A;    					textAlign="right"&#x000A;    					hintText="Tip %"&#x000A;    					keyboardType="Ti.UI.KEYBOARD_DECIMAL_PAD"&#x000A;    					returnKeyType="Ti.UI.RETURNKEY_DONE"&#x000A;    				&gt;&lt;/TextField&gt;&#x000A;    		&lt;Label top="72" left="195"&gt;%&lt;/Label&gt;&#x000A;    &#x000A;    		&lt;Button id='saveButton'&#x000A;    				onClick="clickedSave"&#x000A;    				title="Save Settings"&#x000A;    				top="120" width="130"&#x000A;    				class="primaryButton" &gt;&lt;/Button&gt;&#x000A;    	&lt;/Window&gt;&#x000A;    &lt;/Alloy&gt;</code></pre>
    <p>Just as with the calculator view, there are two different approaches to including a button in the action bar (in Android) or the navigation bar (in iOS). The “Done” button and “Save” button are wired to the relevant controller methods, as we’ll see next.</p>
    <p>Upon the “Save” button being clicked, the following code is run in <code>settings.js</code>:</p>
    <pre><code>var tipPct = parseFloat( $.tipPctTextField.value );&#x000A;    if (tipPct &gt; 0) {&#x000A;    	// Persist the new percentage value&#x000A;    	Ti.App.Properties.setDouble('tipPct', tipPct / 100);&#x000A;    	Ti.API.log('info', 'Settings saved');&#x000A;    	closeSettings();&#x000A;    } else {&#x000A;    	var dialog = Ti.UI.createAlertDialog({&#x000A;    				message: 'Enter a tip percentage greater than zero',&#x000A;    			ok: 'Try again',&#x000A;    			title: 'Invalid percentage'&#x000A;    			}).show();&#x000A;    }</code></pre>
    <p>To preserve the value of the tip percentage for future use, we use <code>Ti.App.Properties.setDouble</code>, which will persist the value between runs of our application. For debugging purposes, we’ll also log a message via <code>Ti.API.log</code>, which will write a message to the device log. This is essentially the same as writing a message to <code>console.log()</code> in a browser.</p>
    <p>The next important section of code deals with how the window is closed:</p>
    <pre><code>function closeSettings() {&#x000A;    	Ti.App.fireEvent("recalc");&#x000A;    	var settingsWindow = $.getView();&#x000A;    	if (Alloy.Globals.navgroup) {&#x000A;    		Alloy.Globals.navgroup.closeWindow(settingsWindow, {animated:true});&#x000A;    	} else {&#x000A;    		settingsWindow.close();&#x000A;    	}&#x000A;    }</code></pre>
    <p>In this case, first, we’ll fire the <code>recalc</code> event that we established a listener for in the calculator controller earlier on. This will trigger the calculator to apply the new percentage value when the user leaves this screen. Just as we saw with opening the settings window, some platform-specific code is needed when the window is closed. The <code>Alloy.Globals</code> namespace is checked once again to see whether there is a <code>navgroup</code> for iOS. If so, we use it to close the window. On Android, we can close the window directly. Upon closing this window, the user will return to the previous calculator window and, because we’ve fired the <code>recalc</code> event, will see the tip calculation updated to reflect the newly saved percentage.</p>
    <h3>Styling Our Application</h3>
    <p>In the past, Appcelerator required the developer to programmatically define each control and its attributes. This was tiresome if you wished to change the style of an application. You might have needed to go back and change a lot of code. With the Alloy framework, Appcelerator has added <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Styles_and_Themes-section-35621526_AlloyStylesandThemes-TitaniumStyleSheets" rel="nofollow external" class="bo">Titanium style sheets</a> (TSS). These work much like CSS in Web development. Each view and controller in an application has a corresponding TSS file, which allows you to adjust the style for that view in the application. In addition, the <code>app.tss</code> file governs the overall style of the whole application, allowing us to style the controls in all views of the application. The <code>app.tss</code> file is ideal for establishing consistency across views in an application. Here is the <code>app.tss</code> code for our application:</p>
    <pre><code>"Window": {&#x000A;    	backgroundColor:"#fff"&#x000A;    }&#x000A;    &#x000A;    "Window[platform=android]": {&#x000A;    	navBarHidden: true&#x000A;    }&#x000A;    &#x000A;    "Label": {&#x000A;    	width: Ti.UI.SIZE,&#x000A;    	height: Ti.UI.SIZE,&#x000A;    	color: "#000"&#x000A;    }&#x000A;    &#x000A;    "TextField": {&#x000A;    	color: "#000"&#x000A;    }&#x000A;    &#x000A;    "TextField[platform=ios]": {&#x000A;    	paddingLeft:10,&#x000A;    	paddingRight:10,&#x000A;    	borderColor:"#000",&#x000A;    	borderRadius: "10",&#x000A;    	borderWidth: "1"&#x000A;    }&#x000A;    &#x000A;    "Button": {&#x000A;    	width: Ti.UI.SIZE,&#x000A;    	height: Ti.UI.SIZE,&#x000A;    	borderRadius: 15&#x000A;    }&#x000A;    &#x000A;    ".primaryButton": {&#x000A;    	backgroundColor: '#3883B5',&#x000A;    	color: '#fff'&#x000A;    }</code></pre>
    <p>The TSS entries above may be applied to Alloy elements such as the <code>Window</code> and <code>TextField</code> objects. They may also be applied to specific controls, via a <code>class</code> attribute that works just like the <code>class</code> attribute in HTML. Recall that a “Calculate tip” button was in our <code>calculator.xml</code> file:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/11-calctip-button.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/11-calctip-button.png" alt="“Calculate tip” button" width="249" height="63" style="max-width: 100%; height: auto;"></a><br><em>“Calculate tip” button</em></p>
    <pre><code>&lt;Button id='calcTipButton' onClick="clickedCalculate"&#x000A;    		title="Calculate Tip"&#x000A;    		top="100" width="122"&#x000A;    		class="primaryButton" &gt;&#x000A;    &lt;/Button&gt;</code></pre>
    <p>This button has a class of <code>primaryButton</code>, which maps to the style defined in <code>app.tss</code>:</p>
    <pre><code>".primaryButton": {&#x000A;    	backgroundColor: '#3883B5',&#x000A;    	color: '#fff'&#x000A;    }</code></pre>
    <p>We’ve used the same class name for the “Save settings” button on the settings screen, and it will receive the same styles. In addition, the “Calculate tip” button has rounded corners because we’ve styled all of the buttons in our application to look so:</p>
    <pre><code>"Button": {&#x000A;    	width: Ti.UI.SIZE,&#x000A;    	height: Ti.UI.SIZE,&#x000A;    	borderRadius: 15&#x000A;    }</code></pre>
    <p>You may also specify styles based on platform. This TSS code applies only to <code>TextFields</code> in iOS:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/12-bill-amount.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/12-bill-amount.png" alt="“Bill amount” button" width="300" height="78" style="max-width: 100%; height: auto;"></a><br><em>“Bill amount” button</em></p>
    <pre><code>&#x000A;    "TextField[platform=ios]": {&#x000A;    	paddingLeft:10,&#x000A;    	paddingRight:10,&#x000A;    	borderColor:"#000",&#x000A;    	borderRadius: "10",&#x000A;    	borderWidth: "1"&#x000A;    }</code></pre>
    <p>Alloy also allows you to create platform-specific folder names under the <code>styles</code> directory and obtain styles that way as well. In addition, you can create <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Styles_and_Themes-section-35621526_AlloyStylesandThemes-Themes" rel="nofollow external" class="bo">themes</a> to apply different assets and styles based on the configuration of a particular build. Using a theme, you could load an entirely different set of assets, which would be useful if you’re working with different branding requirements from multiple clients.</p>
    <h3>Other Alloy Features</h3>
    <p>Our simple application does not require several of Alloy’s other features, such as <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Models" rel="nofollow external" class="bo">models</a> and <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Collection_and_Model_Objects-section-36739589_AlloyCollectionandModelObjects-Collections" rel="nofollow external" class="bo">collections</a>. These features were actually drawn from the popular <a href="http://backbonejs.org/" rel="nofollow external" class="bo">Backbone.js</a> library, which should make them familiar to many JavaScript developers. In addition, you can reuse visual components across applications with <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Widgets" rel="nofollow external" class="bo">widgets</a>. A widget is self-contained and provides its own set of models, views and controllers, allowing it to be dropped into multiple applications.</p>
    <h3>Classic Appcelerator Applications</h3>
    <p>In the GitHub repository, I’ve included sample code for our FasTip application written in the Classic development style. We won’t go through all of the code here — just a few highlights to show how this approach differs from Alloy. For most projects, I’d recommend using Alloy. However, note that Alloy essentially creates a Classic Appcelerator application from your Alloy code. Understanding traditional Appcelerator development is important if you want to dynamically add or remove controls at runtime.</p>
    <p>When a Titanium application starts, it runs the contents of the <code>app.js</code> file. In FasTip, we’re largely relying on the same <code>app.js</code> file that is created when a new project is initialized in Titanium Studio. Note that the following code identifies which platform the app is running on:</p>
    <pre><code>(function() {&#x000A;    	// Determine platform and form factor and render appropriate components&#x000A;    	var osname = Ti.Platform.osname,&#x000A;    		version = Ti.Platform.version,&#x000A;    		height = Ti.Platform.displayCaps.platformHeight,&#x000A;    		width = Ti.Platform.displayCaps.platformWidth;&#x000A;    &#x000A;    	var isTablet = osname === 'ipad' ||&#x000A;    		(osname === 'android' &amp;&amp; (width &gt; 899 || height &gt; 899));</code></pre>
    <p>The <code>Ti.Platform.osname</code> property provides the main clue as to whether we are running on an iPad, iPhone or Android device. You can see from this code that by using data provided by Ti.Platform, we can assume some things about the type of device that the app is running on. We saw the <code>Require</code> element used in Alloy to load one controller into another. Here’s an example done in straight code:</p>
    <pre><code>if (osname === 'iphone') {&#x000A;    Window = require('ui/handheld/ios/ApplicationWindow');&#x000A;    } else {&#x000A;    	Window = require('ui/handheld/android/ApplicationWindow');&#x000A;    }&#x000A;    new Window().open();</code></pre>
    <p>Notice that the code snippet above loads a particular version of the <code>ApplicationWindow.js</code> script based on the value of <code>platform</code>.</p>
    <p>The following is a block of code to add some controls to a window. It shows how controls may be created programmatically without the use of Alloy.</p>
    <pre><code>var isAndroid = (Ti.Platform.osname === 'android');&#x000A;    &#x000A;    var billAmtTextField = Ti.UI.createTextField({&#x000A;    	id: 'billAmtTextField',&#x000A;    	borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,&#x000A;    	keyboardType: Ti.UI.KEYBOARD_DECIMAL_PAD,&#x000A;    	returnKeyType: Ti.UI.RETURNKEY_DONE,&#x000A;    	hintText:'Bill amount',&#x000A;    	textAlign: Ti.UI.TEXT_ALIGNMENT_RIGHT,&#x000A;    	top:40,&#x000A;    	width:'146dp', height: '35dp',&#x000A;    	color:'#000'&#x000A;    });&#x000A;    if (isAndroid) {&#x000A;    	billAmtTextField.font = {fontSize: '12dp'};&#x000A;    }&#x000A;    self.add(billAmtTextField);&#x000A;    &#x000A;    var calcBillButton = Ti.UI.createButton( {&#x000A;    	title: 'Calculate Tip',&#x000A;    	top:100,&#x000A;    	width:'122dp', height: '30dp',&#x000A;    	color:'#000'&#x000A;    });&#x000A;    if (isAndroid) {&#x000A;    	calcBillButton.font = {fontSize: '10dp'};&#x000A;    }&#x000A;    self.add(calcBillButton);</code></pre>
    <p>The <code>self</code> object above refers to the window, and <code>self.add()</code> is used to add each of the controls to the window. Specifying all of these attributes for every control that you add of a given type is tedious. Moreover, keeping the styles consistent in an app is difficult without the help of TSS style sheets, as in our Alloy example. In practice, if you do not use Alloy, then building controls from a JavaScript “factory pattern” would be better than calling the <code>Ti.UI.create</code> methods directly. This way, you would only have to change the factory methods to generate controls with different attributes.</p>
    <h3>Extending Titanium With Modules</h3>
    <p>While Titanium does a great job of providing much of the common functionality found in the mobile platforms that it supports, what if you need to access device features that are not directly offered by Titanium? In PhoneGap, the plugin system provides this capability. Titanium offers a similar system, called <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Using_Modules" rel="nofollow external" class="bo">modules</a>, which enable your Titanium application to access native code. The <a href="https://marketplace.appcelerator.com/home" rel="nofollow external" class="bo">Appcelerator Marketplace</a> is a registry of both free and paid modules. In addition, a <a href="https://github.com/appcelerator/titanium_modules" rel="nofollow external" class="bo">GitHub repository</a> contains free open-source modules. You could, of course, <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Extending_Titanium_Mobile" rel="nofollow external" class="bo">write your own</a> modules, too.</p>
    <h3>Deploying Your Application</h3>
    <p>Titanium Studio has a “Publish” option in the project explorer. Just right-click on the project and choose the appropriate publishing option:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/13-publish-app-step1.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/13-publish-app-step1-500.png" alt="Publish your Application, Step 1." width="500" height="219" style="max-width: 100%; height: auto;"></a><br><em>Publish your Application, Step 1. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/13-publish-app-step1.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p>As with any other development tool, you still need an account in the relevant app store to sell your application. Once you’ve chosen an option, the publishing dialogs will walk you through the process of signing the code and submitting it:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/14-publish-app-step2.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/03/14-publish-app-step2.png" alt="Publish your Application, Step 2." width="498" height="511" style="max-width: 100%; height: auto;"></a><br><em>Publish your Application, Step 2. (<a href="http://media.smashingmagazine.com/wp-content/uploads/2014/03/14-publish-app-step2.png" rel="nofollow external" class="bo">Large preview</a>)</em></p>
    <p>It’s convenient that this is built right into the Studio IDE, and the dialogs do a good job of walking you through the process. Titanium Studio’s documentation provides <a href="http://docs.appcelerator.com/platform/latest/#!/guide/Packaging_Titanium_Applications" rel="nofollow external" class="bo">more details</a> on the publishing process.</p>
    <h3>Appcelerator Cloud Services</h3>
    <p>While not the focus of this article, I should mention <a href="http://www.appcelerator.com/cloud/" rel="nofollow external" class="bo">Appcelerator’s Cloud Services</a> (ACS). These services are a separate offering from Titanium. They are server-based back-end services that can be used to store data for an application. At present, the <a href="http://www.appcelerator.com/cloud/key-features/" rel="nofollow external" class="bo">services vary</a> from photo storage to access control. Titanium exposes these services in the following ways:</p>
    <ul>
    <li>in Titanium via a <a href="http://docs.appcelerator.com/cloud/latest/#!/guide/titanium" rel="nofollow external" class="bo">Ti.Cloud module</a>,</li>
    <li>via a native <a href="http://docs.appcelerator.com/cloud/latest/#!/guide/ios" rel="nofollow external" class="bo">iOS</a> library,</li>
    <li>via a native <a href="http://docs.appcelerator.com/cloud/latest/#!/guide/android" rel="nofollow external" class="bo">Android</a> library,</li>
    <li>via a <a href="http://docs.appcelerator.com/cloud/latest/#!/guide/rest" rel="nofollow external" class="bo">REST-based API</a> for access from other platforms.</li>
    </ul>
    <p>A recent addition is <a href="http://docs.appcelerator.com/cloud/latest/#!/guide/node" rel="nofollow external" class="bo">Node.ACS</a>, which enables you to write custom <a href="http://nodejs.org/" rel="nofollow external" class="bo">NodeJS</a> server-side applications. This is useful for encapsulating custom business logic on the server side. There are certainly alternatives to ACS, including <a href="https://parse.com/" rel="nofollow external" class="bo">Parse</a> and <a href="https://www.stackmob.com/" rel="nofollow external" class="bo">StackMob</a>, but they don’t have the same level of integration with Appcelerator.</p>
    <h3>Learning Resources</h3>
    <p>A series of <a href="http://bit.ly/TYZEGq" rel="nofollow external" class="bo">tutorials</a> are available to get you up to speed. Appcelerator offers a page of <a href="http://training.appcelerator.com/training-resources" rel="nofollow external" class="bo">training resources</a>, with many links on how to get started. It also offers a paid <a href="http://training.appcelerator.com/" rel="nofollow external" class="bo">training</a> and <a href="http://training.appcelerator.com/get-certified" rel="nofollow external" class="bo">certification</a> program for those who are interested in building skills in this way. The <a href="http://www.appcelerator.com/blog/" rel="nofollow external" class="bo">official blog</a> is also a good way to stay up to date on the latest news about the platform.</p>
    <p>In addition to Appcelerator-supplied resources, <a href="http://www.tidev.io/" rel="nofollow external" class="bo">TiDev</a> is an independent resource for Titanium-related articles. Another repository of Titanium modules resides at <a href="http://gitt.io/" rel="nofollow external" class="bo">gitTio</a>, and Alloy-related components can be found at <a href="http://alloylove.com" rel="nofollow external" class="bo">Alloy Love</a></p>
    <h3>Appcelerator Titanium: Right For Your Project?</h3>
    <p>Like most tools, this one has its pros and cons. The promise of cross-platform development, with better user experience (UX) performance than an HTML-based solution like PhoneGap, is certainly attractive. However, as we’ve seen from the examples above, the framework cannot fully abstract all of the differences between platforms and still provide a native-like experience. As such, you’ll likely find yourself tailoring the view and controller code in your application to each platform.</p>
    <p>Because they’re still writing the platform-specific code with Appcelerator’s API, a developer would find it much easier to leverage their skills across multiple platforms — they’d still be writing everything in JavaScript. For non-visual portions of an application, doing things like making AJAX calls from an Appcelerator app is quite simple, and unlike the fully native platforms, the JSON responses from typical REST-based services are directly understood by JavaScript. The native platforms require you to use a JSON parser to transform the REST responses into something that the native language can work with. Even if you wind up splitting the code for the Android and iOS views in your application, you would likely have to write the data model and business logic code only once. This single base of code could then be accessed from the platform-specific views in your application.</p>
    <p>As with any tool from a third-party vendor, there may be some lag before a platform’s new features become available in Appcelerator’s platform. The development team at Appcelerator doesn’t get access to betas of the iOS and Android SDKs any earlier than other developers, so it will take time for a platform’s new features to get added to the product. If you need access to cutting-edge features as soon as they’re released in beta, then you’re better off with a purely native approach. Still, Appcelerator is generally proactive in making its tools compatible with the latest SDK releases, enabling developers to update their apps soon after a new version of a platform has been made available to the general public. Answers to most support-related questions can be found in Appcelerator’s own forums. By contrast, questions relating to fully native development and to PhoneGap are more widely covered on third-party websites such as StackOverflow.</p>
    <h3>Series Summary</h3>
    <p>We’ve seen how four different mobile technologies can be used to build the same application. A native application generally performs the best and provides the best access to a platform’s capabilities. Despite this, many enterprises are looking for solutions that run on multiple platforms.</p>
    <p>PhoneGap is quite attractive to developers who have a strong background in HTML, CSS and JavaScript. It also offers a wide range of platform support, well beyond iOS and Android. As rendering performance and HTML5 compatibility improve on mobile devices, the gap in performance between native code and HTML narrows. Despite this, a UI implemented entirely in HTML and CSS might not be suitable for applications that are complex and have many animations. Still, in many cases, a properly written PhoneGap app provides a satisfying UX. The application’s UX designer and developer should work with the capabilities and limitations of the HTML5 platform, rather than try to force fit what could be accomplished in a purely native application.</p>
    <p>Appcelerator requires the developer to learn its own API for UI controls — using, however, the native controls found on the platform. While the controls themselves will perform just as a native application’s would, all of the application logic will be running through a JavaScript engine. Thus, if the application performs a significant amount of calculations and data manipulation, then the performance would not match that of a truly native application. Moreover, Titanium abstracts the standard native controls into its own objects, meaning that not every property of the native controls would necessarily be exposed through Titanium. You could, of course, create modules to address this, but that would require additional effort. Depending on the number of modules necessary, the advantages of going with Titanium to begin with might be negated.</p>
    <p>Your choice of development environment will depend largely on these factors:</p>
    <ul>
    <li>
    <strong>Functional and UX requirements</strong><br>
    As stated above, some types of applications require native development. If you are competing with a number of native apps in the app store, then you might have to build a native app as well, just to match or exceed the UX of the competing applications. Perhaps you need access to a feature in the latest version of the operating system, one not yet supported by PhoneGap or Titanium. Working around this with the relevant plugin or module in PhoneGap or Titanium might be possible. But this assumes that a plugin exists or that you have enough experience in the native environment to write the plugin yourself.</li>
    <li>
    <strong>Experience of the development team</strong><br>
    Many people are interested in PhoneGap or Appcelerator because they want to avoid learning a new language and platform. However, one still has to understand plenty of nuances in developing for the mobile Web (in the case of PhoneGap) or for Titanium. While you might not have to learn a new language, you will certainly have to learn new APIs and have at least some knowledge of the underlying platform. For instance, with PhoneGap, one needs to be aware of the limitations of animation performance (particularly in old versions of Android), the responsiveness of touch events and so on. Poor performance in PhoneGap applications is often the result of developers not paying attention to these issues. Developers must learn to respect the conventions of the platform on which their app will run or risk frustrating end users. Remember that these are mobile apps, not Web apps or desktop apps. The techniques for developing Web or desktop applications do not necessarily hold true for mobile applications.</li>
    <li>
    <strong>Long-term maintenance</strong><br>
    Over time, an application will likely need changes. Do you have resources available in the given development technology to perform this maintenance? Are Appcelerator Titanium developers any more readily available than native developers or HTML5 developers conversant with PhoneGap?</li>
    </ul>
    <p>We are fortunate to have several options for developing mobile applications. This overview has presented only four solutions. Other tools exist, such as <a href="http://xamarin.com/" rel="nofollow external" class="bo">Xamarin</a>’s products, which enable developers to write iOS, Android and Windows applications with .NET tools and C#. Developers of gaming applications might want to look at <a href="http://www.coronalabs.com/products/corona-sdk/" rel="nofollow external" class="bo">Corona SDK</a>. Or perhaps you don’t need an app at all. If the browser’s capabilities would suffice, then a mobile website might be appropriate.</p>
    <p>Hopefully, this series has provided insight into some of the options available for building an application. Here’s wishing you well with whatever development platform you find best meets your needs.</p>
    <p><em>(al, ml)</em></p>
    <hr>
    <p><small>© Peter Traeg for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2014.</small></p>
    </div>
]]>
</Body>
<Summary>        This article is the last in a series of articles covering four ways to develop a mobile application. In previous articles, we covered how to build a tip calculator in native iOS, native...</Summary>
<Website>http://www.smashingmagazine.com/2014/03/10/four-ways-to-build-a-mobile-application-part-4-appcelerator-titanium/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42236/guest@my.umbc.edu/5dcf205c591d64583460154f9107809b/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mobile</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 07:33:23 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="42239" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42239">
<Title>DealBook: China&#8217;s Tencent to Buy Stake in JD.com as Part of E-Commerce Push</Title>
<Body>
<![CDATA[
    <div class="html-content">The Internet company said it would pay $215 million for a 15 percent stake in JD.com as the two firms seek to challenge the dominance of Alibaba, China’s largest e-commerce company.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2014%2F03%2F09%2Fchinas-tencent-to-buy-stake-in-jd-com-as-part-of-e-commerce-push%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+China%E2%80%99s+Tencent+to+Buy+Stake+in+JD.com+as+Part+of+E-Commerce+Push" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2014%2F03%2F09%2Fchinas-tencent-to-buy-stake-in-jd-com-as-part-of-e-commerce-push%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+China%E2%80%99s+Tencent+to+Buy+Stake+in+JD.com+as+Part+of+E-Commerce+Push" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2014%2F03%2F09%2Fchinas-tencent-to-buy-stake-in-jd-com-as-part-of-e-commerce-push%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+China%E2%80%99s+Tencent+to+Buy+Stake+in+JD.com+as+Part+of+E-Commerce+Push" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2014%2F03%2F09%2Fchinas-tencent-to-buy-stake-in-jd-com-as-part-of-e-commerce-push%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+China%E2%80%99s+Tencent+to+Buy+Stake+in+JD.com+as+Part+of+E-Commerce+Push" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2014%2F03%2F09%2Fchinas-tencent-to-buy-stake-in-jd-com-as-part-of-e-commerce-push%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+China%E2%80%99s+Tencent+to+Buy+Stake+in+JD.com+as+Part+of+E-Commerce+Push" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/sc/2/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/sc/2/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/sc/2/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/sc/2/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/sc/2/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/sc/2/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/191801377534/u/0/f/640387/c/34625/s/37ffe726/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The Internet company said it would pay $215 million for a 15 percent stake in JD.com as the two firms seek to challenge the dominance of Alibaba, China’s largest e-commerce company.      </Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/37ffe726/sc/2/l/0Ldealbook0Bnytimes0N0C20A140C0A30C0A90Cchinas0Etencent0Eto0Ebuy0Estake0Ein0Ejd0Ecom0Eas0Epart0Eof0Ee0Ecommerce0Epush0C0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42239/guest@my.umbc.edu/c19fe03c618bcf1bc484f3afa38b0508/api/pixel</TrackingUrl>
<Tag>china</Tag>
<Tag>e-commerce</Tag>
<Tag>jd-com</Tag>
<Tag>ma-jack</Tag>
<Tag>mergers-and-acquisitions</Tag>
<Tag>new</Tag>
<Tag>technology</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 10 Mar 2014 06:03:17 -0400</PostedAt>
</NewsItem>

</News>
