The Two Extremes of Mobile Applications
The foundation for a new era of computing model, which is called mobile cloud computing, comes from the combination of cloud computing, portable computing devices, wireless communication, location based services, mobile Web, etc.. The mobile devices allow the users to access an unlimited computing power and storage space within the mobile domain. There are many hurdles to overcome in mobile cloud computing. The existing cloud computing tools tackle only specific problems such as flexible virtual machine, managing parallelized processing on massive data volumes, and large data storage.
Mobile devices inherently have and will continue to have limited resources as processing power, memory capacity, display size, and input forms. These have been the forming factors of existing mobile application approaches. This is why mobile computing is characterized by severe resources constraints and frequent changes in operating conditions. To identify the fundamental challenges in mobile computing, many research are done in this area. The full potential of mobile cloud applications lies in between the following two extremes:
1. Mobile clouds native applications (offline applications)
This is the first model that most of the applications available for modern mobile devices fall into, which is often called “native applications”. The periodical synchronization between the client and backend system is the main issue here. This model acts as a fat client because the processing of the presentation and business logic layer is locally done on the mobile devices, while the data is downloaded from the backend system. Most resources are available locally on the fat client, rather than distributed over a network as is the case with a thin client. As with everything in computer world there are advantages and disadvantages, below are some of them.
Offline applications advantages:
- Have a good integration with device functionality.
- A full access to device features.
- Have a great performance optimized for specific hardware or multitasking.
- Even if there is no network connectivity, always have available capabilities.
Offline applications disadvantages:
- No portability to other platforms.
- Complex coding.
- Increased time to market.
- Developers need to learn new programming languages.
2.Web applications (online applications)
This application model requires that the connection between the mobile devices and the backend systems are available most of the time. This application type is based on the Web technology that is a powerful alternative to native applications in which the cross platform issues are solved. The advantages of this model overcome some of the disadvantages of the offline applications, but it also has some disadvantage.
Online applications advantages:
- Considered as multi platforms.
- Directly accessible from anywhere any time whenever there is connection.
- The learning curve required to start creating mobile applications is greatly minimized, because the knowledge of most Web technologies is currently widespread among developers.
Online applications disadvantages:
- Too much introduced latency for real time responsiveness.
- Device’s features access is limited such as camera or motion detection.
- Difficulties in handling complex scenarios that require keeping communication session for long period of time.
When accessing remote data and services, mobile clients could face problems like, wide variations, rapid changes in network conditions and local resource availability. The execution of current applications could be partitioned to happen on the device or on backend systems, because of this statically partitioned one partitioning model does not satisfy all application types and devices. The computation of clients and cloud has to be adaptive in response to the changes in mobile environments. Mobile cloud applications must react with dynamical adjusting of the computing functionality between the mobile device and the cloud depending on circumstances, in order to enable applications and systems to continue to operate in such dynamic environments.
Many researchers work on how could dynamically shift the responsibilities between mobile device and cloud. Some shown how to achieve that is by replicating whole device software image or offloading parts of the application, so the offloading can happen to some remote data center, nearby computer or cluster of computers, or even to nearby mobile devices, due to the unstable mobile environments. Many factors need to be incorporated in a cost model, and fast predictive optimizing algorithms decide upon the best application execution, thus for many years to come mobile cloud computing will become challenging research area.
OneHoster is one of the best web hosting companies in Egypt, we offer many web hosting packages in Egypt and middle east like, cPanel storage hosting packages, cloud hosting, domain registration, dedicated servers solution, Email hosting, WordPress hosting, web hosting upgrades and hosting renewals to suit your requirements to host your website for small and medium sized businesses. OneHoster is also one of the top 10 website design companies, and top 10 digital marketing companies in Egypt and Middle east.
“OneHoster’s Team”
Exceptional Performance for Improving Web Site Performance
Browsing Web site is an important example of client server model in the world, if you plan to create a web site you should know that the client browser will get a local copy of the desired page to your machine then render it from the local source, so if the page what the user want to show it is a large size user will go out and will not back again, this problem led us to design a very light page size, page size is the total of the page code and all its content like images, scripts, CSS and any content that the user will see it.
If we target a good exceptional performance for mobile web or even desktop user we must follow some practices for making web pages fast, Yahoo!’s exceptional performance team evangelizes best practices for improving web performance. They conduct research, build tools, write articles and blogs, and speak at conferences. Their best practices center on the rules for high performance web sites, the principal objective is to improve the user experience of the Web when accessed.
The Exceptional Performance team has identified a number of best practices for making web pages fast. The list includes 34 best practices divided into 7 categories:
Content
- Make Fewer HTTP Requests
- Reduce DNS Lookups
- Avoid Redirects
- Make Ajax Cacheable
- Post-load Components
- Preload Components
- Reduce the Number of DOM Elements
- Split Components across Domains
- Minimize the Number of iframes
- No 404s
Server
- Use a Content Delivery Network
- Add an Expires or a Cache-Control Header
- Gzip Components
- Configure ETags
- Flush the Buffer Early
- Use GET for AJAX Requests
Cookie
- Reduce Cookie Size
- Use Cookie-free Domains for Components
CSS
- Put Style sheets at the Top
- Avoid CSS Expressions
- Choose <link> over @import
- Avoid Filters
JavaScript
- Put Scripts at the Bottom
- Make JavaScript and CSS External
- Minify JavaScript and CSS
- Remove Duplicate Scripts
- Minimize DOM Access
- Develop Smart Event Handlers
Images
- Optimize Images
- Optimize CSS Sprites
- Don’t Scale Images in HTML
- Make favicon.ico Small and Cacheable
Mobile
- Keep Components under 25K
- Pack Components into a Multipart Document
OneHoster is one of the best web hosting companies in Egypt, we offer many web hosting packages in Egypt and middle east like, cPanel storage hosting packages, cloud hosting, domain registration, dedicated servers solution, Email hosting, WordPress hosting, web hosting upgrades and hosting renewals to suit your requirements to host your website for small and medium sized businesses. OneHoster is also one of the top 10 website design companies, and top 10 digital marketing companies in Egypt and Middle east.
“OneHoster’s Team”
Hybrid Web Applications (Mashup)
The using of mashup in the proposed architecture become important issue when noticed that there are some problems that face webmasters, Web developers, and Web designers in their everyday work. This problem comes from the nature of Web technology. Big part from this problem could be solved using mashup, since it is fairly easy to implement the Web content systems from different online services. Mashup is a Web page or application that combines resources or functionalities from two or more sources creating a new application or service. Mashup is an emerging software engineering paradigm aligned with the trend towards the programmable Web. Mashup is based on the longest tail theory which is from business perspective to allow the use of different services and to break down business processes into smaller pieces.
The history of mashup comes from music industry before it become an Internet popular concept in which musicians combine mixture of two or more tracks to create a new song that is called mashup. Figure 1.1 illustrates the concept of mashup for Internet technology. Today Web mashups are becoming one of the salient tools for providing composite services to meet users request and open a new area for researchers with many endeavors to enhance this technology for Web developers and designers. Many approaches used now for mashup of Web contents and Web technologies to provide a mobile Web contents, to offer Web application, or even for Web application programming interface (API). One of these contributions is a method to utilize the social and functional relationships among Web APIs to produce and recommend the chains of candidate mashup.
The combination of wireless communication, cloud computing, portable computing devices and the concept of mashup has laid the foundation for a novel computing model, called mobile mashup cloud computing or hybrid mobile Web cloud applications. This provides the users with an online access to unlimited computing power and extra powerful Web applications. This type of combination can unveil a world of new innovative mashups technology that tackles some old problems. the challenges include how to abstract the complex heterogeneous underlying technology, how to achieve optimal adaptation under different constraints, how to model all the different parameters that influence the performance and interactivity of the application, and how to integrate computation and storage with the cloud while preserving privacy and security.
It is known that Web applications in service oriented architectures are implemented as Web services with XML-based protocols to provide plentiful information to users by object oriented techniques. Web applications today enjoy with a great progress, this enable traditional Web and mobile Web to be designed toward, facilitating interactive information sharing, providing interoperability and collaboration mechanisms, and establishing user oriented service.
Mashup types
Mashups can be categorized into three main types which are, data mashups, consumer mashups and business mashups as follows:
- Data mashups
Data mashup aims to combine similar multiple types of media or information from multiple data sources into a single representation. The combination of all these resources creates a new representation. This new representation is a distinct Web service from the sources and provides data in a new Web service. This new Web service was not originally provided by any of the sources. An example for this mashup is the Skyscanner.com that combines data and provides flight tickets from multiple sources such as British Airways, Air France and Iberia.
- Consumer mashups
Is designed for the general public and is considered as a counterpart of the data mashup but by combining multiple public data sources of different data types into a visual representation. Consumer mashup is a very effective mean for personalizing data according to the customer’s needs. Wikipediavision is an example of consumer mashup. It combines real time data from the Wikipedia with Google Maps allowing users to see real time edits to Wikipedia on a world map.
- Business mashup
Sometimes called as enterprise mashup, business mashup aims to solve business problems like the consumer mashup but it works differently in other aspects such as the security levels required. The level of sophistication is the need for quality of Service (QoS) and some other aspects. Business mashup defines applications that combine their own resources, or application and data with other external Web services, or generally combine internal information and services of an enterprise with external resources into a visually rich Web application. It combines data into a single presentation and allow for collaborative action among businesses and developers. It is a secure visually rich Web applications that expose actionable information from diverse internal and external information sources. An example of this category could be PivotalTracker which is a Web-based agile project management tool that allows integration with Twitter, where the project’s members can see real-time updates
2.3.1 Mashup examples and applications
As mentioned before, there are many examples of mashup that are in use for many different business types. For example, mashup video is a video that is edited and built from more than one source and finally displayed as a single video. The most famous example which is very tied to the proposed work is the hybrid Web application, which is the Web application that its data and/or functionality are combined from more than one source. Mashup has characteristics or number of components. The components could be described as a sequence architecture model because each component is based on the other components in a sequence scenario. Below is a list of these mashup components:
- Type: such as Data mashups, Consumer mashups and Business mashup,
- Service Provider: provides access to resources or services online in which the provided services or resource construct the mashup Web applications,
- Protocol: a particular set of rules and guidelines to exchange messages between services which offered by the service provider. The protocol is used for communication between the server and the client, and between the resources and the server,
- Data format: describes how the information is stored in the exchanged messages, these messages contain the required information in a pre defined data format,
- Architecture: this sequence scenario represents a particular architecture, about how the transmission done to the client from the combined resources in the server. Examples of these architectures are directly send the information to the client or combining it in the server first before sending, and
- Interface: last step in this sequence scenario is the client have to see final results from a Web interface, all of this is based on the mashup type, which is done in the first step.
The distinguish between mashup applications and traditional applications is is not an easy task because the border between what is a mashup and what is not is very thin and requires knowledge about how the application work internally, what services the application is using, and its type and service parameters. Programmableweb.com is a mashup directory which has more than 4900 mashups services along with more than 2000 Web APIs, Figure 1.2 illustrates only the top 10 APIs for this mashup.
Mashup is composed of three layers:
- Presentation or User interaction layer: this layer consists of most of the famous languages such as HTML, CSS, AJAX, and XML that are used to make the mashup as visually appealing and functionally efficient as possible,
- Web Services: is used to connect to the products functionality with API services, some tools such as XML HTTPRequest and SOAP are used to accomplish this task, and
- Data: the main content comes here, and it is concerned by how the sending, the storing and the receiving of data are done, most often XML is used.
OneHoster is one of the best web hosting companies in Egypt, we offer many web hosting packages in Egypt and middle east like, cPanel storage hosting packages, cloud hosting, domain registration, dedicated servers solution, Email hosting, WordPress hosting, web hosting upgrades and hosting renewals to suit your requirements to host your website for small and medium sized businesses. OneHoster is also one of the top 10 website design companies, and top 10 digital marketing companies in Egypt and Middle east.
“OneHoster’s Team”