Tuesday, February 14, 2012

How to deal with transparency?

XC Skies has long been a proponent of transparency. We describe our techniques, reply to all technical questions in full disclosure and make the website fully discoverable.

By making the site "discoverable" that means our interfaces are exposed and can be discovered by savvy web developers. Knowing how to call our API (program interfaces) means some people can take advantage of XC Skies' services by bypassing our website and writing scripts to "scrape" and "rip-off" the data we provide to users who support our efforts via small subscriptions. The individuals can and have been identified, but solutions to preventing abuse on the site could potentially impact some pilots who are legitimately using our services. This conundrum is hard to balance.

We'll be implementing schemes to thwart the free-loaders of XC Skies while hopefully not causing problems with legitimate subscribers.

Another issue is the abuse of our free 30 day trial subscriptions. Anyone can signup freely and use XC Skies for 30 days, no questions asked and no obligations attached. This also means some users who find XC Skies indispensable, yet don't want to support it at a $4.95 / month fee, can just keep creating new users each month. Again, we know who these folks are, but what to do? These users account for a significant usage of the website. Do we (as XC Skies and the greater soaring community) put up with this abuse as a cost of business or do we take action to lock down the free 30 day trial process?

Additionally, many users share their accounts. The price points for subscriptions are modest with little to no profit based on the average user's activity. Sharing accounts cuts into the utility of the services for everyone. Yet another Q that will be addressed...

We'll be addressing these issues shortly too.

XC Skies Growing Pains

Like any popular service that starts from a grass roots effort, at some point a critical mass is reached and the sheer volume of transactions starts to stress the core ideas. In the case of XC Skies, the project started as a prototype to see if value could be gleaned by parameterizing coarse NWP model output and framed in a way that could be consumed by the average pilot using new visualization techniques via web applications. XC Skies gained traction quickly.

Long story short, a large pilot community gathered around the water cooler to talk about how these new tools could be leveraged and improved. Out of these candid and critical conversations a new way of viewing soaring forecasts emerged. With pioneers like Dr. Jack and Oliver Lichtei, innovative iterations on a theme gave rise to what we all come to expect as a constant resource for the soaring community, myself included.

When these services become interrupted for whatever reason, it's frustrating for everyone. In the case of XC Skies, we grew out of our modest computing footprint last fall which prompted a migration to one of the best Utility Cloud Computing environments available: Openhosting.com. These guys are top-notch and I've been deploying projects within their environment since they started business in 2003.

The cost of cloud computing reached a price point which made XC Skies and other compute intensive projects possible to successfully leverage the Cloud environment at an affordable rate. We are on the cusp of really great things to come with utility-based cloud computing. But with this, there will be growing pains.

On Dec 4, 2011 our migration into the cloud was completed with several side effects that were quickly sorted out. There are still a few minor remaining issues, but will likely be resolved with the new version of XC Skies apps coming soon. On Jan 26, 2012 some implementation issues caused intermittent issues with the deployment of XC Skies. By Friday afternoon, a stable solution was put back in place. A few minor network config issues surfaced over the next 2 weeks which resulted in short periods of point and route forecasts from plotting consistently. On Feb 10, we made a final upgrade to a very stable implementation which we feel is highly scalable and can meet the demands of the 2012 soaring season, which by our estimates will be the most demanding year yet for XC Skies.

So why all these comments? Simple. Full disclosure and transparency of our efforts to provide a better product in a more robust environment. As the post title notes, these are growing pains, which is a good thing for everyone who has found value in XC Skies with their continued support.

We greatly appreciate all that our community has given to this project and we're extremely excited to start releasing a suite of new products and innovative ways of getting at soaring forecast data quickly and effectively from all types of devices (PC, Phone, Tablet, etc). This next era for XC Skies will provide tremendously more value to our soaring community than we had previously thought possible.

Thank you for the continue support and we look forward to rolling out our new ideas from the feedback each and every one of you have contributed over the last few seasons.

-Chris Galli and the XC Skies Team

Sunday, May 29, 2011

Mobile, Mobile, Mobile

We've been stretching this out for a VERY long time. There are many reasons, but perhaps the most challenging one has been finding a Map API that will support all mobile devices that have a full featured web browser integrated within its OS.

Testing mobile applications (even if they are only browser-based) is extremely time consuming, and each mobile device yields different bugs. XC Skies is only going to support one main generic branch of code for mobile devices, so therein lies the challenge over the last many months.

New mobile devices are being released monthly, so finding a solution that will keep up with this is critical. We've chosen a very nice Map API called Leaflet, an open source mobile map API solution. We are fully supporting this initiative and contribute to bug fixes and code whenever we can.

So there it is there.

We're nearly complete with testing all features that the iPhone version has (which is rolled into this new API now) as well as cleaning up items and adding a few new goodies. This mobile version will work on iPad and other touch enabled tablets. Here's a screen shot of it running in Android 2.2 just in case you don't believe us :)



This will be released sometime next week.

Saturday, February 26, 2011

Static Maps vs Tile Layers

Another interesting feature of XC Skies V3 is the ability to view any size XC Skies forecast parameter from the Map as a static image. This eliminates the need to load files to a browser for creating the dynamic map features. So usage of static XC Skies Maps is a two fold win! For example, the below screen shot contains 574KB of tile images.

Resized image (not to scale)

The same image as a static map is only 120KB with a quality of 70 (see last post). Static maps will replace the old QuickLooks images and allow for mobile application development once the XC Skies Image API is released to those interested in creating applications for mobile devices or their own mash-ups.


Resized image (not to scale)

Image Quality vs Size: Download Wait Time

When creating images for the web (or any application for that matter) it is always important to consider the quality of images compared to the intended purpose. For example, why bother loading a high quality thumbnail when the it can be displayed as low, or very low?

Because XC Skies is heavily image based, we are extremely sensitive to how to balance readable imagery on the threshold of smallest size. Consider this panel of collapsed tile images. Each image is composed of these layers in order: terrain base layer, contour of height above ground parameter, and a road overlay.

Click on Image to enlarge

Images with varying degrees of shading are best represented as JPEG images. Simple images with discrete colors (such as the road overlay or simple XC Skies parameter overlays) are best viewed in PNG or GIF image formats. The size of an image varies significantly depending on its content. A quick visual review of the above panel shows the same collapsed image tile as a JPEG from highest quality of 100 to very low of 10. File sizes range from 70KB to 3KB (kilobytes).

What's important is to note that between qualities of 100 and 80, the image is nearly identical in readability and sharpness of roads and labeling. The size difference is 70KB - 18KB = 52KB of unneeded image data. Depending on your needs of extracting information from the image data, you might say that a quality of 70 is acceptable, which gains an additional 4KB advantage.

Let's put this in a simple perspective.

Assume we're looking at a map with 9 tiles (each of with 256 x 256 pixel dimension size) loaded in a map frame on XC Skies. This is a viewing area of 768 x 768 pixels--plenty of room to view soaring potentials. Let's do some math.

First let's assume we're sitting at an airport hangar or competition headquarters with a wireless network with a not-so-good connection to the internet, as is almost always the case. We want to refresh the map to check the latest updates from the last model run. For this case, we'll use an effective download speed of 20KB per second (that's generous if there are 10 users on a single wireless node).

Consider these two scenarios:

Quality of image at 100: 70KB * 9 = 630KB. Download time of 31.5 seconds. After 10 seconds I'm getting annoyed...

Quality of image at 70: 14KB * 9 = 126KB. Download time of 6.3 seconds. Now that's better!

Without collapsing images, we would be downloading a total of 27 images--3 sets of 9 tiles (base terrain, XC Skies layer, and roads overlay). An average total size for 27 tile images in XC Skies Maps is around 320KB depending on the scene. Collapsing down to 9 images results in 188KB. That's a 41% decrease in images size.

More examples and usage ideas will be posted later.

Thursday, February 10, 2011

Top 100 Aviation Web Sites Stopped

A quick note: There have been issues with being part of this project / web site. We are no longer affiliating ourselves with this due to poor response times from their servers, which impact loading some of our pages and products.

Saturday, February 5, 2011

What's in the data?

It has always been annoying to me that parameter color scales and their related intervals are less than ideal for reading the XC Maps in many situations.

For example, having 1000 foot intervals for lift can be misleading and obscure what's really going on with the interaction of the terrain. So why not be able to rescale parameters on-the-fly with simple slider-bar widgets that filter out the noise? This would make for a much easier exploring tool when conditions are on the edge, or appear to be epic.

Easy to read Top of Usable Lift (TOL) with user defined contours every 250 meters.


Masking out average Thermal Index values (a new parameter) where values are only greater than 1.5 with contours applied to scaled down colors to pull out "hot spots" better. This parameter when viewed alongside updraft velocity and top of lift can help pull out regions that are more favorable to stronger thermals based on the average thermal index for each vertical profile.


Lift above ground with color intervals rescaled to show just 500 to 2400 meter heights. Also apply a mask where lift tops are less than 500m, and make those areas transparent. This allows for detailed analysis in a space where previous color scales only allowed for several color intervals. Compare with the before and after views.


Example of masking updraft velocity values less than 4 meters per second, with contours, increased color scale resolution and wind barbs at the top of lift. This map clearly shows routes of interest for gliders of high performance capacity. The detail in the new XC Skies V3 updraft velocity approaches appear to be accurately showing strong lift along ranges near the bases where sun angles favor those locations.


Interfaces are currently being developed to assist in creating modified custom layers quickly and intuitively. Users will be able to save any created layer and share it with others.

Also coming is the ability to create your own color scales, or select ones from a predefined list of useful ranges.

More exciting features to come, including the long awaited email alerts and historical flight comparisons against forecast data for matching when large scale conditions are setting up to be similar to previous flights.