Saturday
Jan262013

Hydrovolts - Turbine Project

Discovery Channel recently featured the hardware side of a project I've been working on.

http://watch.discoverychannel.ca/daily-planet/january-2013/daily-planet---january-22nd-2013/#clip849451

 

Spatial Minds did the server side software portion.  The application consists of two components:  A Unix daemon performing data collection/storage and a Web 2.0 application for data visualization.  The in-field turbines report sensor data in real-time over a wireless connection.  The software collects the data and allows engineers to quickly visualize how the turbine is performing over any given date range.  CSV files can be downloaded with a single button for import into Excel, Matlab, Tableau, or other software for more in-depth exploration of the data.

The Web 2.0 application source code is available under the GNU Public License at https://github.com/hydrovolts/hvconnect

The Daemon was written in C++/Qt and the Web 2.0 application was written in C++/Wt on top of a SQL database.  The web application dynamically updates whenever new data arrives (graphs and tabular data) and works with any browser.  The application will take advantage of the latest web browser technology (HTML 5), and gracefully fall back to javascript, and pure HTML depending on what the browser is capable of. 

Screen Shot 2013 01 26 at 9 23 12 PM

 

The tabular data scrolls quickly and smoothly with an unlimited amount of data.

Screen Shot 2013 01 26 at 9 23 41 PM

Monday
Oct152012

LocoMaps - Sample Qt Geo App

QtGeo

Locomaps is a simple Qt Geo geo application that was created to demonstrate Qt's cross-platform capabilities at LinuxFest NW.  Using a single set of source code, with zero platform specific code, this application was cross-compiled and run on:  Mac OS X, Linux, Meego tablet, Windows XP, and Symbian.  Qt also supports QNX and other operating systems but we didn't have the hardware to demonstrate it on.  Digia is adding iOS (iPhone/iPad) and Android support now.  Qt is a powerful, native C++ framework that provides amazing cross-platform capability along with native performance.  HTML 5 is not the answer.

 

The application demonstrates

 

* Satellite, Terrain, and Street Maps

* Tiled Map Service (TMS) Panning

* TMS Zooming

* Qt Geo GPS Integration

* QML based TMS Display

* QML based GPS display

* QML based zoomer

* Cool graphics are compliments of IconShock.com

Code is available via GitHub.

https://github.com/craig-miller/locomaps
git://github.com/craig-miller/locomaps.git

 

LocoMaps1

 

  

LocoMaps2

 

 

LocoMaps3

Wednesday
Apr042012

Touring App

QtGeo

This touring app s a map-centric application designed to assist visitors wishing to tour Seattle's art, food, music, and other cultural highlights.  It utilizes crowd sourced data to provide comments, photos, links, and ratings for each stop on the tour.

The project was developed in four months by a three member herd of independent contractors that included 1 graphic designer and 2 software developers.  Spatial Minds contributed application UI/UX design experience, application architecture, and both UI & backend implementation for all of the "geo" related functionality of the application, including:

  • Flickable Map
  • Tiled Map Server (TMS) back-end integration, cacheing, and optimization
  • GPS Integration
  • Point of Interest (POI) search
  • POI storage
  • Routing UI Design
  • Routing back-end integration

 

The application opens to the "Tour Selection" page or the last screen used.  The map is centered on the user's current location.

CityTour - Tours

 

When a tour is selected, both the left pane and the map pane display the stops on the tour.  The user can add, remove, or re-order any of the tour stops.

CityTour - Seattle Center

 

When a stop is selected in the left pane, the pushpin on the right pane is highlighted.

CityTour - Stop Selection

 

Selecting the i "information" button displays detailed information about the stop, including crowd sourced comments, photos, links, and ratings.  Pressing the little man "directions" button computes a route from the user's current location to the tour stop, displays it on the map, and displays step-by-step directions in the left pane.

CityTour - Stop Detail

In addition to basic tour stop information and routing, the application includes a complete POI database search that allows the tourist to find a place for lunch or a quick cup of coffee.  It includes directions on how to get there and how to return to the tour.

 

 

The architecture extended the existing Qt Mobility 1.2 design patterns by implementing custom geo-services and POI plugins.  This approach allowed us to meet a VERY short timeline by using the Nokia OVI Maps back-end geo-services early in the project, and our custom geo-services plugins later on.  By using the OVI Maps back-end early, we were able to keep developers busy implementing the front-end UI components.  Later when the Service Broker based Geo-services were complete, we simply swapped in our custom plugin.

City Tour Architecture  Generic