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”
Overview About Mobile Devices
Today there are hundreds of mobile phones in the market; mobile phones are not the only mobile devices there are also pocket computer devices like PDAs, micro notebooks and handheld notebooks, here I will take about mobile phones, PDA and some other mobile devices.
Mobile Phones
The largest segment for mobile devices, they have specialty processor and there own operating system the widely used is Symbian or windows mobile but there is also others, At the first development of mobile phone its use was voice and text messages but the technology over the years go fast for other uses like play music, photos, run applications and many other options this change the use of mobile from simple feature phone to smart phone.
The standard input for mobile phones is a 12 keypad with additional function keys, some other have joystick that can be used in navigation, with wider screen models there was other style available like input through touch screen keyboard like iPhone, some others have a keyboard input like Nokia E61, 63 or 71. Today most of mobile phones come with web browser like opera mini which is the most popular web browser some other come with different types of browsers.
Personal Digital Assistants (PDA)
Personal Digital Assistants (PDA) is the other class of mobile devices, it contain many other business features and productivity applications like office and emails, the most important that it can have their custom software, they have QWERTY keyboard in the device or screen, phone function is add on for PDSs, this type of devices are very popular with business users and merging phone with the device itself.
Other Mobile Devices
Micro notebooks and handheld notebooks can be classified as a mobile device, technology expect many hybrid devices to come up in the next few years that will have higher computing power and mobile communication technology.
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”
What is Mobile Web Limitations?
Old mobile devices have screen size from 120×120 pixels up to 320×240 this means that you can show about 6 lines of 25 characters, some mobiles also support a few types of images and multimedia format for example animated GIF is not supported on most phones, the mobile browser of course faces the same limitations that mobile web faces like:
- Small screen size: This makes it difficult or impossible to see text and graphics dependent on the standard size of a desktop computer screen.
- Lack of windows: Ability to open more than one window
- Navigation: No mouse thereby limiting the flexibility in navigation
- Lack of JavaScript and cookies: Most devices do not support client-side scripting and storage of cookies except smart phones and iPhone, this is not being suitable for uniquely identifying visitors using mobile devices.
- Speed: Most mobile devices speed of service is very slow, often slower than dial-up Internet access.
- Types of pages content like (Flash, PDF …)
- Compressed pages
- Size of messages: Many devices have limits on the number of characters that can be sent in an email message.
- Cost: Access and bandwidth charges levied by cell phone networks are much higher than those for fixed-line internet access.
Now day mobile devices try to solve most of the previous problems thought develop some strategies like increasing the screen size, enhance the hard resources like processor capability, add more ram, develop a new operating system (OS), enhance the Global System for Mobile Communications (GSM) network itself or add a network card to provide the wireless access thought using the Wi-Fi technology.
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”