You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

GR4 - Computer Prototyping

Platform and software requirements

Although our project is made for the iPad, due to testing constraints, we developed a prototype that runs on Macs. The prototype requires a 64-bit Mac running OS X 10.6 Snow Leopard with a trackpad or a mouse with a scroll wheel. The Macs in the building 26 Athena cluster should run our prototype well.

To start up the prototype, follow the following instructions:

The source code is available here, but it is not needed to run the prototype.

Description of prototype

Look

After doing a final iteration of hand drawings for each window and feature of the application, we spent a lot of time looking at the various details. We expect the look of the final version to be very similar to this prototype, but we will see what feedback we receive!

Some drawing bugs exist in the prototype. For example, opening an album when the view is scrolled down does not animate and draw the background correctly, so only albums at the top of the view open to the correct look. Additionally, some animations are incomplete, and minor details, such as shadows, sizes, and colors, are not yet up to spec. Finally, the Chameleon framework code we used (see Credits) does not implement most iPad widgets, so we wrote very simple and incomplete implementations for some widgets. We will get complete widgets that are up to spec for free when we build PhotoBook with the official iOS SDK.

Feel

Since our application was designed specifically for the iPad, this computer prototype will obviously have a different feel. First, the user must use a mouse instead of a finger to navigate. To scroll, the user must use the trackpad or a mouse with the scroll wheel. There are no draggable scroll bars, since iPad uses a swipe gesture to scroll. Also, multitouch gestures for opening photos, resizing photos, and moving between photos, cannot be implemented in this prototype. Finally, we run the application within a 1024 x 768 window. On the iPad, the application will fill the entire 1024 x 768 screen.

Breadth / Depth

The features required to complete the scenario for GR2 are implemented in this prototype. Here are a few things that are not yet implemented:

  • The Facebook backend is not implemented. Instead, we are including hardcoded photos, albums, and friends.
  • The searching feature is not fully implemented. Entering any names in the search field always finds photos containing "Adam Leonard" and "Debroah Hollo"
  • In GR3, we decided to make the tagged names in the Photos view act as menus with options for searching for photos with those tagged people. This is not needed for the prototype, so it has not yet been implemented.
  • Only the Email sharing option is functional.
  • Some of the widgets are not fully implemented. For example, the search field does not have a cancel button, so the user has to delete the text to clear the search (and return to Albums / People view). We will get fully implemented widgets for free when we use the iPad SDK.
  • Opening a photo in the search results view always opens a single hardcoded photo instead.

Credits

We wanted to get familiar with the iOS SDK and reuse some of the code we wrote for this prototype on the final iPad implementation. So, we used an early open source Mac port of the iOS SDK called Chameleon <http://chameleonproject.org/> by The Icon Factory.

Additionally, to help implement the albums and friends view, we used AQGridView by Alan Quatermain, et al. <https://github.com/AlanQuatermain/AQGridView>. AQGridView provides a UITableView-style view for laying out cells in a grid.

The licenses for these two projects are as follows:

/*
 * Copyright (c) 2011, The Iconfactory. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 *
 * 3. Neither the name of The Iconfactory nor the names of its contributors may
 *    be used to endorse or promote products derived from this software without
 *    specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT,
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/*

 * Copyright (c) 2011, The Iconfactory. All rights reserved.

 *

 * Redistribution and use in source and binary forms, with or without

 * modification, are permitted provided that the following conditions are met:

 *

 * 1. Redistributions of source code must retain the above copyright

 *    notice, this list of conditions and the following disclaimer.

 *

 * 2. Redistributions in binary form must reproduce the above copyright notice,

 *    this list of conditions and the following disclaimer in the documentation

 *    and/or other materials provided with the distribution.

 *

 * 3. Neither the name of The Iconfactory nor the names of its contributors may

 *    be used to endorse or promote products derived from this software without

 *    specific prior written permission.

 *

 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND

 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

 * DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT,

 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,

 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF

 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE

 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF

 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 */

/*

 * AQGridView

 * 

 * Created by Jim Dovey on 8/3/2010.

 * Copyright (c) 2010 Kobo Inc. All rights reserved.

 * 

 * Redistribution and use in source and binary forms, with or without

 * modification, are permitted provided that the following conditions

 * are met:

 * 

 * Redistributions of source code must retain the above copyright notice,

 * this list of conditions and the following disclaimer.

 * 

 * Redistributions in binary form must reproduce the above copyright

 * notice, this list of conditions and the following disclaimer in the

 * documentation and/or other materials provided with the distribution.

 * 

 * Neither the name of the project's author nor the names of its

 * contributors may be used to endorse or promote products derived from

 * this software without specific prior written permission.

 * 

 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS

 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED

 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR

 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF

 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 *

 */

  • No labels