1. Programming GPS and OpenStreetMap Applications with Java: The RealObject Application Framework (2012)
Written by an expert in the development of GPS systems with digital maps and navigation, Programming GPS and OpenStreetMap Applications with Java: The RealObject Application Framework provides a concrete paradigm for object-oriented modeling and programming. It presents a thorough introduction to the use of available global positioning data for the development of applications involving digital maps.
The author first describes the different formats of GPS data and digital maps and shows how to use recorded GPS traces to replay and display this data on a digital map. Then, he works through in detail the processing steps of obtaining dedicated data from OpenStreetMaps and how to extract a network for a simple navigation application. For each topic covered―GPS data, OpenStreetMaps, and navigation―Java code is developed that can easily be adapted to the readers’ needs and locality.
Finally, all components are put together in a sample computer-game application modeled on the well-known board game, Scotland Yard. The computer game is intended to be a basis from which readers can develop and customize their own application for their desired geographical area. The developed application can be “published” on the Internet and made available for interactive multiplayer competition.
This book provides a fun and interesting way to learn distributed programming with Java and real-world data. Open-source software is available on a companion website at www.roaf.de
Author(s): Kristof Beiglböck
2. Android App Development (2017)
Download the latest version of Android Studio
Using innovative, engaging methods, Android App Development cultivates student knowledge of app development through a progressive, building block approach. Each chapter includes a classroom-friendly, meaningful app that illustrates the concepts covered at the chapter level. Model View Controller architecture is used throughout the book to promote good software engineering practice. Students will be engaged by essential as well as specialized topics such as XML resources, event-driven programming, animation, sounds, making a game, voice recognition, and more.
Each new print copy of Android App Development includes Navigate 2 Advantage Access that unlocks a complete eBook, Study Center, homework and Assessment Center, and
• Android Studio, the official development environment by Google, is used to develop all applications
• The Model View Controller architecture is used throughout the book, allowing the instructor to download the Model and concentrate on the View and Controller elements of the app
• Students learn how to make device-independent apps using a progressive approach, incorporating fun topics such as animation, sounds, photo editing, using the GPS, displaying a map, and advertising
• Software Engineering and Common Error boxes highlight software engineering tips and common errors throughout each chapter
• Chapters are written independently of others so that instructors can select topics and customize the book to their course
• Each chapter concludes with exercises for student practice, including Multiple Choice, Fill In the Code, and Write an App exercises
Author(s): Hervé J. Franceschi
3. Make a Raspberry Pi-Controlled Robot: Building a Rover with Python, Linux, Motors, and Sensors (2014)
Make a Raspberry-Pi Controlled Robot teaches you how to build a capable and upgradeable personal robot for around $100. You’ll learn how to control servos, respond to sensor input, and know where your bot is using GPS. You’ll also learn many ways to connect to your robot and send it instructions, from an SSH connection to sending text messages from your phone.
Author(s): Wolfram Donat
4. Programming the Mobile Web: Reaching Users on iPhone, Android, BlackBerry, Windows Phone, and more (2013)
With the second edition of this popular book, you’ll learn how to build HTML5 and CSS3-based apps that access geolocation, accelerometer, multi-touch screens, offline storage, and other features in today’s smartphones, tablets, and feature phones. The market for mobile apps continues to evolve at a breakneck pace, and this book is the most complete reference available for the mobile web.
Author and mobile development expert Maximiliano Firtman shows you how to develop a standard app core that you can extend to work with specific devices. This updated edition covers many recent advances in mobile development, including responsive web design techniques, offline storage, mobile design patterns, and new mobile browsers, platforms, and hardware APIs.
- Create effective user interfaces for touch devices and different resolution displays
- Understand variations among iOS, Android, Windows Phone, BlackBerry, Firefox OS, and other mobile platforms
- Bypass the browser to create native web apps, ebooks, and PhoneGap applications
- Build apps for browsers and online retailers such as the App Store, Google Play Store, Windows Store, and App World
Author(s): Maximiliano Firtman
Reimagined for full-screen and touch-optimized apps, Windows 8 provides a platform for reaching new users in new ways. In response, programming legend Charles Petzold is rewriting his classic Programming Windows—one of the most popular programming books of all time—to show developers how to use existing skills and tools to build Windows 8 apps.
Programming Windows, Sixth Edition focuses on creating Windows 8 apps accessing the Windows Runtime with XAML and C#. The book also provides C++ code samples. The Sixth Edition is organized in two parts:
- Part I, “Elementals,” begins with the interrelationship between code and XAML, basic event handling, dynamic layout, controls, templates, asynchronous processing, the application bar, control customization, and collections. You should emerge from Part I ready to create sophisticated page-oriented collection-based user interfaces using the powerful ListView and GridView controls.
- Part II, “Specialties,” explores topics you might not need for every program but are essential to a well-rounded education in Windows 8. These include multitouch, bitmap graphics, interfacing with share and search facilities, printing, working with the sensors (GPS and orientation), text, obtaining input from the stylus (including handwriting recognition), accessing web services, calling Win32 and DirectX functions, and bringing your application to the Windows 8 app store.
Author(s): Charles Petzold
If you want to enrich your game’s experience with physics-based realism, the expanded edition of this classic book details physics principles applicable to game development. You’ll learn about collisions, explosions, sound, projectiles, and other effects used in games on Wii, PlayStation, Xbox, smartphones, and tablets. You’ll also get a handle on how to take advantage of various sensors such as accelerometers and optical tracking devices.
Authors David Bourg and Bryan Bywalec show you how to develop your own solutions to a variety of problems by providing technical background, formulas, and a few code examples. This updated book is indispensable whether you work alone or as part of a team.
- Refresh your knowledge of classical mechanics, including kinematics, force, kinetics, and collision response
- Explore rigid body dynamics, using real-time 2D and 3D simulations to handle rotation and inertia
- Apply concepts to real-world problems: model the behavior of boats, airplanes, cars, and sports balls
- Enhance your games with digital physics, using accelerometers, touch screens, GPS, optical tracking devices, and 3D displays
- Capture 3D sound effects with the OpenAL audio API
Author(s): David M Bourg, Bryan Bywalec
The Only Official Guide to the Parallax Multicore Propeller Microcontroller
Written by a team of Propeller experts, this authoritative guide shows you how to realize your design concepts by taking full advantage of the multicore Propeller microcontroller’s unique architecture. The book begins with a review of the Propeller hardware, software, and Spin language so you can get started right away. Programming and Customizing the Multicore Propeller Microcontroller: The Official Guide is filled with a wide variety of step-by-step, hands-on projects. Put your ideas into production when you learn how to:
- Debug code for multiple cores
- Understand how the Propeller interacts with different sensors
- Wirelessly network Propeller chips
- Build a balancing robot and control it with computer vision
- Develop networking applications using an off-the-shelf Ethernet chip
- Create a portable multivariable GPS tracking and data logging device
- Use the Propeller as a remote virtual peripheral for media applications
- Create a Propeller-powered HVAC green house model
- Synthesize speech with the Propeller
Experience more of the process at mhprofessional.com/propeller
Author(s): André LaMothe
8. Arduino in Action (2013)
Arduino in Action is a hands-on guide to prototyping and building electronics using the Arduino platform. Suitable for both beginners and advanced users, this easy-to-follow book begins with the basics and then systematically guides you through projects ranging from your first blinking LED through connecting Arduino to devices like game controllers or your iPhone.
About the Technology
Arduino is an open source do-it-yourself electronics platform that supports a mind-boggling collection of sensors and actuators you can use to build anything you can imagine. Even if you’ve never attempted a hardware project, this easy-to-follow book will guide you from your first blinking LED through connecting Arduino to your iPhone.
About this Book
Arduino in Action is a hands-on guide to prototyping and building DIY electronics. You’ll start with the basics—unpacking your board and using a simple program to make something happen. Then, you’l attempt progressively more complex projects as you connect Arduino to motors, LCD displays, Wi-Fi, GPS, and Bluetooth. You’ll explore input/output sensors, including ultrasound, infrared, and light, and then use them for tasks like robotic obstacle avoidance.
Arduino programs look a lot like C or C++, so some programming skill is helpful.
- Getting started with Arduino—no experience required!
- Writing programs for Arduino
- Sensing and responding to events
- Robots, flying vehicles, Twitter machines, LCD displays, and more!
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Authors
Martin Evans is a professional developer, a lifelong electronics enthusiast, and the creator of an Arduino-based underwater ROV. Joshua Noble is an author and creative technologist who works with smart spaces. Jordan Hochenbaum uses Arduino to explore musical expression and creative interaction.
Table of Contents
- Chapter 1 Hello Arduino
- Chapter 2 Digital input and output
- Chapter 3 Simple projects: input and output
- Chapter 4 Extending Arduino
- Chapter 5 Arduino in motion
- Chapter 6 Object detection
- Chapter 7 LCD displays
- Chapter 8 Communications
- Chapter 9 Game on
- Chapter 10 Integrating the Arduino with iOS
- Chapter 11 Making wearables
- Chapter 12 Adding shields
- Chapter 13 Software integration
Part 1 Getting started
Part 2 Putting Arduino to work
Author(s): Martin Evans, Joshua Noble
9. Programming the Mobile Web (2010)
You’ll also explore platform variations, finicky mobile browsers, Ajax design patterns for mobile, and much more. Before you know it, you’ll be able to create mashups using Web 2.0 APIs in apps for the App Store, App World, Ovi Store, Android Market, and other online retailers.
- Learn how to use your existing web skills to move into mobile development
- Discover key differences in mobile app design and navigation, including touch devices
- Learn about technologies such as HTML5, XHTML MP, and WebKit extensions
- Understand variations of platforms such as Symbian, BlackBerry, webOS, Bada, Android, and iOS for iPhone and iPad
- Bypass the browser to create offline apps and widgets using web technologies
(edited by author)
Seven Myths of the Mobile Web
by Maximiliano Firtman
As the Web has moved onto mobile devices, developers have told themselves a lot of stories about what this means for their work. While some of those stories are true, others are misleading, confusing, or even dangerous.
It’s not the mobile web; it’s just the Web!
I’ve heard this quote many times in the last few years, and it’s true. It’s really the same Web. Think about your life. You don’t have another email account just for your mobile. (OK, I know some guys that do, but I believe that’s not typical!)
You read about the last NBA game on your favorite site, like ESPN; you don’t have a desktop news source and a different mobile news source. You really don’t want another social network for your mobile; you want to use the same Facebook or Twitter account as the one you used on your desktop. It was painful enough creating your friends list on your desktop, you’ve already ignored many people…you don’t want to have to do all that work again on your mobile.
For all of these purposes, the mobile web uses the same network protocols as the whole Internet: HTTP, HTTPS, POP3, Wireless LAN, and even TCP/IP. OK, you can say that GSM, CDMA, and UMTS are not protocols used in the desktop web environment, but they are communication protocols operating at lower layers. From our point of view, from a web application approach, we are using the same protocols.
So, yes…it’s the same Web. However, when developing for the mobile web we are targeting very, very different devices. The most obvious difference is the screen size, and yes, that will be our first problem. But there are many other not-so-obvious differences. One issue is that the contexts in which we use our mobile devices are often extremely different from where and how we use our comfortable desktops or even our laptops and netbooks.
Don’t get me wrong–this doesn’t mean that, as developers, we need to create two, three, or dozens of versions duplicating our work. In this book, we are going to analyze all the techniques available for this new world. Our objective will be to make only one product, and we’ll analyze the best way to do it.
You don’t need to do anything special about your desktop website.
Almost every smartphone on the market today–for example, the iPhone and Android-based devices–can read and display full desktop websites. Yes, this is true. Users want the same experience on the mobile web as they have on their desktops. Yes, this is also true. Some statistics even indicate that users tend to choose web versions over mobile versions when using a smartphone.
However, is this because we really love zooming in and out, scrolling and crawling for the information we want, or is it because the mobile versions are really awful and don’t offer the right user experience? I’ve seen a lot of mobile sites consisting of nothing but a logo and a couple of text links. My smartphone wants more!
One website should work for all devices (desktop, mobile, TV, etc.).
As we will see, there are techniques that allow us to create only one file but still provide different experiences on a variety of devices, including desktops, mobiles, TVs, and game consoles. This vision is called “One Web.” This is to an extent possible today, but the vision won’t fully be realized for years to come. Today, there are a lot of mobile devices with very low connection speeds and limited resources–non–smartphones—that, in theory, can read and parse any file, but will not provide the best user experience and will have compatibility and performance problems if we deliver the same document as for desktop. Therefore, One Web remains a goal for the future. A little additional work is still required to provide the right user experience for each mobile device, but there are techniques that can be applied to reduce the work required and avoid code and data duplication.
Mobile web is really easy; Just create a WML file.
I’m really surprised how many mobile websites are still developed using a technology deprecated many years ago: WML (Wireless Markup Language). Even in emerging markets, there are almost no WML-only web-capable devices on the market today. The worst part of this story is that these developers think that this is the markup language for the mobile web. Wrong! WML development was called mobile web (or WAP) development a couple of years ago, when the first attempt at building a mobile web was made. There are still a small proportion of WML-only devices available in some markets, but WML is definitely not the mobile web today.
Just create an HTML file with a width of 240 Pixels, and you have a mobile website.
This is the other fast-food way to think about the mobile web. Today, there are more than 3,000 mobile devices on the market, with almost 30 different browsers (actually, more than 300 different browsers if we separate them by version number). Creating one HTML file as your mobile website will be a very unsuccessful project. In addition, doing so contributes to the belief that mobile web browsing is not useful.
Native mobile applications will kill the mobile web.
Every solution has advantages and disadvantages. The mobile web has much to offer native applications, as Chapter 12 of this book will demonstrate. The mobile web (and the new concept of mobile widgets) offers us a great multi-device application platform, including local applications that don’t require an always-connected Web with URLs and browsers.
People are not using their mobile browsers.
How many Internet connections are there in the world?
- 1,802,330,457 (26% of the world’s population) at the beginning of 2010 (http://www.internetworldstats.com)
How many people have mobile devices?
- 4,600,000,000 (68% of the population) at the beginning of 2010 (U.N. Telecommunications Agency, http://www.itu.int)
So, one of the reasons why people are not using their mobile browsers may be because of us, the web producers. We are not offering them what they need. There are other factors, but let’s talk about what we can do from our point of view.
Opera Mini is a mobile browser for low- and mid-range devices. It is free and it has had more than 50 million downloads to date. This tells us that 50 million users wanted to have a better mobile web experience, so they went out and got Opera Mini. Do all the 4 billion plus worldwide mobile device users know about Opera Mini? Perhaps not, so it’s difficult to know how many would be interested in trying this different mobile web experience. However, 50 million downloads for only one browser that the user had to install actively is a big number for me. When Opera Mini appeared in Apple Inc.’s App Store, from which users can download and install applications for the iPhone, iPod, and iPad, 1 million users downloaded the browser on the first day. This is quite impressive.
Today, less than 4% of total web browsing is done from mobile devices. This percentage is increasing month by month. Mobile browsing may never become as popular as desktop browsing, but it will increase a lot in the following years.
In addition, user browsing on mobile devices will likely have a higher conversion rate. How many tabs do you usually have open at once in Internet Explorer or Firefox on your desktop or laptop? On a mobile device, when you browse you are more specific and more likely to act on what you find.
Author(s): Maximiliano Firtman
10. Hacking GPS (2005)
* Crazy-cool modifications include exploiting secret keycodes, revealing hidden features, building power cords and cables, hacking the battery and antenna, protecting a GPS from impact and falls, making a screen protector, and solar-powering a GPS
* Potential power users will take the function and performance of their GPS to a whole new level by hacking into the firmware and hacking into a PC connection with a GPS
* Fear not! Any potentially dangerous mod (to the device) is clearly labeled, with precautions listed that should be taken
* Game time! Readers can check out GPS games, check into hacking geocaching, and even use a GPS as a metal detector
Author(s): Kathie Kingsley-Hughes
11. Google Earth Forensics: Using Google Earth Geo-Location in Digital Forensic Investigations (2014)
Google Earth Forensics is the first book to explain how to use Google Earth in digital forensic investigations. This book teaches you how to leverage Google’s free tool to craft compelling location-based evidence for use in investigations and in the courtroom. It shows how to extract location-based data that can be used to display evidence in compelling audiovisual manners that explain and inform the data in contextual, meaningful, and easy-to-understand ways.
As mobile computing devices become more and more prevalent and powerful, they are becoming more and more useful in the field of law enforcement investigations and forensics. Of all the widely used mobile applications, none have more potential for helping solve crimes than those with geo-location tools.
Written for investigators and forensic practitioners, Google Earth Forensics is written by an investigator and trainer with more than 13 years of experience in law enforcement who will show you how to use this valuable tool anywhere at the crime scene, in the lab, or in the courtroom.
- Learn how to extract location-based evidence using the Google Earth program or app on computers and mobile devices
- Covers the basics of GPS systems, the usage of Google Earth, and helps sort through data imported from external evidence sources
- Includes tips on presenting evidence in compelling, easy-to-understand formats
Author(s): Michael Harrington, Michael Cross
Instead of just showing short snippets of code to explain a particular API, this guide is chock full of complete examples. You’ll find more than thirty complete Cordova applications that work on Android, iOS, Windows, and more. The sample applications demonstrate exactly what each API does and how it works, while the chapter content describes the limitations on the leading target platforms (and even offers possible workarounds).
Through realistic “cookbook” example code, mobile developer John Wargo helps you master the Cordova APIs and understand how to use them in your Cordova applications.
- Accelerometers, compass, and geolocation
- Image, video, and audio–capture, playback, and management
- Determining connection and device information
- Interacting with the Contacts application
- Responding to application events
- Accessing the device file system
- Globalizing apps
- Using the InAppBrowser
- Custom splash screens
Special care has been taken to make the code easily readable and digestible by the reader. This guide provides the most accessible coverage, anywhere, of Apache Cordova APIs.
Author(s): John M. Wargo