Sun Seeker – Finding a Window’s Sunlight Exposure

This image has an empty alt attribute; its file name is img_1751.png

This article explains how you can use the Sun Seeker iOS app to get valuable information about a property’s sunlight exposure by using the app on-site.

Whether you are interested in your existing home or office’s solar exposure, or wanting to understand more about the sunlight availability and exposure of a property you are thinking of renting, buying or moving into, you can easily assess each room or window of interest using Sun Seeker, by following these steps.

Firstly, stand by the window you are interested in, make sure the Sun Seeker app is running, then tap on the 3D View button to open the augmented reality camera view (shown above). You can use the app either in portrait or landscape mode. I am using landscape in this case because it allows me to show more points of interest for this article, but you can choose whichever helps you see more of the relevant parts of the sun’s path.

Due to the inherent limited field of view of the camera on the device, you may need to move it around to see the entire range of view through the window. However, in this particular example we will start by looking at the features of interest we see by looking towards the position of the sun at sunrise.

In this case I have in fact taken a screenshot at precisely the time of sunrise on this day (12th May). Choosing a time at which the sun actually visible from the window is helpful in that it allows us to be sure that the sun’s position and path is accurately aligned with the true direction of the sun. i.e. to have an accurately calibrated heading. Of course this will not always be possible, so there is a detailed explanation below describing various other ways of calibrating the heading, if needed, but for now we will continue on the assumption that we already have the best available heading calibration (as we obviously do in the sample screenshot shown above, given that the sun’s icon does align exactly with the actual sun).

What we can see in the above screenshot is that today the sun is rising at about 6:50am and will follow the yellow path line, disappearing behind the building at about 9:20am – this means that today we could get a maximum, on a cloudless day, of about 2.5 hours of direct sunlight.

By contrast, the blue path line shows the path at winter solstice, which is limited to a maximum of about 2.2 hrs of direct sunlight.

The green line shows the path at equinox (and therefore intersects the horizon roughly due east). Although this path extends well above the top of this particular screenshot, and you would point the camera upwards to see the full extent of that path, as I did here to obtain the following screenshot.

Here we can see that on the green equinox path line the sun remains out until just after 12pm, after having risen at around 7am, so provides a maximum of just over 5 hours of direct sunlight.

Following the red line (summer solstice) in a similar fashion shows rise at just before 6am and also disappearing at about 12am, so provides a maximum of about 6 hours sunlight.

What further conclusions could we draw?

This window gets morning sunlight year-round. Nice! However, in mid-winter it receives a maximum of only just over 2 hours (on sunny days), and then only at low solar elevation (disappearing behind the building when it has only risen to about 20 degrees elevation). This means that this room might be somewhat cool in winter – and especially so when the morning is cloudy. In spring, summer or autumn/fall though, it receives quite copious amounts of sunshine and you might need shades if you aren’t a full-on sun lover, or want to protect items in the room from UV exposure.

How to Calibrate the Heading

As you can see from the above analysis of this window’s sunlight, having an accurate heading on your device is important as if it is not accurate, it can significantly distort the projected timing of the sun’s emergence or disappearance into shade.

Sun Seeker calculates the position of the sun very accurately – to better than one second or arc – but the device’s compass may not be very precise, can be significantly affected by any surrounding magnetic interference, and may need “massaging” to bring to optimum accuracy.

Therefore I strongly recommend that, if you are doing anything more than getting a rough overview of solar exposure, rather than relying on the compass being accurate, you use one of the following methods instead.

  1. Set the heading manually from the actual sun’s position (only possible if sun is visible from your current position of course). To do this, first switch the 3D view into gyroscope only mode (by tapping on the compass icon symbol in the toolbar), and then manually drag the screen until the sun icon aligns with the actual visible sun. Once you have done this, the heading will likely on drift very slowly out of correct alignment – just recheck it and re-align it in the same way, from time to time, as needed to maintain the accuracy.
  2. Set the heading manually from the known position of a visible landmark, by using Sun Seeker’s Reference Azimuth feature. For a full explanation of how to use this feature see this earlier blog post: https://ajnaware.wordpress.com/2014/08/19/sun-seeker-how-to-use-the-new-azimuth-calibration-feature/

If you must rely on the compass because these other methods are not feasible in your current circumstances (i.e. sun not visible, and no known landmarks are visible), then I strongly recommend that you perform a compass calibration manoeuvre instead, to get the best possible compass performance and accuracy. This involves rotating your device a few times around 3 different axes, while an app that uses the compass (such as Sun Seeker) is open on your device. See the following video for a demonstration.

Comparing Satellite Image Providers in iOS and OSX

The Sun Seeker iOS app includes a map view which allows users to see an individual property with solar directions and hours overlaid. This is a valuable way of visually assessing a property’s solar exposure. However, to be especially useful, it does require good-quality (i.e. high resolution) satellite imagery to be available.

In older iOS versions Apple used Google as a maps provider via MapKit, but that changed with iOS6 when Apple introduced it’s own maps, and the unfortunate consequence was that many users of Sun Seeker found that after upgrading to iOS6, the quality of satellite images degraded substantially, as evidenced by numerous customer complaints.

However Google saved the day, eventually, by releasing their own Google Maps SDK for iOS, which allowed me to switch back to showing Google satellite imagery in Sun Seeker, and thankfully the complaints dried up.

Fast forward a few more years and Apple has put a lot of effort into improving their map products. In fact, using Apple’s own Maps app, the satellite image resolution is, in some cases, better than Google’s. However, the odd thing is that this higher resolution imagery appears to be available only in Apple’s own Maps app – and apps that use MapKit still have much lower quality imagery.

The following images from an iPhone 6S running iOS9 illustrate this clearly. They are both for the same location (an apartment block on Sydney’s lower north shore) zoomed in to maximum possible amount.

  • Image on Left – Apple Maps app
  • Image on right – Wind Seeker app using Apple’s MapKit

Note – The imagery used here is identical to that found in Apple’s OSX Maps app and in Apple’s MapKit on OSX respectively i.e. the product offering is consistent between iOS and OSX.

So oddly, Apple is offering far lower satellite image quality in MapKit than they offer in their own apps.

In comparison, the following images, at the same location, and also zoomed in to the maximum allowed level, show the situation with Google’s imaging.

  • Image on Left – Google Maps app
  • Image on right – Sun Seeker app using Google Maps SDK for iOS

The main conclusions are:

  • Apple Maps has some excellent quality satellite imagery available – higher quality than Google’s imagery in this particular example, although despite this they do not allow as high a zoom level as Google does.
  • For some unknown reason, Apple offers lower quality imagery via MapKit than they do in their own Maps app – versus Google where their own app offers the same quality as they allow 3rd party apps to show.

This is unfortunate for my plans to build an OSX version of the Sun Seeker app, in particular because Google does not allow it’s imagery to be used for free by apps on any platforms other than iOS and Android. So my options appear to be:

  • Use Apple’s MapKit – this may not offer adequate satellite image quality for many locations, and the app must then be sold via Mac Appstore, conceding 30% of app revenue to Apple.
  • Use Google’s Maps API via an embedded web view – offers good quality imagery, but must then pay minimum of US$11k per annum licensing fees. Being an ongoing license fee, this implies that the app would have to use some form of ongoing subscription for its revenue, which may be challenging to implement.
  • Do not include any map view functionality in the app – which would be a significant degradation of the app’s feature list, and sabotage it’s chances of ever being a viable product.
  • Hold off for now, and just hope that Apple are just about to release upgraded MapKit satellite imagery capability…

Have I missed other options? What would you do in this situation?

Everywhere – Timezones, Holidays and Current Weather

Everywhere Icon

AppStore

Another app is born. 🙂 This one has the potentially grandiose title “Everywhere“. But in fact that is exactly what it’s about! This app keeps you in touch with the world.

At a glance, you can see

  • Current local time
  • Timezone
  • Current temperature and weather
  • Next forthcoming holiday

You can create a list of any locations  that interest you – for example, where-ever your family, friends, colleagues and business associates live and work.

And as an additional tool to help you work out the crazy timezones of this world, it offers a fantastic scrolling full-screen visual zone comparison table. So no longer any need to accidentally call your uncle when it’s 3am in his part of the world.

And along with the time is a color-coded time-status that indicates, again at a glance, whether each location is in normal working hours, normal waking hours, nighttime hours, or public holiday hours.

In fact this app is not entirely a new creation – it has heritage (and pedigree!), being a re-incarnation of a much older Windows app called ZoneTrekker, which had the notable achievement of having had the Pentagon, no less, purchase a site-wide multi-user license for it. That harks back to the days when I made my living as a Windows desktop app developer. But with such an illustrious past, I felt it was time to re-birth the concept as a mobile app – so now here it is as a universal iOS app – and in fact much nicer than the original in a number of ways!

App Screens

Everywhere Locations View

Everywhere TZ View

App Guide

Key to Colors

Color-coding is used in various places in the app to indicate time status, for the location in question. The colors are:

  • ■ Light Blue – normal working hours (9am to 5pm)
  • ■ Dark Cyan – non-working but waking hours (7am to 9am, 5pm to 10pm)
  • ■ Dark Green – night-time or sleeping hours (10pm to 7am)
  • ■ Pink – public holidays waking hours (7am to 10pm)

Editing Locations

  • To add a location, tap on the + button, and type in a city name.
  • To delete a location, tap on the Edit button, and then on the – button at the left of the cell.
  • To re-order locations, tap on the Edit button, and then drag entries into the desired order using the drag-bars on the right of each cell.

Holidays List

  • To see a list of the current and next year’s holidays for a given location, tap on the ellipsis on the right hand side of the cell.
  • Note that public holidays are shown with Pink, whereas “observances” which are not usually taken as public holidays are shown with Dark Cyan.

 

So there is is! Now what are you waiting for? Go and get it!

Indie Mac and iOS Developer Influence Rankings

Here is an interesting take on just who are the most influential indie Apple developers, using a tool for ranking people’s influence in their particular field, based on twitter and website stats.

It was developed by Ross Dawson, who first used it to rank KeyNote Speakers. You can find out more about the algorithm it uses from his detailed and fully-transparent explanation of how it works.

As a result of my special association with him (yes, he’s my brother), I had the opportunity to apply it to my own field of endeavour, and I think it does indeed provide a valuable insight into who the influencers really are. Note that I’ve included myself in the list, not so much for vanity as for the sake of having a good control point. 😉

Here is a snapshot of the rankings as at 11th March 2015 18th Jul 2015. Note – As this is a graphical snapshot, the green buttons are inoperative – they normally would show you the twitter handle and website link used. I hope to replace this with a fully-functioning *live* version, eventually.

Selection criteria I used for appearing on this list
1) Have developed successful Mac and/or iOS apps
2) Write publicly via twitter and/or blog/website about app development, app store and Apple
3) Be posting (only or mainly) as an independent developer i.e. have own website or blog
4) Reasonably prominent – anyone scoring too low in this ranking system may be dropped from the table, for the sake of expediency and avoiding overload

Please note – I have compiled an initial list based on my own conjecture about who was reasonably prominent in this field. If you have a suggestion about who else to add, please let me know via twitter @gpdawson. Note that the individual must have 1) a twitter account and 2) a website or blog for which they are the primary contributors. Generally, anyone with a company website with multiple contributors can’t realistically be included without distorting the results.

Sun Seeker – How to use the new azimuth calibration feature

I’ve just submitted an update to Sun Seeker for iOS – v4.3.

This update contains an experimental feature which addresses one of the most difficult aspects of using the device’s compass to obtain an accurate heading, when using the augmented reality 3D view to see the solar path. This article seeks to explain what this feature is about, and how best to use it.

Note that the Android version of Sun Seeker does not yet have this feature. I will be relying on feedback from iOS users before deciding whether to implement it in the Android version.

In the last major release (v4.2), I introduced the ability to toggle between Compass+Gyroscope mode and Gyroscope-only mode. This was already a big leap forward, because the gyroscope-only mode allows users to manually adjust the 3D View heading simply by dragging it manually.

SS_Blog2

SS_Blog1

The gyroscope-only mode allows you to set the heading manually, and the device then holds your setting relative to the gyroscope. Although there is likely to be a slow drifting of the gyroscope-only data, provided that you were able to set the heading accurately, this will work well for short periods of time – more than likely long enough to get all the information you need from the app.

Of course this all depends on you being able to set the heading accurately yourself. If the sun is out, then this is very easy – just line up the sun icon in the camera view with the actual position of the sun! Easy. 🙂

But what if the sun isn’t out? Well this is where the new “Azimuth Finder” feature comes in. Tap on the settings (gear) icon in the 3D View, and you will see two new options at the bottom of the list of settings.

SS_Blog3

  • Show Reference Azimuth – If you have already selected a location, use this option to to toggle the display of an azimuth line corresponding to the selected location.
  • Set Reference Location – Tap this to open the “Azimuth Finder” view, and select a location or landmark within your line of sight, to use for your reference azimuth.

SS_Blog7

All you have to do in this view is to use the map to browse to a landmark or location that is visible from where you are now. It must be somewhere that you can identify when looking later through the 3D camera overlay view. When you have found a suitable location, just tap and hold to drop a marker. The app will use geocoding to assign a name or address to the location, and calculate it’s azimuth from the current device location.

In this particular example, I am (just) able to see the top of the Sydney Harbour Bridge from here, despite the rain and low cloud, so that makes a good landmark to use.

Then, as soon as you tap “Done“, you are returned to the 3D View, and there is now a new line showing the azimuth of the selected location. Note that you will only see this line if you are already looking in approximately the right direction! Otherwise you may need to pan around until you bring it into view.

SS_Blog6

You may be able to make out the Sydney Harbour Bridge in this screenshot – just to the right of the chimney, directly below the centre cursor.

As this 3D View is already in gyroscope-only mode, all I needed to do next was to manually drag the white azimuth line to the actual location of the bridge – in this case four degrees to the right. And, voila, we now have a very well-calibrated heading!

Note that if you leave this for a while it may drift off again little by little, due to gyroscope drift. In that case, simply repeat the same calibration procedure.

Once you’ve selected a particular landmark for calibration, it is remembered (and the heading automatically adjusts itself if you change location yourself), so you can just switch the reference azimuth line on or off via the settings icon. And at any time you can choose a different reference location too, as you will obviously need to do if you move to a new location from which the original landmark is not visible.

Sun Seeker Sizzles!

The Sun Seeker app has continued to be enhanced and honed in a series of updates, the most recent being v2.8, which includes a modernised interface – yep, those are indeed flat button faces. 😉

Sun Seeker v2.8 compass screen
Sun Seeker v2.8 Compass Screen

These updates seem to have attracted a bit of positive attention resulting in several new blog reviews, culminating in the following fabulous review from top-notch reviewer John Martellaro (@jmartellaro) of The Mac Observer. This is a must-read review, not just because it is positively glowing, but also because John saw fit to include my detailed answers to his probing questions, including some inside information on how the app works, and especially importantly on how to ensure optimum compass calibration of your device.

Just to show a little more of the app here, my own favorite feature update is the ability to select date and time on the map view via a scroller.

Sun Seeker Map View

 

Sun Seeker Test Shots

Here are a couple of images from Sun Seeker put together (unsolicited) by a generous and enthusiastic New York based photographer/cinematographer – Hal Hansen.

He’s currently revamping his website and I’ll provide a link to it here when it’s ready. Thanks Hal!

I love the way he’s featured an iconic yellow cab which is a New York signature. Did anyone notice that it’s not actually the same cab in each shot? That’s clever photography! 😉

Sun Seeker Update v1.5

As part of a series of planned updates for the Sun Seeker augmented reality iPhone app, the latest update v1.5 has just been approved by Apple.

For a video demo of Sun Seeker see this earlier blog post.

The main changes for v1.5 are:

  • Enhanced performance for smoother compass dial rotation
  • Added new table of annual rise and set times
  • Added new table of sun’s daily azimuth and elevation
  • Added tap action to rise/set label to see local times instead of intervals
  • Better handling of disabled Location Services
  • More efficient use of GPS – now only used briefly on startup
  • Fixed some minor bugs and issues with date changes

[Note – v1.5.1 update has been submitted to fix OS3.0 backward compatibility and missing sunset times for some locations west of GMT.]

Following is a more detailed description of some of these items.

1. Enhanced Compass Dial Rotation

The compass dial in Sun Seeker includes text which retains its orientation relative to the device regardless of the compass rotation, and this means that at least part of the image needs to be re-rendered for each incremental rotation of that dial as the compass rotates. Previously the whole image was being redrawn each time, and that performance hit meant that the dial motion was quite jerky when it needed to make large rotational changes. The new implementation involves much less redrawing, and hence allows the compass to be much more responsive.

2. New Tables

The table of rise and set times spans the entire year, and hence allows you to look up rise and set times for any given date.

The table of the solar path lists the sun’s azimuth and elevation at 15 minutes intervals throughout the currently selected day.

3. Tap action to see rise/set time instead of intervals

This was added simply for clarity. Tapping on the rise/set labels on the compass screen toggles the display between showing the rise and set time in local time versus showing time duration between now and the rise and set times.

4. Better handling of Location Services status

A problem to date has been if the user has switched off the device Location Services or (perhaps accidentally) disabled them for this particular app. In these cases the app can only use its last acquired location data, and in this case the app shows data which is correct for that old location, but incorrect for the user’s current location.

This issue has been the biggest generator of email support requests to date, but I now expect that this will lessen considerably, because I have implemented clear warning messages which pop-up whenever location services are disabled, each time that the app starts up or resumes from background.

5. More efficient use of GPS

Previous versions of the app left GPS on continuously while the app was active (although off when inactive or in background), and this presented the app with ongoing positional updates while it was open. But for the sake of efficient use of GPS, it seemed unnecessary to leave it on once the location had been determined to a reasonable accuracy, so GPS is now only on as long as location has not been found to reasonable accuracy. However an important point here is that the app should re-query its location not only every time it starts up, but also whenever it resumes from background. The reason for this of course is that the device may have changed location while it was in background – for example it may resume from background after the user has traveled somewhere by air!

6. Future Updates

By far the most common request from users has been to allow selection of other cities/locations rather than just the current current, and this is the next major feature planned. But please note that it is not a trivial update! A particular difficulty here is in ensuring that the local times reported for other locations respect the correct timezones and daylight savings rules for those locations throughout the year. However, I do have a solution planned, and hope to be able to do this within a reasonable timeframe.

The next most common request has been for an Android version. Due to the particularly technical nature of the app, and the fact that I personally have no grounding in Android development, this is a much more difficult proposition. However I have been looking to outsource it. I apologise to those who have been waiting impatiently, and I can assure you that these plans are progressing.

In the meantime, I hope you continue to enjoy the app!

Oz Weather HD Update

Oz Weather HD for iPad has just had an update approved by Apple (4 days waiting for review, 3 days in review). [iTunes link]

The app reached #2 ranking in the Australian app store for paid iPad apps for two days last week. Since then it has drifted down to about #8. But I suspect that all we need is a really good dose of “bad” weather in a few capital cities to send it back up. 😉

The enhancements are mainly things that will appeal to “high-end” users ie. weather geeks like myself.

Firstly the weather warnings have now all been color coded, so that important and relevant warnings stand out much more clearly than before. Typically most warnings are for coastal and ocean winds, which are only relevant to sailors and coastal dwellers. These marine are now shown in blue, whereas those relevant to land are shown in yellow, or red for severe warnings, storms and cyclones.

Secondly the Local Stations map view now has a new “Synoptic” view which shows traditional station wind arrows indicating wind direction and speed, as well as temperature and humidity where those data items are available. This really helps to get a sense of what winds are doing in the local area – especially helpful for people who do water-based sports, for example.

  • Each weather wind arrows has a circle as its head, showing the actual location of the observation on the map, and a tail with feathers on it.
  • The tail is drawn towards the direction from which the wind is coming, so that the arrow effectively points in the direction in which the wind is blowing.
  • Therefore, if the wind is northerly (coming from the north), the tail is drawn on the northerly side of the location circle.
  • The feathers on the tail indicate the wind speed. A long tick indicates 10 units of windspeed, and a short tick indicates 5. A filled triangle indicates 50 units.
  • The units used depends on your choice of windspeed units in the app settings. For example, if you have chosen kmh, then two large and one small feather ticks would indicate 25kmh.

Thirdly there is a new “State Temperatures” map view. Although it is intended mainly for viewing the latest regional or state temperatures, in fact it displays all recent temperatures around Australia as a whole. The temperature labels are color-coded by temperature on a sliding scale, so wide-scale temperature patterns are easily visible at a glance. Check out the chilly alpine weather in the following screen-shot showing Melbourne, eastern Victoria and southern NSW (10:30am, 18th July 2010)!

Oz Weather HD

Oz Weather HD is an iPad only version of Oz Weather. I’m delighted to announce its approval and release by Apple today, after an impatient 8 day waiting period.

It contains all of Oz Weather’s features including the pro level ones, in a much more accessible way than is possible on the iPhone’s limited screen size. The larger screen size has also made it possible to present many of those features more attractively than on the iPhone as well.

This app has been a long time coming – I would have liked to get it out there much sooner, but was earlier pre-occupied with updating other apps (Sun Seeker and See Breeze) to work as universal binaries (ie. on iPhone and iPad), not to mention also releasing a brand new iPhone app called Moon Seeker, which is a lunar calendar, compass, and augmented reality position finder.

After much agonizing over the design of Oz Weather HD, and several false starts, I’m really pleased with the way it has finally turned out. My criterion for a good design is one that I get a warm feeling every time I run the app and this is certainly true of this one. I can only hope that lots of others get the same buzz out of it! The crux of this design is the inclusion of some of my favourite cloud & weather photos as backdrops.

Here are a few screen shot thumbnails: