Navigation at sea gets upgraded by Explorer Droid!
Navigation at sea gets upgraded by Explorer Droid!
Explorer Droid on Android allows you to navigate at sea in ways traditional chartplotters simply can't!
Explorer Droid on Android allows you to navigate at sea in ways traditional chartplotters simply can't! Read more
About this project
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
Risks and challenges
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!
Support this project
- (30 days)