Feature Freeze


Right, I have to be strict now and ban the inclusion of any new feature ideas before v1.0 is released, no matter how cool or vital they seem.

The remaining features that will make it into the application are as follows, and no more will be allowed:

  • Finish off grouped spatial resize
  • Implement right-click menu for line point nodes
  • Drawn lines must obey “snapTo” angle
  • Implement new version of top toolbar
  • Implement drawing of primitives (rectangle and circle)
  • Implement improved undo/redo/load/save, which takes into account selected states
    • And make sure undo takes into account changing colours, line types etc.
  • Implement import/export template sets

That’s about it for new features. I will consign scaled view and altered diagram location to the next version, along with a few other cool items.

Of course, I still have a ton of bug fixes, tweaks and alterations to do, but essentially I have closed the door to new stuff. Gonna get what is already there completed and polished up. Got to release this soon!




Grouped Spatial Resize


I’ve completed a ton of work since I last posted on here, including:

  • Implemented node icons
  • Implemented templates
  • Implemented undo/redo
  • Implemented line selection/alteration
  • Implemented “percentage nodes”
  • Fixed a ton of bugs

And, even though I still need to bite the bullet and switch all location data over to DoublePoints, my next big focus will be on the grouped re-scaling (spatially) of selected nodes.

It’s a simple enough prospect: When you select a group of nodes (ie. 3 or more), we designate a box around those nodes and provide a resize node that can be dragged in order to stretch or compress the spatial relationships between the nodes.

Already got it planned out.

I shall implement this, then the template thumbnail improvements, and then I will get this horrible DoublePoints task out of the way. Wish me luck.





Amongst my current tasks, I’m in the middle of implementing icons in nodes. I’ve already got a basic menu system going, but this needs a little rewrite – and to be made dynamic.

Going well though. I anticipate that it won’t be long before it’s all looking spiffing 🙂

To summarise what I’m currently committed to:

  • Node icons
    • Menu system, file system, rendering
  • Templates
    • Menu system, file system, right click menu, padding and bugs
  • Implement node locations as DoublePoint
  • Undo/redo improvements

Got a load of other things that need doing too, but I’m not too worried. The overall quality is coming on in leaps and bounds daily. The template system is already superb, the group rotation is fantastic, and the basic undo that’s already in place is decent too.




Templates, Snap Distances and Node Icons

Got some decent stuff to implement this week, continuing on from the really good stuff I did last week (including initial implementation of templates, locked nodes, the undo function, line drawing, etc.), so my immediate task list looks a little something like:

  • Implement the thumbnail images for template panels
  • Make TemplateSet, and make it saveable
  • Make template panels intelligently scrollable with mouse wheel
  • Improve rollover and right click menu for template panels
  • Implement snapTo distance, without snapAngleOn
  • Implement nodeIcons
    • All new icons loaded into set folder
    • When loading icon actually into node, consult hashmap first
      • If not in hashmap, load from folder, etc.
  • Render selected node count on screen
  • Render current group rotation angle on screen

I also need to fix a few bugs with “snapTo” when dragging grouped nodes etc., but essentially this is a bit of a creative week.

That should cover it for a few days. It’s getting good now though! Soon be finished! 🙂



The Final Push


Right, so, true to form the final coding requirements have expanded somewhat in the last week or so, but this still definitely constitutes the final push for getting DiagramBuilder v1.0 out the door.

The updated list of remaining tasks looks something like this:

  • Implement “snapTo” for group rotation
    • Which I implemented ahead of schedule, by the way…
  • Make sure any relevant sub-diagrams also rotate
  • Make axisPoint larger
  • Implement position locking for nodes
  • Fix issues around pasting nodes that have sub-diagrams
  • Fix flow from circle to square
  • Make all message dialogs PLAIN (get rid of that Java logo, especially on a Mac)
  • Implement progress label in UI
  • Implement help
  • Implement undo
  • Don’t save confirm dialog when “save” current existing file
  • Implement node icons
  • Implement template bar
    • Where you can drag and drop groups of nodes to/from
    • When you drop INTO template bar, it makes quick miniaturised version of grouped nodes as label

That’s about it, codewise.

Obviously, I still need to make some changes to the PHP code and whatnot, but that’s essentially separate from the application.

Looking at that, I would say mid-April is a realistic release date.



Brief Recap

So, I’ve listed the remaining “big tasks” in getting DiagramBuilder out the door, and they are as follows:

  • Code complete v1.0
  • Windows/Mac/Linux installers
  • Proguard builds
  • PayPal integration
  • Setup licensing server

When you look at it like that, it doesn’t seem so bad at all. Of course, promotion and all that nonsense will be a job in itself (including updating the zm website with decent content), but let’s hit that release milestone first eh!

The remaining code tasks can be broken down as follows, and I hope to get a good chunk of them clobbered tonight:

  • Do review of menu system
  • Implement improved rollOver notes (like in TheEquator)
  • Render selected nodes with white border
  • Copy and paste of node selections should also paste links correctly
  • Ctrl-C and Ctrl-V need to be manually implemented for text fields in dialogs
  • For crossed lines, do NOT render highlighting
    • Including any further child nodes that may actually have valid link lines
  • Code tidy up

And that’s me.



Fully Licensed (Sort Of)


Hello all, Happy New Year etc. and all that jazz.

Quick update on what’s been going on: I’ve finally managed to implement (v1.0 of) fully encrypted licensing, so that interception of any data passing between Java and PHP should prove fruitless to any potential attacker. A lot remains to be tidied up etc. but the concept has been proven and largely applied.

I have this, and some minor bugs with DiagramBuilder, left to solve before I look to make my first “proper” Java application release (hopefully before the end of Jan), but even this release won’t be a “paid” application until I can resolve some PayPal issues. Until then, I will be releasing it on a free license – which will be good just to test the licensing system anyway.

Before that can happen, of course, I still need to get some ProGuard builds working with Maven – and I need to produce automated installers for Windows, Linux and Mac – but I’m definitely close to the first big milestone.

Following on shortly after will be the re-release of the much-improved TheEquator, and then I’ll be breathing new life into MakingTracksGPS.

After that, it’s time to return to “the big one”, and get this fucking flagship app out the door!

I hope 2015 can be a pretty big year for me 🙂