<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Dark Sky Journal</title>
 <link href="http://journal.darkskyapp.com/atom.xml" rel="self"/>
 <link href="http://journal.darkskyapp.com/"/>
 <updated>2013-03-26T10:42:36-07:00</updated>
 <id>http://journal.darkskyapp.com/</id>
 <author>
   <name>Dark Sky Journal</name>
   <email>info@darkskyapp.com</email>
 </author>

 
 <entry>
   <title>Announcing Forecast</title>
   <link href="http://journal.darkskyapp.com/2013/announcing-forecast/"/>
   <updated>2013-03-26T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2013/announcing-forecast</id>
   <content type="html">
    &lt;p&gt;We&amp;rsquo;re extremely excited to announce the launch of &lt;a href=&quot;http://forecast.io&quot;&gt;Forecast&lt;/a&gt;, a new global weather service.&lt;/p&gt;

&lt;p&gt;Check it out the announcement on our &lt;a href=&quot;http://blog.forecast.io/post/46290267206/announcing-forecast&quot;&gt;Forecast blog&lt;/a&gt;.&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>It’s Crazy How Disruptive We Are</title>
   <link href="http://journal.darkskyapp.com/2013/disruptive/"/>
   <updated>2013-02-05T00:00:00-08:00</updated>
   <id>http://journal.darkskyapp.com/2013/disruptive</id>
   <content type="html">
    &lt;iframe width=&quot;664&quot; height=&quot;373&quot; src=&quot;http://www.fastcompany.com/embed/796a777cfc253&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;
&lt;p&gt;Our friends at Fast Company just posted &lt;a href=&quot;http://www.fastcompany.com/3005463/video-see-how-dark-sky-disrupts-weather-report-its-mobile-tech&quot;&gt;this video they made&lt;/a&gt; where Adam and I say words and only come off as moderately strange.&lt;/p&gt;
    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Open Source</title>
   <link href="http://journal.darkskyapp.com/2012/open-source/"/>
   <updated>2012-11-20T00:00:00-08:00</updated>
   <id>http://journal.darkskyapp.com/2012/open-source</id>
   <content type="html">
    &lt;p&gt;At Dark Sky, we believe strongly in open source. Without some of the wonderful
libraries out there, both the Dark Sky app and the Dark Sky API would have been
utterly impossible to write. (Unless, maybe, you&amp;rsquo;re some kind of super-human
cross-disciplinary programming savant.) Unfortunately, some of the tools we
needed, we couldn&amp;rsquo;t find in the open-source toolbox. So we wrote them, and
today we&amp;rsquo;re officially releasing some of them into the wild.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;The Dark Sky API is written entirely (well, almost entirely) in
&lt;a href=&quot;http://nodejs.org/&quot;&gt;Node.JS&lt;/a&gt;. We picked it from the beginning since it&amp;rsquo;s so
darned fast and lightweight, we can power the entire API off of a few teensy
virtual machines. All of the modules we&amp;rsquo;re releasing today were developed for
the API, and so they&amp;rsquo;re all Node.JS modules. If you want to use them, they&amp;rsquo;re
all handily available in &lt;a href=&quot;http://npmjs.org/&quot;&gt;NPM&lt;/a&gt; for your convenience.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/darkskyapp/cache-helpers&quot;&gt;cache-helpers&lt;/a&gt;:&lt;/strong&gt; A set of
abstracted, commonly-used caching patterns. The Dark Sky API is quite fast,
and most of the reason for that is lots and lots of caching.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/darkskyapp/pngparse&quot;&gt;pngparse&lt;/a&gt;:&lt;/strong&gt; a pure-JS means for
parsing PNG images into a pixel array. &lt;a href=&quot;http://journal.darkskyapp.com/2011/how-dark-sky-works/&quot;&gt;We&amp;rsquo;ve mentioned
before&lt;/a&gt; that Dark
Sky stores gridded data as images: this module is how the API reads those
images.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/darkskyapp/sphere-knn&quot;&gt;sphere-knn&lt;/a&gt;:&lt;/strong&gt; an acceleration
data structure for making k-nearest-neighbor queries on a sphere. Since
most weather data comes from ground-based radar stations, looking up what
stations are near a requested location is a common operation for us!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/darkskyapp/string-hash&quot;&gt;string-hash&lt;/a&gt;:&lt;/strong&gt; A teensy
little module for hashing strings to integers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/darkskyapp/tz-lookup&quot;&gt;tz-lookup&lt;/a&gt;:&lt;/strong&gt; Quickly lookup
the timezone of a given latitude/longitude pair. We originally made use of
the &lt;a href=&quot;https://github.com/mattbornski/tzwhere&quot;&gt;tzwhere&lt;/a&gt; module, but found it
far too slow for production use. tz-lookup is a tad less precise, but an
order of magnitude faster.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;All of these modules are well-tested and have been in production use for a few
months, so any kinks should be worked out by now. And, of course, we love to
see forks and pull requests, so feel free to contribute to the modules if they
don&amp;rsquo;t meet your needs!&lt;/p&gt;

&lt;p&gt;We plan to release more of our modules in the future, but we&amp;rsquo;re working
&lt;em&gt;really&lt;/em&gt; hard on international support and some secret projects, so you&amp;rsquo;ll just
have to wait. (It&amp;rsquo;ll be worth it, promise!)&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Jason LaPorte for Dark Sky</title>
   <link href="http://journal.darkskyapp.com/2012/jason-laporte-for-dark-sky/"/>
   <updated>2012-09-19T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/jason-laporte-for-dark-sky</id>
   <content type="html">
    &lt;iframe src=&quot;http://player.vimeo.com/video/49797353?title=0&quot; width=&quot;664&quot; height=&quot;498&quot; frameborder=&quot;0&quot; webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;

&lt;pre&gt;&lt;code&gt;INT. SCENE - DARK SKY OFFICE
SHOT - BLURRED FRAME FOCUSES TO REVEAL JAY

                        JASON LAPORTE
              Hi, I'm Jason LaPorte of the Dark Sky 
              Company.

              I come from the future: only an hour, 
              but sometimes that's all you need. You 
              see, in the future, everybody knows 
              when it's going to rain; and now, 
              thanks to the advanced technology of 
              the Dark Sky App, you can, too.

              So join us, and stay dry.

                      (Jay smiles)

[Throw credits in white text over Jay who is just standing 
there. He continues to smile and eventually says “Thank you.” 
and then he fades out, leaving just the white credits on black. 
Text fades out then Jay fades back in.]

                        JASON LAPORTE
              Oh, in an hour the economy still sucks.&lt;/code&gt;&lt;/pre&gt;
    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>App Store “Optimization”</title>
   <link href="http://journal.darkskyapp.com/2012/app-store-search-optimization/"/>
   <updated>2012-08-23T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/app-store-search-optimization</id>
   <content type="html">
    &lt;p&gt;&lt;em&gt;App Store Optimization: The act of fiddling with two arbitrary strings of text in order to rank higher in searches in the Apple App Store.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here is a history of Dark Sky’s rankings, in yellow, for three search terms. Can you spot when we “engaged in search optimization”?&lt;/p&gt;

&lt;p&gt;
  &lt;div style=&quot;text-align:center; padding-top: 25px&quot;&gt;
    &lt;img style=&quot;box-shadow: 1px 2px 10px rgba(0,0,0,0.4); width:600px;&quot; src=&quot;/images/app-store-search-optimization/weather.png&quot; /&gt;
  &lt;/div&gt;
  &lt;span class=&quot;caption&quot;&gt;Search for “Weather”&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;div style=&quot;text-align:center&quot;&gt;
    &lt;img style=&quot;box-shadow: 1px 2px 10px rgba(0,0,0,0.4); width:600px;&quot; src=&quot;/images/app-store-search-optimization/forecast.png&quot; /&gt;
  &lt;/div&gt;
  &lt;span class=&quot;caption&quot;&gt;Search for “Forecast”&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;div style=&quot;text-align:center&quot;&gt;
    &lt;img style=&quot;box-shadow: 1px 2px 10px rgba(0,0,0,0.4); width:600px;&quot; src=&quot;/images/app-store-search-optimization/radar.png&quot; /&gt;
  &lt;/div&gt;
  &lt;span class=&quot;caption&quot;&gt;Search for “Radar”&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;A few observations:&lt;/p&gt;

&lt;ol class=&quot;numbered_list&quot;&gt;
  &lt;li&gt;
  It appears that the only things that matter are the list of app keywords and the app title (which happen to be the two fields that a developer cannot modify once an app has been published). The description doesn’t seem to effect search results.
  &lt;/li&gt;
  &lt;li&gt;
  Changing our title from the nice and simple “Dark Sky” to the ungainly “Dark Sky - Weather Radar, Hyperlocal Forecasts, and Storm Alerts” had a big effect. Look at those juicy keywords!
  &lt;/li&gt;
  &lt;li&gt;
  You’ve got to play games with the keywords field. Inexplicably, you need to include pluralized words as separate keywords (e.g., both “forecast” and “forecasts”). And be sure to remove spaces in between your commas so you can cram in an extra word or two!
  &lt;/li&gt;
  &lt;li&gt;
  Being in the Top 10 Sales / Grossing lists don’t matter. Topping the chart in your category doesn’t matter. Being &lt;a href=&quot;http://daringfireball.net/linked/2012/06/22/dark-sky&quot;&gt;Fireballed&lt;/a&gt; doesn’t matter. Consistently improving your app doesn’t matter. What matters is adding the right words to your app’s title field.
  &lt;/li&gt;
  &lt;li&gt;
  The good news is this: Turns out you can have a successful app without appearing in any search results. Dark Sky has done remarkably well. Although I suspect this is bad news for Apple... it indicates search is so broken that it’s not the primary means for finding new apps by many (most?) iOS users.&lt;a href=&quot;#fn:1&quot; id=&quot;fnref:1&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;footnotes&quot;&gt;
  &lt;hr /&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;Whenever I search the App Store, it’s almost always to find a &lt;em&gt;specific&lt;/em&gt; app that I’ve already heard about elsewhere. I’ve given up using it for exploration.&lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Notifications</title>
   <link href="http://journal.darkskyapp.com/2012/notifications/"/>
   <updated>2012-08-15T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/notifications</id>
   <content type="html">
    &lt;p&gt;It seems there&amp;rsquo;s been a lot of confusion regarding notifications, so we wanted
to take a moment to clear some of it up regarding two facets of the feature:
battery life, and privacy.&lt;/p&gt;

&lt;h2&gt;Battery Life&lt;/h2&gt;

&lt;p&gt;iPhones and iPads have two methods of gathering your location: the GPS, which
is power-hungry but accurate to within meters, and cell-tower triangulation,
which is low-power but somewhat less accurate.&lt;a href=&quot;#fn:1&quot; id=&quot;fnref:1&quot;
title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt; Apple makes both available to
developers, allowing them to decide if they really need the added accuracy or
not. As it turns out, &lt;strong&gt;most developers just take the most accurate method they
can even when it&amp;rsquo;s not necessary, which has led to Location Services having a
bad reputation for draining the battery.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you&amp;rsquo;re using the Dark Sky app itself, we use the GPS: the accuracy is
important to the app, and we don&amp;rsquo;t use it for long enough to hurt your battery.
When you enable notifications, though, we need to keep a connection to Location
Services indefinitely; on the upside, we don&amp;rsquo;t need as much accuracy, so we use
cell-tower triangulation instead. As a result, &lt;strong&gt;enabling notifications in Dark
Sky will not drain your battery.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, we&amp;rsquo;ve received a number of negative reviews on the App Store
claiming the opposite. But don&amp;rsquo;t you believe them!&lt;/p&gt;

&lt;h2&gt;Privacy&lt;/h2&gt;

&lt;p&gt;Enabling notifications will have Location Services keep us up-to-date with your
location, so we can provide accurate notifications even if you move. We
understand that all location-based services are based on trust, and several of
our users have expressed concern about trusting us with their location. Since
trust is based on honesty, we want to tell you exactly what information we
collect, and what we do with it.&lt;/p&gt;

&lt;p&gt;If you enable notifications, Dark Sky stores four pieces of information:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;A unique code, specific to Dark Sky, identifying your device.&lt;/em&gt; When we
want to notify you, we give Apple that code and the notification message.
Only Apple has the ability to associate these codes with your device:
&lt;strong&gt;neither we nor anybody else can identify you or your device from this
code.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Your current location.&lt;/em&gt; We use this to keep an eye on the weather where
you are, and send you a notification if it&amp;rsquo;s going to rain soon.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Your location at the last time we checked the weather for you.&lt;/em&gt; If you&amp;rsquo;ve
moved far enough away, we know that our previous forecast might not be
accurate anymore, and we&amp;rsquo;ll check the weather again, just to be safe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Your notification settings (including threshold and do-not-disturb
times).&lt;/em&gt; We have to store these in order to make use of them on the server.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&lt;strong&gt;We store nothing else about you, and all of the above data is transmitted
securely (via &lt;a href=&quot;http://en.wikipedia.org/wiki/Secure_Sockets_Layer&quot;&gt;SSL&lt;/a&gt;).&lt;/strong&gt; Finally, as mentioned in our privacy policy
(available from the Dark Sky settings panel), &lt;strong&gt;we will never sell, rent, or
share any of your personal data with anyone.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have any questions about us or our privacy policy, please don&amp;rsquo;t hesitate
to &lt;a href=&quot;mailto:support@darkskyapp.com&quot;&gt;send us an email&lt;/a&gt;. But at the end of the day, if you don&amp;rsquo;t feel that
we&amp;rsquo;re worthy of your trust, simply do not enable notifications.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
  &lt;hr /&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;&lt;p&gt;Well, technically, there&amp;rsquo;s a third method: the device can also work out where it is by triangulating nearby Wi-Fi networks (which is how users with only a Wi-Fi model iPad or iPod Touch can be located). It's accurate and low-power, but often doesn't work in rural areas. &lt;a href=&quot;#fnref:1&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;


    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Version 2.0</title>
   <link href="http://journal.darkskyapp.com/2012/version-2.0/"/>
   <updated>2012-08-14T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/version-2.0</id>
   <content type="html">
    &lt;p&gt;In the life of a software product, each major version upgrade is considered a major milestone in that product&amp;rsquo;s life. Today, &lt;a href=&quot;http://itunes.com/apps/darksky&quot;&gt;Dark Sky 2.0 is available in the App Store&lt;/a&gt;, and as a celebration of it&amp;rsquo;s first “birthday,” we thought it would be nice to take a brief look at the app&amp;rsquo;s past, present, and future.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Where We&amp;rsquo;ve Been&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Last November, we started a &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali&quot;&gt;Kickstarter project&lt;/a&gt;&lt;/strong&gt; to bring an idea of ours to life. &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali/backers&quot;&gt;1,200 wonderful people&lt;/a&gt; believed in that idea as much as we did, securing enough funding for us to begin the hard work of turning Dark Sky the prototype into Dark Sky the app.&lt;/p&gt;

&lt;p&gt;In programming, there&amp;rsquo;s an old adage that “the first 90% of a project is fun, the second 90% wears you down, and the third 90% makes a great product.” We found that to hold from the very beginning, and really began to buckle down into that second 90% of the work in February, even going so far as to &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali/posts/174373&quot;&gt;hire another guy&lt;/a&gt; to help reign in all the bugs and polish the interface. &lt;strong&gt;We slipped our planned March release date, but did manage to release Dark Sky 1.0 a month later.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course, &lt;strong&gt;Dark Sky isn&amp;rsquo;t just a product, it&amp;rsquo;s a service:&lt;/strong&gt; it needs servers to run and has bugs that need fixing. So, unlike some Kickstarter projects that have a definitive start and end date, our little project had to keep on chugging, which meant we needed to sell copies of the app to keep the lights on and feed our families. Sales began slowly: getting the word out is a difficult process, the app had a few large bugs, and several early reviewers had perhaps unrealistic expectations of how well one can predict the weather (even though we do a lot better than the weatherman). For a while we were worried about being able to keep things running, but sales slowly picked up through a combination of advertising and positive press from bloggers and journalists. &lt;strong&gt;We now have over 35,000 users!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/version-2.0/downloads.png&quot; alt=&quot;Dark Sky's cumulative downloads over time.&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Where We Are Today&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Version 2.0 is a free upgrade now available in the App Store.&lt;/strong&gt; In addition to bugfixes and minor improvements, we&amp;rsquo;ve included two new major features: &lt;strong&gt;push notifications&lt;/strong&gt; and a &lt;strong&gt;national radar view.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/version-2.0/notifications.png&quot; alt=&quot;A screenshot of the new notification settings panel.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Push Notifications are a feature that our users have been requesting since we first launched last Spring. By enabling notifications within the app, &lt;strong&gt;we will tell you whenever it&amp;rsquo;s going to rain in the next ten or fifteen minutes,&lt;/strong&gt; so you&amp;rsquo;ll never get caught in the rain&amp;mdash;even if you forget to check the app. We&amp;rsquo;ve actually been working on this feature since the beginning, but it&amp;rsquo;s been very tricky to implement: we&amp;rsquo;re not quite 100% confident that we&amp;rsquo;ve gotten it perfect. For that reason, we&amp;rsquo;re currently considering the system to be experimental: if you find that notifications aren&amp;rsquo;t behaving exactly the way you&amp;rsquo;d expect, &lt;a href=&quot;mailto:support@darkskyapp.com&quot;&gt;we&amp;rsquo;d love to hear from you&lt;/a&gt;. As always, we strive to improve the app with every release.&lt;/p&gt;

&lt;p&gt;Expect notifications to be available in the &lt;a href=&quot;https://developer.darkskyapp.com/&quot;&gt;developer API&lt;/a&gt; sometime in the near future.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/version-2.0/national-view.png&quot; alt=&quot;A screenshot of the new national view.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The national radar view is a new radar mode that you can access with the touch of a button from the standard radar view. &lt;strong&gt;This view is similar to Dark Sky&amp;rsquo;s existing radar view, but shows the entire continental US at once,&lt;/strong&gt; so that you can get a sense for the “bigger picture” of what&amp;rsquo;s happening in the country right now. It has exactly the same smooth, beautiful radar tracking as you&amp;rsquo;ve come to expect from Dark Sky, on a different scale. And in this mode, you can scroll back in time over twelve hours.&lt;/p&gt;

&lt;h3&gt;Where We&amp;rsquo;re Going&lt;/h3&gt;

&lt;p&gt;Since launching Dark Sky, we&amp;rsquo;ve gotten hundreds of requests to expand our coverage, globally if possible. We&amp;rsquo;re thrilled about the excitement that Dark Sky has generated, and now that version 2.0 is out of the way, &lt;strong&gt;we&amp;rsquo;re starting to work on international support in earnest.&lt;/strong&gt; As we&amp;rsquo;ve told the many people who have asked us, international radar data is fragmented directly along national lines and generally less accessible as it is in the US: each country controls its own radar technology, has its own licensing fees, and has its own export laws. As a result, we&amp;rsquo;re limited to tackling the problem one country at a time, based on the number of requests we get for that country. If you&amp;rsquo;re interested in having Dark Sky where you live, be sure to &lt;a href=&quot;mailto:support@darkskyapp.com&quot;&gt;let us know&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Additionally, with our new national view and international support on the horizon, our current interface is going to get cluttered quickly. &lt;strong&gt;We plan to completely revise our radar view&lt;/strong&gt; in order to provide as elegant and beautiful a user interface for viewing as much of the world&amp;rsquo;s weather as possible.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Thanks to our 1,200 Kickstarter backers and our 35,000 customers, the future looks bright for Dark Sky. Every time we hear that we saved someone from a rainstorm, it brings a smile to our faces. We&amp;rsquo;re excited about where we&amp;rsquo;ve come from, and where we&amp;rsquo;re going. &lt;strong&gt;Dark Sky has just had it&amp;rsquo;s first “birthday.” Here&amp;rsquo;s hoping for many more.&lt;/strong&gt;&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>How Dark Sky Calculates Temperature</title>
   <link href="http://journal.darkskyapp.com/2012/how-dark-sky-calculates-temperature/"/>
   <updated>2012-05-31T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/how-dark-sky-calculates-temperature</id>
   <content type="html">
    &lt;p&gt;When we set out to build Dark Sky, our plan was to focus exclusively on precipitation for the next hour. It&amp;rsquo;s what we do differently, and it&amp;rsquo;s what we do well: we wanted to leave the longer-term prediction to other apps. Our users have asked us repeatedly for more, though: it&amp;rsquo;s frustrating to have to use multiple apps just to get a single picture of the day.&lt;a href=&quot;#fn:1&quot; id=&quot;fnref:1&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Really, we find it flattering that our users want to spend &lt;em&gt;more&lt;/em&gt; time in Dark Sky. So, you may have noticed that version 1.2 (from last week) included the current temperature, and Dark Sky 1.3 (out today!) includes 24-hour forecasts of both precipitation and temperature. &lt;a href=&quot;/2011/how-dark-sky-works/&quot;&gt;We&amp;rsquo;ve talked previously&lt;/a&gt; about how Dark Sky finds the precipitation down to your exact location; we thought we&amp;rsquo;d shed a little light on how we do the same for the temperature.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;In addition to its approximately 150 radar stations, the &lt;a href=&quot;http://weather.gov/&quot;&gt;National Weather Service&lt;/a&gt; also operates &lt;a href=&quot;http://www.nws.noaa.gov/mdl/lamp/lamp_info.shtml&quot;&gt;about 1500 ground stations&lt;/a&gt; that take more traditional readings, including temperature, dew point, wind speed, and so on; additionally, they provide hour-by-hour forecasts of this data over the next day. All of this information is publicly available just like the radar data is. It&amp;rsquo;s really easy for us to know the temperature at those specific places around the country simply by downloading it from the government&amp;rsquo;s servers and looking up the temperature at the desired time. As an example, here are the ground stations and their temperatures for upstate New York:&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-calculates-temperature/temperatures.png&quot; alt=&quot;The temperatures at various ground stations around the Northeast.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;But what about everywhere in between those stations? Well, temperature is a very low-resolution phenomenon: it doesn&amp;rsquo;t change very much even over moderate distances. One approach (and, in fact, the first one we tried) is to simply find the nearest station to a given location and use its temperature. This works pretty well most of the time, but starts to fall apart if the nearest station is on top of a mountain, or far away: we could be off by several degrees. A couple degrees doesn&amp;rsquo;t sound like much, but trust me: we get complaints over even minor issues!&lt;/p&gt;

&lt;p&gt;A better solution (and the one we now use&lt;a href=&quot;#fn:2&quot; id=&quot;fnref:2&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;) is to average the temperatures of nearby stations; but which stations do we pick? The technique that we settled on is one that has been successfully applied to similar scenarios in computer graphics, called triangulation:&lt;a href=&quot;#fn:3&quot; id=&quot;fnref:3&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt; we just &amp;ldquo;connect the dots&amp;rdquo; between stations until we&amp;rsquo;ve covered the entire country in triangles; then, to figure out which stations to average, we find which triangle the desired location is in, and take a weighted average of the three stations that form that triangle.&lt;a href=&quot;#fn:4&quot; id=&quot;fnref:4&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-calculates-temperature/triangles.png&quot; alt=&quot;The ground stations with triangles drawn between them.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s really all there is to it! For sake of comparison, below is the &amp;ldquo;nearest station&amp;rdquo; version side by side with the &amp;ldquo;averaged&amp;rdquo; version. You can see how much more smoothly temperatures blend over distances:&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-calculates-temperature/heatmap.png&quot; alt=&quot;A heatmap overlaid on the ground stations using both the nearest neighbor algorithm and triangulation interpolation.&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
  &lt;hr /&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;&lt;p&gt;We really like using Apple&amp;#8217;s iPhone weather widget alongside Dark Sky, but we found out later that it isn&amp;#8217;t available on the iPad&amp;mdash;and since one of our developers only uses an iPad, we knew we had to do &lt;i&gt;something&lt;/i&gt; about it! &lt;a href=&quot;#fnref:1&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
    &lt;li id=&quot;fn:2&quot;&gt;&lt;p&gt;We find that doing these kinds of predictions on our servers, rather than in the app itself, is preferable because we can continually improve accuracy without having to send out an app update. &lt;a href=&quot;#fnref:2&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
    &lt;li id=&quot;fn:3&quot;&gt;&lt;p&gt;The exact method we use is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Delaunay_triangulation&quot;&gt;Delaunay triangulation&lt;/a&gt;: it tries to form triangles that are as close to equilateral as possible. This ensures that the stations that form the vertices of the triangle are as close (on average) to any point within the triangle as possible. &lt;a href=&quot;https://github.com/ironwallaby/delaunay&quot;&gt;Our JavaScript implementation of Delaunay triangulation&lt;/a&gt; is open source. &lt;a href=&quot;#fnref:3&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
    &lt;li id=&quot;fn:4&quot;&gt;&lt;p&gt;The fastest way to check whether a point is within a triangle is to &lt;a href=&quot;http://www.blackpawn.com/texts/pointinpoly/default.html&quot;&gt;find that point&amp;#8217;s barycentric coordinates&lt;/a&gt;; this has the beneficial side effect of also giving us the weighting coefficients for each vertex for free. &lt;a href=&quot;#fnref:4&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;


    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Kickstarting an iOS App, Part 2&#58; Physical Rewards</title>
   <link href="http://journal.darkskyapp.com/2012/kickstarting-part-2/"/>
   <updated>2012-05-28T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/kickstarting-part-2</id>
   <content type="html">
    &lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://darkskyapp.com/&quot;&gt;Dark Sky for iPhone and iPad&lt;/a&gt; was made possible through &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali&quot;&gt;Kickstarter&lt;/a&gt;. In this series, we&amp;rsquo;re talking about what we wished we knew when we started the project: previously, we looked at &lt;a href=&quot;/2012/kickstarting-part-1/&quot;&gt;how we got our backers their digital rewards&lt;/a&gt;; in this second part of the series, we&amp;rsquo;ll be talking about the process of getting our backers their physical rewards.&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;As mentioned in the previous article, all three of us at Dark Sky came from the world of web development, and if creating and releasing an iOS app was on the fringes of our realm of experience, creating and sending out physical rewards was completely off the map. The two physical rewards provided to our backers were silk-screened T-shirts and silk-screened umbrellas; getting these rewards to our backers was by far the most arduous part of the Kickstarter campaign, even considering the positively wonderful support given us by &lt;a href=&quot;http://designittogether.com/&quot;&gt;Design It Together&lt;/a&gt;, the local print studio that actually produced the rewards for us.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/kickstarting/umbrellas.jpg&quot; alt=&quot;Umbrellas drying at Design It Together.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We got a late start on designing the T-shirts, because our goal for them was so straightforward: the Dark Sky icon in medium-gray on a dark gray background. We handed off our design to the print studio and expected things would go pretty quickly&amp;hellip; and then we discovered that &amp;ldquo;asphalt&amp;rdquo; and &amp;ldquo;charcoal&amp;rdquo; are two &lt;em&gt;different&lt;/em&gt; colors, and that the medium-gray ink shows up differently under varying lighting conditions, and that women&amp;rsquo;s shirts print darker because of their denser weave, and so on; furthermore, each iteration involved several days of waiting simply due to logistics. In total, &lt;strong&gt;the process we expected to take a month ended up taking two-and-half,&lt;/strong&gt; through no specific fault of any party.&lt;/p&gt;

&lt;p&gt;After we had the rewards, we still had to ship them out to each of our backers. It seems that places like &lt;a href=&quot;http://amazon.com/&quot;&gt;Amazon&lt;/a&gt; have spoiled us into thinking that shipping is cheap; in our experience, &lt;strong&gt;the cost of shipping is always much higher than you expect.&lt;/strong&gt; We looked at every reputable carrier we could find, and in the end found that &lt;strong&gt;the &lt;a href=&quot;https://www.usps.com/&quot;&gt;United States Postal Service&lt;/a&gt; had the best domestic and international rates by far&lt;/strong&gt; (via flat-rate priority mail boxes), but even then it cost us as much to ship the rewards as it did to have them made (and, in the case of international orders, up to three or four times as much).&lt;/p&gt;

&lt;p&gt;USPS &lt;a href=&quot;https://store.usps.com/store/browse/uspsProductDetailMultiSkuDropDown.jsp?categoryNav=false&amp;amp;navAction=jump&amp;amp;navCount=0&amp;amp;productId=P_SMALL_FRB&amp;amp;categoryId=subcatMSS_B_Free&quot;&gt;has a website&lt;/a&gt; from which you can order large quantities of flat-rate boxes&amp;mdash;for free!&amp;mdash;and have them delivered right to you (though, in our case, the boxes were held at the local post office since they believed a residential address ordering 250 flat-rate boxes was an error). There is a time investment involved in folding the boxes, folding the shirts, printing the shipping labels (which &lt;a href=&quot;http://www.stamps.com/&quot;&gt;can also be done online&lt;/a&gt;) and affixing shipping labels to each; but &lt;strong&gt;this part of the process actually went faster than we expected&lt;/strong&gt; and didn&amp;rsquo;t factor significantly into the overall reward fulfillment time. After that, we only needed to wait on the postman to pick everything up.&lt;/p&gt;

&lt;p&gt;(In our experience, while the &lt;em&gt;post office&lt;/em&gt; sapped lots of our time and was generally unhelpful, we found that the two or three &lt;em&gt;mail carriers&lt;/em&gt; that we interacted with were wonderful human beings, going out of their way to help us make the mailing process as easy as possible. If you ever find yours off-duty, buy them a drink!)&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/kickstarting/boxes.jpg&quot; alt=&quot;Relaxing after we packaged up all of the rewards.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;While we personally didn&amp;rsquo;t actively have to invest much time and effort into producing the physical rewards, there was a lot of waiting and back-and-forth involved in both getting them made and mailing them; &lt;strong&gt;if we were to do this all again, we would get started on it &lt;em&gt;immediately&lt;/em&gt; upon the project&amp;rsquo;s successful backing and try to do as many parts of it in parallel as possible.&lt;/strong&gt; We are also quite certain that, given the enormous cost of shipping, there &lt;em&gt;has&lt;/em&gt; to be a better way; &lt;strong&gt;we&amp;rsquo;d do more research the next time around,&lt;/strong&gt; and would encourage others to do so as well.&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Dark Sky for Developers</title>
   <link href="http://journal.darkskyapp.com/2012/dark-sky-for-developers/"/>
   <updated>2012-05-22T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/dark-sky-for-developers</id>
   <content type="html">
    &lt;p&gt;People see &lt;a href=&quot;http://darkskyapp.com/&quot; title=&quot;Visit the website for our app&quot;&gt;Dark Sky&lt;/a&gt; and they see an app, but that&amp;#8217;s only half the story. Not even half.&lt;a href=&quot;#fn:1&quot; id=&quot;fnref:1&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt; What you hold in your hand when you use our app is a mere visualization of an entirely unique weather prediction system. This system has been developed by the two smartest people I&amp;#8217;ve ever met&lt;a href=&quot;#fn:2&quot; id=&quot;fnref:2&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt; and is every bit as impressive as the app itself.&lt;/p&gt;

&lt;p&gt;Utilizing the US government&amp;#8217;s &lt;a href=&quot;http://en.wikipedia.org/wiki/NEXRAD&quot;&gt;doppler radar&lt;/a&gt;, and applying whiz-bang science,&lt;a href=&quot;#fn:3&quot; id=&quot;fnref:3&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt; this &lt;em&gt;Dark Sky Net&lt;/em&gt; — for lack of a better term — provides us with minute-by-minute predictions for exact locations and human-readable descriptions of what&amp;#8217;s about to happen. We developed this system to be incredibly easy to communicate with over the Internet, resulting in a very powerful API. And when you make something powerful you want to share it with the world.&lt;/p&gt;

&lt;p&gt;Ladies and gentleman, I give you &lt;a href=&quot;https://developer.darkskyapp.com&quot;&gt;Dark Sky for Developers&lt;/a&gt;…&lt;/p&gt;

&lt;p style=&quot;vertical-align: top;&quot;&gt;&lt;a href=&quot;https://developer.darkskyapp.com&quot; title=&quot;Dark Sky for Developers&quot;&gt;&lt;img src=&quot;/images/dark-sky-for-developers/dev_screenshots_combined.png&quot; alt=&quot;Dark Sky for Developers&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We know that these kind of forecasts must have applications in any number of markets / human endeavors. In fact, we are actively pursuing a number of licensing deals. But why limit Dark Sky to only the projects we can think of? So we&amp;#8217;re offering &lt;strong&gt;free unlimited trial access to our API&lt;/strong&gt; for anyone who wants to know the [near] future.&lt;/p&gt;

&lt;p&gt;To facilitate this, we&amp;#8217;ve built you a simple dashboard where you can monitor your API usage, manage your secret key, and &lt;a href=&quot;https://developer.darkskyapp.com/docs&quot;&gt;read the documentation&lt;/a&gt;. Just don&amp;#8217;t go and use our API in anything that is open to the public or commercial without talking to us first. When you reach that stage just &lt;a href=&quot;mailto:info@darkskyapp.com&quot;&gt;send us an email&lt;/a&gt; and we can figure out how best to work together.&lt;/p&gt;

&lt;p&gt;Now please, go make something!&lt;a href=&quot;#fn:4&quot; id=&quot;fnref:4&quot; title=&quot;see footnote&quot; class=&quot;footnote&quot;&gt;4&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
  &lt;hr /&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;&lt;p&gt;47%, to be precise. &lt;a href=&quot;#fnref:1&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
    &lt;li id=&quot;fn:2&quot;&gt;&lt;p&gt;I can say that, they can&amp;#8217;t. &lt;a href=&quot;#fnref:2&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
    &lt;li id=&quot;fn:3&quot;&gt;&lt;p&gt;Neural nets, optical flow, cloud computing, object tracking, and Node.js — to drop a few buzzwords in no apparent order. &lt;a href=&quot;#fnref:3&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
    &lt;li id=&quot;fn:4&quot;&gt;&lt;p&gt;Namely, an Android app that does short-term forecasting. We&amp;#8217;re a bit busy at the moment. &lt;em&gt;Thanks!&lt;/em&gt; &lt;a href=&quot;#fnref:4&quot; title=&quot;return to article&quot; class=&quot;reversefootnote&quot;&gt;&amp;#160;&amp;#8617;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Kickstarting an iOS App, Part 1&#58; Digital Rewards</title>
   <link href="http://journal.darkskyapp.com/2012/kickstarting-part-1/"/>
   <updated>2012-05-08T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2012/kickstarting-part-1</id>
   <content type="html">
    &lt;p&gt;&lt;img class=&quot;right&quot; src=&quot;/images/kickstarting/iphone-ipad.png&quot; alt=&quot;Dark Sky for iPhone and iPad&quot; /&gt; &lt;a href=&quot;http://www.kickstarter.com/&quot;&gt;Kickstarter&lt;/a&gt; has become &lt;em&gt;very&lt;/em&gt; big news on the Internet, and for good reason: the Internet is all about novel ideas, and Kickstarter has become one of the most visable means of funding those ideas that would otherwise never get off the ground. Our project, &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali&quot;&gt;Dark Sky&lt;/a&gt;, was one of those ideas; and thanks to our (beloved, wonderful, attractive) &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali/backers&quot;&gt;Kickstarter backers&lt;/a&gt;, we were able to meet our funding goal and build &lt;a href=&quot;http://darkskyapp.com/&quot;&gt;our iOS app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Of course, the story didn&amp;rsquo;t end when we met our goal, and we learned quite a bit along the way. Since so many other folks are looking to Kickstarter as a way to fund their own projects, we wanted to contribute some of the things we wished we knew when we started. In this first part of a series, we&amp;rsquo;ll be talking about the process of getting digital rewards out into the world.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;All three of us came from the world of web development, and moving to app development is a bit of a change for us; the most obvious difference is that instead of being able to roll out changes and bugfixes whenever we want, we&amp;rsquo;re constrained to a release cycle&amp;mdash;but that&amp;rsquo;s a story for a different day. The other major difference, and the one we&amp;rsquo;d like to talk about today, is in distribution: on the web, everything you make is immediately public to the world; on iOS, though, there was a process involved in getting our Kickstarter backers their rewards. We never really thought about this ahead of time, thinking&amp;mdash;we assume, like many others&amp;mdash;that we would just give each of our backers promotional codes. Unfortunately, that avenue just isn&amp;rsquo;t viable: Apple gives us 50 codes for each version of the app, and releasing an update takes (at least!) a week to go through approval. &lt;strong&gt;In order to get enough promo codes to give one to each of our backers, we would have to update the app once a week for six months&lt;/strong&gt;&amp;mdash;and that doesn&amp;rsquo;t even include using any codes to &lt;em&gt;promote the app!&lt;/em&gt; Obviously, promo codes are simply infeasible for rewards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solution we settled on was Apple&amp;rsquo;s &lt;em&gt;gifting&lt;/em&gt; mechanism:&lt;/strong&gt; essentially, buying each of our backers their copy of the app. This isn&amp;rsquo;t quite as arduous as it sounds: everything is done right from within iTunes, and you are allowed to provide Apple a comma-separated list of email addresses to gift to, though there is a limit on the number of characters that can be submitted at once; we were able to send about fifty copies of the app in each batch. A couple hours later, each of our Kickstarter backers had an email with their copy of Dark Sky.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/kickstarting/itunes-gift.png&quot; alt=&quot;You can gift apps from within iTunes.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Well, almost. The process wasn&amp;rsquo;t all rainbows and unicorns; we encountered more than a couple problems with it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Apple places a limit on the number of gift purchases that can be made in a certain period of time.&lt;/strong&gt; We aren&amp;rsquo;t sure what the exact parameters of this limit are, but after having made some 500 purchases of the app in an hour we were given an error telling us that we couldn&amp;rsquo;t make any further purchases for a while. After waiting an hour, we were able to finish making our purchases without issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Strangely enough, &lt;strong&gt;our credit card company regards making a thousand purchases of the same product in a short period of time as illegitimate behavior,&lt;/strong&gt; and as a result placed a hold on our credit card until we called them and straightened everything out.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Apple takes a 30% cut of all App Store purchases&lt;/strong&gt;, and while we were expecting overhead costs for the physical rewards we offered, we hadn&amp;rsquo;t counted on having to spend an additional $2,000 &lt;em&gt;(that&amp;rsquo;s fully 5%!)&lt;/em&gt; of our gross Kickstarter funding on digital rewards. Obviously, these costs can be minimized by setting the initial app price very low and raising it as soon as we&amp;rsquo;d finished gifting it to our backers, but this seemed to us dishonest, and a poor way to begin our business relationship with Apple.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After purchasing a gift for a particular email address, Apple sends that email address an email from &amp;ldquo;iTunes Store &amp;lt;do_not_reply@itunes.com&gt;&amp;rdquo; with the subject &amp;ldquo;&amp;mdash; sent you an iTunes Gift;&amp;rdquo; a large percentage of our backers never received these emails, whether due to them giving us incorrect email addresses, or losing the email in their spam folders. In fact, even backers who use Apple Mail would often end up with the email being marked as spam. &lt;strong&gt;We ended up spending quite a lot of time working with backers who never received their apps&lt;/strong&gt; individually over email; in some cases, the lost emails were found in spam folders, but in other cases we needed to use promo codes or even buy additional copies of the app in order to resolve the situation, further adding to our overhead.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When someone is gifted a copy of the app (or given a promo code), it seems that they are not able to leave a review in the App Store.&lt;/strong&gt; While we can appreciate the reasoning behind this, it &lt;em&gt;is&lt;/em&gt; unfortunate, since many apps live or die by their reviews and an initial burst of positive reviews would help to encourage sales, especially for a &amp;ldquo;premium&amp;rdquo; app like ours.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;All in all, the process wasn&amp;rsquo;t especially painful and we&amp;rsquo;d go this route again, but &lt;strong&gt;we&amp;rsquo;d budget our time and money &lt;em&gt;much&lt;/em&gt; more carefully:&lt;/strong&gt; it&amp;rsquo;s difficult to spend several hours daily on responding to support emails when there are crucial bugs to fix in your brand new app, and it&amp;rsquo;s difficult to spend a few thousand dollars when you&amp;rsquo;re trying to get your fledgling company to take off.&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>How Dark Sky Works</title>
   <link href="http://journal.darkskyapp.com/2011/how-dark-sky-works/"/>
   <updated>2011-11-07T00:00:00-08:00</updated>
   <id>http://journal.darkskyapp.com/2011/how-dark-sky-works</id>
   <content type="html">
    &lt;p&gt;
A lot of people have been wondering how &lt;a href=&quot;http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali&quot;&gt;Dark Sky&lt;/a&gt; works. In this post I’ll try to shed some light on what goes on under the hood.
&lt;/p&gt;

&lt;h2&gt;Getting the data&lt;/h2&gt;

&lt;p&gt;
All our radar data comes from the National Oceanic and Atmospheric Administration. NOAA &lt;a href=&quot;http://radar.weather.gov&quot;&gt;operates a network&lt;/a&gt; of over 140 radar stations spread across the United States and its territories, and one of the advantages of being a US citizen is that you get access to this data for free. They’re mandated by law to make their information public, but they go above and beyond by providing real-time access via the web and FTP.
&lt;/p&gt;
&lt;p&gt;
We &lt;a href=&quot;http://www.nws.noaa.gov/tg/radfiles.html&quot;&gt;download&lt;/a&gt; the raw radar data in binary format. But if you’re looking to get started playing around with weather radar, a better place to start is perhaps &lt;a href=&quot;http://www.srh.noaa.gov/jetstream/doppler/ridge_download.htm&quot;&gt;RIDGE&lt;/a&gt;, which boils the raw data into color-coded images that are easier to work with.
&lt;/p&gt;

&lt;h2&gt;Cleaning it up&lt;/h2&gt;

&lt;p&gt;
Weather radar is noisy. There’s lots of ground clutter, bug and bird migrations (!), and other artifacts that can be confused for precipitation. Here’s an example:
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-works/1.jpg&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
So we’ll need to clean this up. How do we do it? Well, the noise mostly consists of low-intensity data -- the light blue areas. One technique (which &lt;a href=&quot;http://egb13.net/2009/09/noise-removal-from-noaa-weather-radar/&quot;&gt;this gentleman&lt;/a&gt; writes more about), is to simply remove all low-intensity data. It clears away the noise, and leaves &lt;em&gt;most&lt;/em&gt; of the actual precipitation data.
&lt;/p&gt;
&lt;p&gt;
However, for our purposes, “most” isn’t good enough. By removing low-intensity data indiscriminately, we’re removing valuable data from the leading and trailing edges of the storms. This data is crucially important if we’re going to predict when it will start and stop raining. So we’ll have to be a little more clever.
&lt;/p&gt;
&lt;p&gt;
After staring at enough radar images, it becomes pretty clear which signals are real precipitation data, and which are noise. Not only does noise tend to be low-intensity, but it has a recognizable “texture” which is distinct from actual storms. It’s easy to see with the eyes, but hard to explicitly quantify or define. So how do we write a program to remove it? This type of I-know-it-when-I-see-it, but ill-defined situation is ripe for some machine learnin’.
&lt;/p&gt;
&lt;p&gt;
In this case, we opted for neural nets. Using the &lt;a href=&quot;http://leenissen.dk/fann/wp/&quot;&gt;Fast Artificial Neural Network&lt;/a&gt; C-library, we trained a neural net with thousands of “blobs” of data hand-separated into two categories: noise, and not-noise.
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-works/2.jpg&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
The training process takes a while to run but the end result is a small, blazing fast program that accurately identifies somewhere between 90% and 95% of the noise, with very few false positives.
&lt;/p&gt;
&lt;p&gt;
(To take care of the remainder, we spent an embarrassingly large amount of time and effort writing heuristic clean-up code by a tedious process of trial and error. But we’re keeping that part secret ;-)
&lt;/p&gt;
&lt;p&gt;
The end result looks something like this:
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-works/3.jpg&quot; /&gt;
&lt;/p&gt;

&lt;h2&gt;Extracting storm velocity&lt;/h2&gt;

&lt;p&gt;
Now that we have the radar data and we’ve cleaned it up, we come to the real meat of the app: velocity extraction.
&lt;/p&gt;
&lt;p&gt;
But first, let me talk a little about the philosophy of our approach...
&lt;/p&gt;
&lt;p&gt;
Weather is chaotic. It’s the quintessential non-linear dynamical system. Complicated fluid dynamics combined with a spinning globe, uneven terrain, and energy pumped into the system from the sun makes the weather extremely hard to predict with any accuracy. Meteorologists have spent a century coming up with increasingly sophisticated models and they still can’t reliably talk about the weather -- even generally -- much more than a week in advance.
&lt;/p&gt;
&lt;p&gt;
So how can we justify our claim of being able to predict precipitation down to the very minute?
&lt;/p&gt;
&lt;p&gt;
Well, here’s the thing: while the weather becomes chaotic and unpredictable at large timescales (hours to days), its behavior becomes increasingly linear at smaller and smaller timescales. To see this in action, take a look at cumulus clouds drifting across the sky. They tend to move in relatively straight lines:
&lt;/p&gt;
&lt;p&gt;
&lt;iframe width=&quot;640&quot; height=&quot;360&quot; class=&quot;center&quot; src=&quot;http://www.youtube.com/embed/p6qPJAmmQ8A?rel=0&amp;amp;hd=1&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;
We’ve found that precipitation bands are even more coherent and behave approximately linearly over the course of minutes, and in many cases up to an hour or more. So how do we go about quantifying this linear motion? Math, that’s how!
&lt;/p&gt;
&lt;p&gt;
We use various computer vision algorithms to compare multiple radar image frames and create a map of velocity. Specifically, we use &lt;a href=&quot;http://opencv.willowgarage.com/wiki/&quot;&gt;OpenCV&lt;/a&gt;, an open-source computer vision library, which comes with a number of optical flow and object tracking algorithms (for a great introduction to the topic and to see some sample code, check out &lt;a href=&quot;http://robots.stanford.edu/cs223b05/notes/CS%20223-B%20T1%20stavens_opencv_optical_flow.pdf&quot;&gt;this tutorial&lt;/a&gt; by David Stavens at the Stanford AI Labs).
&lt;/p&gt;
&lt;p&gt;
The end result looks something like this:
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-works/4.jpg&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
Actually, we don’t draw little arrows. Instead, we encode the velocity in a more useful form: colors. We create a 3-channel image where the red channel represents velocity in the x-direction, the blue channel represents velocity in the y-direction, and the green channel represents change in storm intensity:
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-works/5.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
(If you’re so inclined, open the image in Photoshop and check out the color channels individually)
&lt;/p&gt;

&lt;h2&gt;Prediction and Interpolation&lt;/h2&gt;

&lt;p&gt;
So, now that we’ve extracted storm velocity, it’s time to use it to predict the future!
&lt;/p&gt;
&lt;p&gt;
The reason we encode velocity data as an image is so we can pass it off to the GPU on the iPhone and iPad. Both the storm prediction and the smooth animations are calculated on the device itself, rather than the server, and all the magic happens directly on the GPU.
&lt;/p&gt;
&lt;p&gt;
I’m going to be a little vague here, since this part constitutes our “secret sauce”, and is the component of our system that is in most active development. So instead, here’s a pretty video of the app in action:
&lt;/p&gt;
&lt;p&gt;
&lt;iframe src=&quot;http://player.vimeo.com/video/31751453?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;680&quot; height=&quot;510&quot; class=&quot;center&quot; frameborder=&quot;0&quot; webkitAllowFullScreen allowFullScreen&gt;&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;Monitoring error&lt;/h2&gt;

&lt;p&gt;
A prediction is worthless unless it is not only accurate, but &lt;em&gt;reliably&lt;/em&gt; accurate. A large amount of our effort is focused on measuring the error rate of Dark Sky predictions. Some storms are more coherent and stable than others, so how far into the future we can project varies over time and at different geographical locations.
&lt;/p&gt;
&lt;p&gt;
Whenever we process a new radar image, we go back to previous images and project them forward, creating a map of what we &lt;em&gt;think&lt;/em&gt; the storm will look like in the present. We then compare this with the latest radar image to see how close we got.
&lt;/p&gt;
&lt;p&gt;
&lt;img class=&quot;center&quot; src=&quot;/images/how-dark-sky-works/6.gif&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
We are constantly doing this check in real time, for every radar station. This lets us monitor our accuracy, and helps us quantify how effective future improvements are.
&lt;/p&gt;

&lt;h2&gt;In conclusion...&lt;/h2&gt;

&lt;p&gt;
So Dark Sky consists of a number of different moving parts that all need to fit together to create accurate predictions and pretty animations. This post glosses over many of the details, but I hope it helps get across the essential process and our approach to short-term weather forecasting.
&lt;/p&gt;
&lt;p&gt;
It’s very much a numerical &amp; statistical approach, rather than a meteorological one. Since we’ve launched the Kickstarter project, we’ve had several people (many of them meteorologists) criticize it because it eschews physical modeling of atmospheric fluid dynamics. And it’s true that our system will never be able to predict six hours in the future, let alone a day from now. But by focusing on the immediate future, and leaving everything beyond to the meteorologists, we can create a highly accurate app that is useful in a surprisingly wide range of applications.
&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 <entry>
   <title>Dark Sky Saved My Wedding Day</title>
   <link href="http://journal.darkskyapp.com/2011/dark-sky-saved-my-wedding-day/"/>
   <updated>2011-11-01T00:00:00-07:00</updated>
   <id>http://journal.darkskyapp.com/2011/dark-sky-saved-my-wedding-day</id>
   <content type="html">
    &lt;p&gt;I got married this past June. We decided to have the wedding outdoors, on the banks of the beautiful Connecticut River. Fearing rain, we got a big ol' tent to house the reception, but we really wanted the ceremony outside overlooking the river and were hoping we could keep the rain at bay with happy thoughts and magical incantations.&lt;/p&gt;

&lt;p&gt;Unfortunately, I woke up the day of the wedding to find grey skies&amp;hellip; Grey skies that gradually gave way to light rain&amp;hellip; Rain that they forecasted would last all day.&lt;/p&gt;

&lt;p&gt;Every time the rain would die down, I&amp;rsquo;d get hopeful, only to have that hope dashed with the precipitation&amp;rsquo;s return. As the time of the ceremony approached, we had to make a decision whether to keep everything under the tent, or go ahead as planned. Everyone told us not to chance it and just have the ceremony under the tent. Not so fast! Enter Dark Sky!&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;d been working on Dark Sky for some time, and it&amp;rsquo;s been a prototype for more than a year. More importantly, I made sure the servers were running for the Big Day. So I grabbed my iPhone, opened up the app, and took a gander at the chart.&lt;/p&gt;

&lt;p&gt;Despite the ominous clouds, Dark Sky reported that the rain would hold off for just under an hour&amp;hellip; enough time to have the ceremony. So we rounded up a posse of groomsmen and had the entire area set up in 20 minutes. The ceremony went off without a hitch and we were back under the tent by the time the rain returned.&lt;/p&gt;

&lt;p&gt;Dark Sky saved my wedding day!&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;center&quot; src=&quot;/images/dark-sky-saved-my-wedding-day/image-72871-full.jpg&quot; alt=&quot;Cute girl with umbrella.&quot; /&gt;&lt;/p&gt;

    &lt;hr /&gt;
    &lt;p&gt;We make &lt;strong&gt;&lt;a href="http://darkskyapp.com/" title="Visit the website for our app"&gt;Dark Sky&lt;/a&gt;&lt;/strong&gt;  —  a brand new kind of weather app. Dark Sky predicts &lt;strong&gt;precisely&lt;/strong&gt; when it will rain or snow at your &lt;strong&gt;exact&lt;/strong&gt; location and has the most beautiful radar visualizations you’ve ever seen.&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/dark-sky/id517329357?ls=1&amp;mt=8" title="Buy Dark Sky from the App Store"&gt;&lt;img class="right" src="/images/app_store_button.png" alt="Available on the App Store" /&gt;&lt;/a&gt;&lt;/p&gt;
   </content>
 </entry>
 
 
</feed>