NTC 2014 : Mobile, Cloud Track Vijay Gabale Suggestions This presentation provides links to data sets as well as tools and resources for working on mobile and cloud computing systems. Govt website links are a good place to look for social data sets. We would recommend you browse through the data sets in this presentation and see if any of them interests you. We have also outlined a few examples to get ideas on how people are applying mobile and cloud computing to real world problems Your creativity is to think of a problem you think could get solved by analyzing these data sets and applying mobile and cloud computing techniques. We don't want you to be over ambitious. However, we want you to be as innovative and as effective as possible. Feel free to reach out to us in case of any queries. Deliverable • Now that you are interested in building mobile or cloud applications, let us be clear on the deliverable from your side. • You can either submit a standalone mobile application or a standalone web application or a combination of both. You should accompany your submission with clear set of instructions so that we can run your application at our end. • To stress this point, we again note that we should be able to install and run your system at our end without any glitches. This means that you should test your application in different environments before you make the final submission. • However, you can clearly specify under which environments you application works, for instances, Android 4.4, or Amazon cloud service etc. • You application should work seamlessly with open source data set and open source packages, for instance, if your application is supposed to load data from a data source, the loading should happen automatically without any manual efforts. • In next few slides, we equip you with open source tools and techniques you can use to build your applications. Mobile and Cloud Computing Tools and packages • Android SDK – How to get Android SDK on your Linux or Windows based machine: http://developer.android.com/sdk/index.html?hl=sk – How to develop and test an App using SDK on Linux or Windows based machine: https://developer.android.com/training/basics/firstapp/index.html?hl=it – How to port your App on a mobile platform (on a mobile phone or a tablet): vbraille.cs.washington.edu/doc/how_to_install_apks.pdf – How to integrate twitter or linked API with your App: https://github.com/facebook/facebook-android-sdk – How to integrate google analytics with your App: https://developers.google.com/analytics/devguides/collection/android/v2/ – Stackoverflow.com is a great link to get hints and code fragments for a quick App development (A developer rightly said, “we will be dead without stackoverflow.com”). Mobile and Cloud Computing Tools and packages • Cloud App – You can either do data computation (processing, analysis) in the App (thus, your deliverable would only be the App) or on a cloud depending on the computation power required (thus, your deliverable would be a mobile App, plus a cloud App) – We suggest you to first try out free cloud services to build cloud Apps: http://www.ibm.com/developerworks/library/mo-android-mobiledata-app/ – You can also use Google Cloud Messaging to build cloud Apps: http://developer.android.com/training/building-connectivity.html, http://developer.android.com/training/cloudsync/gcm.html – There are several free platform as a service such as Amazon: http://aws.amazon.com/big-data/ (to run analysis on data), http://aws.amazon.com/sdkforandroid/ (to integrate analysis with mobile App), https://cloud.google.com/, http://en.wikipedia.org/wiki/Backend_as_a_service – You can also write a simple web App (on a machine over a wireless LAN) which executes computation as the back-end and exposes API which are used by mobile application to show the resutls. Analytics Tools for Android Weka for Android: https://github.com/rjmarsan/Weka-for-Android Machine learning for Android: https://code.google.com/p/ml4android/ http://opensource.com/resources/projects-and-applications List of open source applications: http://opensource.com/resources/projects-and-applications Google API: https://segment.io/docs/integrations/google-analytics/ Example Applications Example 1 (analyzing telecommunication data to enable smarter transportation in urban areas): The slide deck in the below link gives an overview of how data generated by mobile devices at the back-end of telecommunication service providers' network can be used to enable services such as smarter transportation etc.: http://www.slideshare.net/wkwsci-research/a-big-data-telco-solution-dr-laura-wynter Example 2 Here are examples of mobile Apps developed using the open government data platform of India. http://data.gov.in/featured-community-apps Example 3: A simple concept which participating team can employ is as follows. Step 1: You can list 4 data sets. For example, water source availability by district in India, weather conditions by district in India, agriculture crop production by district in India, list of districts in India Step 2: The team then can write programs to clean and fuse the data sets. For instance, you can fuse and correlate data about water sources, weather, agriculture yield, geography. Step 3: The team then can write programs to build inference and prediction models. For instance, you can infer that due to poor availability of water resources and not due to poor weather conditions, agriculture yield in a particular state is poor. You can also find trends in the availability of water resources or weather conditions (is it increasing or decreasing?) and using the models, you predict the agriculture yield for each state for next 4 years etc. You could also think about problems in other sectors such as energy. For instance, how should we utilize renewable energy sources to dynamically support a higher energy demand at peak hours during the day? What is the availability of solar radiation in India by each district? How much amount (Kwhr/units) of solar power can be produced by each district?