10
BRIAN B. CALDONA LONG QUIZ REVIEW Friday 8am-10am Applia!i"# "$ %"&il' D'(i') * Vehicles * Disaster Relief and alarm * Games * Military * Security * Robotics %"&il' I#$"rma!i"# Ar*i!'!+r' Information Architecture (IA) is the structural design of shared information environments; focused on bringi rinciles of design and architecture to the digital landscae! is a seciali"ed s#ill set that interrets information and e$resses distincti bet%een signs and systems of signs referably one that the intended audience can understand &uic#ly! %"&il' I#$"rma!i"# Ar*i!'!+r' Mobile devices have their o%n set of Information Architecture atterns! 'hile the structure of a resonsive site may follo% more standard atterns native as! E,ampl' "$ a!!'r#) ! *ierarchy +! *ub , So#e -! .ested Doll /! 0abbed Vie% 1! 2ento 2o$ 3! 4iltered Vie% IERARC / 0he hierarchy attern is a standard site structure %ith an inde$ age and a se of sub ages! 5rgani"ing comlicated site structures that need to follo% a des#to site6s structure! UB AND OE A hub and so#e attern gives you a central inde$ from %hich users %ill naviga out! It6s the default attern on Ale6s i7hone! 8sers can6t navigate bet%een so#es but must return to the hub instead! Multi9functional tools each %ith a distinct internal navigation and urose! NE 2ED DOLL 0he nested doll attern leads users in a linear fashion to more detailed conte Gives the user a structure of the content due to the ercetion of moving for% and then bac#! 8sers %on6t be able to &uic#ly s%itch bet%een sections! 2ABBED VIEW It6s a collection of sections tied together by a toolbar menu! 0his allo%s th &uic#ly scan and understand the comlete functionality of the a %hen it6s :r oened! 0ools based as %ith a similar theme! Multi9tas#ing! BEN2O BO3 4 DA BOARD

Mobile Computing Lecture Review

Embed Size (px)

DESCRIPTION

Reviewer

Citation preview

BRIAN B. CALDONA LONG QUIZ REVIEW Friday 8am-10amApplication of Mobile Devices Vehicles Disaster Relief and alarm Games Military Security Robotics

Mobile Information ArchitectureInformation Architecture (IA) is the structural design of sharedinformationenvironments;focused on bringing principles ofdesignandarchitectureto the digital landscape. is a specialized skill set that interprets information and expresses distinctions between signs and systems of signs preferably one that the intended audience can understand quickly.Mobile Information ArchitectureMobile devices have their own set of Information Architecture patterns. While the structure of a responsive site may follow more standard patterns, native apps.Example of Patterns1. Hierarchy2. Hub & Spoke3. Nested Doll4. Tabbed View5. Bento Box6. Filtered ViewHIERARCHY The hierarchy pattern is a standard site structure with an index page and a series of sub pages. Organizing complicated site structures that need to follow a desktop sites structure.HUB AND SPOKE A hub and spoke pattern gives you a central index from which users will navigate out. Its the default pattern on Apples iPhone. Users cant navigate between spokes but must return to the hub, instead. Multi-functional tools, each with a distinct internal navigation and purpose.NESTED DOLL The nested doll pattern leads users in a linear fashion to more detailed content. Gives the user a structure of the content due to the perception of moving forward and then back. Users wont be able to quickly switch between sections.TABBED VIEW Its a collection of sections tied together by a toolbar menu. This allows the user to quickly scan and understand the complete functionality of the app when its first opened. Tools based apps with a similar theme. Multi-tasking.BENTO BOX / DASHBOARD Brings more detailed content directly to the index screen by using components to display portions of related tools or content. This pattern is more suited to tablet than mobile due to its complexity.FILTERED VIEW A filtered view pattern allows the user to navigate within a set of data by selecting filter options to create an alternative view. Apps or sites with large quantities of content, such as articles, images and videos. Can be a good basis for magazine style apps or sites.

Mobile Web vs Native ApplicationsMobile Web Is an internet-enabled apps that have specific functionality for mobile devices. Theyre accessed through the mobile devices web browser (i.e. on the iPhone, this is Safari by default) and they dont need to be downloaded and installed on the device.Native Application Is an app developed essentially for one particular mobile device and is installed directly onto the device itself. Users of native apps usually download them via app stores online or theapp marketplace, such as the Apple App Store, the Google Play store and so on.Comparison of Mobile Web App vs. Native App User interface Development Capabilities Monetization Method of delivery Versioning of the app Strengths WeaknessesUser InterfaceMobile Web AppNative App

Runs in the mobile devices web browser and each may have its own features and quirksEach mobile application development platform (e.g. iOS, Android) requires its own development process

Mobile web apps are written in HTML5, CSS3,JavaScriptand server-side languages or web application frameworks of the developers choice (e.g. PHP, Rails, Python)Each mobile application development platform has its own native programming language: Java (Android), Objective-C (iOS), and Visual C++ (Windows Mobile), etc.

There are no standard software development kits (SDKs) that developers are required to use to make a mobile web appStandardized software development kits (SDKs), development tools and common user interface elements (buttons, text input fields, etc.) are often provided by the manufacturer of the platform

Some companies choose to develop both a native app and a mobile web app. Heres a side-by-side look at Facebooks native app and mobile web app:DevelopmentCapabilitiesMobile Web AppsNative Apps

Mobile web apps can access a limited amount of the devices native features and information (orientation, geolocation, media, etc.)Can interface with the devices native features, information and hardware (camera, accelerometer, etc.)

MonetizationMobile Web AppsNative Apps

Mobile web apps can monetize through site advertisement and subscription feesMobile-specific ad platforms such as AdMob(though there can be restrictions set by the mobile devices manufacturer)

Charging users to use the mobile web app requires you to set up your own paywall or subscription-based systemDevelopers have the ability to charge a download price and app stores will typically handle the payment process (in exchange for a percentage of sales)

Method of DeliveryMobile Web AppsNative Apps

Accessed through a mobile devices web browserDownloaded onto a mobile device

No need to install new softwareInstalled and runs as a standalone application (no web browser needed)

Updates are made to the web server without user interventionUsers must manually download and install app updates

Since there is no app store for the Mobile Web, it can be harder for users to find your appThere are stores and marketplaces to help users find your app

Versioning of the AppMobile Web AppsNative Apps

All users are on the same versionSome users may choose to ignore an update, resulting in different users running different versions of the app

StrengthsMobile Web AppsNative Apps

Have a common code base across all platformsTypically perform faster than mobile web apps

Users dont have to go to a store or marketplace, download the app and install the appApp stores and marketplaces help users find native apps

Can be released in any form and any time as there isnt an app store that has to approve the appApp store approval processes can help assure users of the quality and safety of the app

If you already have a web app, you can retrofit it with aresponsive web designTools, support and standard development best practices provided by device manufacturers can help speed up development

WeaknessesMobile Web AppsNative Apps

Mobile web apps cant access all of the devices features (yet)Are typically more expensive to develop, especially if youre supporting multiple mobile devices

Supporting multiple mobile web browsers can result in higher costs in development and maintenance, etc.Supporting multiple platforms requires maintaining multiple code bases and can result in higher costs in development, maintenance, pushing out updates, etc.

Users can be on different mobile browsers and can make your app harder to maintain and provide support forUsers can be on different versions and can make your app harder to maintain and provide support for

For users, it may be harder to find a mobile web app because of the lack of a centralized app store (though listings do exist such as ApplesWeb appsand you can request to be listed in them)App store approval processes can delay the launch of the app or prevent the release of the app

THE APPLICATION ENVIRONMENT Limited Resource Computing Memory Management Low Power Computing Fault Tolerance and Persistence Security IssuesLIMITED RESOURCES COMPUTING Is any physical or virtual component of limited availability within a computer system.Internal MemorySome tips to maximize it: Review and determine the internal memory's availability A high Built-in Internal memory Example: an iPhone has a high built-in internal memory. External memorySome tips to maximize it: Delete some unnecessary applications Buy a high Memory card (SD CARD) in a mobile marketScreen ResolutionSome tips to maximize it: Use some other device to maximize your screen resolution Example : Projector.PowerSome tips to maximize it: Buy a powerbank in a market to maximize the use of your batteryFile sharingSome tips to maximize it: Using bluetooth, infrared and etc. Can also share using some applications available in the market like superbeam. ProcessorSome tips to maximize it: You can maximize your mobile processor by upgrading it In IOS, they implement an automatic upgrading system.

Development EnvironmentMobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing, downloaded by customers from various mobile software distribution platforms, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser. Mobile Development Options2 kinds of Development tools1.Native Development tools - designed solely for use with a particular operating system2.Cross-Platform tools -give developers the flexibility to create an application that will run across multiple mobile devices

Native Development Tools such as Apple iOS, Android, or Microsoft Windows Phone 7. One advantage of using native development tools: applications will run more smoothly on whichever mobile devices use that operating system, which can represent a vast market.

Cross-Platform Development Tools two categories: Mobile Enterprise Application Platforms (MEAP) or Mobile Consumer Application Platforms (MCAP) MEAPs tend to have more full-fledged development environments, with a wider variety of traditional tools such as graphical user interfaces, version control, and workflow. They tend to have more integration tools and gateways to third-party services (such as Facebook and Twitter), as well as better technical support capabilities. The MCAP category includes such tools as PhoneGap, Appcelerator, and AppMobi, and leans more toward the open-source world. They incorporate three key technologies: HTML5, Cascading Style Sheets (CSS), and JavaScript. Using open-source capabilities allows developers to create mobile applications at a lower cost, but also requires them to do a greater amount of work on their own, and do it with a command-line rather than a graphical interface. Mobile Development Best Practices Methodology - Determining the design methodology is key to mobile application development, especially in a cross-platform environment where multiple efforts may be underway simultaneously. Development Skills - Developers should confirm that their team has the proper breadth and depth: breadth in the needs of application area being targeted, and depth on the particular platforms being used. Security - mobile devices are vulnerable. They upload and download data wirelessly, in potentially insecure locations. Theyre small and can be misplaced. Design - Developers should take into account the most appropriate architecture for mobile applications. API Management - Developers should institute a strict policy regarding use of components across platforms, which facilitates maintenance and extensibility across applications on different platforms. Testing and User Experience - Application testing is often overlooked in development schedules, but the fact that mobile users tend to need information on a time-sensitive basis means that applications should be more reliable than desktop applications. Applications should be tested not only for usability, but for power consumption to verify theyre not battery hogs. Application Analytics - Because mobile applications do not run on an always-connected environment where IT can monitor clicks and other usage, its crucial to incorporate analytics features that track how users interact with the application. This will not only help identify ongoing technical support issues, but also reveal whether users are interacting with the application in the fashion developers expected. Feedback Mechanism -The flip side of automated application analytics is a feedback mechanism for users. Dont rely solely on automated capabilities, but develop a capabilitywhether through e-mail, social networking or other means (even through the application itself)for users to report bugs and offer insight into what they like and dislike about the application.

Fault Tolerance

Application EnvironmentFault tolerance Computer or system program with self contained backup system Allows you to continue work and give satisfaction results despite of errors

Transaction Execution in Mobile Database Systems Disappearance of MH (mobile host) due to disconnectionsFault tolerance Transaction proxy - The MHs do no execute any computation, but instead ask the MSSs(mobile support stations) to execute transactions on their behalf Read-Only Transactions - MHs only cache data ob jects for queries, and updates are performed as in the preceding case. Weak Transactions - In this case, they must stabilize their updates as soon as they re-connect, that is, they have to globally commit the updates in order to re-establish consistency and to guarantee durability.

Low Power Computing

Low power computing/electronics are machines/electronics that have been designed or made to use less power than the usual computing electronics. Today, low power electronics are invading the trends and necessity of us humans. With the current state of technology, low power computers/electronics have the ability to reduce the computer requirements. As a matter of fact, a device that designed specifically is much better than a machine that is designed generally. Low power electronic devices is cheap, tiny, smart and efficient. These traits of low power computing is what makes it awesome and profitable.

Examples of a low power computing LAPTOP SMARTPHONES TABLETS NOTEBOOKS

Memory management Is the act of managingcomputer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. The management of main memory is critical to the computer system.

The memory management subsystem provides:1. Large Address Spaces The operating system makes the system appear as if it has a larger amount of memory than it actually has. The virtual memory can be many times larger than the physical memory in the system.

2. Protection Each process in the system has its own virtual address space. These virtual address spaces are completely separate from each other and so a process running one application cannot affect another. Also, the hardware virtual memory mechanisms allow areas of memory to be protected against writing. This protects code and data from being overwritten by rogue applications.3. Memory Mapping Memory mapping is used to map image and data files into a processes address space. In memory mapping, the contents of a file are linked directly into the virtual address space of a process.4. Fair Physical Memory Allocation The memory management subsystem allows each running process in the system a fair share of the physical memory of the system.5. Shared Virtual Memory Although virtual memory allows processes to have separate (virtual) address spaces, there are times when you need processes to share memory. Memory managementis usually divided into three areas: Hardware memory management Operating system memory management Application memory management6. Hardware memory management Memory management at the hardware level is concerned with the electronic devices that actually store data. This includes things likeRAMandmemory caches.7. Operating system memory management In the operating system, memory must be allocated to user programs, and reused by other programs when it is no longer required. The operating system can pretend that the computer has more memory than it actually does, and also that each program has the machines memory to itself; both of these are features ofvirtual memorysystems.8. Application memory management Application memory management involves supplying the memory needed for a programs objects and data structures from the limited resources available, and recycling that memory for reuse when it is no longer required. Because application programs cannot in general predict in advance how much memory they are going to require, they need additional code to handle their changing memory requirements.

9. Memory management problems The basic problem in managing memory is knowing when to keep the data it contains, and when to throw it away so that the memory can be reused. This sounds easy, but is, in fact, such a hard problem that it is an entire field of study in its own right. In an ideal world, most programmers wouldnt have to worry about memory management issues. Unfortunately, there are many ways in which poor memory management practice can affect the robustness and speed of programs, both in manual and in automatic memory management.

Security issues

The common issues regarding low power computings is the security of its data and application. Exploits may come from means of communication like wifi, vpn, lan and etc. There are also attacks that exploits the vulnerabilty of a software (Be it from OS up to browsers). Different security counter-measures are being developed and applied to low power electronics which improves the security of a device; from its security up to its design. Another big problem plaguing mobile computing is credential verification. It's not possible to that the person using that person is the true barrier. Other users share username and passwords. This is also a major threat to security. This being a very sensitive issue, most companies are very reluctant to implement mobile computing to the dangers of misrepresentation. The problem of identity theft is very difficult to contain or eradicate. Issues with unauthorized access to data and information by hackers, is also a plaguing problem. They gain access to steal vital data from companies. This problem has been a major headache and hindrance in rolling out mobile computing services. No company wants to lay open their secrets to hacker and other intruders, who will in terms sell them to their competitors. It's also important to take the necessary precautions to minimize these threats from taking place.Some of those measures include: Hiring qualified personnel. Installing Security Hardware and Software. Educating the Users on proper Mobile computing ethics. Auditing and developing sound, effective policies to govern mobile computing. Enforcing proper access rights and permissions.