This project's funding goal was not reached on March 21, 2013.
This project's funding goal was not reached on March 21, 2013.
Navigating at sea
Every day, at any moment, anywhere in the world, there are sailors, captains, and fishermen plowing the oceans, lakes, and rivers. Navigation, it is simple to assume, is one of their main tasks at hand.
Every day, at any moment, anywhere in the world, there are captains and sailors, fisherman and crew, probably with a smartphone in hand.
Navigation using a smartphone seems like a natural progression. Explorer Droid achieves that on Android. Take the familiar marine chart, put it on a platform with the blindingly fast graphics capabilities and processing power of even your average phone or tablet, and the results will simply astound you.
Combine the already built-in sensors and GPS with chart data, add the 3D game engine and camera capabilities of a modern mobile platform, and you have a unique navigation device that is unmatched by anything else available today.
And it all starts with a map
Explorer Droid will display fully compliant Electronic Navigational Charts (ENCs) as they are governed by the International Hydrographic Organization (IHO) standards. This will not be an image or tiles of an ENC, or a digitized paper chart—it will be hydrographic vector data that is rendered and processed directly on your Android platform!
This is important. The information on Explorer Droid is done the same way as on that pricey chartplotter you wanted for Christmas, or on that massive Electronic Chart Display and Information System (ECDIS) used by tankers and cruise ships to navigate the oceans. Every detail, color, layer, and symbol on the map has to match the standard, to be immediately familiar to a weekend mariner or a tugboat captain. Every piece of information presented has to be timely, precise, and unambiguous. You will have multiple levels of information and data at your fingertips—so you can quickly pan, zoom, and make decisions as you navigate a busy channel or look for that lighthouse just beyond the horizon.
ENCs themselves are provided by hydrographic agencies in many countries as the standard navigational chart for amateur and professional mariners. In the US, the National Oceanic and Atmospheric Administration (NOAA) provides these maps and updates them regularly as a service to anyone who can view and distribute the data. Generally, major companies sell dedicated chartplotters and subscriptions to charts, and supplement the information with their own data. Navigators even take laptops to sea to view charts and plan routes, as well as to display weather forecasts, tides, and shipboard instrumentation.
Despite all this, there is currently no device available on board that could match the capabilities of Explorer Droid!
And now, the "looking glass"
And it is precisely because Explorer Droid is held in your hand!
It is neither bound to a desk nor mounted to a wall. Carry it around while you look through the lens—a live camera feed in any direction you point—to display real surroundings on your device’s screen. Explorer Droid aligns, orients, and matches the chart data rendered inside your device with the real world as seen through your camera, creating a “looking glass”—an augmented view of the world around you.
Point it to a shore or lighthouse and see the magnetic heading and how far it is—at night or even in fog. Point it down to “see” the sea floor under your boat, its depth, and any tidal current’s strength and direction. Point it ahead to follow your marked route as it is “drawn” on the surface of the water. See rhumb lines and lay lines as you sail the race course.
If you have targeted a point on a map, a buoy at the harbor entrance, or a breakwater, you will have the distance and estimated time of arrival available anytime you choose to hover over the target and “see” it through your “looking glass”—from the bridge, the cockpit, or the rail—once you have established a solid position and orientation using GPS and magnetic and gyro sensors.
Explorer Droid from the metal up
The core capabilities of Explorer Droid—the 3D rendering, orientation, and mapping engine—are written in C using Android NDK, so there will be a fairly straightforward path to other mobile platforms and devices after Explorer Droid successfully launches. From the start, we intend this functionality, once it fully matures, to be used not only on different platforms but also with other types of vector mapping data, e.g., land topography or urban crowdsourced maps. If there is developer interest, we also intend to spin off a separate open source code project that would contain the Explorer Droid rendering engine.
The initial release of Explorer Droid will be for phones or tablets running Android ICS (4.0.1) + and it will be available for purchase through Google Play for about $20 or so.
We plan to launch several free demo versions of the software with full functionality but with different chart data sets already embedded and not updatable. We would like one chart demo set to be in the US, one in the EU, and one in Australia/New Zealand—so Explorer Droid can be taken for a ride and evaluated by prospective users all over the globe. For pledges of $50 or more, you will receive the Explorer Droid app and updatable chart data set(s)! Please see the rewards column to the right for more information.
Future demand will determine if there is a need for several versions or "flavors" of the application that would cater to specific users: a kayaker on the East River, a couple cruising the inland lakes, a One Design regatta sailor, or an institutional client with a whole other set of unique requirements.
We have been mercilessly hunting down inefficiencies and optimizing code from the start of development, so even at this stage Explorer Droid performs with aplomb, even on previous-generation hardware like Motorola Xoom. It is blazingly fast on new multicore devices like Nexus 4. By the time the free demo version is available on Google Play this summer, the Android mobile platform will have undergone yet another cycle of updates. Compatibility with any device on the market will have to be checked and verified as we launch.
We are paying particular attention to the fact that Explorer Droid will run mostly on battery-powered devices. We already carefully manage the CPU and GPU to throttle performance as needed in order to conserve battery power. We plan to further fine-tune and make this a lean ‘n’ mean app that just simply works and does not drain nearly as much power as your average 3D game!
Explorer Droid charts for download
Since the ENC data is encoded and optimized from the start to be used by 2D rasterization engines on chartplotters, we have to pre-process the data into a format that directly supports the best practices of OpenGL—the graphics engine on your device. This means that Explorer Droid will only read its own version of ENC chart data and updates available for purchase through Google Play.
When we launch the demo version of Explorer Droid, we plan to establish a web service with localized data servers to provide charts for direct download onto your device. The initial goal was to provide US chart data for free; however, the expected server costs need to be considered. As a basic guideline, we anticipate it will cost under $10 per one US State dataset and subsequent updates for a year. Please check the rewards section to the right for substantial savings for chart data sets on pledges of support above $10.
In the rest of the world, ENC chart data is provided by several private, semi-private, and public hydrographic agencies or entities. We will start the process of acquiring and adapting the data once we’ve achieved the solid launch of Explorer Droid with the US dataset.
We feel very strongly that Explorer Droid could be, and would be, widely adopted around the globe and could easily become fluent in any language. We will therefore support basic and extended Latin character sets within the chart display for the initial launch. This means all EU languages, special characters, and the Cyrillic alphabet would be rendered on the charts.
We hope to have the ability to render Unicode character sets for Korean, Japanese, and simplified Chinese in subsequent releases of Explorer Droid so that anyone, anywhere, can feel right at home reading the charts.
My last projects directly involved the concepts and technologies that now make Explorer Droid possible.
At Avaya Labs, the Android OS was used in “outside the box” ways. It was my challenge to distill the complexities of an enterprise-level telecommunications system interface to something elegant and even playful, while taking none of the functionality away. As part of the core Avaya Flare team, I built an OpenGL-based user interface and defined its fluid, intuitive interaction and functionality. We were subsequently granted several US patents.
Later, we developed next-generation Avaya Flare prototypes that worked on off-the-shelf Android Nexus hardware, phones, or tablets, using Open GL ES 2.0. This resulted in improved performance, updated complexity, and the immersion of the user in a full 3D experience.
Overview of Avaya Flare
The technical aspects of this project are well understood and are being solved one by one every day. My philosophy has been and will be to build applications that are almost invisible—they just work—reliably and every time. When released, Explorer Droid will by no means be mission critical; however, we will deliver it as the most efficient, practical, and useful mobile application it can possibly be.
Below are some key points to mark the current state of development:
—Find the most effective way to transpose what is essentially flat raster graphics data into information that can be used by your mobile device’s 3D graphics engine.
—Render all ENC objects, symbols, areas, outlines, and lines using a 3D engine, and achieve performance acceptable on most past, current, and future hardware.
—Match the performance, efficiency, and intuitiveness of panning and zooming by touch—akin to, for example, the established standard of Google maps.
2. Well Underway
—Present map details in Explorer Droid that are in full compliance with the rules and guidelines of the International Hydrographic Organization (IHO). Official Presentation Library documentation purchased and received from IHO is currently being studied and requirements implemented.
—Finalize the chart data pre-processing on Linux and package the binary data to be directly consumed by the OpenGL engine.
—Finish the structure for a web service for serving up the map data sets globally.
—Engage the device's sensors, location, acceleration, and magnetometer to render and orient the map data; i.e., points, contours, areas, and features over the live camera view. Sensor fusion has been tested and implemented in several prototypes. Final implementation and fine tuning still to come.
—Optimize the live camera feed within the 3D engine. Select an approach that is most efficient and least processor- and power-intensive on Android platform.
—Develop an interaction model for creating, editing, and managing owner/mariner data of points and areas of interest. Store owner’s data locally.
—Create, edit and manage routes, waypoints, and navigation events on tablet- or phone-sized screens. The touch interface is already developed, so the interactivity will just have to be built on top once the full display of map data is available.
To be developed, but probably in subsequent releases of Explorer Droid:
—Download, read, and parse binary GRIB files to render weather forecasts and manipulate time and display parameters. This is not expected to be a showstopper; it will just take time and work to implement.
—Engage the shipboard NMEA 2000 binary data stream to display a whole range of instrumentation on Explorer Droid—as well as additional navigation and AIS features. Solutions involving USB, Wi-Fi, or Bluetooth are being considered. We do not see unsolvable issues here and will begin prototyping on this as soon as the schedule allows. We plan to leave NMEA 0183 (an older standard) behind and will not develop for it at this stage.
—Develop proper display of Unicode characters (Japanese, Korean, and Chinese). We are determined to do this one right!
Yes. There will be a way to create, save, and edit user-defined points of interest.
In the map mode (charting and entering your route), you will have to keep the device’s screen as dry as possible since you do need to touch it. In the looking glass mode (peering through the camera lens), the device has a much better chance of getting wet. We will give you the option of disabling or “muting” the touch interface and will build in some predictive features that would function without the need of touch. For example, if you hover on a target and keep pointing at it with your device Explorer Droid will automatically show additional information.
The sensors on mobile platform are sometimes “noisy” and calibration is often needed by moving your device in a figure eight. Gyro sometimes shows drift or “gyro creep”. A good example of jittery, imprecise orientation used to be Google Star Map, which was difficult to stabilize and see well. Today, the main solution to this issue is called sensor fusion, using software that combines the raw data of all orientation sensors and dampens the fused output using established predictive algorithms like the Kálmán filter. Sensor Fusion gives you a much steadier orientation that is constantly checked by the app for inconsistencies. The software also performs checks on magnetic field anomalies, like interference from electrical devices nearby. Explorer Droid is taking advantage of this concept and we plan to constantly refine it to make it even better!
Yes. After the initial launch, we will immediately begin work on integrating with the NMEA 2000 data stream on several types of instruments.
Yes. We plan to release several versions or "flavors" of Explorer Droid that adapt to sailing, motoring, cruising, etc.
- (30 days)