Mobile Artificial Intelligence: Developing Smarter Applications