You are on page 1of 9

MARCH/APRIL 2012

Vol. 31, No. 2

MARCH/APRIL 2012 Vol. 31, No. 2

Vol. 31, No. 2

the magazine for high-tech innovators


EAGLE COURTESY OF CAN C STOCK PHOTO/IKNOWME

Editorial Board
Editor-in-Chief Elizabeth T.B. Johnston Design Alaska, Inc. Student Editor Sachin Seth Georgia Institute of Technology Associate Editors Mohamed El-Hawary Dalhousie University Regina Hannemann University of Kentucky Pui-In Mak University of Macau Suzanne Rivoire Sonoma State University David Zihe Tian Carnegie Mellon University Kim W. Tracy Northeastern Illinois University

Contents
4 Ethics for engineers?
Raymond E. Floyd

6 Ruzyllo on transistor (r)evolution and its multidisciplinary nature


Jerzy Ruzyllo

8 Bird in the hand: An electronic field guide app for bird watchers
Martn Roa-Villescas and Mauricio Orozco-Alzate

15 Single-event soft errors in CMOS logic


Selahattin Sayil and Juyu Wang

Staff
Craig Causer Managing Editor Geraldine Krolin-Taylor Senior Managing Editor Janet Dudar Senior Art Director Gail A. Schnitzer Assistant Art Director Theresa L. Smith Production Coordinator Susan Schneiderman Business Development Manager +1 732 562 3946 Fax: +1 732 981 1855 Felicia Spagnoli Advertising Production Manager Dawn M. Melley Editorial Director Peter M. Tuohy Production Director Fran Zappulla Staff Director, Publishing Operations

23 A pseudo-divide-by-carrier coherent demodulator for DSB-SC signals


Ahmed M. Alaa

28 Data management and synchronization in a mobile ad hoc network


Anu Suneja

31 Using stereo vision to construct 3-D surface models


Weifeng Xu, Lin Deng, Qing Zheng, and Stephen Frezza

38 An eye on visual sensor networks


Anthony Marcus and Oge Marques

44 My first job: Engineering evolution


Ken Walsh

Advisory Committee
Elizabeth T.B. Johnston, Chair (Potentials EIC) Howard E. Michel (MGA Chair) Darrel Chong (SAC Chair) Cecelia Jankowski (MGA Managing Director)
Digital Object Identifier 10.1109/MPOT.2012.2182833

Departments
3 editorial 3 the way ahead 46 SAC e-mail 48 gamesman

MARCH/APRIL 2012

Bird in the hand: An electronic field guide app for bird watchers

EAGLE COURTESY OF DEREK BAKKEN. SMARTPHONE COURTESY OF LG

Martn Roa-Villescas and Mauricio Orozco-Alzate

c
8

olombia has one of the highest species counts of birds in the world, many of which are exotic and endangered (see Fig. 1). As a result, the country is emerging as an attractive destination for birding tours and scientific expeditions. Moreover, administrative authorities are heavily promoting bird

Digital Object Identifier 10.1109/MPOT.2011.2178281 Date of publication: 15 March 2012

watching as an option for sustainable tourism and as a key sector for local economies. A field guide, binoculars, and a notebook are essential pieces of equipment for bird watching (Fig. 2). Waterproof and lightweight binoculars are recommended, particularly for excursions in rough terrains and humid environments. In addition, waterproof notebooks and pens are also available at specialized stores. Handy but comprehensive field guides are preferred; however, this trade-off is not easy to achieve. Complete
IEEE POTENTIALS

0278-6648/12/$31.00 2012 IEEE

books include detailed descriptions, colorful plates, and illustrations but tend to be heavy. In contrast, genuinely pocket-sized ones do not provide detailed species accounts such as comments on behavior, status, and habitat. The correct identification of observed species and keeping records of birds found during hikes are fundamental for amateurs and professionals. The former are mainly interested in activities such as adding new species to their personal checklists, look- Fig. 1 The Rusty-faced Parrot (Hapalopsittaca ing for their favorites, and visiting amazonina velezi), an engaging bird recently new birding places, whereas the latter declared as emblem of the avifauna of Caldas, perform scientific tasks such as col- Colombia. lecting data about bird populations location. RB Birds is not just a conveeither by counting individuals or species nient tool for bird enthusiasts but also during transect surveys in the forests or constitutes a general example of what by trapping and ringing specimens using can be achieved with mobile devices. mist nets. New mobile technologies offer both enthusiasts and scholars innovative possibilities to carry the information tradiDeveloping the package tionally contained in paper field guides as well as to register detailed and organized Application area and bird species notes of their bird sightings. The RB Birds application contains This article documents the design detailed information of 362 bird species and implementation of an electronic that are included in the bird checklist of field guide for bird watchersnamed the Ro Blanco Ecological Reserve. This RB Birdsdeveloped to run on mobile forest and water reserve zone is placed smart phones and aimed at looking up, in the northeast of Manizales, Colomchecking, and identifying 362 bird spebia, at just 3.5 km from the urban area. cies that are encountered at the Ro Ro Blanco has an altitude gradient Blanco Ecological Reserve, which is from 2,240 to 3,700 m above the sea located on the outskirts of Manizales, level (m.a.s.l.) and a total extension of Colombia. This application package 4,343 hectatres (ha). Seventy-five perhas a database that contains informacent of its area is covered by cloud fortion corresponding to each species ests. In the reserve, the average values including images, songs, physical of climate variables are as follows: descriptions, feeding habits, migratory luminosity, 10%; temperature, 11 C; movements in time and space, and habiaccumulated rainfall, 2,500 mm; relative tat requirements, among others. RB humidity, 90%. Birds has a specialized search engine The complete bird checklist to be that allows the identification of speciincluded in the database was provided mens based on observed physical attriby personnel from the Reserve. Descripbutes. Currently, attributes accepted as tions of the bird species were extracted parameters by the application are eight different colors for eight parts of the body. However, future versions may be capable of accepting more parameters including bird size, comparative silhouettes, and beak shape. In addition, the RB Birds package offers a module to create records of bird sightings. Date, time, and location for each record are automatically registered. The last one is obtained by using the global positioning system (GPS) device incorporated in the smartphone, together with Google Maps, in order to get a visual presentation of the Fig. 2 Bird watching equipment.
MARCH/APRIL 2012

PHOTO COURTESY OF ALEJANDRO BAYER-TAMAYO

from Hilty and Brown (1986) and Dunn and Alderfer (2006).

Tools and development platform The iOS software development kit

Even though all smartphones offer similar services such as GPS, Internet access, and a built-in camera, it is important to take into account that devices from particular manufacturers work in singular ways, mainly depending on the corresponding operating system (OS). Such a fact implies that applications running on certain OSs are likely to not work successfully under another system. Therefore, in most cases, applications cannot be installed on platforms different or

RB Birds has a specialized search engine that allows the identification of specimens based on observed physical attributes. Currently, attributes accepted as parameters by the application are eight different colors for eight parts of the body. However, future versions may be capable of accepting more parameters including bird size, comparative silhouettes, and beak shape.

incompatible to those used during the software development process. The following mobile OSs are among the most popular and broadly available: iOS (formerly known as iPhone OS), Symbian OS, Android, and Windows Mobile OS. When choosing a platform, technical considerations must be taken into account as well as market trends and usability. Several reasons, mostly extracted from statistics published by AdMob, led the authors to prefer iOS as the development platform for this project (see Fig. 3). They are, in summary: A significant part of mobile Internet traffic (40%) corresponds to smartphones using iOS. From February to August 2009, iOS marketshare increased from
9

Worldwide OS Share August 2009 1% 4% 4% 7% iPhone OS Symbian OS RIM OS Android WebOS Windows Mobile OS Palm OS

Rank 1 2 3 4 5 6 7 8

Brand Apple Apple Samsung HTC Nokia Motorola Palm Nokia Sony RIM Kyocera Nokia Nokia Samsung Nokia Nokia Nokia Motorola RIM Samsung

Model iPhone iPod Touch SCH-R450 Dream N70 RAZR V3 Pre 3110c PSP BlackBerry 8300 S1300 6300 N95 R430 N80 N73 6120c MOTOROKR Z6M BlackBerry 8100 M800

8%

40%

34%
SOURCE: ADMOB MOBILE METRICS REPORT, 2009. AVAILABLE AT: HTTP://METRICS.ADMOB.COM/

Worldwide OS Share AdMob Network 50% 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% iPhone OS Symbian OS RIM OS Android 10% 8% 7% 2% 4% 0% Web OS Windows 7% 4% 3% 1% Palm OS 40% 33% 34% 43% Feb-2009 Aug-2009

9 10 11 12 13 14 15 16 17 18 19 20

Fig. 3 Metrics of mobile Web and application usage.

33% to 40%. In contrast, the popularity of its closest competitor, Symbian OS, dropped from 40% to 34% during the same period. The two most popular electronic devices for Internet traffic are the iPhone and the iPod Touch, both of which use iOS. Due to the aim and target audience of the RB Birds package, worldwide popularity and availability of the platform were considered decisive in the platform selection. Many tourists and visitors to the Ro Blanco Ecological Reserve come from overseas. In spite of the platform selection, a medium-term objective of this project is to deliver versions for others of the above-mentioned OSs. Apple Inc. offers a software development kit (SDK) that can be freely downloaded from the Internet. The iOS SDK is composed by a number of tools that serve to develop applications for mobile devices running on the iOS, namely the iPhone, the iPod Touch, and the iPad. Nevertheless, there are some structural differences in these devices and, conse10

quently, minor changes in the source codes are required in order to obtain an adequate functioning of the developed application. For instance, screen dimensions of the iPad are larger than those of the iPhone and the iPod Touch. Similarly, earlier iPod Touch versions lack a built-in camera. The iOS SDK is composed of four tools: Xcode IDE, interface builder, iPhone simulator, and instruments. The first one is an integrated development environment (IDE), which provides an advanced source code editor, a project manager, and a graphical debugger. The second, the Interface Builder, allows one to design the user interface by visual means without the need for writing any code. Its use is as simple as dragging and dropping windows, buttons, sliders, and other control widgets. The iPhone Simulator, as indicated by its name, serves for executing, testing, and debugging an application locally on a simulated device running on a Mac computer. The third tool, Instruments, is a program devoted to collecting and visualizing

data in real time such as usages of RAM memory, disk, and CPU. This program works for the iPhone simulator as well as for the real device; thereby, it is possible to optimize the simulated application by considering the actual hardware capabilities of a particular device. A screenshot of the Instruments tool is shown in Fig. 4.

Objective C programming language


Programming languages are very similar to spoken languages. Both are composed by a finite number of tokens which, once arranged in several ways, give a wealth of possibilities for communication. Aspects varying between these two include the context where they are used and the formal combinatorial principles regulating each. Spoken languages allow for communication between human beings, provided that the grammar rules are obeyed. In contrast, programming languages assist humans in controlling functions of electronic equipment, subject to the availability of a syntax convention
IEEE POTENTIALS

between user and machine. Similar to the diversity of spoken languages, there is also a plethora of different programming languages such as C, C++, Python, Java, and Objective-C. RB Birds was developed in Objective-C since it is the programming language required by the iOS SDK.

Model-view-controller architecture
The development of the RB Birds application was based on a design strategy known as model-view-controller (MVC). It is a software architecture aimed at making a clear separation between the three aspects mentioned in its name. The rationale of this architecture style can be rephrased as follows: model and view never interact directly, rather, the controller is devoted to mediate between the graphical presentation and the stored data as illustrated in Fig. 5. In the case of the RB Birds project, the model consists of representing the data through a structured query language database that contains descriptive information for each bird species. The MVC architecture also emphasizes reusability, that is, the chance to use the same model from different interfaces. Such a property is easily observed in RB Birds since the very same database can be accessed through different views. This feature allows transferring a model to different platforms without requiring modifications and offering, at the same time, freedom to the developer and/or the user to display the data as preferred. The view provides several elements for displaying information. Consider the case of the iPhone. Developers are supplied with widgets such as lists, sliders, buttons, and maps. Those tools allow interaction between program and user. Notice that, contrary to the model, the view is deeply related to the platform. In other words, elements included in the view for displaying information on an iPhone are completely different than those used for the same purpose on a desktop computer. Furthermore, an iPhone has a touch screen whereas a desktop computer is equipped with a keyboard and a mouse. In summary, the view is not concerned with the data itself but with how it is presented to the user. Finally, the controller is in charge of transferring changes in the model to the view as well as changing the model when it is demanded by the view. In
MARCH/APRIL 2012

Fig. 4 Screenshot of the instruments tool.

general, the controller contains most of the application logic.

Running the developed package


This section provides a compact but detailed explanation of the developed package. A flowchart describing the design is shown in Fig. 6. It will be referred to throughout the remaining part of this section, where appropriate. In addition, snapshots of the iPhone Simulator are shown and brief descriptions of the application functions are given. RB Birds is divided into three main modules (Fig. 6) as follows: a list of species, an attribute-based identification tool, and a list of bird records made by the user. Once the application is launched, a bar with three tabs (RB Birds, Search, and Records) appears on the bottom part of the screen as shown in Fig. 7(a). Such tabs allow switching between modules. Each one is briefly described below.

also be alphabetically sorted according to scientific name or taxonomical family. In addition, there is a text field underneath the segmented control. It serves to search bird species either by common name or scientific name. Its use is very intuitive: after clicking on top of the field, a touchable keyboard will appear on the bottom of the screen [see Fig. 7(b)]. Real-time filtering is automatically performed while the user typesresults are updated as characters are entered. Therefore, no additional key is required to be touched in order to perform the search. Touching the top of any entry from the list launches a detailed view of the corresponding bird [see Fig. 7 (c)]. This view is composed (top down) by common name, scientific name, family, bird illustration, description, and a toolbar with an audio play button. The latter can be used to play audio tracks containing songs of the corresponding bird species. Notice that on the top right corner there is a button with a

List of species
This module offers a complete list of the bird species included in the application [see Figs. 6 and 7(a)]. Notice that bird illustrations, common names, and scientific names may not match because screenshots were taken during the development process, that is, while the database was still under construction. Entries are, by default, alphabetically sorted by common English names. However, by using the segmented control on the top of the screen, they can

Controller

Model

View

Fig. 5 A schematic representation of the MVC strategy.

11

Start

List of Bird Species Module 1 Search? Item Selected? Yes Yes Update List

Yes Back?

Sort? Yes

Bird Description

Module 2 Search by Attribute? Yes List of Attributes

Add Record?

Yes

Color Selected?

Yes

List of Records Module 3

Yes Google Map Location?

Detailed Record Info

Yes

Item Selected?

Fig. 6 Flowchart for the RB Birds application. No answers in decision boxes were omitted due to space constraints. They correspond to return paths to the diamonds since the associated options were not selected.

plus (+) symbol. It can be used to add records to a list of watched birds. The module for making records is presented below.

Attribute-based identification
This module has been designed for selecting birds that match with one or more attributes selected by the user (see Module 2 in Fig. 6). For example, the application is able to generate a list of birds having a yellow crown and a blue breast. In order to enter to this module, the tab Search (magnifying glass icon) must be selected [see Fig. 8(a)]. The first screen view presented to the user is a list that contains parts of the birds anatomy. Consider, for instance, that a user selects the attribute Back. Once it is touched, a second screen view will turn active as shown in Fig. 8(b). In that view, the user can choose a color
12

for the selected body part and, afterwards, the first screen view is presented again but including the color name on the right side of the corresponding body part as shown in Fig. 8(a). In order to perform the search, the button with that name on the top right of the screen must be touched. As a result, a list of birds matching the specified attributes is displayed as shown in Fig. 8(c). A new search can be started by pressing the reload button on the top left of the first screen view.

Records
This module is meant to store information of individual bird observations (see Module 3 in Fig. 6). Date, hour, and geographic coordinates can be registered. A new record can be introduced by touching the plus symbol on the top right of any bird description view [refer again to Fig. 7(c)].

Records are stored as a list in chronological order (more recent first), where each element contains the name of the bird together with date and hour of observation [see Fig. 9(a)]. In addition, an expanded view of each element in the list can be accessed by touching on top of it [see Fig. 9(b)]. In addition to the basic information, the following variables are available in the expanded view: scientific name, geographic coordinates, location, and notes. The first is presented underneath the common name, inside a field that can be touched to visit the species description. Geographic coordinates can be either typed or computed by the GPS tool incorporated in the iPhone. Location is also a touchable element, which leads to a Google map. Finally, a space for notes is available. In summary, this module is a complement, or even a replacement, for a pencil and a field notebook.
IEEE POTENTIALS

(a)

(b)

(c)

Fig. 7 Modules of the RB Birds application. (a) List of species, (b) search engine, and (c) bird description.

(a)

(b)

(c)

Fig. 8 Attribute-based identification tool. (a) List of attributes, (b) color options, and (c) list of birds matching the identification criteria.

MARCH/APRIL 2012

13

(a)

(b)

(c)

Fig. 9 Module for recording information of bird observations. (a) List of records, (b) expanded view for a record, and (c) record location shown on a Google map.

Conclusions
The world is currently facing an accelerated development of information technologies, enabling us to solve old problems in new ways that were not even imagined a few years ago. Nonetheless, this technological evolution is of much smaller benefit if we do not learn to adapt emergent technologies to our particular environment and needs. Smartphones are a remarkable new technology. They are mobile devices that include tools for editing text and files just as in a laptop computer, taking pictures or videos by using incorporated cameras, browsing the Internet, listening to music, navigating with built-in GPS and, of course, making phone calls. The general aim of this engineering project was to show an adaptation example of a cutting-edge technology, originally designed and manufactured in the first-world, to the needs and opportunities of a developing country such as Colombia. RB Birds is a software package for enriching and optimizing the experience of thousands of bird watchers, residents or visitors, who come to the Ro Blanco Ecological Reserve. It can be easily adapted to other bird watching places around the world by creating custom databases.
14

Acknowledgments
The authors would like to thank Dr. Felipe Csar Londoo-Lpez from Universidad de Caldas for providing access to the Medialab facilities. Sergio Ocampo-Tobn, from Ro Blanco Ecological Reserve, is also acknowledged for providing bird illustrations and ornithological literature.

About the authors


Martn Roa-Villescas (mroavi@unal. edu.co) received his B.Eng. degree in electronic engineering from Universidad Nacional de Colombia Sede Manizales in 2010. His undergraduate engineering project, on the topic of this article, was carried out under the supervision of Mauricio Orozco-Alzate. He worked as a WebRatio application developer at Web Models (a spin-off of Politecnico di Milano, in Quito, Ecuador) and is currently pursuing his masters degree in embedded systems at Eindhoven University of Technology, The Netherlands. Mauricio Orozco-Alzate (morozcoa@ unal.edu.co) is with the Department of Informatics and Computing at Universidad Nacional de Colombia Sede Manizales. He received his B.Eng. (electronic engineering), M.Eng. (industrial automation), and Dr.Eng. (automatics) degrees in 2003, 2005, and 2008, respectively. His main research interests encompass pattern recognition, and digital signal processing and their applications to analysis and classification of seismic and bioacoustic signals. He is a Member of IEEE and Sociedad Caldense de Ornitologa.
IEEE POTENTIALS

Read more about it


M. Roa-Villescas and M. Orozco-Alzate. (2010). RB birds demo. Manizales, Colombia. [Online]. Available: http://www. youtube.com/watch?v=869lELhswxo M. Dalrymple and S. Knaster, Learn Objective-C on the Mac. Berkeley, CA: Apress, 2009. N. Goldstein, Objective-C for Dummies. Indianapolis, IN: Wiley, 2009. S. L. Hilty and W. L. Brown, A Guide to the Birds of Colombia. Princeton, NJ: Princeton Univ. Press, 1986. J. L. Dunn and J. Alderfer, Field Guide to the Birds of North America, 5th ed. Margate, FL: National Geographic, 2006. M. Orozco-Alzate, M. T. Jaramillo-Jaramillo, G. M. Lentijo-Jimnez, U. Teske, J. I. Arango-Bermdez, and J. E. Botero-Echeverri (2011). Sociedad Caldense de OrnitologaSCO. [Online]. Available: http://rnoa.org/sco/

You might also like