Category ArchiveSoftware development
Habanero & Software development 31 Mar 2010 03:47 pm
Habanero 2.3.2 released
We’ve just recently released to the world version 2.3.2 of the Habanero Enterprise Application Framework. The download is available on the Habanero download page. This is the most stable version of the framework yet - the new version contains over 1000 new tests and has lots of bug fixes and enhancements over 2.3.1. Here is a description of some of the bigger ones:
- Added Support for MSAccess2007
- Dramatically improved the performance of loading collections.
- Added the IN operator to loading BusinessObjectCollections. This uses a very similar to notation to SQL where clauses. I will hopefully do a separate post on this on my Habanero blog
- Created a DataAccessorMultiSource, which can switch between DataAccessors based on the type loaded or saved.
Have a look at the change log page for a full list of the changes. We’re also busy restructuring the project and will soon be releasing a whole slew of related libraries which we’ve been developing the past few months. Stay tuned!
Software development 04 Sep 2009 12:40 pm
Checking Field Exists in VB6 RecordSet
If you try to access a record in an ADODB record set where the record does not exist, you’re likely to get an exception. The first question to ask of course is why you’re writing code for a field that might not exist, but certainly in my example, I was developing a class that was extensible and ready to be scaled depending on the requirements. To be more specific, it was populating the properties of a class once a record set had been filled by a fetch from the database. I had no guarantee that the SQL statement would meet specs, so I needed some error catching, just populating those properties that had corresponding record set fields.
Continue Reading »
Software development & Web 09 Jun 2009 10:20 am
The most useful keyboard shortcut you never used
Learning to use keyboard shortcuts is a double-edged sword. On one hand, you get fed up with how hard it is to pull off a task and you feel a certain sense of triumph when you find a shorter way of doing a repetitive task. On the other blade, becoming more efficient in what you do is part of the service to your employment contract. You’re getting paid to perform a quality service as quickly as you can.
So what then is “the most useful keyboard shortcut you never used”…
Continue Reading »
Habanero & Software development 15 May 2009 12:00 pm
Guji in Habanero Land #3: Using Use Cases to Drive Development
UI? BO? Huh? I think the other developers enjoy watching the colour drain from my face when I’m given a task, and pick my assignments accordingly. I’m just starting out in enterprise development; the only challenges I’ve tackled at university were algorithmic ones. So I approach each new task with terror rather than confidence.
Philosophy & Software development 05 Dec 2008 10:33 am
Will Lean Software Replace Open Source?
At a recent Spring developers conference in Hollywood, researcher John Rymer was, er, promoting Spring. He made some fairly bold comments, as he seems to do on a regular basis, and perhaps this is a worthy moment to give his opinions due attention (there’s a link to the press release at the bottom). His suggestion that open source would “move over” for lean software is a bold one, especially given that he was talking up open source only a year ago. A year is a long time in IT, but not that long!
Continue Reading »
Software development 03 Nov 2008 03:26 pm
A New Concept in Date Picking: the DateRangeComboBox
The version 2 release of Habanero included a number of innovations, from obvious trailblazers like developing one application for both desktop & web, and other more subtle features. For one, the DateRangeComboBox provides a handy little control to simplify date picking.
We’ve compiled a great introduction to the DateRangeComboBox on CodeProject. We think that the tool could be useful for a lot of developers and the article provides the source, as well as instructions for adapting the code for your own purposes. Check it out here.
While you’re there, also look at another of our CodeProject articles that is racking up the hits: Create One Application for Both Desktop & Web.
Software development 28 Oct 2008 05:12 pm
Ruby & Notepad: Back to the Bad Old Days
Imagine its 1938. You’re taking your girlfriend out to the cinema, where the film beams out in badly rendered black and white, with the sound squawking through sub-rate speakers. The acting is … dated, and the excitement is … sparse. Of course, you didn’t know better back then, but having watched Dark Knight in 2008, the whole trip down pre-technology alley is humorous. Then you decide to take your girlfriend out to see the latest installment of 007, and the only cinema available is the one they’ve kept going from 1938. Oh no!
That, my friends, was my experience this afternoon trying to create a Ruby script with Notepad (well, Crimson Editor to be exact). I can hear you saying: use an IDE! Very well, but when you haven’t needed to install an IDE, and you know it will take you an hour just to download, install, configure, learn, etc, then you think that the trouble is not worth it in the here and now. I was just going to write a quick script and everything would be dandy.
Continue Reading »
Software development 23 Oct 2008 11:23 am
Choosing the Right Date Format
mm/dd/yy, dd/mm/yyyy, dd mmmm yy, yyyy/dd/mm, yyyy mmmm dd… you don’t have to develop for very long to know that everyone has their preference, including the boss. In South Africa, however, we have a different kind of problem.
Over here we follow the British convention of day, month, year, contrary to the American model of month, day, year. (It reminds me of those whacky Aussies putting the wickets before the runs). Now here’s the challenge: when you install a new copy of Windows XP, if you don’t specify otherwise, you’ll get regional settings for America. So we ran into the surprise result that one of our customers used m/d/y - how is that possible? Do they have an American working there? My suspicion is that they never changed the regional settings on their PC and got used to doing it the *wrong* way round.
Continue Reading »
Habanero & Software development 18 Sep 2008 10:28 am
A Development Success Story with Habanero
It could be regarded as a nightmare scenario: fixed short-term deadline with a daily late-production penalty, new technologies, incomplete requirements. However, if you’re a hardcore developer, it’s the kind of oppportunity you couldn’t turn down, and we certainly didn’t.
Chillisoft took advantage of this unique web-based project by introducing the new Visual WebGUI technology from Gizmox and incorporating it into the well-established Habanero framework. The new addition took Habanero to new levels by allowing a developer to produce one application to run on either desktop or web, with little more than the change of a configuration.
Continue Reading »
Software development 11 Sep 2008 11:25 am
Is Resharper a Religion?
The congregation nods in approval, steeped in humble gratification that the almighty would bless them with its presence. One of the brethren stands up and testifies to the miracles endowed upon their lives, and the faithful hum their approval. A choir stands up in the vestry and eulogises with gratitude from page 3.0, while the brethren sway in appreciation.
At this sombre but sweet moment, we pay our respects to the apostles of development, the saviours of the fallen coders, the proclaimers of nirvana in a land bereft of “ease of use”. All hail Resharper, bow thy knee.
Continue Reading »
Software development & Web 03 Sep 2008 03:35 pm
Customers Want Pretty Applications
You could hardly describe the excitement we felt, walking into a client’s state-of-the-art building, ready to present what we knew to be state-of-the-art software. We had a winner! We had designed a web interface using the close equivalent of Windows Forms, which means you get much of the Forms functionality and you develop in half the time.
This was all possible of course with our dev version of Habanero 2 (soon to be launched), where you can create a user front end that can switch between Windows or web with a change of your control factory. It truly is revolutionary, and if you’re a web developer you’ll know.
Continue Reading »
Software development 20 Aug 2008 11:11 am
Streamlining Simple Business Applications with Habanero
Can you mix up a small business software application in a matter of weeks? If a small outlet at the mall needs an application to record their stock, list their customers and record their sales, with some additional customised behaviour not available in the off-the-shelf packages, would you be able to do it within a small shop’s budget?
The challenge with enterprise frameworks like Hibernate is that their big-thinking design becomes a challenge for the junior developer whose requirements are fairly simple. Even the .Net approach of data-binding requires some leg-work. In truth, there is a vast amount of repetition between business applications.
Continue Reading »
Software development 19 Aug 2008 07:36 pm
Refactoring Use Cases
One of the best features of modern IDE’s are the Refactorings. Visual Studio even has a few built in now, but if you want the really good ones you want to get a plugin like Resharper. I, and all developers here at Chillisoft, have been spoiled by this tool - we’ll refuse to ever go back to vanilla VS. Now when I work in Word or Excel I find myself wanting the same kinds of things for the task I’m doing.
Let’s say I’m doing a requirements document, which I have been doing a bit lately, creating use cases that are text descriptions of events and responses. I might write two use cases like this:
Use Case 1: Add a Drug
- The user selects the Data – Drug Maintenance menu option
- The system displays a list of all drugs. The fields shown are drug name, unit of issue and schedule
- The user clicks the add button
- The system pops up a form, allowing the user to capture the drug’s details. The available fields are drug name, unit of issue and schedule
- If the user clicks the save button the system saves the drug to the database and closes the popup form
- If the user clicks the cancel button the system closes the popup without doing anything
Use Case 2: Edit a Drug
- The user selects the Data – Drug Maintenance menu option
- The system displays a list of all drugs. The fields shown are drug name, unit of issue and schedule
- The user selects a drug by clicking on a specific row in the list
- The user clicks the edit button
- The system pops up a form, allowing the user to edit the drug’s details. The available fields are drug name, unit of issue and schedule
- If the user clicks the save button the system saves the drug to the database and closes the popup form
- If the user clicks the cancel button the system closes the popup without doing anything
Obviously I’ve repeated myself. Now this might not be how you personally write requirements, but having gone through TDD’s Red, Green, Refactor mill for a while now I think like that when doing these documents - get the Use Case done as it should be from start to finish, then look at what can be taken out as common. Refactor under a green bar, as such. So, after writing these, I really don’t like the repetition - what if we decided to change it from a popup to a sidebar on the same form? The DRY (Don’t Repeat Yourself) principle should apply to requirements too, shouldn’t it? This set of two use cases is actually going to reuse a ton of code in the end, so how do we actually estimate time for each one? Do we say the first will be 5 points (a point being a portion of time that is unknown, but fixed in length) and the second only 2 because of the reuse? What if we don’t pick up on the reuse between the cases (maybe they’re far apart in our document) - then our estimates are going to be at least a bit off.
Software development 21 Feb 2008 10:18 am
Should you rotate support staff?
Support can be a thorny issue. Some industry problems are inherently tricky to analyse and solve with a computer application. You sit down with a client and try to chisel up a set of requirements, but the list keeps growing with every meeting and new requirements pop up that shift the game plan. This is not necessarily the client’s fault, but rather that it can be a strange process to describe what you do without thinking and to remember exceptions to the rules. And of course, there are those businessmen that still believe in magic … that a software company can just walk in and develop an application from a requirements page that reads “1 of 1″ at the bottom.
Continue Reading »
Software development 21 Nov 2007 09:19 am
How Long Should a Software Trial Last?
While launching our new Habanero ORM framework, we’re having to answer this question: is 30 days enough to trial a piece of software?
Of course, circumstances dictate. Thirty days may not be enough to trial a Pastel accounting package because you don’t get to see a full month’s financial cycle in operation. Thirty days for a drawing or flash production package that doesn’t insert a watermark is plenty. Is thirty days enough to play with a software library, especially when the derived products will expire after that period anyway?
Any thoughts?
Software development 12 Nov 2007 10:24 am
Plug ‘n Play Development
Having recently developed and launched Habanero ORM, Chillisoft have found themselves walking into a growing phenomenon in development - something I might call “plug ‘n play”. Simply put, if I was trying to develop a solution several years ago, I’d have one of two paths really: find an existing application that vaguely matched the requirements or go the full distance and craft one of my own.
Continue Reading »
Humour & Software development 10 Oct 2007 01:21 am
My First Client Installation
Perched nonchalantly on my hard chair, I scribble occasionally while the university lecturer blabbers on about development methodologies. They’re all just words to me, waterfalls and spirals and … forests and glades and … oops. Concentrate! A few exams later and I had a scroll in my hand that qualified me as a programmer. Now for the real world.
Now most of what I learnt at university has been useful in some way, but the one module I somehow missed was “Client Installations 101F”. Well, it must have been there, surely, but I guess I was thinking of forests at the time.
Continue Reading »
Humour & Software development 07 Aug 2007 07:48 am
101 Ways To Know Your Software Project Is Doomed
This is a great list my brother sent me the other day. Obviously take it with a pinch of salt, although a lot of the observations ring true.
http://www.codesqueeze.com/101-ways-to-know-your-software-project-is-doomed/
“You start considering a new job so you don’t have to maintain the application you are building”. I liked this one, I think it’s true of a lot of us developers.
“The client will only talk about the requirements after they receive a fixed estimation”. This one happens from time to time in our fixed price projects.
“Developers use the excuse of ’self documenting code’ for no comment”.
But my code is self-documenting!
Philosophy & Software development 31 Jul 2007 06:11 am
Idealism in software development: where should it be aimed?
There was a time when I was very idealistic when it came to the IT world. In fact, I still am, but it’s been tempered by experience, circumstance and necessity into another form of idealism. I’ve always supported the Open Source movement, and use a lot of the projects that are hosted on SourceForge or Tigris. But I’ve come to realise that when doing custom development the person or company using the system you’re developing is not really worried about philosophical issues, they’re more worried about whether the system achieves its objectives. The fact that I’m developing the software on a Microsoft platform or using open source products like Ruby doesn’t usually factor into their thinking - usually they’re completely unaware and unconcerned.
Continue Reading »
