wannabit who do you wanna bit

28Feb/10Off

16 Powerful And Open Source E-Commerce Applications

To create an e-commerce website, there are few ways:

  • Develop an e-commerce application from scratch.
  • Use a hosted e-commerce software.
  • Use a ready to use downloadable / installable e-commerce application.

First one takes so much time & resources which is not suitable for many people.

Second one has both positive & negative points. The biggest negative points are: you’ll be limited with the presented features & it’ll probably be paid.

Third one, you won’t be getting professional support which is the bad part but will have a community to ask questions & get answers. Also, considering the software is open source, there will be lots of users improving the product (& may be you).

Here are 16 powerful and open source e-commerce applications:

Magento

Magento E-Commerce

This powerful e-commerce software has very strong features both at the user & the admin level.

It is multilingual & also supports multiple stores to be managed from 1 admin interface which is unique.

It has lots of marketing/promotion methods to make sales easier like "buy 1 get 1 free" or "multi-tier pricing for quantity discounts" & almost any other possibilities you can imagine.

Magento is integrated with PayPal, Google Checkout and many other e-payment systems.

The system works with PHP and uses MySQL as the database.

dashCommerce

dashCommerce Free Asp.Net Shopping Cart

An open source ASP.NET e-commerce application that uses MSSQL 2005 as the database.

dashCommerce is multilingual & totally customizable with the theming support.

PayPal & a simple weight-shipping calculation provider is integrated by default.

Unlimited categories can be created & unlimited images can be added to a product (thumbnails are auto-created).

If you’re looking for an ASP.NET shopping cart then you don’t have too many options & this is a great piece of software.

Ubercart

Drupal E-Commerce

Ubercart is an e-commerce platform for Drupal.

It is a feature-rich application that can sell physical goods, file downloads and even site access/memberships with auto-renewals.

It is installed as a module to Drupal & this makes it stronger as this makes it combined with one of the best CMS applications.

Ubercart works with many payment systems like Cyber Source, Authorize.net, PayPal & more.

Products can be imported/exported via XML & single page checkout feature makes shopping easy.

Prestashop

PrestaShop Open Source E-Commerce

An amazing open source e-commerce application with a lot of features & a sleek interface.

It enables you to create "special deals" (like price reductions, gift vouchers), tag products, sell virtual goods & service besides standard products & many more.

It is pre-configures for PayPal & other payment processors can be easily integrated. You can find integration & theme options in the product’s active community.

It requires PHP & MySQL to run.

WordPress E-Commerce Plugin

Wordpress E-Commerce Plugin

For WordPress lovers, this plugin makes e-commerce very easy.

You can use all the great features of WordPress, in means of managing the content & the plugin integrates to the system tightly which enables you to take the advantage of it to maximum like:

  • when you upload a new product, WordPress update system pings all the search engine, etc.
  • Share-This plugin can be used for social networking support.
  • If you are familiar with WordPress themeing than it is very easy for you to create new looks for a store.

This e-commerce plugin integrates with Google Checkout, Paypal, Authorize.net, Payment Express and many other trusted payment processors.

VirtueMart

Joomla E-Commerce Component

An e-commerce system for Joomla & Mambo.

It has many functional features from stock management to instant currency conversion.

Any number of images & documents (like user manuals) can be added to a product. VirtueMart supports live credit card processing and popular payment gatways.

With the help of the extensible structure of these CMS applications, VirtueMart can have new features by creating new modules.

osCommerce

osCommerce Free Shopping Cart Script

osCommerce is probably the most well known & one of the oldest free e-commerce application.

It is multilingual, SEO friendly, has a lot of marketing options & supports almost every payment systems (officially or unofficially).

It works with PHP/MySQL. There are lots of of free & paid themes created for it to totally have a different e-shop.

Substruct

Substruct

A Ruby on Rails e-commerce system that is ready to be used.

It supports Authorize.net & PayPal as payment processors. Substruct enables you to track inventory & sales with the related reports.

Besides being an e-commerce application, it also has integrated CMS features for creating & maintaining content.

OXID eSales

Open Source E-Commerce

This open source e-commerce system is ready for B2C, B2B and social commerce scenarios.

It uses search-engine friendly URLs & has some marketing tools integrated.

With an easy-to-use admin tool, the shop can be managed effortlessly.

It requires PHp & MySQL to run.

Freeway

Event Shopping Cart

Freeway is an e-commerce platform specialized in selling services & events.

You can simply sell a "guitar lesson" or "rent a tennis court" where users can select which dates & times to buy them.

Besides these, Freeway can be used to sell any good & it makes selling easy with the solid promotion features like "get 3 x product & get 2 y products free".

It uses PHP & MySQL and also, it can be integrated with Joomla with a ready-to-use module.

simpleCart(js)

Simple Free Shopping Cart

This is the most different & easy to use shopping cart in the list. It is only a one page script that the products are displayed in a very good-looking interface.

They are added to the basket with no page-refresh, quantities can be updated & checkout is done via PayPal.

It stores the shopping cart info with cookies, so no database is required.

A great product which is ideal for selling few stuff in a few minutes.

Digistore

Digistore - Improved osCommerce

Digistore is based on the popular osCommerce engine with improvements both to the front-end & admin of the application.

With almost every function of osCommerce, this free e-commerce solution can offer guests a "non-membership required" shopping cart for fast checkouts (membership feature is available).

It supports physical & virtual goods to be sold. Application is totaly multilingual & supports many payment gateways.

Invoices & packaging lists can be printed from the admin order screen. It has a newsletter support for & other promotional features.

OpenCart

PHP MySQL Shopping Cart

This PHP – MySQL shopping cart system is simple-looking application but it has all the must-have features.

It supports unlimited categories, different currencies & languages. Users can review the products and buy them in few simple steps.

Most of the popular payment systems are supported.

Zen Cart

Zen Cart Shopping Cart

Zen Cart is a user-friendly, open source shopping cart software.

The application is easy to install & use.

Besides all the standard features, Zen Cart presents an easy to navigate interface for the customer. Searches can be narrowed by category and price intervals. Products can be presented as a list, grid or a gallery look & more.

It supports most of the payment systems & requires PHP – MySQL to run.

Are there any more nice & open source e-commerce applications? Please share them in the comments.

Spree

Spree: Ruby On Rails E-Commerce

Spree is an e-commerce platform built on the powerful Ruby on Rails.

It is a well-coded base for an e-commerce project. You can use Spree to improve & customize further.

It uses the Active Merchant plugin which supports most of the payment processors. PayPal Website Payments Standard is also ready to be used as an extension.

Satchmo

Satchmo - E-commerce

A getting popular e-commerce software built with Django.

It supports many payment processors & integrated with the popular shipping providers.

Besides standard products, you can sell downloadable products, subscriptions or gift certificates.

The application is feature-rich on every level, from products to customer management, or orders to promotions & more..

from:http://www.sslmatic.com/blog/16-powerful-and-open-source-e-commerce-applications/

27Feb/10Off

Anonymous Browsing With An IP Anonymizer

Each time you use the internet you are leaving a trail of breadcrumbs which anyone can follow. Sometimes this trail can have any use, as an example Google

use it to target local searches to you, or weather sites can automatically give you the weather in your neighborhood. However equally each other activity you are doing online can be tracked, what sites you went to how much time you spent there, what you did while there. If you'd like to enjoy anonymous browsing on the internet and protect your identity you must find how to use the internet without leaving this trail all of the way back to your personal computer. You may think this information is not important, after all so many people are on the internet and most of them are running without protection. However why run the danger of I. D. theft, and financial issues of having your bank accounts attacked, or even having your manager knowing what you looked at during the lunch hour!

Now lets consider though the world outside of your friends and family you will find even greater reasons to use anonymous browsing, as there are thousands of people monitoring what others are doing. Attempting to find any information they can use, or defects in security systems. If it is the 'IT Geek' showing off his talents or organised gangs and bad guys attempting to find their next victim it is happening all around us all the time. In numerous cases we don't even see it happening, there are thousands of compromised PCs around the planet whose owners have no idea. In most cases basic pathogen software it not engineered to detect such hacks, your best protection is to employ anonymous browsing, to effectively not exist. At the worst level it'd be feasible to find your physical location thru your IP address, while not the simplest task in the world it has happened during the past, and will happen again in the future. Imagine a situation where criminals know who you are, what you have and where you reside.

On an increased level governments around the planet are slowly eroding peoples freedoms by causing Internet Service suppliers ( ISPs ) to store and provide logs of all activities that take place. Fresh event in Australia have brought the issue up again, with plans to run countrywide proxy service to keep track and effectively prohibits people's online freedom. In Europe ISPs are obliged to keep their information on you for 2 years, that's's two years of your life on store ready to be accessed as and when needed. The idea is naturally to keep an eye on terrorists and extremists, however as usual it is the normal person who is inconvenienced as without doubt any 'bad people' are hiding their activities.

OK, enough fear how are you able to enjoy anonymous browsing and protect yourself and your family on the web? The first thing most people consider is a proxy server, which is a server you connect through which hides your IP address and replaces it with its own. So even though it is possible to find out the IP address of the proxy server if everything is configured properly that's all that can be discovered out. The info on what you did still exists, but there's no way to know who basically did it.

However one of the WORST things you can do is depend on a free secret proxy server, have you considered the indisputable fact that many of those servers are setup simply to collect your data? If you are using a server run by deceptive folks then they are immediately collecting everything you do, you are effectively handing everything to them on a plate!

I worked in IT in Russia for many years and know for a fact many of those proxies are setup with the single desire of capturing useful information. Is that what you want when using an anonymous proxy? I'd presume not, however that could very well be exactly what you are doing when running an anonymous proxy you found through Google. There actually is no such thing as a free lunch, sure many folks are running their proxies with truth but how are you able to know for sure which ones?

there's a much better option ; you do not have to just guess that the safe proxies to use are. A much better possibility is to subscribe to one of the most respected and unique proxy services available on the internet today. A service which not only allows you to change your IP but encrypts your, information with the same encryption system utilised by the US army. Where server logs are deleted almost immediately, so there's no record kept of who you are or what you were doing. Providing you with the most robust and complete anonymous browsing experiences available. No other unnamed proxy software offers anywhere close to the level of security offered by what I use. Software so powerful and unique you can carry it with you on a USB stick and run it wherever you are :

* Visiting a friends house? No problem just plug the USB stick in and launch the program
* At the office? No problem, if you can access a USB port you can launch the software and enjoy anonymous browsing
* School blocking certain sites? No problem, bypass the restrictions by creating a secure tunnel right through their security

The uses of anonymous browsing are almost endless.

from:http://www.articlesbase.com/security-articles/anonymous-browsing-with-an-ip-anonymizer-1184149.html

Filed under: web design Comments Off
25Feb/10Off

Designing User Interfaces For Business Web Applications

Business Web application design is too often neglected. I see a lot of applications that don’t meet the needs of either businesses or users and thus contribute to a loss of profit and poor user experience. It even happens that designers are not involved in the process of creating applications at all, putting all of the responsibility on the shoulders of developers.

This is a tough task for developers, who may have plenty of back-end and front-end development experience but limited knowledge of design. This results in unsatisfied customers, frustrated users and failed projects.

So, we will cover the basics of user interface design for business Web applications. While one could apply many approaches, techniques and principles to UI design in general, our focus here will be on business Web applications.

[Offtopic: by the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]

Websites vs. Web Applications

Confusing Web applications and websites is easy, as is confusing user interface design and website design. But they are different both in essence and in so many other ways, which we’ll explore in this article.

A website is a collection of pages consisting mostly of static content, images and video, with limited interactive functionality (i.e. except for the contact form and search functionality). The primary role of a website is to inform. Some websites use content management systems to render dynamic content, but their nature is still informational.

Website-webapp in Designing User Interfaces For Business Web Applications
CampaignMonitor is powerful email marketing software, while Jeff Sarimento’s website is intended to inform readers about his life and work.

Web applications, on the other hand, are dynamic, interactive systems that help businesses perform business critical tasks and that increase and measure their productivity. Thus, the primary role of a Web application is to perform a function that serves the user’s tasks and according to defined business rules.

Web applications require a higher level of involvement and knowledge of the system on the part of the user. They don’t just stumble upon the application, do their work and bounce off. They use it as a tool to perform critical business tasks in their daily work. In the end, they cannot easily discontinue using the application and switch to another if they don’t like how it’s working, as is the case with websites.

Different Types of Web Applications

Business applications range in type from invoicing for freelancers to content management systems to document management systems to banking and financial systems.

We can distinguish between open and closed applications. Open systems are online applications that are easily accessible to anyone who opens an account. Users can access such applications via the Web and can open an account for free or by paying a fee. Closed systems (or line-of-business applications) are usually not accessible outside the company that uses it, and they can be considered “offline” applications (though many systems expose their functionality to business partners via either services or specialized interfaces). Such systems usually run on the company’s local network and are available only to employees.

I don’t know who coined it, but one term I like especially is weblication, which describes what a Web application is in general. This doesn’t mean, though that a Web application is a half-website half-application hybrid. It is far more complex that that.

First, Know Your Users

You’ve probably heard this a thousand times, and for good reason. A successful user interface focuses on users and their tasks. This is key, and too many developers have failed to create a good user experience. As Steve Krug said, “Developers like complexity; they enjoy discovering how something works.”

Users1 in Designing User Interfaces For Business Web Applications

When identifying your users, keep in mind that clients are not users, and you are not a user. Although a client’s management team will usually be interested in the project and try to influence decisions, remember that they won’t be sitting in front of the computer several hours a day (unless the application is specifically for them).

How to Identify Users?

Identifying users can be done using several techniques, such as user interviews, business stakeholder interviews and and the “shadowing” method of observation. Interviews can give you answers to questions about the users’ knowledge of the system and computers in general, while shadowing can yield more detailed information about how users perform tasks and what errors they make. The method is called shadowing because the observer is like a shadow, watching and noting the steps a user takes.

If you don’t have access to real users—either because you don’t have permission or are designing for open application—you can use personas, a tool to help identify users. Personas are a representation of real users, including their habits, goals and motivation. Because certain information about users is often identified through business analysis, you can make use of it to create personas. If you are not familiar with the tool, a comic by Brad Colbow will help.

Personas in Designing User Interfaces For Business Web Applications

Task analysis helps identify what tasks users perform in their jobs, how they do them, how long they take and what errors they make. Sometimes clients will be using an old version of the application that you are designing to replace. Make use of that old system and watch how users use it. Understanding their tasks and challenges will be easier that way.

Regardless of who your users are, one thing is certain: in most cases, you will have to consider both novices and experts. Novice users should be enabled to learn as fast as possible, while expert users should be enabled to perform their tasks extremely efficiently. This may mean creating separate interfaces. But in many cases you will be able to accommodate both types of users in the same interface through various techniques, such as progressive disclosure.

Such research is usually done by business analysts. But if no one else is responsible for it, you should do it. Once you have the necessary information, you can begin with design.

Design Process

You can follow one of any number of processes in designing the user interface. You might already have one. However, I would suggest that you consider the Agile approach. Why, you ask? Well, because for users (and clients), the user interface is the product. The bottom line is that they don’t care about your sketches or about fantastic back ends or powerful servers. All they want to see is the user interface.

So, how does Agile help? It helps through its key principle: the iterative approach. Each iteration consists of all of the phases defined by your process. This means that at the end of the first iteration, you will have a product that can be tested, a prototype.

Process in Designing User Interfaces For Business Web Applications

Sketching

Sketching is a powerful way to explore ideas. The goal is to arrive at the solution by sketching out different concepts. Most sketches will be thrown out, but that is okay. As Bill Buxton says in his “Sketching User Experience” book, sketches are fast to create and easy to dispose of, which is why they are so powerful.

Are sketches the same as wireframes? Well, the differences can be blurry, but I would say no. Wireframes don’t capture rough ideas but rather develop them. Read a fantastic discussion on IxDA: Sketching Before the Wireframes.

Once you get the “right” sketches, or at least the ones that you think are right, you can create more detailed wireframes or go straight to creating interactive prototypes.

Sketch in Designing User Interfaces For Business Web Applications
Sketch by Jason Robb.

Interesting reading on sketching and wireframing:

Prototyping

The next step in the process is to create prototypes that will simulate the real application. A prototype can contain one or more features (or all of them), but it actually does nothing. It merely simulates the behavior of a real application, and users will feel that they are actually doing something. Prototypes may contain some functionality if needed (such as complex calculations).

Because the nature of a prototype done in HTML is temporary—its purpose, after all, is to test ideas—don’t bother with the code; just make it work with minimal bugs. You will throw it away anyway. You can also use specialized prototyping software such as Axure. Some people even prototype in PowerPoint.

Prototype in Designing User Interfaces For Business Web Applications
An Axure interactive prototype for an e-commerce website, by e-maujean.

Further reading and tools for prototyping:

Testing

Prototypes are useless unless you test them. This is not rocket science. People like Jakob Nielsen and Steve Krug support so-called “discount usability testing,” which is cheap and fast and yields valuable insight into your design decisions. You will use this information as the basis of another iteration of sketching, prototyping and testing. Do this at least until major issues have been fixed. We all know that software projects are tight on time and budget, so to be more efficient, test early and test often.

One of the best resources for discount usability testing is a new book by Steve Krug, “Rocket Surgery Made Easy.” Pick up a copy and read it.

Usability Test in Designing User Interfaces For Business Web Applications
Snapshot of usability testing for Delicious, by (nz)dave.

Further reading:

Design Principles

There are many design principles, but there doesn’t seem to be a general consensus on definitive ones. So, we’ll go through design principles more informally, leaving out strict definitions.

No One Likes Surprises

Probably the key factors in a good UI are consistency and familiarity. A user interface should be consistent across all parts of the application, from navigation to color to terminology. This is known as internal consistency. But a user interface should also be consistent within its context, such as the operating system or other applications in its group or family. A typical example is the applications in the Microsoft Office family. This is called external consistency.

A good approach to consistency is to define user interface guidelines for each project or for a group of projects. These should guide the decisions you make for all of the details. This will not only maintain consistency but also serve as documentation to help team members better understand your decisions.

Sprinkle Penny in Designing User Interfaces For Business Web Applications
Although a simple example, SprinklePenny achieves consistency and familiarity across the application.

Consistent user interfaces have a shorter learning curve, because users will recognize parts of the system and be able to fall back on prior experience. But familiarity is sometimes confused with consistency. Familiar user interfaces draw on concepts from the users’ previous experiences and use appropriate metaphors. Folders, for example, are a well-known metaphor for file organization, and they have replaced “directories,” which were used previously in command-line operating systems. In short, speak the language of your users.

A common belief among business owners is that a great user interface should look like a Microsoft Office product, especially Outlook. I won’t go into explaining how pointless this is. Rather, I will offer alternative advice: defend the user-centric approach, and explain why creating an application for employees, clients and partners (i.e. their users) is so important.

All the same, most businesses are unique, as are their work processes. For example, two businesses from the same branch could have significantly different processes, forcing you to go beyond what is familiar and start to innovate. This part of the design process can be very interesting, although you have to be careful in how far you go with innovation.

Further reading:

Users Should Be Able to Be Efficient

Without a doubt, users should be able to be efficient when using business applications. This is what they are paid for, and this is what managers expects from the application. User interfaces should allow users to be efficient and should focus them on completing tasks in the easiest and fastest way. But this is not always the case. There is an opinion, or at least practice, among developers that says the user interface should be as complex as the back end system. No matter how ridiculous this sounds, the problem is real and might give you a headache. This is one reason why good communication and collaboration between developers is a must.

Users are efficient when they focus on a particular task. As mentioned, task analysis can help you identify tasks and determine how users perform them. If tasks are long, accelerate them by breaking them up into smaller units. You can also increase efficiency by providing keyboard support and shortcuts. Think how inefficient it is for a user to have to switch back and forth between mouse and keyboard. In some cases, you will be designing for users who are accustomed to working on command-line operating systems and the applications made for them. They will be keen to have keyboard support. One suggestion: when defining keyboard shortcuts, keep them consistent with those of common applications. For example, Ctrl + S should always be save, and so on.

Google Docs in Designing User Interfaces For Business Web Applications
Google Docs Spreadsheet enables users to be efficient by providing keyboard shortcuts and context menus, as well as by taking advantage of users’ familiarity with common desktop applications.

Efficiency can also be enhanced through personalization. Users who can personalize an environment will learn it faster and, more importantly, will be more confident using it. Personalization can be done in many ways: choosing widgets for the dashboard; defining shortcut options and favorites; changing the order of elements; etc.

Pay attention to accessibility. Although many assume that accessibility doesn’t matter in Web applications, it certainly does. Treat the application as if it were a public website.

A Web application also has to be efficient in the speed with which it processes information. So, consider heavy interactions that result from partial renderings and AJAX requests.

Help!

An interface should provide meaningful feedback that describes the state of the system to users. If an error occurs, users should be notified and informed of ways to recover. If an operation is in progress, users should be notified about the progress.

We can go even further and declare that user interfaces should prevent users from making errors. This principle, called forgiveness, can be followed with confirmation dialogs, undo options, forgiving formats and more. Forgiveness makes it safe to explore the interface, decreases the learning curve and increases overall satisfaction.

Because of the complexity of business Web applications, you would also need to provide a comprehensive help system. This can be done with inline help, a support database, a knowledge base and guided tours (which mix video, images and text).

Further reading:

Can’t Get No Satisfaction

Satisfaction is a subjective term that refers to how pleasant an interface is to use. Every design principle we have described here affects  satisfaction. And a few more principles are worth mentioning here.

Simplicity is a basic principle of UI design. The simpler a user interface, the easier it is to use. But keeping user interfaces for business applications simple is a challenge because the apps often have a lot of functionality. The key is to balance functionality and simplicity. Restraint is one of the most efficient ways to achieve this balance: i.e. finding the simplest way to solve a problem.

Buildwithme in Designing User Interfaces For Business Web Applications
BuildWith.me has a simple and effective user interface, without sacrificing aesthetics.

Aesthetics, though subjective and somewhat arbitrary, play an important role in overall satisfaction. Users respond positively to pleasing user interfaces, sometimes even overlooking missing functionality. But you’re not creating a work of art. One of the best articles that explains aesthetics is In Defense of Eye Candy.

In the end, users will be spending a lot of time in front of a business application, and no matter how usable, consistent or forgiving the interface is, satisfaction will be critical in determining how good the user interface is.

Further reading:

Other resources related to UI design:

Essential Components Of Web Applications

Every Web application is unique, but many of them contain common features. Although the implementation of any one of these features will vary, let’s look at the basic concept of the three most common ones.

Web Forms

Forms in general are important to Web applications. But as Luke Wroblewski says in his Web Form Design book, “No one likes filing in forms.” That includes sign-up forms, including business applications with dozens of fields.

Minimize the frustration of filling in forms. Provide inline validation and good feedback. Use defaults when possible. Don’t forget about novice users. Use wizards to help them complete tasks faster, or use progressive disclosure to hide advanced (or infrequently used) features.

Master-Detail Views

This is the technique of showing data in two separate but related views. One view shows a list of items, while the other shows details of the selected item. Master-detail views can be implemented across multiple pages or on individual ones.

Dashboards

Many Web applications have dashboards. A dashboard is a view of the most important information needed to take action and make decisions. It is confined to a single page and is usually the starting point of an application. Dashboards are important because they enable users to access information and take action without having to dig through the application.

Xero in Designing User Interfaces For Business Web Applications
Xero shows a user’s most important financial information (e.g. bank accounts and credit cards) in its dashboard, making it easy for users to quickly see the status of their financial data.

Heavy Use of Tables

Because Web applications typically deal with large quantities of data that are easily accessible and sortable, tables are unavoidable. But this is not a bad thing. In fact, tables were made for this purpose. Don’t confuse this with table-less layouts. Effective tables are easily readable. So, in most cases you will need a meaningful header, an optimal number of columns, pagination, alternating row colors, proper column alignment, sorting and filtering capabilities and much more.

Tables can also be interactive, meaning they can generate additional info and even modify the data they contain.

Pulseapp1 in Designing User Interfaces For Business Web Applications
PulseApp is a good example of how tables can be used to efficiently present and manipulate complex data.

Reports

Most businesses work with some kind of reports. Printed reports are usually required, so pay attention to the design of reports. Printed (or exported) reports are usually simplified versions of online reports, optimized for monochrome printers.

Fresh Books in Designing User Interfaces For Business Web Applications
FreshBooks has printing, PDF exporting and “Send to email” features. It also shows a print preview.

Don’t Forget UI Design Patterns

We’re so used to hearing and talking about UI design patterns that we sometimes forget about them! UI design patterns are helpful for designing user interfaces. The important thing is to consider them early on in the design process, ideally at the sketching stage. Because patterns often solve common problems, the right pattern can facilitate the user’s familiarity with an interface and increase the speed at which they learn it.

Standard Screen Patterns in Designing User Interfaces For Business Web Applications
This screenshot is from the article 12 Standard Screen Patterns, which goes over the most common screen patterns.

Further reading:

Case Study: Online Banking Application

To take an example from the real world, I will briefly explain the process of designing the user interface for one small bank’s online banking system. The team I worked with was hired to improve the system. The main reason for the redesign was that, according to management, “users complained and many stopped using it.”

After only a couple of hours spent with actual users, the main problems were uncovered. Information about accounts and credit cards was buried in poor navigation. Understanding how much money users were spending and the state of their accounts and credit cards was also hard. The application, however, was obvious to bank employees; they were familiar with the terminology and could interpreted the numbers in the application perfectly well.

Give the tight deadlines, we followed the process I have described, and we partially succeeded. Despite the short time, the major problems were so obvious that we clearly understood our main task and how to go about it. We created a dashboard that provided clear information on the state of all accounts and credit cards. With this new navigation, finding information became easier. Reports were easier to understand, and several new features were implemented.

Although we made only a few changes, the changes affected critical user tasks and resulted in significant improvements to the overall experience.

Final Thoughts

Designing user interfaces for business Web applications is a challenging job that is full of compromises. You have to make compromises between client and user needs; business requirements and users; novice and expert users; functionality and simplicity. It requires a solid understanding of users and their tasks, as well as of UI design principles and patterns. Despite the difficulties, the job is interesting, and you learn many new things on each project that influence the way you design websites.

While this article reflects some well-known concepts and things I have learned from designing business applications over the years, I look forward to hearing your experiences and stories.

from:http://www.smashingmagazine.com/2010/02/25/designing-user-interfaces-for-business-web-applications/
by:

Filed under: web design Comments Off
21Feb/10Off

MySQL – InnoDB vs MyISAM

Most people who use MySQL know that MyISAM and InnoDB are the two most-common database engines available with the popular open-source database provider. I would bet that most of those people don't even take the time to select a storage-engine and just accept the database default. Those of you who are left probably heard from a friend who saw something online that said one of the two is better than the other. Those of you who are left will still probably learn a thing or two here :)

Storage Engine

The storage-engine is what will store, handle, and retrieve information for a particular table. As hinted by the opening of this article, there is no be-all end-all solution to every or even most cases. Each has very specific pros and cons that by design can not be all-inclusive of each other.

phpMyAdmin - Storage Engine

This is a screenshot of some of the available storage engines given to you by phpMyAdmin when you create a new table.

 

MyISAM

Let's start with MyISAM since it is the default engine with MySQL. MyISAM is based on the older but proven ISAM code but has been extended to be fully-featured while retaining the reliability. Data in MyISAM tables is split between three different files on the disk. One for the table format, another for the data, and lastly a third for the indexes.

The maximum number of rows supported amounts to somewhere around ~4.295E+09 and can have up to 64 indexed fields per table. Both of these limits can be greatly increased by compiling a special version of MySQL.

Text/Blob fields are able to be fully-indexed which is of great importance to search functions.

Much more technical information can be found on MySQL's MyISAM Manual Page.

InnoDB

InnoDB is relatively newer so the scene than MyISAM is so people are still weary about its use in environments than run fine under MyISAM. InnoDB is transaction-safe meaning data-integrity is maintained throughout the entire query process. InnoDB also provides row-locking, as opposed to table-locking, meaning while one query is busy updating or inserting a row, another query can update a different row at the same time. These features increase
multi-user concurrency and performance.

Another great feature InnoDB boasts is the ability to use foreign-key constraints. FK constraints allows developers to ensure that inserted data referencing another table remains valid. For example, if you had an authors table and a books table and you wanted to insert a new book while referencing the author. The author would have to exist in the authors table before inserting them in the books table because a foreign key was specified in the books table. At the same time you would not be able to delete an author from the authors table if they had any entries associated with them in the books table. More on this in a later article...

Because of its row-locking feature InnoDB is said to thrive in high load environments. Its CPU efficiency
is probably not matched by any other disk-based relational
database engine.

 

Comparison

MyISAM in most cases will be faster than InnoDB for run of the mill sort of work. Selecting, updating and inserting are all very speedy under normal circumstances. It is the default engine chosen by the MySQL development team which speaks to its integrity, reliability, and performance.

InnoDB, or the OSX of the database-engine world, has emerged with some nifty features and created a niche for itself very quickly. Boasting features like row-level locking, transaction-safe queries, and relational table design are all very temping. The first two features really shine in a table that is constantly getting hammered like a logs, or search engine-type table. Since queries happen in the blink of an eye (faster actually) table-level locking(MyISAM) is sufficient in most other normal cases.

InnoDB recovers from a crash or other unexpected shutdown by replaying
its logs. MyISAM must fully scan and repair or rebuild any indexes or
possibly tables which had been updated but not fully flushed to disk.

Decision Matrix

Is your table is going to be inserted, deleted, and updated much much more than it is going to be selected? InnoDB
If you need full-text search MyISAM
If you prefer/require relational database design InnoDB
Is disk-space or ram an issue? MyISAM
In Doubt? MyISAM

There is no winner.

REMEMBER! It's OK to mix table types in the same database! In fact it's recommended and frequently required. However, it is important to note that if you are having performance issues when joining the two types, try converting one to the other and see if that fixes it. This issue does not happen often but it has been reported.

 

Extra Reading

MySQL Performance Blog - Graphically shows how InnoDB overtakes MyISAM at a certain number of queries per second.

MySQL Manual InnoDB Overview - Great overview of capabilities and limitations.

MySQL Manual MyISAM Overview - Same as above

MySQL Manual Storage Engines - Information on the other less-used storage engines MySQL offers.

 

Please share on your success/horror stories with each engine and how you dealt with them. I would be very interested to hear about them.

from:http://mikebernat.com/blog/MySQL_-_InnoDB_vs_MyISAM

Filed under: Programming Comments Off
20Feb/10Off

The everyday developer’s guide to version control with Git

Git is a free distributed revision control, or software source code management project with an emphasis on being fast. Git was initially designed and developed by Linus Torvalds for Linux kernel development.
Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server.
from: http://en.wikipedia.org/wiki/Git_%28software%29

Filed under: Programming Comments Off