My contemplations and diurnal novelties are publicized here

Archive for the ‘General’ Category

A Software Developer’s Reading List

Originally posted on Steve Wedig's Notes:

“An investment in knowledge always pays the best interest.” – Benjamin Franklin

Many of the best software developers have T-Shaped Skills: Deep expertise in programming and software development, and broad knowledge of diverse areas including testing, DevOps, UX design, team organization, customer interaction, and their domain areas. While there is unfortunately no substitute for experience, reading is probably the next best thing. Over the past 10 years I’ve read a lot in an effort to deepen and broaden my knowledge as a software developer. Along the way I’ve been organizing books and concepts into the reading list I share below. I have been trying to design a core curriculum for “modern” software development by asking myself:

  • What core concepts are required to be a world class software developer?
  • What is the best book for introducing and teaching each concept?

The result is a…

View original 9,785 more words

Daily working Cheat Sheet for DotNet

  • How to Gets or sets the fully qualified path of the current working directory.
    • Environment.CurrentDirectory:-
  • How to get Application Data folder:-
    • Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
  • How to get current application name:-
    • System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
  • How to download a file (zip) from a url/web service (php) using c#
  • How to extract zip file using (till Framework 4.0)
  • How to replace a string in an string array in c#
    • var values = line.Split(‘,’);
    • var sanatizedValues = values.Select(x => x == “” ? x : “Null”).ToArray(); OR
    • string[] items2 = items.Select(x => x.Replace(“one”, “zero”)).ToArray();


Q-Mobile hardly completes it warranty Period

Despite the currently most selling brand in Pakistan. Q- Mobile is very low in quality and hardly completes its warranty period. You will be lucky if it dies sooner so you can claim your warranty.

I have used Nokia and there is a marginal difference between the quality of Nokia products and Q-Mobile. Recently my Q-mobile A9 losses it touch sensitivity making it a complete dump. I can’t even retrieve any data within the phone.

Beware before buying Q-mobile specially touch screen. It’s better if you try out a low specification HTC mobile. It will be more durable as compared to your so called brand new Q-mobile.

I have even used Q-mobile with key pad they aren’t even comparable to Nokia mobile. They do provide a bit more features but the quality of Camera, Keypad and Mic is very low. So you have to change your mobile within very short span of time.


ASHFAQ MEMORIAL HOSPITAL Doctors list with Timing and Schedule

Ashfaq Memorial Hospitals Telephone Number


ENT Specialist:-

Dr Tariquee:- 5:30-6:30PM  (Monday-Saturday)

Dr Qaisar Sajjad: 6:30-7:30PM  (Monday-Saturday)

Note:- If you are still looking for any other doctor bill do mention it in comment box. I will add that to the list as well. Also if you have some knowledge about any other doctors timing do mention it here.

List of documents created by Business Analyst

The structure of business analysis documents isn’t a commonly discussed topic. This article will show what documents are produced by a BA and the main sections they contain.

These are the main documents produced by a BA over the course of a project:

  • Current state analysis document
  • Project vision document
  • Solution vision document
  • Business requirements document
  • Business process design document
  • Use case model document
  • Use case specification document
  • System-wide requirements document
  • Solution glossary

The diagram below shows the attributes common to all documents:

Current State Analysis

Once a project has been mandated and the Project Initiation document (PID) is drafted, a business analyst can start to work on requirements gathering. In my experience the best way to tackle this task is to start from current state analysis. It helps understand the business need, primary pain points, business processes affected, the stakeholders involved in these processes, and so on.

The area of the current state analysis is illustrated below:

The main purpose of the analysis is to present the “AS IS” state: the existing business context, background, business functions and existing business processes, and finally stakeholders involved in these business processes. Depending on the project nature, some components of the underlying infrastructure can be included in the document as well.

A Current State Analysis document lists the key pain points within the identified business processes and tasks within them, and highlights the areas where a change is expected.

The last section of the document is about presenting recommendations. It recaps the key findings and lists the key changes expected. Any caveats should be presented here as well.

The content structure of the Current State Analysis document is presented below:

This document serves as a foundation or a reference point for other artifacts produced by a business analyst. The other documents will be discussed in the following articles.

Project Vision

The Project Vision is a document which is shared by a project manager and business analyst. They work together to outline the problem statement, determine the desired state, describe the criteria of business acceptance of the deliverables and how project success will be measured. The document contains a section with stakeholder analysis which shows all the parties involved along with their responsibilities and needs:

The business analyst adds the high level requirements which are within the scope of the project, and marks each requirement as compulsory or optional. To clearly define the project scope and avoid ambiguity, all out-of-scope requirements are also listed at the end of the section.

Based on the results of the current state analysis the business analyst describes the current business context, the key business processes and services used to support them. After that the required changes are mapped to the current business context. It can be a good idea to present this mapping as a diagram for easy communication of the proposed changes to the business stakeholders.

Solution Vision

Once the Project Vision document is approved, the preparation of the Solution Vision document starts.

First, the business analyst recaps the problem statement from the Project Vision artifact. The solution statement describes the target audience of the solution, what will be satisfied by the solution and what the key benefits will be. The statement of differentiation of the solution from possible alternative options is added as a conclusive point in positioning of the solution.

The document describes stakeholders within the target audience along with their roles using a RACI matrix.

The main part of a Solution Vision is a detailed section devoted to the solution capabilities comprised of both functional and non-functional features, with priorities given by the business stakeholders.

The next section presents the business context in its future “to be” state. It’s a good idea to include a a diagram illustrating the key changes and additions to the existing state, as well as a brief narrative to clarify the proposed changes.

Similarly to the Project Vision document, the features that are out of scope are clearly listedin the last section to make sure everyone is on the same page with regards to what will be implemented.

Business Requirements

This document focuses on providing details about the current processes and gives enough information to describe the business problem and how it fits into the scope of the project. This section reiterates the findings of the Current State Analysis document, however here they are aligned with the project objectives.

The business requirements that are going to be fulfilled by the solution are listed in the “In Scope” section. Business rules that apply to the described requirements are presented in a separate section. This approach simplifies the confirmation of the rules with business stakeholders. 
Any assumptions and dependencies identified in relation to the business requirements are to be listed in the appropriate section.
The proposed changes to stakeholder roles, new or modified business processes and business services that support them are presented in the last section.

Business Process Design

This document focuses on the scope of changes to business processes, providing details about the current business context, existing business processes, and stakeholders involved in these business processes.

It also describes the future state: the proposed business processes and the “to be” information environment. The new processes are accompanied with narratives to facilitate communication of the proposed changes to stakeholders and business end users. This “as is” section reiterates the findings of the Current State Analysis document, however here they are aligned with the changes to supporting business services.
Any assumptions and dependencies identified in relation to changes to the business processes are listed in the appropriate section.

Use Case Model

The Use Case Model lists all the scenarios for using the solution required by the business stakeholders. It is useful to describe the solution as a set of functional areas and group the scenarios per functional area. Such an approach allows to use this document more efficiently in communication with the business stakeholders as they can easily refer to the sections of their interest.

The model lists all possible scenarios in scope, their brief summary, actors involved in each scenario, frequency of use, triggering events and the two possible outcomes – success and failure.
One of the key attributes of the scenarios is a reference to the high-level requirements and required capabilities which allows to establish traceability.
Note: when making changes to Use Case Specifications, do not forget to update the Use Case Model document accordingly.

Use Case Specification

A Use Case Specification document presents more detailed information about the use cases in the Use Case Model document.

Each specification includes:

  • Brief use case overview
  • Reference to the functional area
  • Preconditions
  • Actors involved
  • Main flow
  • Alternative flows
  • Exception handling flows
  • Functional requirements for the solution
  • Traceability to the business requirements
  • Market or business rules applicable to the scenario
  • User interface, controls and data

System-Wide Requirements

This document is prepared when the Business Requirements, Use Case Model and Use Case Specifications are complete. The main purpose of the document is to present a “qualitative” side of the solution.

The “Load patterns” section is the most interesting as it illustrates how the solution is expected to be used during a business day. This information gives good insight into business requirements from the “non-functional” perspective and helps clarify the business requirements where required.As solutions are often based on information technology, some attention should be given to solution resilience. Disaster mitigation approaches and solution recovery requirements play a major role here.It is a rare case nowadays that a solution is completely new. The common practice is to integrate the solution into the existing business environment. The system-wide requirements document describes the interfaces with internal and external systems and solutions, the data flowing between them, its formats and data elements. Where the solution should interface with external systems, samples of data must be presented in appendices.Apart from business reporting capabilities, the solution must provide reporting capabilities for monitoring how the solution operates. These reports are listed in the last section of the document.

Solution Glossary

Business stakeholders often use terms and jargon in their communication. To get up to speed with this terminology (you can be quite new to it), the Solution Glossary document is used. It helps establish common terminology for the project team and key stakeholders, and for use within the solution. The structure of this document is simple:

It’s a good practice to divide the solution into functional areas. These functional areas serve as small knowledge domains for the stakeholders involved in the project. This document serves as a reference point for all the previously discussed documents.

Copied from :-

Auto increment issue mysql after database restore

Recently I faced any issue where after restoring the database in mysql, auto increment values started from zero.

This started giving duplicated entry error. First I figured out the issue using this

SELECT AUTO_INCREMENT FROM information_schema.tables

WHERE table_schema=’mydb’ AND table_name=’mytablename’

Then I tried to resolve this using:-

UPDATE information_schema.tables


WHERE table_schema=’mydb’ AND table_name=’mytablename’

But got error mentioning:-

Access denied for user ‘root’@’localhost’ to database ‘information_schema’

I tried:-


will reset the auto_increment value to be the next value based on the highest existing value in the auto_increment column.


The web server process that was being debugged has been terminated by Internet Information Services (IIS)


Run –> inetmgr –> enter –> click on App Pool  -> right-click on App –> set Application Pool Defaults –> just change everything with (seconds) to 600 instead of 90.

When you are debugging, IIS will not service any other requests until you are done stepping through your code. That includes the “ping” request that IIS sends to itself. Since IIS doesn’t hear back from itself, it decides to shut itself down, which promptly terminates your debugging.

The solution is to increase the Ping Maximum Response Time in the application pool settings from its default value of 90 seconds. Set it to something high enough that will give you enough time to debug your code (like maybe 600 seconds).

Microsoft has a long-winded write-up here, or you can just look at the pretty picture.

Edit: Others have suggested setting “Ping Enabled” to false. There are several reasons why I prefer to keep it in place, just with a larger interval, but the most important is that you will (most likely) have worker processing pinging enabled on production, and you should strive to develop and debug under a configuration that is as close to production as possible. If you do NOT have ping enabled on production, then by all means disable it locally as well.

Copied from:-

How to add externals in svn

I have a few projects in subversion using the same set of third party tools nant, bdd, mbunit etc. I’ve read its a good idea to put the tools into their own repository and include them in the other projects using an svn:external. The advantage this gives you is any changes you make to the external repository can be updated easily across all projects. Any hoose this is who to do it.

  1. Go to the root of the folder you want to add the externals too.
  2. Right click on the root folder of the project you want to add the external repository to and select TortoiseSVN –> Properties.   Note: This folder has to be a checked out subversion repository or you’ll not get the context menu! 
  3. You will now see the subversion properties dialog.
  4. Click the New.. button. You will now see the Add properties dialog.
  5. Select svn:externals from the property name drop down list.
  6. Enter the name you want to give to the external folder followed by the path to your tools repository in property value text area. 
    In the example above: tools svn://server/tools/trunk 
    Note: You can add more external repositories by simply adding more lines to the property value text area.
  7. Click Ok to add the property will now be listed in the properties dialog.
  8. Right click on the root folder and select SVN Update from the menu. Subversion will now pull down the files from the external repository and your done.

    Once you check this change in other people checking out from the repository will automatically get the externals folder. Also any changes to the external repository will be updated in this repository on any update. So in this case if I add a new tool or update one of the tools all repositories using this external repository will get the changes on their next update.


Pakistani Airlines website

  1. Airblue
  2. AirIndus
  3. Shaheen Air
  4. PIA

User story

A user story is one or more sentences in the everyday or business language of the end user or user of a system that captures

  • What a user does or needs to do as part of his or her job function

User stories are used with agile software development methodologies as the basis for

  • Defining the functions a business system must provide, and to facilitate requirements management.
  • It captures the
    • ‘who’,
    • ‘what’ and
    • ‘why’

      Of a requirement in a simple, concise way, often limited in detail by what can be hand-written on a small paper notecard.

User stories are written by or for the business user as that user’s primary way to influence the functionality of the system being developed. User stories may also be written by developers to express non-functional requirements (security, performance, quality, etc.) though primarily it is the task of a product manager to ensure user stories are captured.

User stories are a quick way of handling customer requirements without having to create formalized requirement documents and without performing administrative tasks related to maintaining them. The intention of the user story is to be able to respond faster and with less overhead to rapidly changing real-world requirements.

A user story is an informal statement of the requirement as long as the correspondence of acceptance testing procedures is lacking. Before a user story is to be implemented, an appropriate acceptance procedure must be written by the customer to ensure by testing or otherwise whether the goals of the user story have been fulfilled. Some formalization finally happens when the developer accepts the user story and the acceptance procedure as a work specific order.

Creating user stories

When the time comes for creating user stories, one of the developers (or the product owner in Scrum) gets together with a customer representative. The customer has the responsibility for formulating the user stories. The developer may use a series of questions to get the customer going, such as asking about the desirability of some particular functionality, but must take care not to dominate the idea-creation process.

As the customer conceives the user stories, they are written down
on a note card (e.g. 3×5 inches or 8×13 cm) with a name and a description which the customer has formulated. If the developer and customer find a user story deficient in some way (too large, complicated, imprecise), it is rewritten until it is satisfactory – often using the INVEST guidelines from the Scrum project-management framework. However, Extreme Programming (XP) emphasizes that user stories are not to be definite once they have been written down. Requirements tend to change during the development period, which the process handles by not carving them in stone.

A team at Connextra developed the traditional user-story template in 2001:[2]

“As a <role>, I want <goal/desire> so that <benefit>”

Mike Cohn, a well-known author on user stories, regards the “so that” clause as optional:[3]

“As a <role>, I want <goal/desire>”

Chris Matts suggested that “hunting the value” was the first step in successfully delivering software, and proposed this alternative as part of Feature Injection:[4]

“In order to <receive benefit> as a <role>, I want <goal/desire>”

Another template based on the Five Ws specifies:

“As <who> <when> <where>, I <what> because <why>.”

The <what> portion of the user story should use either “need” or “want” to differentiate between stories that must be fulfilled for proper software operation versus stories that improve the operation, but are not critical for correct behavior.


  • As a user,
    • I want to search for my customers by their first and last names.
  • As a non-administrative user,
    • I want to modify my own schedules but not the schedules of other users.
  • As a mobile application tester,
    • I want to test my test cases and report results to my management.
  • Starting Application
    • The application begins by bringing up the last document the user was working with.
  • As a user closing the application,
    • I want to be prompted to save if I have made any change in my data since the last save.
  • Closing Application
    • Upon closing the application, the user is prompted to save (when ANYTHING has changed in data since the last save!).


As a user closing the application, I want to be prompted to save anything that has changed since the last save, so that I can preserve useful work and discard erroneous work.

The consultant will enter expenses on an expense form.

The consultant will enter items on the form like expense type, description, amount, and any comments regarding the expense.

At any time the consultant can do any of the following options:

(1) When the consultant has finished entering the expense,

the consultant will “Submit”. If the expense is under fifty (<50),

the expense will go directly to the system for processes.

(2) In the event the consultant has not finished entering the

expense, the consultant may want to “Save for later”. The

entered data should then be displayed on a list (queue) for

the consultant with the status of “Incomplete”.

(3) In the event the consultant decides to clear the data and

close the form, the consultant will “Cancel and exit”. The

entered data will not be saved anywhere.


user stories define what has to be built in the software project. User stories are prioritized by the customer to indicate which are most important for the system and will be broken down in tasks and estimated by the developers.

When user stories are about to be implemented the developers should have the possibility to talk to the customer about it. The short stories may be difficult to interpret, may require some background knowledge or the requirements may have changed since the story was written.

Every user story must at some point have one or more acceptance tests attached, allowing the developer to test when the user story is done and also allowing the customer to validate it. Without a precise formulation of the requirements, prolonged nonconstructive arguments may arise when the product is to be delivered.


XP and other agile methodologies favor face-to-face communication over comprehensive documentation and quick adaptation to change instead of fixation on the problem. User stories achieve this by:

  • Being very short. They represent small chunks of business value that can be implemented in a period of days to weeks.
  • Allowing developer and the client representative to discuss requirements throughout the project lifetime.
  • Needing very little maintenance.
  • Only being considered at the time of use.
  • Maintaining a close customer contact.
  • Allowing projects to be broken into small increments.
  • Being suited to projects where the requirements are volatile or poorly understood. Iterations of discovery drive the refinement process.
  • Making it easier to estimate development effort.
  • Require close customer contact throughout the project so that the most valued parts of the software get implemented.

Story maps

A Story Map in Action

A story map is the graphical, two-dimensional product backlog. At the top of the map are big user stories, which can sometimes be considered “epics” as Mike Cohn describes them and other times correspond to “themes” or “activities“. These grouping units are created by orienting at the user’s workflow or “the order you’d explain the behavior of the system”. Vertically, below the epics, the actual story cards are allocated and ordered by priority. The first horizontal row is a “walking skeleton” and below that represents increasing sophistication.

In this way it becomes possible to describe even big systems without losing the big picture.


Some of the limitations of user stories in agile methodologies:

  • They can be difficult to scale to large projects.
  • They are regarded as conversation starters.

User stories and use cases

While both user stories and use cases serve the purpose to capture specific user requirements in terms of interactions between the user and the system, there are major differences between them.

User Stories

Use Cases

  • Provide a small-scale and easy-to-use presentation of information. Are generally formulated in the everyday language of the user and contain little detail, thus remaining open to interpretation. They should help the reader understand what the software should accomplish.
  • Must be accompanied by acceptance testing procedures (acceptance criteria) for clarification of behavior where stories appear ambiguous.
  • Describe a process and its steps in detail, and may be worded in terms of a formal model. A use case is intended to provide sufficient detail for it to be understood on its own. A use case has been described as “a generalized description of a set of interactions between the system and one or more actors, where an actor is either a user or another system”.
  • May be delivered in a stand-alone document.

The INVEST mnemonic was created by Bill Wake as a reminder of the characteristics of a good quality user story.






The user story should be self-contained, in a way that there is no inherent dependency on another user story.



User stories, up until they are part of an iteration, can always be changed and rewritten.



A user story must deliver value to the end user.



You must always be able to estimate the size of a user story.


Sized appropriately or Small

User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty.



The user story or its related description must provide the necessary information to make test development possible.




Different Ports on you PC/Laptop

What is Business System Analysis (BSA)?

Copied (and edited) from

Absence of a Business System Analyst is often the reason that relationships between Business People and Programmers go ugly. Most of us have heard stories about business people who bring a project to programmers, and later on the project is either delivered late, or comes short of the specs. That’s not always the case specially when the Programmer does a good system analysis job during the project, but again not every programmer makes a good system analyst.

Photography by Rastin Mehr © Some rights reserved

In larger organizations, System Analysts make the communication between IT and Business departments possible. In the absence of System Analysts this relationship becomes gradually dysfunctional, until at some point one department manages to dominate the other in the power hierarchy. During this struggle, people on both side become overworked, undermined, and frustrated. Eventually, the excessive loss of resources and lack of productivity could bring down an entire organization.

What System Analysts (SA) do,

  • Is to study a business model, break it down to smaller bits of tangible information and understand how they should be processed.
  • Then, these bits of information are compiled in the form of documents (User Stories, User cases, flow diagram) and visual diagrams (UML, ER, IA Garrett ) for Programmers to comprehend and follow. It is impossible to put down every detail of a project at the beginning, that is because designs usually change as the project moves on and by the time the project is finished it probably has little in common with the original specs. Despite that, the initial documentation could provide a development team, a good starting point and a big picture view.

In some companies the Sales and Marketing team have the superior authority over the IT department. Business people do what they can to write project specs which often contain technical and logical mistakes. IT managers who have little authority to discuss the specs with the Sales and Marketing team, often have to bend backward to find workarounds and hacks in order to implement a flawed spec. This leads into an inferior quality end product, and a frustrated team of IT professionals.

It doesn’t have to be that way!

Business Managers are human too, therefore capable of making logical mistakes in their inquiries. Once those shortcomings are discovered by their programmers, System Analysts could discuss and resolve the issues with the business team using a simple, non-technical language.

System Analysts understand the Architecture behind different software solutions and ways that they can be customized. For example, System Analysts can recommend the most suitable web application to a business or organization, and also figure out ways to incorporate the power of multiple web applications together in order to solve a business problem.

They can identify the most efficient software in terms of speed, usability, cost of implementation, and maintenance. They can recommend suitable Hardware and Server Architecture, conduct Cost vs. Benefits studies, and perform risk assessment.

Education Background

A Business System Analyst often has a degree in Computer Science or Management of Information Systems. In addition to that, they often have done studies in Business, Marketing, or Accounting.

System Analysis also demands great abstract thinking abilities which is often considered to be a natural talent. Great System Analysts can view a project from a 10,000 feet perspective, as well as zooming into an atomic project detail.

Knowledge of Math and Logical thinking is absolutely necessary. Great verbal and writing abilities are also very important. Having good Communication skills is so essential that sometimes Business or English major graduates who happen to be technology hobbyists, find their way into the System Analysis market, but again you are always better off with someone who has done Programming and Software Architecture in the past.

BigCommerce vs Shopify vs Volusion vs 3dCart

Shopping cart solutions like Magento and Prestashop can take quite a bit of time to set up and configure.

Choosing a Hosted E-commerce Provider

While there are dozens of solid shopping cart systems available online, the market is dominated by three highly respected programs. These are Shopify, Volusion and BigCommerce, each of which brings quite a bit to the table in terms of functionality and value. Each platform has its own strengths and weaknesses, and the right program for your specific situation will depend on a number of factors. The following in-depth analysis should make the decision a little easier. We’ve take the trouble of ranking various aspects of each platform on a scale of 1 to 5 to indicate overall quality.

Primary Feature Overview


In many ways, Shopify is kind of like the WordPress of hosted e-commerce installations. It’s both feature-rich and incredibly easy to use, allowing users to quickly configure their online shop as they see fit. Shopify’s versatile drag-and-drop functionality allows for hassle-free configuration of product pages and collections. It can also be used to publish articles and blog posts, making it a full-fledged CMS as well as a shopping cart. Shopify supports payment processing via PayPal, Google Checkout and every major credit cart by default. Thanks to its solid foundation built on the excellent Ruby on Rails framework, it’s responsive, stable and secure all at the same time.

Shopify also makes branding and promotion fairly painless, thanks to its robust SEO tools. Featuring keyword tag suggestion utilities, the expected XML Sitemap engine and a whole lot more, it’s quite adept at getting your online shop found quickly. Additionally, Shopify boasts automated backups, a stellar Content Delivery Network and 128-bit SSL encryption. Regardless of how expansive or complicated your online store happens to be, you won’t have to worry about the integrity of your data with Shopify. Most importantly, Shopify doesn’t rest on its laurels and is constantly rolling out new features like Free Shipping coupons that continue to improve the platform as a whole.
Score: 4


As with the other web-based e-commerce platforms detailed here, Volusion abstracts away the back-end code and makes site administration about as easy as can be. Written in ASP.NET, Volusion is a Windows-based e-commerce system that’s simultaneously powerful and user-friendly. Its one-page checkout format is the stuff of legends. Much like Shopify, Volusion handles all the annoying SSL security details and payment processing for you. Its 100% PCI compliant, features unlimited product listings and is backed by a hardy CDN running on the Akamai network that ensures reliable shopping cart performance under any circumstances.

Volusion places an emphasis on presentation, delivering a superlative end user experience that leads to higher conversions than many competing shopping cart platforms. Thanks to the vZoom image resizing feature, potential customers who are browsing your inventory can get a closer look at your products. It also boasts built-in product comparison for easier shopping and decision making. Volusion comes equipped with intelligent inventory tracking via their SmartMatch technology. Other significant bonuses include advanced analytics and ROI tracking as well as affiliate program management tools. Furthermore, layouts are optimized by default for mobile devices, and Volusion includes plenty of SEO tools for achieving high SERPs rankings.
Score: 4


Written in PHP, BigCommerce should prove to be quite easy to use for those who are familiar with the LAMP stack. Users can edit HTML and CSS on the fly to change the look of their online store. Additionally, BigCommerce gives clients nearly 100 different layout templates to choose from. The included drag and drop functionality makes the design process uncomplicated and seamless, and their live demo page is a terrific source of design inspiration. BigCommerce automatically creates product photo galleries and allows administrators to automate email marketing. Furthermore, comprehensive mobile support allows your shop to render perfectly on iPad tablets and Android phones.

As its name implies, BigCommerce takes a “batteries included” approach to shopping cart design and implementation. It can handle everything from drop shipping with Ordoro to inventory and warehouse tracking thanks to Shipwire integration. The platform saves Abandoned Cart information in the event that a customer doesn’t finish a transaction, which helps to substantially increase conversions and sales. With support for multiple currencies and numerous payment options, BigCommerce is a truly global shopping cart platform. The impressive default SEO capabilities of BigCommerce make website optimization truly effortless.
Score: 5


3dcart is all about providing an easy backdrop for designing your own pages in whatever form they may happen to take. Organizing products in various ways via Smart Categories is an absolute breeze. As for refining the consumer experience, their 3dZoom feature allows you to add loads of thumbnail images to product listings and customize how users size up your offerings as they peruse merchandise.

The real meat of the 3dcart sandwich is the default drag-and-drop functionality. It makes shop design about as much of a no-brainer as you’ll get in the e-commerce world. There’s also scores of free and custom templates to play with. Using 3dcart’s Quick Edit Bar, reconfiguring various layouts and site designs is a cakewalk. Furthermore, in-page shopping is greatly assisted by soft add-on functionality, which allows customers to drop new items into the final checkout basket without interrupting one’s browsing flow. 3dcart also makes the implementation of Daily DealsGroup Deals and a wide array of additional coupons effortless.

Ease of Installation & Setup


When it comes to ease of installation, it’s hard to argue that Shopify is anything other than the most ridiculously simple service to set up. Even the most novice of webmasters can have a shop up and running in under 15 minutes. Once you launch the installation wizard, you’re greeted with a quick seven-step tutorial that gives you a rundown of the basics as well as tips on how to customize your site to your liking. As a hosted, cloud-based cart, you don’t have to worry about setting up SSL certificates, hosting the installation yourself or dealing with back-end code and databases.
Score: 5


In the setup and configuration department, Volusion is every bit as intuitive and easy to use as Shopify. To get started, just select a domain name, check out the free 14-day trial, select a service plan and go through the self-guided installation process. Volusion takes care of all the details for you, making the installation process about as painless as can be. Obviously, tuning the platform to exactly suit your needs will take a bit of time and research via Volusion’s superb documentation. However, getting a basic online storefront going only takes a few minutes.
Score: 5


Not every e-commerce platform can be all things to all people. BigCommerce has a lot going for it, but it’s not quite as foolproof for beginners when it comes to setup and installation. That’s not to say that it’s really difficult to work with. Regardless, it’s not quite as intuitive as Volusion or Shopify. However, anyone can work through the process in a relatively short period of time if they follow the instructions found within BigCommerce’s documentation and online support forums. Whether you’re a web development pro or merely a beginner, BigCommerce is pretty easy to figure out.
Score: 4


3dcart happens to be just as easy to install and configure as Volusion, although the technical aspects such as provisioning your payment processors is a bit more difficult. What’s nice about 3dcart is that it’s more of a blank slate than Volusion when it comes to creating a unique look, which is key when it comes to establishing a lasting first impression. Furthermore, a fresh 3dcart install has the advantage of presenting a cleaner UI for those who aren’t that familiar with e-commerce portals. The aforementioned Quick Edit Bar in particular makes the first few artistic decisions you’ll want to make a total cinch.


Extensibility & Configuration


While the basic, default capabilities of Shopify are impressive, the available extensions that can be installed are even better. Shopify features a large App Store where users can purchase and install extra modules for added functionality. Everything from printing out FedEx shipping labels to product upselling can be accomplished with the App Store’s numerous offerings. Alternatively, web developers can utilize the full-featured Shopify API to roll their own extensions for any functionality required.
Score: 4


Practically every hosted e-commerce shopping cart comes equipped with an app store of some sort for extending the basic functionality of the platform. Volusion gives users the ability to tack on extra features via the Volusion Exchange. In addition, store owners can integrate features from Volusion’s many e-commerce partners quickly and easily without having to shell out a fortune on plugins. Everything from QuickBooks import and export support to Grasshopper VoIP service can be installed with the click of a button.
Score: 4


Much like its primary rivals, BigCommerce offers an incredibly diverse lineup of third-party plugins and modules. At present, there are over 110 extensions available that deliver Facebook integration via SocialShop 2, analytics from VisiStat and email marketing from Direct Mail Manager. Regardless of your own unique shopping cart requirements, BigCommerce provides a modular way to achieve your goals. For those who like to get their hands dirty and craft their own apps and plugins, the developer API of BigCommerce provides all the tools you’ll need.
Score: 5

Marketing, Branding & SEO


Promoting your website is the toughest part of any successful e-commerce project. Shopify takes most of the headache out of the equation by providing novice webmasters with all of the SEO tools they’ll need. The Shopify CMS is tuned for effective SEO right off the bat, so webmasters don’t have to sweat the small stuff like meta tags and on-page optimization tweaks. It also provides built-in Google Analytics integration, $100 worth of Google AdWords credit and capable default email marketing tools.
Score: 5


When it comes to marketing and SEO, Volusion boasts many of the same search engine optimization tools found in Shopify and BigCommerce. Volusion also features the ability to publish newsletters, incorporate customer feedback into listings and offer a Deal of the Day to boot. The Social Store feature allows webmasters to harness the power of Facebook for pumping up sales. One major perk of Volusion is the ability to embed Youtube videos into product pages, which assists customers in making buying decisions.
Score: 5


For SEO specialists, BigCommerce is a godsend when it comes to tuning an e-commerce storefront for the best possible SERPs rankings. Webmasters can choose from a number of different URL formats, manage “no follow” attributes to avoid duplicate content and intelligently generate meta tags. In addition, BigCommerce makes email marketing dead simple thanks to its superb iContact integration as well as its Mailchimp support. BigCommerce also increases sales conversions with its Abandoned Cart Saver system and its wide array of payment options.
Score: 5

Pricing & Fees


In the world of e-commerce shopping carts, convenience will ultimately cost you. Shopify can be a bit uneconomical if you’re in a low-margin industry or don’t process a large volume of transactions. Pricing and commissions are Shopify’s only real weak point. They offer four pricing plans: Basic, Professional, Business and Unlimited. The Basic plan is $29 per month and delivers 100 SKUs along with 1 GB of storage space. Unfortunately, it also charges 2.0% transaction fees. At the other end of the spectrum, the unlimited plan is $179 per month but provides unlimited everything and 0% transaction fees. Every plan comes with unlimited bandwidth, which is a definite plus.
Score: 4


Volusion boasts the best prices of any hosted shopping cart on the market at the moment. They offer five distinct plans ranging from the entry-level Steel package to the top of the line Platinum package. Steel begins at $19 per month and delivers 1 GB of transfer bandwidth, 100 SKUs, 0% transaction fees and zero startup fees. Bronze, Silver, Gold and Platinum plans run $39, $59, $99 and $149 per month, and each plan ratchets up the included bandwidth and stock-keeping units incrementally. The best value can be had with the Gold plan, which includes 15 GB of bandwidth and 5,000 SKUs.
Score: 5


As far as pricing is concerned, BigCommerce falls somewhere between Volusion and Shopify in terms of costs. They offer five price plans, starting with the Bronze package at $24.95 per month ranging up to the Diamond plan at $299.95 per month. BigCommerce doesn’t charge transaction or setup fees for any of their plans, and each comes with complimentary Google AdWords advertising dollars to get you started. You’ll need to select at least the $79.95 per month Gold plan to get access to certain features like the Abandoned Cart Saver. Ultimately, BigCommerce provides excellent value regardless of your expected sales volume.
Score: 4

Technical Support and Assistance


Even if you’re an old hand at developing websites, it still helps to have some technical support handy if you come across a stumbling block. Shopify provides excellent support via thorough online documentation, toll-free assistance numbers and the Shopify Experts program. In a nutshell, Shopify Experts is a comprehensive directory of designers, marketers, developers and other e-commerce gurus who can be hired to assist you in achieving the perfect online storefront. In addition, Shopify has some of the best community forums of any hosted shopping cart platform out there.
Score: 4


While Shopify and BigCommerce both have solid support programs, Volusion boasts the best overall support possible thanks to their 24/7 Live Chat services. Furthermore, Volusion hosts a bevy of videos and tutorials to assist you in building your store and troubleshooting any snags you run into. Clients can also open up a support ticket for minor issues that don’t require immediate attention. The combination of round the clock live support and extensive documentation make Volusion the most full-featured e-commerce program available when it comes to customer service.
Score: 5


All in all, BigCommerce delivers excellent support for the most part if you need help troubleshooting your e-commerce shop. Their documentation is fairly thorough, and users can get Live Chat assistance 24 hours a day during the business week. On weekends, Live Chat is available between the hours of 9 AM and 6 PM Central Time on Saturdays and 9 AM and 2 PM Central Time on Sundays. Users can also contact a toll-free technical support line during daytime hours or submit a support ticket for immediate help from BigCommerce’s helpful staff.
Score: 4

Different Strokes for Different Folks

Obviously, the right hosted e-commerce platform for your online business will depend heavily on a number of different factors. It’s tough to give catchall advice on which system to choose that will be widely applicable to every scenario. However, some basic generalizations can be made based on the above information. If you’re looking for simplicity over total features, the best choice is Shopify. If you’d like to find a happy medium between customization and ease of use, Volusion is a solid option. If you want to save money on fees and don’t mind a bit of extra legwork, BigCommerce is probably the best choice.

Difference between Responsive website, mobile sites and Mobile Apps

Responsive websites, apps and m.sites are all different from each other, and each has their own special place in delivering quality user experiences on mobile devices. The trick is understanding what these differences are, what they mean for the experience you deliver, and therefore which is the best option to achieve your specific goals.

Responsive web design:-

approach allows you to deliver the exact same content as your normal website (in fact, it is your normal website) but in a way that responds fluidly to the device size of the viewer, so the layout automatically changes to present the site in a more usable way for laptops, tablets and smartphones as required.

What doesn’t change with responsive is the depth and breadth of content, it just presents your entire website in a more usable way for the device.

Responsive websites are great for when there aren’t any task specific actions required through your website, just a means of creating a more user friendly browsing experience.

Ok, so if responsive sites are so great, why have an

Mobile website:-

An is basically a cut down version of your normal website (usually prefixed with an ‘m.’ in the URL, hence the name) which has a different design, to fit within the dimensions and navigation patterns of a small smartphone screen. It’s different to a responsive site, because it only draws specific content from your flagship website and structures it exclusively for mobile devices.

An is great when your users will only access your website on their smartphone to perform context-specific tasks. Classic examples are m.sites for airlines like Jetstar, and online-banking. These m.sites allow the business to display content from the main website (so no extra work in updating two sets of content), but limits the actions and navigation to only those that are mobile relevant, such as checking in online or logging in to online banking, plus a few other key features.

But if m.sites are designed for mobile task-specific purposes, why create an app?

Mobile Apps:-

Well, the official technical difference between an and an app is that an app has ‘native’ (whether that’s native to apple (iOS), android or windows devices) features that actually utilizes the interactions and technology that’s built-in to that specific device. For example, if you create an app for iPhones or iPads, it must make use of features that are unique to Apple, like the ‘swipe’ or ‘pinch’ gesture interactions, the camera, and accelerometer or GPS functionality. The aim being that interaction with a native app is far superior to a standard browsing experience, delivering a much faster, smoother and more intuitive experience to users on that particular device.

Advantages of Responsive Websites:

  • Website will adjust and work on many different mobile devices.
  • You only have to update the content in one place (the main website); once a change has been made it will automatically be changed on the mobile versions of the website.
  • You will not have to worry about having to scroll (left to right) because the website layout has been designed to display at your devices resolution, the website will automatically adjust.
  • Simplified navigation for “thumb users”.
  • Your website will be ready for any new technology trends instantly because it is self-adjusting to resolution sizes.
  • Centralized link authority (which means SEO page ranks for landing pages will not be counted as two different pages, it will be considered 1 single page)

Disadvantages of Responsive Websites:

  • The content will remain the same as the full website version; this means you cannot customize the content for mobile users.
  • If your website is content heavy and wordy, users will have to scroll a lot with their devices to read content.
  • If website has large images, loading it on a mobile device will take up more bandwidth because it is downloading the website content first than applying layout adjustments.

Advantages to Mobile Websites:

  • Customized appearance and content. You will be able to modify the content of the website so that mobile users are only getting mobile content.
  • Instant Call button, which allows your mobile visitors to instantly call your contact number from their phones while visiting your website – instant access to customer support or reception.
  • You can eliminate content that mobile users will most likely not view, clearing up clutter and making it easier for mobile users to navigate your website.
  • Fast loading, because it is not loading the full-version websites images, it is loading smaller condensed images which take up less bandwidth.
  • Simplified navigation for “thumb users”.
  • Allows users to choose between mobile or full-version website.

Disadvantages to Mobile Websites:

  • You will have to update and maintain two separate sets of content.
  • As cell phone technology changes, the design may have to be re-visited to support new resolutions.
  • Decentralized link authority (which means that because you have duplicate content in two different locations on the server, search engines count that content twice as separate entities affecting page views and ranks – if not done properly)


Difference between an interface and abstract class


An interface is a contract: the guy writing the interface say “hey, I accept things looking that way“, and the guy using the interface says “OK, the class I write looks that way“.

An interface is an empty shell, there are only the signatures (name / params / return type) of the methods. The methods do not contain anything. The interface can’t do anything. It’s just a pattern.

E.G (pseudo code):

// I say all motor vehicles should look like that :

interface MotorVehicle


void run();


int getFuel();



// my team mate complies and write vehicle looking that way

class Car implements MotorVehicle



int fuel;


void run()






int getFuel()


return this.fuel;



Implementing an interface consume very little CPU, because it’s not a class, just a bunch of names, and therefor there is no expensive lookup to do. It’s great when it matters such as in embedded devices.

Abstract classes

Abstract classes, unlike interfaces, are classes. There are more expensive to use because there is a lookup to do when you inherit from them.

Abstract classes look a lot like interfaces, but they have something more : you can define a behavior for them. It’s more about a guy saying “these classes should look like that, and they got that in common, so fill in the blanks!”.


// I say all motor vehicles should look like that :

abstract class MotorVehicle



int fuel;


// they ALL have fuel, so why let others implement that ?

// let’s make it for everybody

int getFuel()


return this.fuel;



// that can be very different, force them to provide their

// implementation

abstract void run();





// my team mate complies and write vehicle looking that way

class Car extends MotorVehicle


void run()






While abstract classes and interfaces are supposed to be different concepts, the implementations make that statement sometimes untrue. Sometimes, they are not even what you think they are.

In Java, this rule is strongly enforced, while in PHP, interfaces are abstract classes with no method declared.

In Python, abstract classes are more a programming trick you can get from the ABC module and is actually using metaclasses, and therefore classes. And interfaces are more related to duck typing in this language and it’s a mix between conventions and special methods that call descriptors (the __method__ methods).

As usual with programming, there is theory, practice, and practice in another language :-)


Copied from


When to Use Inheritance or Interfaces

Inheritance is a useful programming concept, but it is easy to use inappropriately. Often interfaces do the job better.

Inheritance is a good choice when:

  • Your inheritance hierarchy represents an “is-a” relationship and not a “has-a” relationship.
  • You can reuse code from the base classes.
  • You need to apply the same class and methods to different data types.
  • The class hierarchy is reasonably shallow, and other developers are not likely to add many more levels.
  • You want to make global changes to derived classes by changing a base class.

These considerations are discussed in order below.

Inheritance and “Is a” Relationships

Two ways to show class relationships in object-oriented programming are “is a” and “has a” relationships. In an “is a” relationship, the derived class is clearly a kind of the base class. For example, a class namedPremierCustomer represents an “is a” relationship with a base class named Customer because a premier customer is a customer. However, a class named CustomerReferral represents a “has a” relationship with theCustomer class because a customer referral has a customer, but a customer referral is not a kind of customer.

Objects in an inheritance hierarchy should have an “is a” relationship with their base class because they inherit the fields, properties, methods, and events defined in the base class. Classes that represent a “has a” relationship with other classes are not suited to inheritance hierarchies because they may inherit inappropriate properties and methods. For example, if the CustomerReferral class were derived from the Customer class discussed previously, it might inherit properties that make no sense, such as ShippingPrefs and LastOrderPlaced. “Has a” relationships such as this should be represented using unrelated classes or interfaces. The following illustration shows examples of both “is a” and “has a” relationships.


Copied & edited from

When to Use Interfaces

Interfaces are a powerful programming tool because they allow you to separate the definition of objects from their implementation. Interfaces and class inheritance each have advantages and disadvantages, and you may end up using a combination of both in your projects.

Flexibility in Implementation

There are several other reasons why you might want to use interfaces instead of class inheritance:

  • Interfaces are better suited to situations in which your applications require many possibly unrelated object types to provide certain functionality.
  • Interfaces are more flexible than base classes because you can define a single implementation that can implement multiple interfaces.
  • Interfaces are better in situations in which you do not need to inherit implementation from a base class.
  • Interfaces are useful in cases where you cannot use class inheritance. For example, structures cannot inherit from classes, but they can implement interfaces.

Copied and edited from

Best CMS for Newspaper Sites

The two most specialized CMS for newspapers are

  1. Escenic (they use the .ece extension on URLs)
    1. The Globe and Mail
    2. The Independent
    3. The Dayton Daily News.
    1. Columbus Dispatch,
    2. The Chicago Sun Times,
    3. The New York Post

    1. The New York Times
    2. The Washington Times
    1. The Economist,
    2. New York Observer,
    3. Florida Times-Union
    4. List of news sites using Drupal
  2. WordPress
    1. Wall Street Journal,
    2. Express & Star
    3. The Gazette.
    1. The Boston Globe
  3. Newscoop


Causes of delays in IT projects

  1. Expansion of functionality
    The expansion of functionality is a phenomenon in which new functionalities continue to be conceived and requested as the project proceeds. The software can never be completed in this way.
  2. Gold plating
    Gold plating is a phenomenon in which programmers and designers try to make many details of the software or design too elaborate. Much time is spent improving details, even though the improvements were not requested by the customer or client. The details often add little to the desired result.
  3. Neglecting quality control
    Time pressure can sometimes cause programmers or project teams to be tempted to skip testing. This frequently causes more delays than it prevents. The time that elapses before an error is discovered in the software is associated with an exponential increase in the time that is needed to repair it.
  4. Overly optimistic schedules
    Overly optimistic schedules place considerable pressure on the project team. The team will initially attempt to reach the (unrealistic) deadlines. These attempts lead to sloppy work and more errors, which cause further delays.
    In this regard, be particularly wary of schedules that are imposed from above. The desire to complete a project (more) quickly sometimes arises for primarily strategic reasons; if it is not feasible, however, it should not be attempted. The project will not proceed more quickly and the product will ultimately suffer.
  5. Working on too many projects at the same time
    Dividing work across many different projects (or other tasks) causes waiting times that lead to many delays in projects.
  6. Poor design
    The absence (or poor realization) of designs leads to delays, as it requires many revisions at later stages.
  7. The ‘one-solution-fits-all’ syndrome
    Using the right software for a project is important. Some software platforms are more suited to particular applications than others are. Thinking that the use of particular software will greatly improve productivity, however, is also a trap.
  8. Research-oriented projects
    Projects in which software must be made and research must be conducted are difficult to manage. Research is accompanied by high levels of uncertainty. When or if progress will be achieved in research is unclear. When software development is dependent upon the results of research, the former frequently comes to a standstill.
  9. Mediocre personnel
    Insufficiently qualified personnel can cause project delays. Technically substantive knowledge of the subject of the project plays a role, as do knowledge and skills in working together to play the game of the project.
  10. Customers fail to fulfill agreements
    Customers are not always aware that they are expected to make a considerable contribution to the realization of a project. When customers do not react in a timely manner to areas in which they must be involved, projects can come to a standstill. Worse yet, the team may proceed further without consulting the customer, which can lead to later conflicts.
  11. Tension between customers and developers
    The tension that can arise between customers and developers (e.g. because the project is not proceeding quickly enough) can cause additional delays, as it disturbs the necessary base of trust and the working atmosphere.


1. 360° panoramic view plugin for jQuery

A panorama is a wide-angle view made from a series of images combined together using special software. It offers a very realistic experience, giving the sensation that the user is right there on the location.


2. jQuery 360* Panorama

Is a small (4kb) jQuery plugin for displaying and manipulating 360 degree panoramic images on your website. It is easy to customize it to fit in your webpage, you just need panoramic image, a DIV, little bit of CSS, and spice it with a little bit of JavaScript.


3. jQuery spherical panorama viewer

Based on the last work of Helmut Dersh about Moving Panoramas, this full JavaScript viewer doesn’t require any browser plugin such as quicktime or java.

Source + Demo

4. jQuery virtual tour

This is an extension to the simple panorama viewer that allows you to play a little bit more with jQuery by adding interactivity to transform some panoramic views into a virtual tour.


5. Panorer

jQuery plugin tested and works in Firefox 3.6, Opera 10.63, Chrome 8.0.552.215 and IE 8.0.6001.18702 — On Win XP and 7.

Source + Demo

6. PanoScroll

jQuery plugin that will scroll the background of a div for you. Update: PanoScroll Link is dead so replaced it with another.


7. jQuery version of PhotoNav Showcase

This page shows the functionality of the PhotoNav script now in jQuery.

Source + Demo

8. jQuery Image Cube

A jQuery plugin that sets a division to rotate between images (or other things) as if they were on the faces of a cube.

Source + Demo

9. jQuery panorama plugin

Is used to create 360° panoramas on the current page through the power and flexibility of jQuery’s selector.

Source + Demo

10. jQuery simple panorama viewer

This is a simple and clean panorama viewer.


11. Reel 1.1.3

It is a jQuery plugin which takes an image tag and makes it a live “projection” of pre-built animation frames sequence. Its aim is to provide a 360° view of something or someplace. Great alternative to widely used Flash and Java techniques.


12. Multiple 360 images

Adds multiple 360 images on one page. Creates unlimited instances of the 360 JavaScript viewers.


13. jQuery threesixty

Is a really small plug-in that enable you do build flash-like “panorama” or 360 degree view of an object in a non-obtrusive way.


14. picture-360-rotation

360-degree rotating display objects in pictures. Support photo rotating objects by hand, the synthesis of 360-degree animations. Interior hand-rotating camera support, the synthesis of 360-degree look around effect through the IE6, IE7, IE8, Chorme, Firefox, Opera, Safari test.


15. jQuery Solar System Rotator

The latest demonstration of what is possible with JavaScript comes from young web programmer and enterprenuer Will Jessup. Using the JQuery JavaScript library, he has put together an impressively compact (in terms of bandwidth) graphical simulation of the solar system.


16. 360 Spin Rotate & Zoom

It is possible to display a series of images as VR Objects 360° with 3D Spin & Zoom.


17. j360

Is a jQuery plugin designed to display 360 view of product using a set of images.


18. Spritespin

Is a jQuery plugin that enables sprite animation in your website. The aim of this plugin is to provide a 360 degree view of some kind of product.


19. Dopeless Rotate

Once more. Dopeless Rotate is Jquery plugin for 360 degree product image rotation and has a nice zoom effect built into it.

AUTHOR: Sam Deering. Find out more about jQuery4u author on Google Plus.



Web Service Types :SOAP/XML-RPC/Restful

What is web services:

Before inventing of web services, whenever we need to get data from particular website, first we visits a website and with help of HTTP request is send to server from web browsers and server responses display to the visitor. Now days this scenario has been changed. You don’t need to visit the particular website to use their service and functionality if they are providing web services. Web services are set of platform independent functions/APIs which can be used from remote server over the Internet. In web services there are two parties are involved one is provider (Server) and other is consumer(Client).

There are following terminology used for web services.



Soap is wonderful technology that can help you in developing great applications, Its formerly known as Simple Object Access Protocol (until the acronym was dropped in version 1.2). SOAP is an XML-based web service protocol. In other word SOAP is a simple XML-based protocol to provide functionality to applications exchange information over HTTP.SOAP are using SOAP-Envelope to transfer information’s. It has typical architecture to create web services.
In PHP 5, there is built-in extension for the providing and consuming web services. But there are many library also available to create soap based web services in PHP.

The SOAP extension implements a large subset of SOAP 1.1, SOAP
1.2 and WSDL 1.1 specifications.


Pear packages:


XML RPC is another useful technique of providing and consuming web services. It is using HTTP for transport and XML for encoding decoding the remote procedure call along with its parameter. You can visit the official website to know more about XML-RPC.XML-RPC has simple designed architecture and allowing allowing complex data structures to be transmitted, processed and returned.
There are many functions which is responsible to set request and get response but mainly there two functions xmlrpc_encode_request() and xmlrpc_decode_request()used to encode and decode XML-RPC request and response.


• Support for creating both xmlrpc clients and servers
• Fully automated or fully manual, fine-grained encoding and decoding from php values to xmlrpc
• Support for UTF8, Latin-1 and ASCII character encodings
• Support for http compression of both requests and responses, cookies, proxies, basic auth and https, ntlm auth and keepalives with the php cURL extension
• Optional validation of parameter types of incoming xmlrpc request
• Support for system.listMethods, system.methodHelp, system.multicall and system.getCapabilities methods
• Support for the and extensions to xmlrpc
• Possibility to register php function or class methods as webservices, extracting value-added information from phpdoc comments
• A web based visual debugger is included with the library


Pear packages:


Its easiest technology to develop web services. Its stand for Representational State Transfer (REST). Nowadays, it’s very becoming popular in the arena of web services. There is no need to use XML data interchange format for request and response.
The REST web services can be return XML, JSON or even in HTML format response. PHP already has many functions to handle these type response or request like DOM functions, SimpleXML functions and Json encode/decode functions.

REST architecture is basically focused on two things:
1- Resources : Its application functionality which is represented by a unique URL.
2- Interface : its HTTP methods works as an interface to access the resources.


Get every new post delivered to your Inbox.

Join 3,020 other followers

%d bloggers like this: