Leveraging the Internet of Things (IoT) Paradigm Towards Smarter Applications