Showing posts with label Issues in Mobile Application Development. Show all posts
Showing posts with label Issues in Mobile Application Development. Show all posts

Monday, 5 December 2016

Getting Insights on IOT : Internet Of Things

Introduction
The Internet of Things can transform almost every industry to change the way one lives and works. Organizations across industries face challenges to form infrastructures that meet the changing requirements of data management, scalability, regulations, and are highly safe and practical. Software development companies are taking special initiatives to adopt IOT platform.

IOT tailors solutions for various industries such as manufacturing, healthcare, travel, utilities, and mining. It plays a very crucial role in development of Smart cities.

Internet of Things : IoT
(Microsoft, 2016) defines IoT as: The IoT, Internet of Things, starts with organization’s things, the things that matter utmost to their business. IoT is all about making the things and the ways the data comes together in new ways. Tap into data and uncover actionable intelligence. And modernize how to do the business. This is what Internet of Things is all about.

As per (WIPRO), following are the key differentiators that IoT platform offers :
  • Pay As You Grow with innovative as well as flexible service models
  • Experiment and Refine Your Strategy
  • Reduce Your costs with the rich streamlining and optimization expertise
  • Accelerated Time to Market using proven, ready to use tools
  • Ability to support a wide variety of devices through multiple communication channels
Steps to start with your own IoT Solution
(HCL) summarizes the implementation if IoT for any organization in following few steps :

Connect and scale with efficiency
Connect any asset that’s important to your organization— with confidence – from robotics to various low-power devices, across any platform or operating system.

Easily scale from a few devices to a few million.

Analyze and act on untouched data
Capture alarms and alerts from all of your connected assets spread around the world. Identify issues before they become operational problems.

Take advantage of advanced analytics and machine learning to increase reliability and availability of your processes. Decrease costly outages and expensive repairs with prescriptive maintenance. And, take pre-emptive actions instead of understanding just the “what” and “why” behind a prediction.

Visualize what’s important
Create rich reports and dashboards to show anything from high level performance KPIs to the details of an individual asset. Customizing visualization so the right people have access to the metrics that matter to them, updated in real-time.

Accessing data and reports from any device, anywhere; and publish reports to your organization.

Integrate with your business processes
Automate formerly manual processes by integrating IoT data with your existing business systems such as CRM, ERP, and supply SCM.

For example, if a product goes down at a customer site, a service ticket will auto-generate in CRM, from which numerous courses of actions can be assigned, such as notifying technician to fix problems, diverting the product, or shipping a replacement for your customer.

Conclusion
While the subject of IoT is broad and incorporates many trends and new technology developments, Software development companies in India are keeping pace with the global market by adopting IoT platform. It becomes essential for organizations to cope with and also handle Big Data in a cost-effective way. IoT platform helps operator and enterprise customers to capture value from business. It also demands to create massive amount of devices, sensors and connections and on other hand it will create enormous business value.

Bibliography
HCL. (n.d.). Internet of Things (IoT) Platform. Retrieved 04 27, 2016, from IoT Works: http://www.hcltech.com/Internet-of-Things-IoT/
Microsoft. (2016). What is the Internet of Things. Retrieved 04 27, 2016, from Internet of Things: http://www.microsoft.com/en-in/server-cloud/internet-of-things/overview.aspx
WIPRO. (n.d.). WIPRO - Capabilities - Internet of Things. Retrieved 04 27, 2016, from Internet of Things: http://www.wipro.com/services/product-engineering/capabilities/internet-of-things/

Saturday, 23 April 2016

Issues in Mobile Application Development


1. Introduction

While application development for mobile devices goes back at least 10 years, there has been exponential growth in mobile application development since the iPhone AppStore opened in July, 2008. Since then, device makers have created outlets for other mobile devices, including Android, BlackBerry, Nokia Ovi, Windows Phone, and more. Industry analysts estimate that there are more than 250,000 applications available through the various stores and marketplaces, some of which are available for multiple types of devices. We have recently conducted a small survey of mobile developers, using available mobile developer forums to solicit respondents. A key goal of the survey was to gain a better understanding of development practices for mobile applications for custom application development companies. Our conclusions included the following points: 

1) most of the applications were relatively small, averaging several thousand lines of source code, with one or two developers responsible for conceiving, designing, and implementing the application;  
2) there was a sharp divide between “native” applications, those that run entirely on the mobile device, and web applications, which have a small device-based client with execution occurring on a remote server.

There are numerous comprehensive programming environments available for the major mobile platforms. Apple’s iOS Dev Center offers the Xcode package, which includes an Interface Builder, an iPhone emulator, and a complete development environment that can be used across all Apple products. For Android, developers can use the Android Development Tools plug-in for the Eclipse programming environment. For Windows Phone, developers can use a specialized version of Microsoft’s Visual Studio environment. Similarly, there are application development tools for BlackBerry, Symbian, and other platforms. In addition, there are now some cross-platform development tools, such as RhoMobile’s Rhodes, MoSync, and PhoneGap, which can be used to create native applications on various brands of Smartphones. Along the same lines, Netbiscuits, Appcelerator, Kyte, and other companies provides tools and frameworks to support the creation of mobile web and hybrid sites using their SDK or one of the previously mentioned environments. These powerful development tools and frameworks greatly simplify the task of implementing a mobile application. However, they are predominantly focused on the individual developer who is trying to create an application as quickly as possible. 

Considering custom application development companies, for small and medium-sized mobile applications that can be built (and easily updated) by a single developer, they represent a vast improvement on the previous generations of tools, and encourage developers to adhere to the important principles of abstraction and modularity that are built into the platform architectures. However, as mobile applications become more complex, moving beyond inexpensive recreational applications to more business- critical uses, it will be essential to apply software engineering processes to assure the development of secure, high-quality mobile applications. While many “classic” software engineering techniques will transfer easily to the mobile application domain, there are other areas for new research and development. The remainder of this paper identifies some of these areas.

2.1 What Makes Mobile Different? 

In many respects, developing mobile applications is similar to software engineering for other embedded applications. Common issues include integration with device hardware, as well as traditional issues of security, performance, reliability, and storage limitations. However, mobile applications present some additional requirements that are less commonly found with traditional software applications, including: 

1) Potential interaction with other applications – most embedded devices only have factory-installed software, but mobile devices may have numerous applications from varied sources, with the possibility of interactions among them; 

2) Sensor handling – most modern mobile devices, e.g.,  “smartphones”, include an accelerometer that responds to device movement, a touch screen that responds to numerous gestures, along with real and/or virtual keyboards, a global positioning system, a microphone usable by applications other than voice calls, one or more cameras, and multiple networking protocols;   

3) Native and hybrid (mobile web) applications – most embedded devices use only software installed directly on the device, but mobile devices often include  applications that invoke services over the telephone network or the Internet via a web browser and affect data and displays on the device; 

4) Families of hardware and software platforms – most embedded devices execute code that is custom-built for the properties of that device, but mobile devices may have to support applications that were written for all of the varied devices supporting the operating system, and also for different versions of the operating system. An Android developer, for example, must decide whether to build a single application or multiple versions to run on the broad range of Android devices and operating system releases 

5) Security – most embedded devices are “closed”, in the sense that there is no straightforward way to attack the embedded software and affect its operation, but mobile platforms are open, allowing the installation of new “malware” applications that can affect the overall operation of the device, including the surreptitious transmission of local data by such an application.  

6) User interfaces – with a custom -built embedded application, the developer can control all aspects of the user experience, but a mobile application must share common elements of the user interface with other applications and must adhere to externally developed user interface guidelines, many of which are implemented in the software development kits (SDKs) that are part of the platform. 

7) Complexity of testing – while native applications can be tested in a traditional manner or via a PC-based emulator, mobile web applications are particularly challenging to test. Not only do web application development companies have many of the same issues found in testing web applications, but they have the added issues associated with transmission through gateways and the telephone network 

8) Power consumption – many aspects of an application affect its use of the device’s power and thus the battery life of the device. Dedicated devices can be optimized for maximum battery life, but mobile applications may inadvertently make extensive use of battery-draining resources.


Author Signature: Shreyans Agrawal (ifour.shreyans.agrawal@gmail.com)