Day 30 - Website And The Official End - Beginning?

30 06 2008

Spent the whole day today working up the website.  Lots of work to do yet, but it’s getting there now.

In a sense this is a kind of respite as the old noggin is tired out.  Tomorrow I’m taking the whole day off and Saturday is also a day off as on our Senators are retiring and my wife and I will be having dinner them.

OK.  Here’s the plan.

This week will be spent getting the website done, uploaded, tested and checked.  Incorporating java script etc for some of the functionality and doing those kind of things.  To some extent setting the ground work for getting serious with Google. 

As this is only partly a B2C product it will not be enough to rely solely on SEO however and I will need to begin planning those other marketing strategies - which I actually enjoy doing.

OK.  What I’m going to be doing basically is continuing to blog on now at each stage, pretty much as I have been during the 30 Days.  In fact I’ll continue to post the Day number in the subject of each post in an effort to assist reading later.

So, I’ve got some reading to do tonight relevant to marketing and so for this, the technically last “official” day of the 30, but the beginning of what will be many more I’d like to take a quick moment to thank all of the participants in the 30 Days and look forward to following their progress in the days to come.

They are, in no particular order:

 

With thanks to Mike Wilson for compiling and publishing this list on his site in the first place!

Mike Wilson - Software Monitor:
http://blog.evolvedsoftwarestudios.com/

Steve Chorlerton SMSRelay -
http://tektalkin.blogspot.com/feeds/posts/default/-/stevechol%20SMSRelay

Sohail Somani -
http://uint32t.blogspot.com/feeds/posts/default/-/30day

Tarek Demiati - Master Time Tracker: 
http://mentalprocreation.wordpress.com/

Steve McLeod - Poker Sidekick:
http://keepsoftwaresimple.blogspot.com/

Susan Pichotta - Alta Web Works: 
http://altawebworks.com/blog/

Benji Smith - Stock Market Analytics:
http://benjismith.net/

Patrick McKenzie - Firefox Widget Creator:
http://kalzumeus.com/2008/06/01/day-1/

Steve Bushman -
http://themisvcrisis.wordpress.com/category/30day/

Bracken Mosbacker & Ben Jenkins’ Tower Prints:
http://towerprints.com/blog/

Sherrie: 
http://ldow.blogspot.com/2008/05/getting-ready-to-get-started.html

Runimal Website (Ruby on Rails): Goal Setting:
http://runimal.wordpress.com/2008/05/28/runimalcom/

Philip Flores - misvCRM:
http://www.misvcrm/blog/

Richie Hindle- ClickStop:
http://entrian.com/blog/

Simon Shutter - Schemax Calendar:
http://blog.schemax.com/category/30days

Colin M - Music Tools:
http://www.fret1.com/

Rafael Chaves - TextUML Toolkit:
http://abstratt.com/blog

Scott Kane - MixAction -
http://www.davidscottkane.com  (note, you are here already)

 PLUS…

Thanks to the thousands of new visitors who have come by this blog this month, and the many more repeat visitors I’d like to thank you too, reading my weblogs and seeing your presence has been an inspiration to keep going for the 30 Days and now beyond.

Cheers!

Scott Kane

Quote of the day:
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. - Rick Cook

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 29: 30 Days And A Sunset? Decisions…

29 06 2008

It’s Sunday, again, the fourth and final one in June and of course of the entire 30 Day exercise we’ve been pursuing this month.

I must admit I’m feeling very mixed today.  I’m pretty much tired out presently and while it’s only 8:47 PM as I sit down to write this I don’t think I can do any more work today.

It’s the evening, here, before the final day.  The “Sunset” in a sense.

Krakatau1

I’ve had some time to think as I worked today.  Basically I spent the day creating templates for MixAction’s users to select from a dialog.  Worthwhile as it gave me a chance to work over and over again with creating projects.  So it was certainly time well spent and of course the bonus is the application has templates for them to use as the basis of projects now.

I still have a bunch of stuff to do.  Still no installer done, web site not ready (though the template is I’ve not done any of the text etc) and I’m not satisfied with the reality that it’s not been tested enough.

I have one competitor in the same approximate “market” on Windows.  He went to Version 2.0 during the last few weeks.  His app’ doesn’t run on *any* of my systems.  I actually felt bad for him and a part of me wanted to let him know, but then I doubt he’d really want to hear from me. ;-)

But it got me to thinking.  There is no bloody way I’m going to make this mistake!

So….  An “executive decision” had to be made.  I figured I’d surpassed my own expectations of what could be achieved in 30 Days already.  This product is a foundation, a corner stone, for other products.  It needs to be solid.  So I’ve decided to delay releasing on July 1st and instead enter into a proper, structured Beta test period while I smooth over some wrinkles I’m only to aware of, though nobody else would know are there. 

This actually means no slacking of pace.  Instead I’m taking Tuesday off as a rest day only.  I have an entire website to “fill in” the dots for and as I said above, some code and functionality I want to further polish before release.

At this time I’m hesitant to specify an exact release date.  No later than the end of July, but more likely mid July 2008. 

As they say it’s not over until the kilograms impaired lady sings, so for those interested I’m going to keep on blogging right along side Patrick and probably some of the others that I suspect will keep coding.

I’m going sit down now and reorganize my schedule, alter some plans and I must admit by and large feel very pleased about the entire 30 Days process and what’s been achieved.

I’ve loved every minute of it and am looking forward to the next few weeks “extension” that I’m granting myself.  ;-)

Scott Kane

Quote of the day:
Politics is the skilled use of blunt objects. - Lester B. Pearson

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 28: Two Days To Go

29 06 2008

Help file is finished, completed, totally done and linked into the project in each window as required.  Completely covered, all topics expanded, no room for any improvement…

And if you believe that I have this rock I’d like to sell you in Central Australia.  ;-)

AyersRockorUlluru

But.  For this iteration the help I’ve done will do as a first step with a view towards massive expansion later.

Linking it in was a little trickier.  Delphi did not like this idea at all.  Help Contents was fine but topic sensitivity took more work than I necessary for reasons that still allude me.  There’s some broken things in Delphi.  I’ve never had to fight it over help files until now.

In fact, and I’ve been a loyal Delphi coder since Delphi 1 in 1995 (and before that the Turbo’s), I am inches away from converting to MS C# and .Net for future projects and indeed later versions of this one.  That does not make me feel particularly good, in fact it pees me off no end.  But there you go.  Never thought I’d hear myself saying that.

OK.  My next trick is to do a check for last minute show stoppers, ignoring any minor irritants for the moment.  A few little adjustments to be made on some alignments that got out of whack on widgets here and there while doing the last set of code changes.

Following that I’m going to be spending a few hours implementing code wrapping with the tool I purchased from Oreans.

Finally for tomorrow comes the the installer and then, all things being equal (and very little is in this business <g>) some tests in some VM’s and it’s off to the Beta testers.

That brings me to Monday which I hope to spend doing the website using the templates created for me by Sue as Alta Webworks.

If I complete these tasks by Monday night and the results come back clean from the Beta testers then we are good to go on Tuesday.  If not then I’m SOL in terms of 30 Days, but none the less a massive improvement on when we started on Day 1.  ;-)

Later…

Scott Kane

Quote of the day:
When I was born I was so surprised I didn’t talk for a year and a half. - Gracie Allen

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 27 -Help Files & When Bugs Are Features

27 06 2008

Pretty much spent the whole day writing the help file documentation today.  More on that in a moment.

Yesterday I declared a code freeze.  However today I became aware of a little bug that was cosmetically annoying.

MixAction has a little indicator arrow in the playlist, similar to how iTunes does, showing the currently playing track.  Under certain conditions this indicator gets saved to the meta file for the playlist and ends up showing each time that playlist is played until that certain condition raises it’s head again.  Undesirable.  Or so I thought…

Then it occurred to me that this could actually be a neat feature.  Power goes out or program closed accidentally somehow in a performance?  No worries.  MixAction remembers the track you were playing even if you don’t.  Added some code to make sure it resets properly if there is no interruption but let it show the indicator if that condition isn’t met.  So a bug, albeit a cosmetic one, ended up being a feature.  ;-)

OK.  The help file.  I don’t know about you but for me writing a help file is kind of like having each toe nail extracted without anesthetic and then the perpetrator moving to each finger on each hand.   Deliriously painful.  ;-)

So I got around half way through today and I’ve ground to a stop now.  I’ve also been working on the website, so it’s not like I had my head in the help compiler WYSIWYG tool all day, it just feels that way.

What this means is that tomorrow I’ll have to stick my head back into it and complete the job.  But hope is in sight as the hardest of it is completed now, though it will require massive expansion and tweaking at a later date.

Sue from Alta WebWorks completed my website template and It’s looking beautiful.  Now I’ve got to write the content.  But before I get to far with that I want to re-read Bob Walsh’s ISV e-book to try and make things as sharp as possible.

Uploaded 100 serials to start FastSpring off with for order fulfillment last night.  Enough to get things started in that respect.

I have identified a few issues I need to bug fix before handing off to the testers and I’m sure there are a few I’ve not spotted.

At the end of the 30 Days I intend to write an article here that summarizes some of the issues I’ve bumped into.  Decisions I’ve made that worked and the many that either did not or I wish I had done differently. 

Believe it or not I have a bunch of things to add to the project after release that were either pulled during the 30 Days due to time or were a direct result of either making an earlier decision in respect of something else.  Plus I’m making some features part of the sales strategy and will not be putting the code for those in the trial version at all.

I’ll also be talking about scope in respect of taking on a relatively complex application, though at the same time relatively small feature set, in a period of 30 Days.  Even with a heck of a lot of stuff prepared nothing prepares you for doing what all of us have been doing this last 30 Days.  I’ve worked as a corporate developer, project lead, department manager and private consultant and everything in between.  But the 30 Day lead time we put ourselves into is one of the hardest I’ve ever done - if not the hardest.

And I’ve loved every minute of it.  ;-)

Later…

Quote of the day:
All paid jobs absorb and degrade the mind. - Aristotle

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 26 - Code Freeze

26 06 2008

Survived the gale force winds with no issues as all.  Though the wind gusts picked up to equivalent of of a Category 3 cyclone in some parts of Melbourne over night.  Amazing weather!  Thankfully very little damage in general around town.  Seems most of it was high level in most places.

Coded in the 30 Day trial.  Yet to link in the voice over nag.  Setting that for Saturday. 

Now have two builds, trial and full version.  Full version, separate download, can be registered, trial version can not. 

At least in theory.  ;-)

Spent most of the day making that smooth and doing UI’s for registration, nag etc.

 

Freezing The Code

As of tonight I’ve frozen the code barring major hobble gobbles and of course linking in help topics, after the help file is complete.

Tomorrow it’s into the help file.  I prefer to have this done concurrent to development.  However the 30 Day pace made this difficult as things changed fast.  So quite a bit to do on it tomorrow. 

Phillip, one of the 30 Dayers, blogged today about a great product called Dr Explain.  I’m very familiar with this program, written by smart ISV Dennis Crane.  It’s a great program and it’s on my shopping list for later on.  For this help file though I’ll be doing it the hard way - boot strappers eat your heart out!!  ;-)

On Saturday I’ll be going into my “studio” for the first time in a month for the purpose of recording the voice over nag.  This room doubles up for several things, I used to code in it as well, but it contains my vocal booth and I can get the isolation needed for the voice.  Not so long ago I would not have been able to do this task as my voice was still cracking from the flu, that took several weeks to clear.  In the voice over business a mere cold can be devastating.

Once recorded I’ve got to work out a neat way of making sure some Jolly Roger doesn’t just strip it out of the resources or replace it with something else.  I’m thinking CRC at this time in terms of the resource.  Can’t think of anything secure for this.

I think we really do, me included, get very lost in the whole “avoid the cracker” routine to the detriment of what we do best - code applications.  It’s hard to divorce one’s self from this, but I’m determined to give it my best shot. 

Certainly the server log stat’s for this blog that I published some weeks ago, and will update at the end of this month, certainly do indicate a lot of folks out there are looking for the output of criminals. 

A recent talkback radio program in Melbourne had it’s fair share of sycophants ringing in to justify the practice of online theft, not surprisingly none of them could see the point when a guest psychologist reversed the situation as an example pertaining to their property.  But then if they could they’d not be sycophants.   ;-)

And there I go again…   :-)

OK.  Hoping to also do a final once over on Saturday and build the installer.  Got some more internal testing to do in VM’s and then, better late than never, get some folks to test externally.

Saw a sneak preview of my website being designed by Sue at Alta WebWorks.  It’s looking absolutely scrumptious.  I can hardly wait for it to be ready to launch!

Been going over the online store at FastSpring.   I love their back end.  It’s so darn elegant and easy to use!

I also have to say I love the support I receive from the guys who own/run/manage FastSpring.  I regularly get emails from my account manager Ken White there asking if I’m ready to roll as he wants to integrate the store to my website.   I’ve never experienced this level of service and I’m blown away. 

Last night the CEO Dan Engel emailed.  For these guys to care about a tiny mISV who’s not even launched yet speaks volumes about how committed they are to looking after their people.  Kudos to them. 

I’m usually leery of direct recommendations, they come rarely from me, but in this instance they’ve earnt my respect because of this and I recommend them to everybody wholeheartedly and without reservation.  If you’re looking for a better deal, are tired of the DR  now we charge you, now we charge you some more, vendor and customer two step  - then these guys are the medicine you’ve been looking for!  Do yourself a favor and checkout FastSpring.

Oh - and no, they’re not paying me for saying that, for the benefit of those who are of the suspicious bent.  ;-)

OK.  Enough for today.  Big day ahead in the land of documentation!

Quote of the day:
An intellectual is a person who has discovered something more interesting than sex. - Aldous Huxley

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 25 : Security ‘n Stuff

25 06 2008

Short post tonight, as I started the day late and have a bunch more work to do before I run out of steam.  We have a gale force wind warning alert current.  This usually sees me offline for a variety of reasons, and of course if we lose power I can’t access anything.

First up.  Yesterday I attended a “school play” that my eldest daughter was in.  As it was a juniors thing it wasn’t a fully fledged production.  It was great.  But I’m biased. <g>  However what was interesting was that many of the acts relied on pre-recorded audio. 

They had a great sound system (proper theater with PA built in) that sounded very nice.  Except they couldn’t find the odd track here and there so lots of delays between acts and then disaster struck.  The one and only CD player on the system died. 

Obviously a laser related issue, probably having trouble reading due to grotty fingers on the CD.  This caused a bit of a mess and in the end they had to get a tiny portable CD player and point that at the audience. 

What was interesting to me, though doubtless a major PITA for the academic staff, was that this was exactly what MixAction is designed to avoid.  Not being able to find tracks and the unreliability of CD’s in a live situation. 

CD’s have never been great on the road.  As an ex DJ the old vinyl records were certainly one thing - reliable. 

Skipping inexplicably?  Toss a 1 cent piece onto the tone arm and away it played. 

Can’t do that with a CD, even the “pro” ones that have advanced cueing functions.

I would have loved to have told them about the software, but for the moment bit my tongue.  ;-)

OK.  The original implementation I was intending to use for serial numbers, based on a rather cool variation of PKV is not ready.  It works and works well but the developer still has it in beta and as he’s very busy right now it won’t be finalized in time for me to use from the go get. 

So I’ve cobbled together something simpler, for the time being.  Still PKV based but nowhere near as many key variations embedded.

I’ve purchased some security software from Oreans today.  As this seems to be the best on the market security wise AFAICT I’ll use it to secure the critical sections.  Basically virtual machine technology is employed to wrap the desired sections of code.

Decided that I’ll be offering a trial download that can’t be registered for the time being.  Customer will need to download the “registerable” version after purchase.

Reasoning is that it’s not a big download and eventually I’ll be adding extra “functions” to the registered version that aren’t in the basic trial - nice to have but not needed for trying out the product - as this is supported by FastSpring who will be handling order processing.  So even if I am cracked, and I dare say I will be, at least they won’t have the full version.  Doesn’t protect against stolen CC’s and subsequent torrent hosting of course.  But then - what does?  :-/

Basically an expiring link to the full version download.

Multiple versions aren’t hard to manage, especially if you’re using build automation software

FastSpring will also be handling key distribution as I don’t want to put myself in the position of having to worry about

OK.  More tomorrow.  Got to put in the registration and trial stuff actually into the app, setup the conditional defines etc for builds.

Still have a few things to tidy up and a fair bit more work on the help file.  No installer done yet either.

Quote of the day:
I never forget a face, but in your case I’ll be glad to make an exception. - Groucho Marx

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 23 - Nearly There, But Not Where I Wanted

24 06 2008

Today was a better day than the few preceding it over the weekend.  Got a lot done, very few interruptions,  no weirdness in terms of bugs or strange, unexpected behavior. 

Thank goodness!

Would have liked to be further along all the same.

Have just about every menu option linked to functionality now, as well as menus etc reacting to “state” changes in the application.  Not rocket science but important none the less.

Scripts, per Act and Scene load and save dynamically so user can write to scripts (stage action, cues, actors lines etc) on the fly and the program simply saves it without any extra action required by the user.  Working nicely.

Project archiving now working so the user can place a project into an archive and use that for transporting the project to another machine or as a backup, as they see fit, and includes project file (database), meta data and all audio.  It’s 100% compatible PKZip/Winzip but I’ve changed the extension to make a easier to identify as a file belonging to the program.  Self heals if it gets corrupted as well.

Same archive can be opened and “restored” from within the program to any location the user desires.

Miscellaneous tweaks here and there as well to various things.

Still got to do the following:

  • Final adjustments to UI where I may have moved an item and it’s no longer aligned.
  • Tweaking of any graphics and icons within the UI.
  • Template building
  • CD Burning (this is a bit of a problem still).
  • Implement licensing scheme.
  • Implement 30 Day trial stuff.
  • Implement 30 Day trial randomized voice over suggesting registration.
  • Fill out the About box.
  • Wind up the help file.

Most of these will only take a few hours to do.  CD burning I’m going to spend some time thinking about while I take a day out to attend my eldest daughters school concert.   The voice over stuff is pretty trivial and the About box likewise.

The help file is probably the most amount of work yet to do.  Hoping to have it done by Thursday night.  However I’ll probably start building the installer before then so I can get the program tested by some external folks who can probably manage without detailed help for the first run through.

That’s all for today.  Tomorrow is Tuesday here, as I said above I’m taking a day off and will be back on deck Wednesday afternoon my time.  First day off since  7th of June.  ;-)

Quote of the day:
It is bad luck to be superstitious. - Andrew W. Mathis

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 22 - Just on a week to go…

23 06 2008

Can’t believe it.  Monday week is the final “day” of this 30 Day sprint/challenge.  The month has flow by!

Well.  Today was….  Interesting.

Last night, right after final source code backup for the day, I thought I’d be nice and run the code through a source code formatter courtesy of Project Jedi.  Made all the source nice an “awwww, so pretty”.  ;-)

Until…  I started coding today and we hit bugs-ville.  Weird bugs that made zero sense.  Messed with these weird bugs (for to long) until I remembered the above action last night.  Renamed the “current” directory, restored the backup.  Bugs gone!

Seems this tool, on closer inspection, adds some nice Unix style end of lines to the code.   Well geez!  Thanks for that one guys!

Note to self.  There is a *reason* why I don’t use, if possible, open source software.  This is why.

OK.  So the special effects are all implemented now.  Cleaned up the little bits and pieces that make sure captions reflect current status through out the application and linked in nearly all the menus, if they weren’t linked before.  Took out extraneous long extinct now commented out code.

Made sure my inlined functions  were being handled right and not throwing warnings on compile. 

Added a way to have a project in editable mode or “performance” mode.  I decided to add this as a safety feature.  Basically a project really shouldn’t be scrolled through during a performance (with the exception of the active playlist and any special effect toggling if the user changes their mind on these).  So that can be done now via a menu option or via a text hot link on the top toolbar far right - where I temporarily had stuck the “clock” previously.  A small lock/unlock icon goes with it.

Still got to get to replacing the file Explorer pane.  Moving that to Monday along with template generation.

Yet to re-do archiving.  That’s an easy job.

Also got to do update and finish the help file/docs. 

Not as far forward application wise as I’d hoped today, but then the “best laid schemes of mice and men” <g>

However…  I did manage to get a nice web designer to take on website work for the application in terms of design.  In fact, one of our own 30 Dayers - Sue from Alta Webworks.  Sue’s done some absolutely stunning designs for website’s, another link here.  So I spent a part of the afternoon emailing and getting some graphics, design ideas etc together for that.   I’m *very* pleased about this.

OK.  I’ve got a few things to take care of before turning in tonight, so hopefully a bunch of the remaining items will be completed by tomorrow nights update.

Quote of the day:
We are all apt to believe what the world believes about us. - George Eliot

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 21 - Mysterious Sightings…

21 06 2008

Didn’t post an update yesterday.  Simply ran out of time an energy.  I’ve not finished coding for the day yet so this’ll be brief and I’ll expand further tomorrow night.

Some sightings tonight, witnessed by me (and probably others following the 30 Day feed I should suspect).

Mysterious mISV 30 Day Sightings

Nope,  it wasn’t Sasquatch.  We don’t ”mess” with them in Australia, we have Yowies instead!!  ;-)

Some fantastic posts came through the 30 Day feed tonight.  Beautiful looking products, fantastic progress by the folks involved in this.  I was really impressed.  This has been an awesome exercise.  I’ve learnt so much.  Not from what I’ve been doing alone, but from what all the other participants have experienced too.

Yesterday started out OK until I somehow managed to link the BeforePost event of two datasets together.  Point and click events are great until two objects share properties and you don’t realize you’ve done it.  Combine this with, in this case, datasets living on a datamodule and separate to the UI code and one may find oneself where I did.  Spending two hours trying to fix a bug that never existed technically.  Grrr!

After kicking myself for being a stupid twit and taking a walk in the cold Melbourne afternoon air I did manage to get some real work done.

Fixed a real bug in the track position slider in respect of threads.  As I said on Thursday’s post I’ve implemented threaded timers now and as with all things related to threads one has to be careful.  The thread was firing a little to quickly compared to a regular timer it seems and needed slowing down a tad.

Moved then to the track properties and the logic associated with them.  All done.  Breathed a sigh of relief and sat down to watch a few StarGate SG1 DVD’s as compensation.  ;-)

Today I got up and after a couple of cups of caffeine and trying to read the progress of the other 30 Dayers (anybody notice the FeedBurner feed went down for over a day?)  went straight into implementing track special effects and logic. Glad to say that’s done now.

Next came the logic for the Special Effects.  Finally!!

All coded.  Just got some adjustments to do so that the results aren’t to extreme, but they work and work well.  So each track that plays will, if an effect or effects has been selected, load the appropriate effects to apply to the audio.  None loaded?  No effect applied of course.

That pretty much took up the day.  I’ve got some basic logic to do before I turn in tonight.  Just making sure buttons and labels update their caption state according to what mode is selected.  Presently under certain circumstances they go out of whack.  It’s an easy fix so that won’t take long.  :-)

Tomorrow I’m replacing the Delphi TShellTreeview and TShellListview with super fast replacements I’ve sourced.  They work at least as fast as Windows Explorer, if not a tad faster.  Very pleased about this as the Delphi out of the box implementation was giving me ulcers waiting for it to load a directory.

After that I’ve got to make sure the script (stage action, actors lines, cue’s and such) are updated according to the Act or Scene loaded and implement virtual editing in those so the user can just type and the program handles the save, like pretty much everything else in the program already does.

Finally will be the templating.  Templates of pre-fab Acts and Scenes that the user can select and use.  These will give them the basic structure of a project just by choosing and selecting, plus a few tricks besides.  ;-)

That will bring me to Monday.  Monday I’m aiming to make documentation day and setup/installer creation day so I can do a full install onto a virtual machine and my wife and kids machines after that. 

If that works, it’ll be Wednesday before I can get to, what I hope is the last step (and one sure to take several days in itself), then external testers will get to play with it for a few days while I prepare security issues in the binary (licensing) and web site related stuff (building the actual site would be a good start <g>).

More info and some final screenshots tomorrow night…

Quote of the day:
To invent, you need a good imagination and a pile of junk. - Thomas A. Edison

Postscript of the day:
Edison would have loved my office. -
Scott Kane

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb


Day 19 - Unicode, Threads ‘n Bears!

19 06 2008

OK, maybe no bears…  ;-)

Delphi has a problem, for those of you who don’t use it or are unfamiliar with it, an extant problem in respect of Unicode.  Delphi hasn’t got a clue what to make of it (please don’t tell me about the commercial Unicode components, I know about them but the budget is stretched as far as it’s going to go this month). 

This has never been a problem for me before.  But today it bit and bit hard. 

As I’ve mention before I’ve incorporated the Berg Components into MixAction (extensively) and they are really cool. The Playlist is actually NextGrid, part of this suite.  I didn’t know I had any issues in this regard until I decided to fold the last remaining meta data folder into the Project file (or database) rather than leave it out in it’s own folder.  Thus only media files would be external and everything would be nice and neat (and I might add repairable should anything untoward happen by way of text file truncation). 

Not to be. 

The NextGrid saves as Unicode!  Now, I’m not complaining, this is technically a desirable feature.  Problem is the rest of Delphi hasn’t a clue what to make of the data if I try to load it into something else. 

Took me a an hour to work this out and finally decide to leave well enough alone for now. Said meta folder for the Playlist and associated files remain in situ in the project folder.

Cleaned up a lot of stuff today. 

Removed unused variables and those types of things.  Made sure all the User Preferences (options), which I also pruned down, functioned. 

Switched off CD player auto-load when the program starts, and if it was turned on to start with, turn it back on when program exits. 

Suspend the system screensaver while program is running (as opposed to turning it off altogether) as that’s bad news when playing audio files in a live situation, especially with Direct-X effects loaded and running.

Fixed a small bug in a zero based list, forgot the -1 in the code. ;-)

Made sure the hints work over the basic controls properly, haven’t done the advanced special effect control hints yet.  Also making sure said hints reflect current control settings (increments, decrements).

Moved all the audio timing stuff into separate threaded timers with appropriate priorities. 

This made a *massive* difference, predictably, in terms of how far you can push things.  CPU usage dropped from an average of 17% to an average of 4%.  Interface updates run 100% smoother, rarely any flicker occurring with other app’s loaded and I get none when the app is the only one loaded, which would be the normal state of affairs when using it.

Spent a good deal of  time cursing Delphi’s implementation of TShellTreeview for being so bloody slow at updating.  I’m considering replacing this as I find it totally unacceptable in terms of speed.  I know most users won’t have  eight partiions permanently available on their system as my dev machine does, but the implementation of this wrapper is very sloppy IMHO.

Implemented detection of audio overload.  If the user pushes the levels past “safe” a little, modeless, window slides up from the bottom of the main screen and warns them.  These kind of “warning hints” can be turned off if the user wishes however.

Added a bunch of miscellaneous safety options for systems with older components, like some errant and ancient CD players that object to having their status monitored.  User can turn status monitoring off if they need to.

Way behind on the help file, I should point out, and I’m not happy about that.

Still no solution, not that I worked on it today, on the CD burning front.

I wasn’t going to write this entry tonight as I hadn’t felt like I’d gotten anything done.  Glad I did as reviewing it I got quite a bit done which makes me feel a lot better.   The day started with a power blackout and I couldn’t write a lick for five hours.  Got to do something about that by way of a generator and UPS I’m afraid.

OK.  More fiddly  stuff tomorrow.  I’ve simply got to get the track properties implemented, along with fading or I think I’ll go nuts.  ;-)

Also looking like another all weekender.  Tuesday my eldest is in a school play (how ironic!) and I have to attend that, which at it turns out requires my presence for most of the afternoon and evening.  So Tuesday will be a no work day and Wednesday morning is tied up with other things. 

Later…

Quote of the day:
I have a new philosophy. I’m only going to dread one day at a time. - Charles M. Schulz

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb