Wednesday, May 30, 2012

Shake it like a Polaroid picture!

I am happy to report that Photo Cube 2.4 was released last week, and the new Album mode is proving as popular as I suspected.

This week I have been playing around with the Android  sensors, seeing how I can apply 3d movements of phone and tablets to Photo Cube.

The first idea is detecting shakes.


At the simplest level, it can already detect that you are shaking the phone (say 2 or 3 back and forth movements in any direction), and if you are in Album mode it can then trigger the pictures on the cube to refresh. That is pretty cool! But as there is a slight visual glitch when it updates, I am trying to work out the best way to distract from that, such as giving the cube an extra spin, or perhaps rapidly shrinking it, changing the images then restoring to the usual size. I will go with whichever looks best. I tried a simple "Refreshing from album" message but it looked ugly, I am not having that. :o)

Next, detecting a left or right movement on the phone can be used to give the cube a bit of extra spin in that appropriate direction. Still playing with that so it doesn't clash with shaking, and making it jive with the extra spin you already get when you pan your home screen left and right.

Other motion ideas would be to detect left, right, up or down movement and then perhaps bounce the cube in that direction, so you could shake the phone up, and the cube would rapidly move up, bounce off the top of the screen then return to its usual place. Same idea for backward and forward, but instead have it grow and shrink. I think the bounch off the "sides" of the screen would be accompanied by a reversal in rotation direction as well, to give more of a 3d realistic feel, kind of the same way a football changes its rotation when bounced off a wall.

The final idea is to make the background appear "behind" the phone using a 3d parallax effect; this would be done by detecting a small rotation angle of up/down, left/right, and shifting the background image a little bit down/up, right/left in response. The maths for that is pretty complex, I need to learn all about 3d rotation matrices so this will be a little harder to implement.

Of course, all these motion detection features will depend on the phone actually supporting them, so will only be enabled when the appropriate sensors exist on the phone. And as usual I will make them all optional, as using those sensors do take a little bit more battery life. However, they would only be used when the Photo Cube wallpaper is actually visible, i.e. no other app is running, and to be honest then the biggest battery drain is always the Screen itself rather than the relatively small amount of calculations Photo Cube requires.

I want to get some of these ideas finished before I move back to my other long delayed top secret app, which is still totally unique and has no equal in the market. ;o) 

Wednesday, May 23, 2012

Ready to release Album mode! Lots of work done the last few days, ensuring that everything works nicely when there is no SD Card, and handling the situation where it tries to use images from an Album which no longer exists, because it has been removed or renamed.

Unified the look of the thumbails also, the Picture Settings screen now shows the Album cube as a preview like the Single and Custom mode, but with an SD Card icon:


When I get round to enabling Facebook and Picasa albums in Photo Cube, it will show those icons instead for those album types. I have also speeded up this screen so it doesnt take so long to show the preview thumbnails. Less of the "Please Wait.."!

And now using the same look for the My Cubes, any saved Cube which is set to an SD Album shows that in the icon:


Finally, added a one-off question for new users to ask if they want to choose an album for Photo Cube to use. That should be the quickest way to get up and running.

So just a bit more testing for any last minute bugs and I should be good to go! Will be version 2.4.

Friday, May 18, 2012

Even more SD albums...

More good work completed on the SD Album mode.

Mostly working on robustness, so that it elegantly handles unavailability of the SD card. When that happens, obviously it cannot choose new pictures, because the album is not available, so it instead uses keeps the last ones shown until the SD card is available once more.

This means that when you restart your phone, or any other operation that would normal leave the SD unavailable briefly, the cube is still showing nice images.

When it is choosing images, it is now clever enough to avoid duplicates, so you wont get the same images on more than 1 side. That holds of course only if you have at least 6 items in your album, if less than that, obviously it will have to show duplicates.

As well as avoiding duplicates, it also tries to avoid using the same pictures as last time, so you always get a completely new set. That relies on there being at least 12 items in the album.

SD Cubes are now marked as such in the My Cubes gallery, showing a little SD card icon. That paves the way for showing Facebook, Picasa icons etc when I get round to allowing those types of Album in Photocube.


Last thing to work on: elegantly handle when the SD album for a cube has been completely deleted, as obviously that cube can never work any more.

Then lots and lots of testing!!! Looking at a release next week.. :o)

Monday, May 14, 2012

More SD Album...

More work completed on SD Album mode.

Duplicate images now removed, unless your album has less than 6 images, in which case naturally the some of the cube sides will need to show the same pictures.

Here is the final look of the Picture settings, when choosing an Album:


Tonight working on saving your SD Album cube to My Cubes, and gracefully handling the removal of SD cards; I need to cache the last pictures and use those when the SD card is temporarily unavailable due to removal, in use or the phone is restarting.

Finally, I just wanted to show off another feature which is already published but you may not use so much, the Background settings. It is very easy to apply some effects to your chosen background; the blur effect keeps the background recognizable but makes the cube standout more, and the tint lets you apply an overall colour. And of course you can see immediately what it will look like in the preview image.

Get creative, its easy to make some vintage or Instagram type looks!


Sunday, May 13, 2012

SD Album working!

So, good news on the SD Album mode, worked out all the difficult stuff. It is now updating very smoothly.

Every time the Wallpaper is hidden, e.g. because you open a new app or switch off the screen, it updates in the background, choosing new random images from the sd album to show, which takes a second or two.

Then as soon as the Wallpaper is shown once more, it immediately updates the pictures. This is istantaneous most of the time, but sometimes there is a brief delay before it switches, only noticeable when the screen is turned on after a long period of inactivity. I should be able to fix this, just by not updating in that situation, only when the phone is "warmed up", so to speak, so the update will then always be instantaneous. What I want is for the user to simply not notice anything is happening, they will just notice that they are seeing new pictures all of the time.

Happy to report also that the automatic cropping I am doing to turn the rectangular images into squares is working very well, there seems no need for any complex Face Detection algorithms. So that will save processing and battery life.

Now just working on removing duplicates and sorting out the interface so it is super easy to choose the SD card album. Something like this:




I think another week should do it, then will be ready. Might also try to fit a few new frame styles into the release.

Tuesday, May 8, 2012

New features coming soon.. album mode!

Sorry about the lack of updates, I have taken a 6 week break from Photo Cube for rest and to celebrate my birthday. Back to work now!

Last week I completed the Screenshot feature, which allows you to take a snap of the cube in action, without any of the distracting icons or widgets on the homescreen. You can then directly share that pic via Facebook, Whatsapp, Email, MMS, any way you like.

Now hard at work on what is probably the most requested feature, Album mode. This allows you to choose a particular photo album/directory on your sd card, then it will choose pics randomly from that album and update the cube periodically. This will be the simplest and easiest method of viewing your pics on the cube, no need do do anything other than choose an album:



Of course the Single Image and Custom Image modes will still be available for those of you who like the fine control. The Album mode will probably be the easiest to use for new users and whenever you have a new album which you want to showcase.

More technical info for anyone who cares: this is not that easy to do because of the randomness of images in the albums. I have to be careful to duplicate sides only when really necessary, e.g. when albums contain less than 6 images.

As the user is no longer cropping the pics manually I have to be intelligent about how I crop them to a square, treating Portrait and Landscape differently. The timing is also important, processing the random images is quite processor intensive, it needs to be done in the background so that any visual lag is kept to an absolute minimum as the cube is updated.

Ideally I would like a soft fade in/out of the old images to the new, but that's probably beyond the scope of the initial version, I think initially it will just update everytime the homescreen is reshown after being hidden e.g. by opening an app. Once that works I can think about making it a User Setting, e.g. change every 10 minutes, hour, 1, 2 or 3 times a day etc.

Once all that is done I would like to look at tighter integration with Facebook or other online services, would be great to be able to just choose a Facebook or Picasa album, and let Photo Cube choose pics from that online album.

Stay tuned!