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
Tuesday, 22 July 2008
ArtenSUITE: Part 1: Introduction
New Free Download @ Arten Science: ArtenKRYPT
I’ve uploaded a small application to the Free Software section of my website.
ArtenKRYPT is an application that allows you to Decrypt messages that have been encoded using a secret key that you have shared with one or more individuals. You can also Encrypt a message from within ArtenKRYPT.
It is extremely simple to use and very secure. When you have encrypted your message just paste the encrypted message into an email program and send. To decrypt a message just paste in the encrypted message, enter the secret key and press ‘Decrypt’.
To install, just expand the zip file and drag the file onto your hard drive.
Note: A 16 Character secret key is recommended for maximum security.
Note 2: The .NET Framework Version 2 must be installed for ArtenKrypt to execute.
"You have got to discover you, what you do, and trust it." - Barbra Streisand
Monday, 21 July 2008
New Free Download at Arten Science: BigTime
I’ve uploaded a small application to the Free Software section of my website. BigTime displays a large digital clock on your screen. That’s it. BigTime will remember it’s screen location the next time it is opened. It is available for Windows, Mac OSX and Linux. Enjoy :-)
"There are two kinds of men who never amount to much: those who cannot do what they are told and those who can do nothing else." - Cyrus H Curtis
Saturday, 19 July 2008
More Oracle and REALBasic using MBS and Java
I have managed to get REALbasic talking to Oracle via the Java classes enabled by the MBS Java Plug In.
It was quite straightforward in the end, the code is shown below:
'Requires the Oracle Java Driver Resident in the Program Directory
'(ojdbc14.jar)
'Requires the MBS REALbasic Java Plugin.rbx to be in the Plugins Directory
'Requires the MBS REALbasic Main Plugin.rbx to be in the Plugins Directory
'This Function Should be Called as Follows:
'mCodeBaseDB.OpenOracleDatabase("jdbc:oracle:thin:@//HostIPAddress:PortNumber/ORACLESID","username","password")
dim j as JavaDatabaseMBS
dim r as JavaRecordSetMBS
dim f as FolderItem
f=GetFolderItem("ojdbc14.jar")
j=new JavaDatabaseMBS(f,"oracle.jdbc.driver.OracleDriver")
j.Host=strHostName
j.UserName = strUserName
j.Password = strPassWord
if j.Connect then
mCodebaseStd.DisplayInformationMessage("Successfully Connected to Oracle ...")
else
mCodebaseStd.DisplayStopMessage("Could Not Connect to Oracle ..."+EndOfLine+"Error Message: "+j.ErrorString+EndOfLine+"Error Code: "+str(j.Errorcode))
end if
The Oracle Java driver can be found in the /jdbc/lib directory of your ORACLE installation. This can be copied, and I have put it in the client application directory. The MBS Plugins need to be inside the Plugins directory of your REALbasic installation. The comments at the top of the method show how this method should be called to get a successful connection to Oracle, three parameters are needed, ORACLESID, UserName and Password.
The methods referred to when j.Connect is called are my own custom methods for displaying dialogs to the screen. They can be replaced by standard MsgBox calls.
My next challenge is seeing how powerful and reliable it is to access Oracle from REALbasic using these classes and Plug Ins :-)
"If you limit your choices only to what seems possible or reasonable, you disconnect yourself from what you truly want, and all that is left is a compromise." - Robert Fritz
www.artenscience.co.uk
Honest Expert Independent Technology Advice for Business
Oracle / REALBasic / Java Classes Etc.
I’ve been looking into the best database to use for a commercial product that I’m planning. As it stands I’ve settled on Oracle. My reasons are as follow:
I know how to use Oracle (a *good* starting point !).
The XE Edition is limited, but free and makes a good starter database for smaller systems.
Development against XE works identically against the bigger versions if an upgrade becomes necessary later.
Oracle is stable and extremely reliable.
Oracle can be installed on multiple Operating Systems.
The next choice is what to use to develop the front end software. I am very keen on writing software that works on multiple platforms, Windows and Mac OSX primarily, although I do support Linux wherever possible.
For the kind of software I want to write I don’t want it to be browser based. I know it’s the ‘in thing’ but still the *vast majority* of software is written for the desktop and I much prefer desktop based software myself. I don’t see it going away any time soon.
For cross platform based development there are a few choices, however by far the easiest and most straightforward is REALbasic from REAL Software. It has it’s limitations, but in it’s favour I can develop on the Mac and deploy to both Windows and Linux. In addition there is none of the extra hassle of needing the .NET Framework installed on Windows. One company, MonkeyBread Software from Germany seem to have built their business on providing ‘Plug Ins’ for REALbasic to enhance the capabilities of the development environment. It was to them I had to turn for a solution to connecting to Oracle from REALbasic.
REALBasic comes with an Oracle Plug In, however due to Oracle taking around 2 years to provide an Intel based driver for the Mac, the standard REALbasic Plug In does not now work (at least on Mac OSX). I’m sure they will remedy this at some point. In the meantime I have downloaded and been playing with the MonkeyBread Software ‘Java Plug In’. This allows the Java driver and Java classes to used from within REALbasic to access databases that cannot be connected to from REALbasic.
If all works as expected I will be sending MonkeyBread my credit card number for the 40 Euros or so they charge for the Plug In :-)
"We are all here for a spell; get all the good laughs you can." - Will Rogers
Friday, 18 July 2008
30 Day Challenge is Stupid - NOT !
Ian Landsman wrote a post on how he thinks the ‘30 Day Challenge’ is a stupid idea. I follow Ian’s blog and I respect his opinion but I think he missed the point on this one. It provoked a few responses, my own response is shown below:
I think 30 days is plenty of time to do plenty of things :-) Nobody expects that the 30 days is the end of the work, it's really the beginning of making a *product* but it can be plenty of time to create a *program*. It depends on what the program needs to do - customers want a solution and as long as your product provides enough of a solution for the money you are asking then it doesn't matter if it took 3 days, 30 days or 3 years.
When creating bespoke software solutions 30 days is a *big* job (for me anyway) and would be extremely expensive for the customer. Programs taking 1-2 weeks are more the norm for me. I admit this is vastly different to creating a *product* but the coding element is similar. I think thats what the 30 Day thing was about - the coding.
Besides, it was a fun exercise and well worth doing :-(
Wednesday, 16 July 2008
GENeSYS Documents
Since I merged GENeSYS Solutions with Arten Science I have had several emails asking me how to get hold of a couple of documents that used to be hosted on GENeSYS Solutions. I assume somebody had linked to the old address somewhere. The documents can now be found at the following links:
Oracle 10g Database Admin 1 Exam Cram / Study Guide
and
Securing the Network, for the Non Technical
"I live now on borrowed time, waiting in the anteroom for the summons that will inevitably come. And then - I go on to the next thing, whatever it is. One doesn't luckily have to bother about that." - Agatha Christie
Friday, 4 July 2008
Online Store :-)
It’s took a little more than 30 days but my product is now available to buy from my online store. It can be accessed from my purchasing page. I’ve gone with Kagi for the store after doing a fair bit of research on the web. The fees are quite high though hence I offer a discount to customers who pay by UK Cheque or Bank Transfer. There is also a US$15 fee for wiring over the money each month.
It’s time to wind down a bit now. I’ve just written a cross platform image viewer for one of my other products, ArtenScan, and once I’ve documented it, uploaded it, put screenshots on my site etc. etc. etc. that’s all I’m doing before I take a break for a week, doing a Mediterranean Cruise. When I get back it’s onto Marketing and SEO ...
In my absence I have somebody preparing and sending a mailshot so that when I get back I can chase up the letters via a phone call. How much fun is that :-(
Anyway - I hope everybody else is doing OK with their products - I’ll be following the feed on my iPhone while I’m away on so keep on blogging :-)
Tuesday, 1 July 2008
30 Day Sprint -1
I have added screenshots of my products on my website today, added a Customer Loyalty Program and made other assorted enhancements. Beyond that not a lot to report really, although I have just received an email from an ex-colleague who has been talking to someone who is apparently interested in ‘selling on’ my SMSRelay product.
He is suggesting that it may be better to offer the product with bundled texts and make money off the texts as well - it’s an idea I have played around with but am not particularly comfortable with at the moment - nevertheless we are going to setup a meeting and see if there is mutually beneficial business to be done :-)
I have a holiday coming up and two custom developments to code during July as well as marketing ... July could be busier than June !
End of Experiment
mmm. So that went down like a lead ballon ! A couple of comments on my blog entry and a dozen or so emails and unanimously - you all hated it.
So the ‘speech bubbles’ are gone and I’ve generally tidied up the home page and also adopted the ‘logo in the top left’ idea mentioned by Richie amongst others.
Thanks for all your feedback, it is *much* appreciated. The redesigned home page is up and I think it now looks much better :-)
www.artenscience.co.uk
I think the following quotation is appropriate, considering my recent experiment :-)
"One remembers horrors, I think, for the rest of one's life, but memories do not always remain so sharp, and with time, and new circumstance, do not affect us so powerfully." - Elizabeth Aston