dimanche 8 mars 2015

Audacious project is born

Hi everybody,
This blog will be written english because it is intended to a larger audiance.
Please excuse the mistyping and error, english is not my mother tongue.

Clever view... nice music
Every important act/decision should be taken with calm and with a clear view of paths and ways to follow.
For the first time, I will propose you to read this article in music... let's discover Sungha Jung.



Missing open-source software
When starting the activities of MCHobby (see shop.mchobby.be) we decided to work open-source/open-hardware material and to only use open-source software to run the company.
We are open-source addicted!

We noticed 2 importants leaks in our needs for small to medium company :
  1. There is no commercial management software for small company's activities
  2. There is no accounting software to our local Belgian regulation (Audacious will not handle this now)
Yes, there is some massive option like "OpenErp" renamed Odoo but can you figure out the energy to inject in such "software" when starting a commercial company with one or two person. As we said in french, it is an "artillery cannon" to kill a fly!
Do you have such kind of energy to inject before starting your sales ( inventory management, orders, invoicing, commercial offer, etc) ?

In France, a nice project already exists... it's name is Laurux however, it already integrate accounting in its core (French accounting has its how regulation which are very different from Belgian Accounting Regulation).

Their should exists an open-source software:
  1. That is simple to start with.
  2. Well documented for users and that should be efficient but simple enough to be handled and understanded by only one person (you!, the initial boss of your company).
  3. Which is fully open-sourced... any developer should be able to dig into the source code and adapt or extend the software to it's needs. Developer documentation should exists!
  4. Which should be robust and bulletproof and build from a robust experience
  5. Should be suitable for small company (one person) to medium size company (10 persons).
  6. Build with simple principle... things that everybody should be able to understand. Keep It Simple Stupid!
    No need for software that is supposed to be clever than you!
  7. Should allow you to do the best OR the worste BUT YOU CAN DO!
  8. Should be able to control it only with the keyboard!
    You'd like the mouse? that's nice, but coding undred of orders without the need of the mouse is more than confortable and incredibly efficient (that's rock the life)
Stock... an existing software going to open-source rewrite
The software already exists. It's name is "stock" and he has 20 years old!
3 Years ago, I did contacted the initial developer wich provides us with the source code. This software was written in... Clipper.
It has been recompiler with Harbour Project  (open-source compiler) and we manage the it to support PostgreSql database.
The "Stock" software did knew many releases this last 3 years, and now it supports amazing features like "Catalog Photo Shooting + integration" within the system.

Scope of the software
Nowadays, this software is able to consistently handle the needs of a company having an annual turn-over from 2.000.000 Eur to 5.000.000 Eur, 15.000 articles references, 3.000 articles within paper catalogue, about +120.000 items in stock, from 50 to 60 orders a day (about 15.000 orders/year), +5000 shipping by year, etc. Company running from "single man" to 10 peoples.

Distributor centric vs E-commerce centric
There are still many mid-range distributors companies that doesn't need yet to evolve to Internet sales, electronic B2B and all those advanced business promises.
Inventory Centric (source: BestPractice.com)
Distributor activities doesn't relies upon "E-Commerce software" but on "operational management software", the root of the business is the inventory... E-Commerce may be an extension of your business. Keep in mind that E-Commerce activities are not exactly managed in the same way and with the same rules than distributor activities. The e-commerce customers and their expectation are not the same... and then the way you manage the overall process is different.
e-commerce centric : pick-up center where the staff runs
to prepare as many orders as possible. Source: TheNextWeb.com


Lot of nowadays software are e-commerce centric and not necessarily "adapted" to inventory centric business.
This usually results in:
  • Unefficient internal business process.
    If internal process must be changes or largely adapted to support the software... then the software choice is WORNG.
    Software is there to help your activity, activity which has been tuned to be efficient in working and satisfy the your customer. As a result, the software should meet your expectation... instead of asking you to modify your way of working to meet the software expectation.
  • Unefficient order handling (many of the orders comes by e-mail and phone, someone have to encode it)
  • Waste of time - waiting for the software or using the mouse is a waste of time. Background worker only need a keyboard and KISS (keep It Simple Stupid) software.
There are place where customer support/servicing is more important than E-Commerce sales/internet based relation-ship... etc. 
The software is there to help you to be productive and the best is to help you with simple but robust principles.

What are the features of existing STOCK software:
  • Product management (with PAMP, Margin, inventory, catalog information and product picture shoot, sales stats, stock variation, product familly, inventory localisation, ean generation for internal purpose, etc) 
  • Customer management (also supporting headquater, sales statistics)
  • Supplier Management
  • Supply order management
  • Sales order management (Back Order, customer, headquater and third party invoicing, send notes with integrated barcode and sorten by  article localisation in the warehouse, inventory localisation, back-order identification)
  • Discount/rebate configuration and calculation based on product line (familly of product), customer, product,
  • Product offer management
  • Stock level follow-up (inventory, minimal quantity, alert quantity, ... box quantity content, recommanded MOQ, etc).
  • Invoicing module (with integrated barcode and storage of payment due date)
  • Shipping management (identification of preparation and shipping, with simple barcode driven software)
  • Inventory and article localisation software.
  • Excel export
  • PDF Catalog compilation (chapters, product grouping in chapters, support for supporting several tabular layouts, customization within excel file, generation of PDF file via Publisher Merge operation)
  • Archiving of Send notes, invoices and pictures (within the file-system... simple but incredibly efficient)
  • Many reporting...
This software does have some leaks that Audacious will address:
  • Access security to various modules and data.
    We will follow the principles used for Linux Operating System, those principles works for the OS... so this should also works for software!
  • Configurable parameters likes Shipping Method, shipping cost, ... 
  • Support for many packing of a product (at the piece with EAN, in box with quantity and different ean, ... ).
Inventory Centric
Audacious will not be a Swiss Knife software attempting to do everything (but not necessarily doing it well).
Audacious will be an inventory centric software. Maybe doing less things but doing it well as it rocks nowadays.

Royality free - Licence avoidance
The aim of the Audacious project is provide an open-source solution where it would be possible to work without Licence Fee if you want to.

Most companies are using Windows, so Audacious will work on Windows and support Excel for export (PDF catalog generation would certainly be reworked).
With this approach, software licencing cannot be avoided but Audacious himself will be royality free.

But I'm also targeting Linux environnment (ex: Linux Mint or Ubuntu) and smaller computer systems like Raspberry-Pi (for the software, not the database) or more powerfull embedded computer boxes.

Supported Material
Based on the experience of the current running software, we will used affordable, robust et easily accessible products. It is always possible to find cheaper products but this as also a cost to manage compatibility issue or defectuosity....
I would recommand standard and approuved equipement:
  • Computer: most of current computer should work. Windows or Debian dérivated (Linux Mint or Ubuntu).
    The computer must be able to run the Database Serveur Software if not installed on separate server.
  • 17 Inch screen with 1024 * 768 minimal résolution.
    15 inch screens are less and less used, most of nowadays screen goes from 19 to 23 inch with 1920 x 1080 résolution.
  • Hewlett Packard Network Printer with PCL 5 langage support.
    The HP3015 is a wonderful Network Printer.
  • Zebra LP 2824 Plus (USB) and Zebra GK420t (USB) label printer supporting ZPL langage.
    Using ZSelect 2000d thermal labels allows you to gain a lot of labelling time. 
    Zebra are wonderful, professional and super efficient printer.
    The price (about 200 to 300 Eur) was an issue compared to other cheaper models (50 Eur). But once you have tested a Zebra you don't want anymore something else :-) 
  • Datalogic QuickScan Mobile (optional)
    Wired via USB, this HID peripherals act as a keyboard and sends EAN to your application.
    This material works pretty fine and is very stable!
All of that would be enough to run a inventory centric company from 1 to 10 persons (you just need to have several computer, when using more than 5 user on the database, I would recommand to use a dedicated server for the database server and file storage.

Not so bad, isn't it?

Software components and development
Until here, I did speak of the software expectation but how we it be developped?

There is no need of complex environnement to create great software.
Here what will be the core of developments:
  • Python 3 - Programming language
    This language is very popular, performant and verstatile. It is build with simple concept and allows you to create really complex feature. It starts within the second and have a very high learning curve.
    Python did become really popular since Raspberry-Pi did choose it as main learning language.
    Google use this langage for its core processing... so it will also be good for Audacious Project.
    Python 3 is also Pure Unicode and you do not need a development environment to work with (a simple text editor would do the job!).
  • TkInter - Graphical interface
    Python includes a standard graphical interface named TkInter.
    Even if it isn't the most beautifull, you will be able to create advanced interface and additional graphical components.
    See Python and Tkinter book from John E Grayson at Manning edition.
  • Psyco2PG - Python library to deal with PostgreSql database
    This library supporting Python 3 (in unicode) would allow you to deal with the Powerfull PostgreSql database.
  • PostgreSql - database engine
    PostgresSql is one of the most powerful robust and flexible open-source database server.
    We are currently using it since 2 years with our old software and that rocks. So, when considering a new entreprise software, the best would be to use a robust database engine... PostgresSql is the best suited in this case.
    It can be run on one of the computer or a server. Rocks on Windows as on Linux.
Why "Audacious"?
  • Rewrite a company software from scratch,
  • Writing it in Python,
  • Making it open-source and freely accessible (the GNU GPL license foreseen),
  • Making it accessible for developer (published on GitHub),
  • Providing developper and database documentation,
  • Giving you all the access on your data and the code,
  • Making it reliable and oriented toward the final user (those who encode the things),
  • Thinking efficient (keyboard usage) before shiny & dazzling (lustrated interface and mouse usage),
  • Providing user documentation and good practice.
  • Being able to support a Inventory Centric Business for FREE,
  • Supporting the functionalities roughly described here before, 
Isn't it audacious?

Authorization
Hereby, I would like to render thanks to Mister JM Surinx (Belgium) which is the developer of original Stock software written in Clipper.
Mister Surinx did authorize the reuse of Stock software knowledge to spin-off the Audacious project.

Aucun commentaire:

Enregistrer un commentaire