If you have an Android phone and an inexpensive Bluetooth adaptor, it's easy to create your own Android applications to control the Arduino and the objects connected to it. It isn't complex at all - as you can create the Android application using the free MIT App Inventor software. Then simple serial commands can be sent from the phone, interpreted by your Arduino and your control needs fulfilled. For example:
Apart from being a fully Arduino Uno-compatible, it has onboard microSD socket and the full USB socket and host-mode controller. As well as the Bluetooth application described above, this is the ideal platform for developing peripherals or projects based around Android devices with ADK (Android Developer Kit) functionality, but without requiring a USB host controller shield stacked onto an Arduino. For more information and to order, visit the product page here.