Audio Glow update

After a hiatus, I’m back with a new update to Audio Glow. I’ve overhauled the themes system to make it simpler to use, and I’ve added the option to automatically cycle through color palettes and the different visualizations.

There is also a new pair of visualizations available for purchase:


New wallpaper and updates

Looks like I’m out of the habit of updating this news page! A few months back, I put out a big update for Digital Embers. I rewrote almost the entire thing from scratch to optimize some of it and to give the sparks three-dimensional motion and depth-of-field effects. If you haven’t used it in a long time, it’s worth taking a look at the update!

I’ve also updated my settings screens so the color picker and various other settings match Google’s Material Design guidelines, and have some animation to them. I’ll be rolling these out to my other wallpapers as I update them.

I just released my first new live wallpaper in two years (I’ve been working on some other projects). This one simulates reversible sequins, like the ones found on some pillows, clothing, and purses. I was mesmerized when I came across one of these pillows in the store, so I thought it would make a mesmerizing interactive wallpaper!

Sequin Flip Live Wallpaper

Android Experiments

Double Helix is now an Android Experiment, and it’s open source, so you can take a look at how it works. Email me if you have questions about it. Code comments are sparse now, but I may add to them if there’s interest.

One part of what makes live wallpapers fun to design is that the camera isn’t expected to move all over the place (as is usually the case with games) and the scenery can therefore be quite limited. That gives me the opportunity to make approximations of effects that might otherwise be too taxing for a phone. For example, in Double Helix, the helix shape itself is what enables the thickness calculation in the shader from the mesh’s tangent vectors (as mentioned in my previous post).

New: Double Helix Live Wallpaper

Here’s my first new live wallpaper in over a year! Hopefully I’ll have a few more new ones coming out in the near future.

The neat thing about this one is that it has a customized shader for sub-surface scattering. This simulates a translucent, glassy sort of material in which light bounces around before it exits the surface toward the camera. Traditional methods of simulating sub-surface scattering would be too heavy for a modern phone. They involve calculating the thickness of the material relative to the light direction for each pixel on the surface. But I found a GDC talk from DICE about the fast alternative used in their Frostbite engine, and adapted that.

Their method involves baking local thickness into the model, which is an adequate approximation in most cases. However, the helix shape consists of a lot of long cylinders (some twisted), so the effect is broken as you look down the length of a cylinder and the light still acts like it’s passing through a thin section.

To get around this, I made sure my textures on the model are all oriented the same way in relation to the axis of the nearest cylinder. Then the shader can use the tangent vector as an axis vector to calculate how much to scale up the perceived material thickness relative to the light.

Double Helix phone blue Double Helix phone red

Neon Microcosm updated!

It has been way too long since Neon Microcosm got an update (almost 3 years), so I decided to do a complete refresh. I rewrote it using shaders that draw each cell in one pass with one texture lookup, instead of three passes like it used to with the OpenGL ES 1.0 fixed function pipeline. With the fill rate savings, we can afford to draw enlarged background blur, which looks more like bokeh.

I also added a animated, bump mapped background that fits in better with the depth-of-field look. And I dropped in the optional post-processing effects from Lifeblood (scan lines, vignette, and film grain). Here’s a before-and-after comparison.

Neon Microcosm 2012 Neon Microcosm 2015

Retirement of CheckIn

Unfortunately, due to new rules Facebook is imposing and enforcing as of May 1, CheckIn will cease to function on that date. I have already removed it from the store. If you have purchased it since January 1, 2015, or if you feel you weren’t able to use it enough to be worthwhile, please log into Google Wallet and request a refund. I will approve all refund requests for purchases after that date.

I apologize for any disappointment. Facebook has a set of guidelines that third party apps must adhere to, and their newly updated guidelines will be enforced as of May 1. As of that date, all apps are reviewed by Facebook before they are permitted to function. The guidelines that CheckIn would likely be rejected for should I submit a revised version of it:

  • No duplication of functions already in the Facebook app. The basic task that CheckIn is used for is making a Facebook post with a tagged place. Since these functions are already in the Facebook app (although CheckIn tends to be a faster method to do this specific task), I think it is likely they would reject the app for it. I believe their intended use for posts with tagged places in third party apps is for situations where there is game involved (like in Four Square or some video game that involves geolocation) or when specific businesses are being promoted.
  • No auto-filling of Facebook posts. The auto-check-in feature in CheckIn could be seen as automatically creating a Facebook post without user input, which is strictly against the rules.

I feel either of these might be debatable, and there’s a small chance they could get approved, but I don’t want to risk the time investment to overhaul the app for the new API for a small shot at getting through.

Sorry again for any disappointment. I’m disappointed myself, as CheckIn was my first published software of any kind, and it has been exciting to see how many people have enjoyed it.