Development Blog


Near Future Roadmap

November 8th, 2007

We often receive questions regarding upcoming functionality additions, so we’re providing a rough road-map of the near future LiveCart releases within this blog post.

Not all of the features mentioned will be included in the LiveCart core package, but rather provided as add-ons. We’re planning to keep LiveCart core light (and affordable) and allow to install only the functionality you actually need. This way would never have to pay for functionality you do not use.

Of course, it doesn’t mean that there won’t be additions to LiveCart core package as well. Generally, if most store owners could make use of a feature (for example, sales reports or data import), it will be included in the core package. Other features, especially larger and more sophisticated ones (like affiliate program support) that most users will not use, will be distributed as plugins. Most of the plugins will be free of charge.

AJAX-ified store fronted!

As you might have noticed, LiveCart makes heavy use of AJAX in the admin backend to provide the outstandingly smooth workflow. So far we have been reluctant to use much AJAX in frontend for multiple reasons – the main of them being that relatively small number of stores will actually use them; it makes customization more difficult and different stores would have different ideas on which parts should be AJAX-ified. We will attempt to resolve this by releasing a separate add-on for installing the frontend AJAX features, with several options, that will allow to tweak the usage of AJAX features to your liking.

Nice looking themes

Currently LiveCart ships only with its default theme, which, although minimalistic and very easy to use for customizing and building your nice looking theme upon, is not terribly eye-catching. We will start publishing new (and free!) themes very soon.

Importing Products

One of the most important things that haven’t yet been implemented, is product importing. This is a very important feature for those store owners that use other shopping cart programs and are looking to make the switch to LiveCart. And of course, the importing would be a great help in those cases when a product database is available in Excel or any other database or database-like format.

We’re looking forward to offer database conversion tools from as many as possible of the most popular shopping cart programs as possible, as well as CSV/XLS importing. We expect to to provide integrations for two popular shopping cart programs already by the next release.

Reports

Sales reports, aggregations, analysis, store page view statistics – everything that would help you understand better on what exactly is going on in your store and how things could be made even better.

Nice looking 3D charts is a must as well, so we’ll definitely have them too ;)

Payment and shipping calculator modules

A feature of which, there’s never enough. There are always more payment systems to support and shipping rate calculators to integrate. New integrations will be provided within almost every release.

Discounts and custom pricing

Another often requested feature is the ability to set custom pricing to different user groups, provide quantity discounts or pricing based on more complex rules. We’re looking forward to provide a truly flexible solution, that should be able to implement almost every business rule that one could come up with.

Campaign management

For those stores that rely heavily on online advertising, the knowledge on which sources of advertising perform the best, is invaluable. We’re planning to implement a campaign tracking tool that would provide detailed performance, ROI statistics and analysis for all of your online advertising.

Shipping automation

Most likely the first addition that will improve the shipping automation process will be shipping labels printer, which should appear within the next couple of updates. Obviously, there will be more than that and we will arrange our priority list based on your feedback.

Accounting integration

Although LiveCart allows to export its data (orders, products and users) to a CSV file, which can further be imported into any other software, we’re looking forward to provide ready-made integration solutions with the most widely used accounting programs, like QuickBooks, etc.

Gift certificates

This feature is also in our short term roadmap and should become available soon.

And more!

This was only a small part of our near future plans. There are going to be many more pleasant surprises.

Of course, your feedback is very important to us, so if you have any ideas on how LiveCart could be improved, we’ll be more than happy to hear them!

Translate LiveCart and get a free license!

October 24th, 2007

LiveCart has been created to work with any language, so it has excellent i18n and l10n capabilities by design. However the capability itself is not enough, and to be able to run shops in different languages, we need the actual translations as well! For this reason we’re starting a LiveCart internationalization campaign.

At the moment LiveCart has been fully translated into at least 10 languages. See the full list of completed translations.

We’re looking to expand the range of languages LiveCart is available in, so we’re offering a free license to anybody, who would translate LiveCart into his or her native language.

There are about 2000 string entries and 8 e-mail templates to translate (including both frontend and backend areas), so the translation would take a few hours to complete. For this reason, please contact us first before starting to work on the translation (to make sure somebody isn’t doing that already).

Translations can be prepared using the free trial version, which everyone can download at no cost and install on their own server or computer. The translation process itself is very easy and convenient using the LiveCart translation tools.

No language is too small - the offer applies to Chinese, Spanish as well as Faroese translations. If you would like to take this offer and receive a free license of LiveCart in return of a translation into your language, please send us an e-mail to info@livecart.com.

Update: how to prepare the translations

Since we already have some translators on board, it’s time for more detailed instructions on how to carry out the translation.

  1. Download and install LiveCart trial version
  2. In your LiveCart installation, add the language you’re going to translate
  3. Enable modification of back-end language files from the Settings -> Configuration area
  4. Complete the translation of language files. You can skip the files inside the /backend/Settings directory.
  5. Review the translation by going over the front-end and back-end pages, to make sure that translations match the actual context. You can make changes to translations directly from the pages using the Live Translation tool (front-end only).
  6. Click Export language files to download a zip file with prepared language file translations
  7. Also translate the e-mail templates
  8. The translated e-mail template files will be located in the /storage/customize/view/email/lang directory. Please put these files in another archive file.
  9. E-mail us both archive files (language translations and e-mail templates). We will send you your LiveCart license information as soon as we have received and reviewed the translations.

LiveCart: Introduction

May 17th, 2007

LiveCart is a new PHP/MySQL powered shopping cart software developed by Integry Systems.

So, yet another shopping cart program, one might say. There are hundreds of shopping cart solutions out there, why would we need another one?

Our answer to this is rather typical as well. We saw that most of the current solutions lack something - that something being flexibility among other things. This flexibility word has a rather broad meaning and we have attempted to solve the problem in all its broadness - and have succeeded at it at large extent.

So what are the main differences between LiveCart and other shopping carts?

Product specification data flexibility

Most of the existing shopping cart programs allow defining custom fields for storing detailed product specification data. For books you might want to list author, ISBN code, number of pages and cover type (and others). However for mobile phones the specification data structure would be entirely different - network types, features, ringtones, etc. What happens if you want to sell both books and mobile phones? Most carts do not have an answer to that - you can only define one set of specification. In other words, the custom fields are global and are the same for all the products in your store regardless of their type.

Product specification Now, at first sight this looks fine if you’re selling only one type of products. However if you’re expanding your store and you want to start selling other products, there would be a problem. Of course, you could add more global fields, which would at least allow you to enter product data. But huge product data entry forms containing lots of useless fields are never convenient. And, as you’ll see further, it’s not only about data entry convenience.

LiveCart allows you to enforce strict product specification models - so you couldn’t enter an ISBN code for mobile phone even by accident as this field simply wouldn’t be available. Strict doesn’t mean that the product specifications are unchangeable. In fact, they are very flexible when needed. You can add, modify or remove product attributes (parameters) from specification any time.

Product specifications are based on categories. Each category has it’s own set of product attributes. LiveCart even supports specification inheritance. That is, you can define a set of common product attributes to a higher level categories and extend the specification by setting different attributes to subcategories.

Examples:

Makes it easier for customer to locate products

Filters Most of the existing shopping cart solutions offer only two ways for customers to drill down the product database - browsing through categories and using free search. LiveCart introduces the third solution - filtering the product list by product attributes.

Filtering is a very powerful feature that makes direct use of the product specifications. For example, you can make it easy for the customer to filter the list of mobile phones to only display phones that are made by Nokia, weigh less than 90 grams and support EDGE and Bluetooth. Each specification (product type) may define its own set of product filters. In addition, LiveCart also allows allows filtering products by manufacturer or by price range.

This is a very nice and flexible alternative to huge category structures. While LiveCart doesn’t prohibit from creating a complex category structure, we suggest to keep things simple and create categories only for the basic product types - and use product filters instead of deep subcategory structures.

Other filtering examples:

Opens the door to international markets

As strange as it may sound, in this era of continuous globalization of e-commerce, the local presence becomes more and more important. While it’s not always possible to be near your customer physically, the first logical step would be to speak the customers language. In LiveCart, everything is translatable. Product data, attributes, categories, filters, everything. This is an essential feature if you’re looking to succeed in different country markets.

Filters

Filters

Filters

The second step is to allow the customer to view prices and make payments in his/her home currency.

For most people it is not very convenient to shop when the prices are listed in a foreign currency. LiveCart allows to display product prices in more than one currency. There are two ways how the prices can be converted - you can enter prices for each currency manually or let LiveCart calculate the prices automatically using the specified currency rates.

Intuitive and easy to use administration panel

We have spent a very significant part of our development effort to make the administration backend area work as smoothly as possible. If we wanted to go the buzzword route, we’d call it “the first AJAX-enabled Web 2.0 shopping cart software backend” :) AJAX is used quite heavily in the backend area - not only to improve the user (your) experience in its broad sense, but to actually make tasks easier by allowing completing them faster. The pages are only reloaded when you switch between distinct backend areas - for example from product management area to language management.

Manage products with LiveCart

Mass product management in LiveCart backend

When you need to reorder anything, just drag the item to the new place and drop it there.

Reorder product attributes

Reorder product specification attributes

There’s no need to wait for the whole page to reload if you need to modify some minor details - the data modification form will be opened and saved without page reload, which greatly speeds up the work.

Edit product details

Edit product details

Please note that we’re not using any AJAX and almost no JavaScript in the frontend (the actual store your visitors will visit), to achieve maximum browser compatibility and insure that search engines can crawl your store pages properly.

Easy to extend and customize

LiveCart has been built to be easy to customize. This is not just marketing talk. Here’s why.

LiveCart provides standard interfaces for extending its functionality via plug-ins. The standard types of plug-ins are new payment processors, real-time shipping rate calculators and others.

LiveCart code follows the Model-View-Controller (MVC) architecture. It means that all the parts are clearly separated by responsibility. To change a template you won’t need to change the program code. In fact, you probably won’t even have to change the template code either, as most of the design changes can be accomplished by modifying the CSS style sheet file.

It’s a very common situation that the shopping cart software needs to be altered to match specific requirements. It is easy to set up the store and do design changes without touching the program code, but sometimes it is necessary to go deeper and change/extend some parts of the software to make the software work exactly the way it is required. In such case the clearly separated responsibilities will make it easier to find the code that needs to be modified. It won’t always be necessary to change the controller or model code to add your own functionality - LiveCart also provides standard interfaces for integrating your own extensions without a need to modify the underlying code, which makes the extensions easily replicable without worries about version incompatibilities, as well as installing updates wouldn’t overwrite your own extensions.