Tuesday, February 28, 2012

Dynamic Interface Generator for Android Mobile Devices

This project was done when I was in my internship period @ IFS R & D, Colombo 6. IFS is a company which develops, supplies, and implements IFS Applications™, a component-based extended ERP suite built on SOA technology.

Mobile phones are no longer devices restricted to making voice calls, they can run most of the processes that one expects from a desktop computer. Mobile phones are equipped with applications such as e-mail clients, chat clients, short messaging service (SMS), and multimedia messaging service (MMS). Most smart phones are equipped with cameras so that one can have personal pictures and videos on the phone. Communication between two mobile devices is no longer limited to the services of a GSM provider.

IFS Touch Apps will be developed for the Android platform – the best-selling smart phone platform today – as well as the iPhone platform. The design of the apps will reflect IFS‘s innovative and user-friendly design, allowing for a coherent user experience throughout the entire IFS Applications and IFS Touch Apps offering.

Strengthening ERP Applications for smart phones like android, a major problem that the developers have to face is memory wastage. It may contain thousands number of pages in one ERP application and if all these pages have to be implemented in a smart phone, the task would be a tough because there are some limitations like memory in mobile devices. Therefore after developing a framework that can draw interfaces dynamically, then it may consume less amount of memory and all interfaces are in server and mobile client download each interface and show them to user.


Requirements of the Application:
  • The Application must be able to draw dynamically user interfaces in runtime.
  • Application should ask particular UIs from the server
  • Sever should send back the relevant User Interface and other controlling data (Data Validations) to the Client
  • The Application should be able to store Server‘s responses in somewhere and use them when they want to be reused.
  • Server‘s databases should be updated when the Client changed some fields in the User Interface.
  • Even without the internet the user should be able to work on client application and new changes must be uploaded to the server when the internet is available.