My Earthquake Monitor in Action
The earthquake monitor’s client is built in Swift for Mac OS, and the service layer is running Node.js and using WebSockets for communication so that it can be as real-time as possible.
Here are some examples of my Earthquake monitor in action. The animated GIF below gives you an idea of how the system works (rather quickly), so I’ll break it down in static pictures after this. Here is an earthquake from late last year, just off the coast of Fukushima, in the Tohoku region of Japan:
What you are seeing here are all the nodes in blue starting to change color based on the intensity of the motion that is perceived at each station. As the shaking increases, they begin to climb the Shindo scale and you can see that it gets quite intense. The blue ring indicates the P wave (the preliminary wave), and the yellow indicates the S wave (the surface wave). Remember the P wave creates light shaking and the S wave is the more destructive wave.
Here is another example:
In the case above, you can see that my application has detected moderate shaking near Minamiizu. This is the early detection that I’ve been trying to improve upon. Note the timestamp, 19:22:45….
Here is the same earthquake (slightly zoomed out now). At 19:22:48, the first Earthquake Early Warning Forecast (EEW) had officially gone out. My detection, in this case, was almost three seconds faster than the issued EEW. Finally, this Earthquake was detected to be capable of producing strong shaking and was upgraded from a Forecast to an official warning:
Here, you can see the S wave (which was yellow) has now turned to red, to indicate that the strong motion starts ‘around’ this area.
My immediate plan is to continue to improve this application and then release the first public version on the Mac App store this Spring. (Check back here for an update, with a link to the App Store), so that you can come in and check out the application for yourself.
There are some final features that I’d like to add, one being a location pin, where you can set your current location and get a ‘Countdown’ or even set settings on how you’d like to be notified (over a certain intensity, etc).
Visually, I’ve continued to focus on the UI/UX of the application so that information is quickly available and understood.
Finally, I’d also like to add replayability, so that you can see events from the past, without looking at them on animated gifs (my current scheme for replaying events).
Overall, I’ve learned a ton, and I’ve had the chance to put my skills to the test. This has been one of the neatest projects I’ve ever built in my free time. I’m looking forward to taking what I’ve learned and applying it to the client work that I do here at Very. Additionally, the new things I learn on other projects will go right back into improving this project over the long term!
Would you like to work with me and my awesome colleagues at Very on your IoT project? Reach out to us today.