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!

Advertisements

HyperAltimeter – Barometer and Altitude Tracker

HyperAltimeter

Here it is! I’m excited to present my first new app in a long, long time! It’s called HyperAltimeter, and it’s all about pressure and altitude, and pushing the limits of what can be done with the new barometer sensor that is embedded in your iPhone 6 or 6 Plus.

Whilst most smartphones are already equipped with GPS receivers, which do provide altitude readings, these are not typically very accurate. The GPS system is designed to obtain your horizontal position to a good degree of accuracy, but accuracy of altitude was not a key design factor.

However, the new barometer sensors are very sensitive, and can detect pressure changes as small as those experienced just by raising the device from your chest level to above your head. This means that it excels at measuring changes in height as you climb stairs, or walk or run a course.

However, longer term changes in pressure due to moving weather systems means that height changes can only be determined accurately over short periods of time, and similarly it also means that your altitude from sea level cannot be determined accurately from barometric data, alone.

The solution to longer term accuracy in height changes and absolute altitude measurement comes from¬†combining the device’s barometric data with weather data i.e. readings of local pressure and temperature.

Amazingly, from first idea to this app becoming available in the app store was just six days! I’ve typically spent one to three months developing each new app, and then many more months, over time, enhancing and refining them. But in this case, by¬†leverage code and experience from my other apps, I submitted the app to Apple after just five days. And then Apple‚Äôs approval came within twelve hours. By comparison, review time for app submissions is currently averaging about twelve days. So it seems¬†Apple is especially keen to help along apps that make use of the iPhone 6‚Äôs new capabilities.


 

About the App

This app measures your altitude via three very different means (or via two means if your device doesn’t have a barometer sensor). This allows much greater accuracy than relying only on the device GPS sensor alone to find your altitude.

In fact the standard GPS readings of altitude are far less accurate than the other two methods, so it is provided here mainly just for the sake of comparison.

The three methods are:

  1. GPS sensor
  2. Online mapping survey data
  3. Barometer sensor combined with current local atmospheric conditions

Altimeter Screen

This screen shows all available altitude-related data, as well as showing your current location on a map. The displayed data items are:

  • GPS Altitude – this is the altitude from the standard GPS sensor. Note that the given accuracy is one returned by the sensor, although by observation the stated accuracy range is sometimes too small, and does not overlap the more accurate measurement taken via the two other methods.
  • Map Altitude + őĒh – This shows the altitude for your current location as determined via online mapping data. It is generally very accurate in relation to gound level. If you are in a high-rise, use the Height Above Ground field to enter your local height – this will automatically then be included in the altitude value shown in this field.
  • Barometric Altitude – Barometer sensor combined with current local atmospheric conditions (means sea level pressure and temperature), which are then used to calculate your actual altitude. Note – this method is only available on devices which include a barometer sensor.
  • Device Pressure – Shows the actual pressure reading from the device barometer, as used in the altitude calculation.
  • MSL Pressure – Shows the mean sea level pressure from the nearest available weather observation location, as used in the barometric altitude calculation. Tap on this cell to see detailed information about the local weather data it is currently using.
  • Height Above Ground (őĒh) – this is a value you must enter yourself, if you are in a high-rise building or otherwise abve local ground level, and is used to refine the the Map Altitude calculation, above.

 

Screen Shot 2014-10-17 at 1.09.06 pm

 

Graph Screen

This view allows you to see how altitude is changing with time, via a constantly updating graph. The three option are:

  • GPS Altitude – Shows the altitude data returned by the device GPS sensor.
  • Barometric Altitude – Barometer sensor combined with current local atmospheric conditions (means sea level pressure and temperature), which are then used to calculate your actual altitude. This value is retrospectively adjusted when each new local mean sea level pressure reading is obtained, to take account of the atmospheric pressure trend. Due to these adjustments, this graph should show reasonable stability over the long term.
  • őĒ Altitude – Shows the relative difference in altitude from when you first started the app, or tap the reset button, based on changes in pressure. This is very accurate for measuring short-term altitude changes, such as going up or down stairs, taking short walks or runs across terrain etc. Over longer time periods it will likely suffer from drift due to changes in atmospheric pressure, due to moving weather systems. For this reason you may want to reset this graph just before using it to make a measurement of change in your altitude.
  • Pressure – Shows the raw pressure readings from the barometer in your device. This value changes over time for two reasons – one is when you move up or down, as pressure changes with your altitude, and the other is changes in local atmospheric pressure due to weather systems and wind gusts. If you keep the device stationary, then this graph will reflect only atmospheric pressure changes.

 

Screen Shot 2014-10-20 at 7.31.11 am

Screen Shot 2014-10-17 at 1.11.10 pm

 

So what are you waiting for? Go and get it from Apple’s app store!

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.

Oz Weather Plus – Why I’m releasing it as a new app

The Oz Weather iPhone app was first released on 20th Nov 2008 – yes that’s more than 5 years ago!!! By all accounts, it’s been a highly successful app. Notably, in January 2009, it reached #1 ranking for paid apps in the Australian app store and stayed there for about 10 days, during the period of an intense heatwave, and deadly bush-fires. And over the entire 5 year period, the app has been installed onto hundreds of thousands of devices.

There have also been more than 30 free app updates released during that period, and also an attempt to use in-app purchase to provide new, advanced features, which were much appreciated by a number of users. This also attracted a lot of very negative and vocal feedback from users who thought they should be getting it all for free, and as a result I eventually re-integrated those features into the app and removed the in-app purchase. But the damage was done, and with a competitor who crowed loudly that their own app’s updates would be free forever (they’ve since reneged of course), Oz Weather lost its lead in the app store to them.

And here’s how Oz Weather sales have gone, over the last few years…

Sales_2010_2013

So as you see, despite the many app updates (seen as comments bubbles in the above graphic) new sales have trailed off considerably. There are a number of reasons for this. The biggest one is that competition has increased a lot over the years. In fact it seems that my own openness in posting my app’s sales figures during those early years probably encouraged quite a few other developers to try their hand at it. And then there were the bigger players in the Australian weather field, such as “WeatherZone” and “Elders Weather”, who had just been slow to get into the app store, and eventually figured out how to make their apps more appealing. Some of those competitors innovated with new types of features that I didn’t think would be as appealing to users as they actually turned out to be. More recently still, it seems to have become something of a trend amongst app developers to use weather apps as a kind of test playground for new app design paradigms. And there have indeed been some really nicely-designed weather apps coming out, especially with iOS7 style interfaces.

And it is indeed the iOS7 operating system update that finally prompted me to consider starting afresh. And with this impetus, suddenly there was a surge of new enthusiasm to create several innovative new features, some of which had been floating around in the back of my head for years, but not seen the light of day due to lack of motivation stemming from the various issues described above.

The big issue was, of course, whether or not this could or should be offered as a (necessarily free) update to the existing Oz Weather app, as opposed to creating a brand new app. I’m sure readers of this post will be well aware of the many precedents for creating new apps as opposed to providing free updates – the first big one of which was Tweetie – and they got some really bad reactions, although over time there has been greater and greater acceptance that this is pretty much a necessary way to go in order for app developers to survive, in particular given the shortcomings of in-app purchases, and the fact that they simply aren’t workable in many types of non-game category apps.

A key metric to consider in my own case is that I’ve spent around 1000hrs building the new app and its associated server code. Even if I were to value my time with only a modest hourly rate, at the current rate of app sales, it would take much more than a year of ongoing income, in fact maybe several years, to pay for the time I’ve invested in it. Obviously that would not be a sustainable way to work or run a business.

Also, many of the existing Oz Weather users bought the app more than 3 years ago – most of them paid around $2.49 for it, although it’s since gone down to $1.99 due to Apple changed pricing tiers, combined with ongoing downward price pressure from the competitors. Further, many users do continue to use the app on a daily basis – so it would be hard for them to argue that they haven’t got good value for money.

Then, of course there are those users – a much smaller number – who bought the app more recently – and it will probably feel less fair to them not to be getting a free upgrade. However, I am not intending to stop providing data feeds to the existing app, at least for the foreseeable future. (I don’t want to make any rash promises that I might not be able to honour – it might be necessary to drop the feed at some point down the line.) So those users will continue to have a fully-featured, working app – the same features that were advertised to them in the app store, and which they paid for. I do know it will suck a little bit more for those who bought it only really recently. So if you really feel that badly about paying for the upgrade, and are financially stressed by it, what the hell, why not send me an email, via the app’s About / Email us button, and if you really make a good case, I’ll see if I can help out.

There it is – that is why I’m releasing the new version of Oz Weather as a new app. For better or for worse. So may god help me. Amen. ūüėČ

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:

See Breeze – Augmented Reality Wind Visualizer for iPhone and iPad

Ajnaware’s latest app “See Breeze” has just been approved by Apple, and is now available from the app store. This app has a universal binary – so can be installed onto either iPhone 3GS or onto iPad from the same purchase.

Like Sun Seeker, this app pushes the boundaries of what augmented reality on mobile devices can be used for. The app description is as follows.

Provides both a FLAT VIEW COMPASS and an AUGMENTED REALITY 3-D VIEW showing the local wind and weather conditions with animated wind vectors.

Ideal For:
– Aviators, Sailors, Surfers, Windsurfers, Kite Flyers, Cyclists, Fire Fighters, Weather Hobbyists and any other outdoor enthusiasts

Main Features:
– Compass view showing animated wind vectors for nearest weather stations with wind, temperature and humidity readings
– 3-D augmented reality view with animated wind vectors
– List of local observation stations (up to 10 nearest), from which any may be selected for individual wind viewing
– Map view of all local stations with weather arrows showing direction, speed and temperature
– Uses official Bureau of Meteorology data within Australia, and NOAA metar data (from airports) for rest of world

Feature Device Dependencies:
– iPhone – interface runs only in portrait mode, 3-D View is shown as an overlay on the camera view
– iPad – interface runs in any device orientation, 3-D View is displayed with an opaque background (due to absence of camera)

I had the idea for this app about the same time as I had the idea for Sun Seeker, but I had to choose just one to do first, and even when I did start it, I found that it took a lot longer than expected due to the various technical challenges involved. The first major challenge was learning some OpenGL ES, and the second one was figuring out how to get OpenGL ES to respond correctly to device orientation and heading changes. Many thanks to Jeff LaMarche for some great blog articles on the former, and as for the latter, I pretty much had to figure it out for myself. I did post on Stack Overflow, but ended up answering my own question.

Adapting the app to iPad was also an interesting issue to deal with. I ended up with quite a few conditional branches in the code to deal with cosmetic differences. But the end result more than justified the extra effort. It looks superb on the iPad. Credit for the excellent app artwork goes to Peter Fellows once again, whose work on the Oz Weather program was brilliant. Here are a few screenshots from the iPhone app.

and one from the iPad app, which of course has much nicer mapping ability…