Tuesday 22 July 2008

ArtenSUITE: Part 1: Introduction


ArtenSUITE
A Development Journal
Part 1: Introduction

Most of the work I do involves custom/bespoke software development with some database and consultancy work thrown in. I’m recently decided to also develop and sell commercial software via my website at www.artenscience.co.uk. I have a couple of applications available now, a third nearly complete and a dozen or so further ideas to look at when time allows.

Idea

One of the ideas I have is to build a suite of business products that run independently or together. The main application will contain the customers, prospects, suppliers and users schema and screens as well as the other bits that can be used by the other applications. This module will be needed, and supplied with the purchase of any of the other modules. The development name for this central application is ArtenBASE.

The other modules will be specific applications such as MRP, Stock Control, CRM, Orders, Charting, Helpdesk, Mailshot, Team Management, Time Tracking, Credit Management etc. Each module will be multi-company and where financial information is used, multi-currency with consolidation available at several levels.

I can also use ArtenBASE as a starting point for many of my custom developments with the advantage to me of development speed and proven reliability and the advantage to the customer of development speed and access to the other modules.

These will not be huge complicated applications. I will be focusing on providing easy to use and reliable software without too much complexity. I’m not trying to write SAP. An IT Department will not be needed to support my software. Each module will have a set of clearly defined interfaces so that additional functionality can be build separately, should it be needed. Should anybody else want to build software that interfaces to mine then the API will be made available.

Technology

I would like this application to run on both the Windows platforms and Mac OSX. I have therefore chosen REALbasic as my development environment. For my back end database I have chosen Oracle. Oracle XE is FOC and when/if the customer outgrows it’s (disk and Memory) limitations there is a seamless transition (for a fair exchange of money) to the higher end Oracle editions. I have many years experience of Oracle, having written a full Financial Accounting System / MRP System etc. in the past which was based on Oracle 8i. The newer versions of Oracle are so much better and I look forward to getting to know them better.

Reporting

Standard reports will be built into each individual module. The SQL used to generate the reports will be made available so that enhanced reports can be created using a standard SQL Query tool, or ArtenQUERY (available soon) can be used.

Data Access

I am tempted to use stored procedures for the majority of database access. The downside to this is that it will make the software more difficult to port to another database system in the future. I don’t expect to port it, but you never know ! I have yet to make my final decision on this.

Timescale

This development will be happening alongside my other work and personal commitments. I would therefore, tentatively, hope to have version 1.0 of ArtenBASE available within a few weeks and by Christmas I would like to have 2 or 3 more modules available.

Why Tell the World?

Why Not ? This blog will help me by providing a mechanism for me to monitor my progress and thoughts. I don’t imagine anybody is going to read this and suddenly decide to drop their own plans and try and emulate my ideas ! There are many good ideas but they are not profitable until executed. I intend to pursue this and develop a suite of products that can compete on their own merits. Besides, I don’t intend to tell *everything* :-)

I’m going to continue to blog about my experiences as I undertake this development. Hopefully someone will find it interesting and / or useful :-)

"You don't need to outdo the competition. It's expensive and defensive. Underdo your competition. We need more simplicity and clarity." - Jason Fried

2 comments:

Paul Lefebvre said...

Hi Steve,

Any thoughts on how you'll be calling Oracle stored procedures from within REALbasic? Does the MBS stuff have a way to do this?

-- Paul Lefebvre (www.RBDevZone.com)

Steve Cholerton said...

I'd normally call the stored procedure through the normal 'execute' procedure. the MBS Java class supports 'ExecuteSQL' so yes I don't see this as being a problem.

There is a wealth of classes available with the MBS plugin and on the Mac I am please with it so far, on Windows I am still struggling :-( Although I believe that is something stupid / simple.