CS595 – A

advertisement
CS595 – APPLICATION DEVELOPMENT FOR MOBILE DEVICES
PROJECT ASSIGNMENT
FINAL REPORT
PRESENTED BY
THE DROID GEEKS

ASHOK KUMAR JONNALAGADDA
R. J. LEWIS III
DESCRIPTION
Team Droid Geeks has assisted the Old Dominion University (ODU) Center for Learning and
Teaching (CLT) in achieving a long-desired goal. We have developed a collaborative, mobile-based
application centered on the faculty and staff of ODU. The application allows the audience to fully
engage CLT tools and resources from a mobile platform. The mobile application we’ve developed has
helped to bring the CLT program into the mobile-age and gives CLT a solid foundation on which to
further develop their mobile-accessible package.
MOTIVATION
CLT has expressed specific interest in having a product such as this. The CLT mission statement
includes goals for the past academic year. Item number five directly calls out their wishes for
integration of mobile devices. The goal reads:
“Share, research, evaluate, demonstrate, and integrate appropriate technologies such as:
o Mobile devices (iPads, iPhones, etc.)
o 3D environments
o Social media applications”
We received verbal confirmation that this same goal had been carried over into the present
academic year and was still strongly desired. Our group, coupled with the first offering of this course,
left us perfectly poised to assist CLT in realizing their goal. Ashok Jonnalagadda has intimate knowledge
of CLT and brought a wealth of information to the team. He understands much of the desire CLT holds
for their mobile application and he understands a good amount of the business logic employed by CLT.
We felt this to be an exciting opportunity to provide a very useful application to the faculty and
staff community of Old Dominion University and one which, at first indirectly, benefits the students.
Personally, we are grateful for the opportunity to provide a professional, desired application to the
university. It is also nice to know that we left something behind which can be further developed and
benefited from; a legacy, so to speak.
2
COMPONENT
The application, titled “Faculty Development,” is comprised of three main intellectual divisions.
These are an events section, a calendar area and a user account area. Support for TeachBank and CLTspecific tutorials was also incorporated.
The events section allows the application user to list, view and subscribe to all available CLT
events. An event represents a lecture or presentation sanctioned by CLT. The event list summary is
searchable and is divided into categories for easy discovery. An event may be selected to display its full
details including the event time and location, the method of delivery, a description of the event and
other pertinent information. The full detail screen provides the user with the ability to email a question
about the event directly to CLT support staff and to add the event to the user’s registration queue.
Once in the registration queue, all events are easily bulk-registered using one button and by providing
confirmation of the intent. Events are easily removed from the registration queue and from the
registered queue (once the user has registered the event).
An application-specific calendar is provided which emulates the native iOS calendar as closely as
possible. The calendar is populated with the available events and events may be viewed directly from
within the calendar. It is not possible to allow the application to directly manipulate the native calendar
and, therefore, we had to create our own. The application provides a synchronization feature which
coordinates scheduled items between the application calendar and the native calendar. This allows the
user to be notified of their registered events via the native calendar.
The user account area, “myDev,” allows the user to review their registered events categorized
as current or future events and as those which have already occurred. Clicking an event in either section
takes the user to a content page for the event. The content page allows the user to play audio streams
or audio/video streams for the event. An in-progress event will take the user to a live feed of the event
and a past event will allow access to recorded content, if available.
CLT provides a service called TeachBank. This service is utilized in support of content availability
for CLT events. TeachBank allows presenters to request a live broadcast and/or recording of their
presentation. They may also utilize the service to request feedback and visit other “classrooms” within
TeachBank. Many of the services provided by TeachBank are requested via form submission. CLT has
asked us to implement the forms into their mobile application. This feature has been incorporated into
the application, albeit there is some work left to be completed.
CLT requested that the application provide access to the CLT tutorials. Currently, this section of
the application simply takes the user to the existing website for CLT tutorials. Future designs will
provide a more native approach to providing the same tutorial content via the mobile device.
3
ASSIGNMENT
The task assignments changed quite a bit over development of the application. This was due to
requests by CLT to add certain functional elements while removing others. We tried our best to stick
with the original plan of attack and simply took on the changes as they were relayed to us. Ashok
worked primarily on the framework of the application and conceptualized the overall design. He also
developed the application calendar and its synchronization feature, produced the TeachBank feature
and worked on the back end (database and PHP database interface). R. J. worked primarily on the event
display and event registration features. He also worked on the stream integration (both audio and
video) and also worked on the back end.
LESSONS LEARNED
One great issue we faced was the inability to directly manipulate the native, iOS calendar from
our application. This is a security feature of iOS which we just weren’t able to implement. As a solution,
we developed an application-specific calendar which very closely resembles the native calendar. The
application calendar allows us to represent available events in a calendar format from which the user
can intuitively view and select events. Registered events, of course, had to be synchronized with the
native calendar and so we developed an automated synchronization feature which allowed us to reflect
these scheduled items on the native calendar of the device.
We expected Single Sign-On (SSO) with Shibboleth to be much more straight-forward than it
was. We failed to realize the security implementations in allowing student developers access to the
Shibboleth SSO system in order to validate authentications. Once we dug into the matter, we could
appreciate the security-mindedness of the Shibboleth administrators, but this caused headache for us as
developers. A formal request from CLT must be made in order to implement the SSO functionality.
Once CLT feels the application is mature enough to release, this request will be made and the SSO
objective can be incorporated into the application.
A final, major lesson learned was, like the SSO issue, more on the project management side of
software development. We began developing features which we felt would be beneficial to the
application, only to find out CLT did not wish for such features to be implemented. We were asked to
withhold the mapping/navigation functionality and the post-and-reply message feature which would
allow collaboration within the CLT network. Luckily we had not yet started the mapping/navigation
section, but we had begun work on the messaging function. This feature was relegated to a simple
“send email” button within the full-details screen of an event as per CLT’s guidelines.
4
FUTURE WORK
As CLT continues to build and grow, we expect them to move much of their content into a
mobile-accessible format. Currently, only a small subset of what CLT offers easily lends itself to mobile
implementation. We are attempting to change this with this first rendition of their application. We
hope to see future versions incorporate bi-directional audio and video feeds from the mobile device.
We’d also like to be able to incorporate the SSO functionality, minimizing the pain of the login and
authentication process. We feel mapping and navigation will be quite handy for the user and hope CLT
will reevaluate their decision in regard to this.
Short-term future work will be to complete the TeachBank interface. We also wish to finalize
the stream access. Currently, this section of the application is being left in a proof-of-concept state
while we await file access from CLT. The tutorial section will also need to be implemented with a more
native approach. We need to obtain guidance from CLT in determining just how they wish to present
the tutorials on the mobile device.
5
Download