Thursday, 13 February 2014

Progress Report #1

From the 3rd Feruary 2014, I became  a free-lance software developer, by means of redundancy (you can read more about that here).  I set myself a task and since then have been nose to the grind-stone towards it's completion.
So I'm a week and a half in.. what have I achieved so far?

Speed Bumps
The biggest hit to productivity so far has been the getting my Ubuntu environment to behave like it would do (or a close analogue ) to windows.
This is largest hurdle that I see to mainstream *nix adoption - for all the cries of better, faster, and more reliable, if you can't do in linux the same stuff you can do in windows and as easily it just isn't going to happen; the majority of home users just want to click-and-go.  This issue of easy adoption is why we're all trying to build software that is "highly usable"; we can't expect business users to instantly morph into Uber Power Users of our software (or enjoy using it) if we place hurdles and abstractions of clarity in their way.
As an example, Netbeans Git implementation currently leaves something to be desired - I keep finding myself either comitting to the wrong repository, or netbeans decides to re-create the right repository, but in a location of it's chosing, rather than where I had configured it.  Despite the desire for the convenience of of a UI, I will have to revert to to command line usage, which is what a lot of people say to do.

The command line is not "highly usable"
Most GUI implementations for productivity (using database IDE tools as an example) are  efforts of groups of people who may or may not have time / inclination to fix "that bastard bug that isn't a blocker but someone should really um, well, possibly later...".  It's not a flaw of the open-source model as such; people are not going to be doing crunches to get software out because that is what you are not buying into. It is, however another hurdle that new users have to learn to deal with - make do with what you can find, write your own or kick up a terminal window.

From a relative noob perspective (ie common Windows User), Linux is instantly / highly usable if you do nothing to it, or you only want to use versions of applications that are offered to you on platter via your preferred distributions software delivery tool (which are possibly 2 or 3 revisions behind the current, maybe more stable version).

So, the progress...
That all said.. what have I got to say for myself, so far on the progress front?
  • Fully operational dev environment (not quite a Death Star, but working on it)
  • Confirmed tool-set
    • Trello (task management) - sorry to say "no" this time round to Zoho as not enough basic elements in free version
    • Lucid Chart (ERDs, mind-maps, Use cases, process flows)
    • Git-hub (source version control and bug tracking)
    • Java FX using Netbeans 8 (beta) and Scene Builder 2 for
      • Java IDE
      • DB management
      • UI layout / design
  • First milestone defined
  • ERD completed and implimented
  • Usage diagram and functional designs for first 2 core features
  • 4 screens
  • 22 classes
  • 1800 lines of code (according to SLOCCount)

 "After a nation-wide search, I can confirm my mojo has been returned, unharmed."

The project continues.