Showing posts with label Design. Show all posts
Showing posts with label Design. Show all posts

Wednesday, June 24, 2009

PM Work: Some Required Assembly…

Haven’t had much to say about Program Management in a while so decided to talk some stuff I ran into at a recent  ScrumMaster seminar.

Now I love scrum as much as anyone.  You got your Chickens and you got your Pigs, and who isn’t going to love a PM method that’s got roles based around an old vaudeville sketch about farm animals right?  Okay… so I love scrum as a method of project management for other reasons than that – but lets face it that is pretty bizarre. 

Now, it’s all really cool to have this great method to reduce time to product, reduce costs and increase quality.  And it’s all great to use agile methods.  But the fact is that Scrum and Agile aren’t for every project and they’re not for every team. 

They are not a one-size-fits all method of development but they’ve become very much a defacto standard for everything and used without really a lot of good reasons other than the teams involved have used them before they worked.  Which is a good reason to try, but that doesn’t mean that because it worked once it’s going to work again.

My daughter has a car.  It’s a great little Berretta and it’s very old.  Now, I used to have a really great Turbo Capri from about the same year as her Berretta and when it gave me fits, I replaced the starter and it worked well.  Unfortunately, my Daughters Berretta has a problem with it’s ECM and replacing the starter isn’t going to help it.  It needs a new ECM and it won’t matter whats worked for me in the past.

 raj_gather So before I go into a project and decide that Scrumming it up is a good idea I need to talk to a few people. 

I need to talk to the people who are going to work on it.  I need to talk to the people who are going to pay for it.  I need to talk to the people who are going to use it.  I also need to talk about if it’s even remotely possible.

Basically before I can even decide on if I want to be in the project - I need… Project Requirements. 

Which is something I’d like to toss out there as a PM and a process I’d like to talk about.  When people approach you with a project you need to really understand all the requirements of the project itself. 

Now, not everyone who’s a PM is in a position to pick and choose their projects.  But even if you didn’t get to pick your project(s) you should do this every time you have a project dropped on you.  If you’re going to drive a project then you need to know everything you can about it. 

When I start a project I personally go through this.  I sit down and I write up, for my own understanding in a very rough outline form, the project General Requirements. 

My general requirements list is everything that are currently defined requirements that are known.  This is the starting point and from there I can determine the questions I need for my other lists.

I’ll create a short Systems Analysis, and in this I’m going to include all the things I can find out about what are the specific systems requirements I can think of and find out.  If the General Requirements have a preference  for a particular kind of programming language or a technology – I’ll hit the internet and write up the known specifications needed for that technology so when I sit down and have meetings for the real Systems Requirements I not only can understand what I’m being told but can actually participate in the discussion.  Here I’ll include anything I don’t know –all the questions that I can’t find answers for -  which are just as important as what I can find out, what I can know. 

Next I’ll move on the Functional Analysis and then the Design Analysis.  I’ll break it down something like this: 

  • System Analytics are about the physical properties needed to make the project happen.
    • What technologies?
    • What physical products will be needed?
  • Functional Analytics are about what it will actually take to make the project happen.
    • Do we need a lot of people to create this? 
      • What kind of people?  Experts?  Developers?  Designers?  Manager?
        • How many Pigs?  How many Chickens? 
        • Will we need Silverbacks or just Codemonkeys?
  • Design Analytics are about we really are trying to create.
    • Is it about quality and style?
    • Is it about ease of use?
    • Is it about cost?
    • Is it about doing something no one else has?
    • Who’s the market?  Who’s going to use this?  Why?

 

And most importantly for the Project – I’m going to play the Bosses Advocate and I’m going to ask all these questions again from the business perspective.  I’m going to look at the following – the Corporate Mission and Goals, The Department/Divsion Mission and Goals, and then the Teams Mission and Goals and I’m going to map all of these subjects to them.  So I know as many of them as possible so that when I need to go for funds I already have the answers the boss is going to ask me.

Now – that’s what I call a PM Project Requirements Analysis.  Now I won’t say every PM should do this but I can tell you that if you do you will find that as you go through these same steps again for the real thing, you will find that it will make you a better PM.  Its basically gathering all the things you need for a project before hand or at least as many as you possibly can before you need them so that when you need them you’re not just ready you already have the answers.

Take the time to write this up on a simple two-three page document for every project you have.  Take and use this as a blue print to feed into your Communications Plan, you need to use it to build as many of your docs as possible.  Then as time goes by you need to go back to the doc and update it.  Whenever possible a personal document like this should be considered a living document that you update over and over. 

Like I said, I can’t say if you do this your life will be puppies and kitties and rainbows.  But.I can say that if you do this – it will make your life easier and your projects easier. 

Just my 2 cents. 

Tuesday, April 14, 2009

Make some color happen…

I’m taking a breather from the next installment of eCommerce talk.  Not that discussing the glories of PunchOut catalogs and on line supplier services isn’t hoot – but I needed to add a little color so I

grabbed a bit of video I had lying around and I did just that.  If you take a gander at the clip here ther’s a couple tricks that are pretty easy to create some very dramatic and colorful footage out of well, kind of drab footage. 

The clip here has the original footage, first – just a simple few seconds of the back yard around the house here on a typical Seattlish late afternoon.  Meaning – it’s overcast and dark.   And that’s not a bad thing – in fact the nice thing about it always being overcast here is that it’s easy to light a video shot, and you seldom ever have to worry about over exposing the shot.  But life isn’t always about various shades of grey.  imageNow, the original footage isn’t all that bad – there is some color there.  But as you can see its a bit washed out.  So one of the first fun things you can do to boost the color is to replace the sky entirely.  So I did – I spent a few minutes out there on Flickr and got a very nice flaming red sunset. 

¹Fun tip for Video and Design:

Which … btw – is under a creative commons license that allows it to be used.  Flickr has a very nice feature that allows you to do a search for works that are under the Creative Commons – so keep that in mind.  It’s under the Advanced Search settings – scroll to the bottom of the search imageoptions and check the boxes for Creative Commons reuse policies.  You can even have it search for stuff that you can use commercially – which – is pretty cool.  (Be even cooler if you could download actual video instead of flash videos – but hey, beggars can’t be choosers.)

Anyway, like I said, I got on on Flickr and looked around for a very very dramatic flaming red sky since I really wanted to give the shot a vibrant dramatic boost.  Now the trick to doing this with a shot that’s very effective and very quick is imagenot to roto-scope all the frames but to do a color matte.  What’s a color matte? It’s really simple to do in After Effects and it’s very useful.  First things first – is to duplicate the shot, and then desaturate it completely.  Then hit the levels and totally boost the sky so it’s got a really almost black and white look.  Then, last but not least bring in a good luma key.  Drop the photo in behind it so it shows through the key – and wallah – you have a very dramatic sunset.  Now, you may have noticed that it’s ALL black where it’s not colored sunset… so drop a mask across the area you want to show at the bottom and pin to that the original footage.  Do a little color correction on it and you have the very dramatic scene you see here.  (A little more work and we could get the little color spots out of the edging – but this was done very quickly  - even still its very dramatic.  Got a nice vibe to it and the colors' literally scream at you. 

What it is not however … is particularly realistic.  And the downside of this technique is that you really make the fine details get blocky and pixelated. So its really good for less than photo realistic effects butimage you need to use it wisely or it really will drown out any moments that need to be done subtley.  So … how do you color it up without losing detail and without making it… blah?   Color correction gel.  What’s that?

Simple – the way you’d get a similar effect is to use Andrew Kramer’s free AE plugin – the Colored Gel Effect.  It takes a bit of getting used to and tweaking to get just the look you want – but the results are awesome.  If you look at the detail of the trees – they keep that very soft pine needle blur, and when they move in their own way they’re very … cabin on the lake.  I was tempted to play around with a mask or two on the barn down there – but decided to leave it be – basking in the golden sun.    You know they say that Lighting sets the mood for a shot quicker than anything – faster than sounds, faster than anything in the shot.  So play around with some color, have some fun with it.  I will.

Friday, April 3, 2009

what’s been keeping me up at night…

Been a bit busy… so I figured I’d give everyone a taste of the somewhat promised cXML eCommerce toy I’m working on.  So here are a few screen shots.  As you can see – it’s designed to load cXML or XML and perform validations.  It also allows the tester to actually POST the cXML PunchOut and OrderRequests directly to the server.  This retrieves complete header information.  The tester can auto-generate OCI HTML web forms that can be sent to customers for their own testing.  

You can also verify Authentication Tokens, Session IDs, and perform HostName / IP Address checks. 

The cXML validation allows the user to validate against any of a number of DTD files, from cXML to those used by OSN or even 3rd party or local files.  Anyway… that’s what has been keeping me from Posting.   In the next week or so – I’ll get some code up and discuss how eCommerce procurement systems work a little more directly. 

Until then… you’re just going to have use these shots and wonder.  (And for the record … yes I have removed any sensitive info from these screen shots.  The cXML displayed is a generic OrderRequest form. 

 image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

image

 

image  image

image

Monday, February 16, 2009

Grumblings from the field…

In a bit of a hurry this morning so this’ll just be a cap up of what’s going on.

The Job Market in the Pac Norwest for software development and IT has definitely taken a blow – but there’s still a lot of work out there.  I still receive about 4 or 5 job requests per week (my resume is unusual as I have job skills that are uncommon).  But most of these for the last three weeks are not ones I’d really look into unless the economy is bad.  The practice of sending out contact emails for positions with unrealistically low or unrealistic job requirements (usually both) for the purposes of being able to say, “We couldn’t find anyone here in the USA qualified” is still pretty rampant.  I’ve seen about 6 of those in the last month.  (When was the last time you saw an honest request for a Program Manager with a background as a Sr. Developer with 10 years experience for $25/hr??  Yeah – they seriously want to fill that position.)

It’s insulting and disgusting that companies will go to that length to justify hiring outside the US, and it’s more annoying that the offers come from respected legal and recruiting firms.  I won’t say who I’ve seen use this the most – however you might be surprised their one of the longest and major supporters of Open Source software and similar initiatives.  I’ve said it before that one of my core dislikes of the OSS community is it’s naiveté regarding the fact that their largest supporters exist because they’re too cheap to pay for software and have always felt software had no value.  It becomes pretty obvious when a companies true motivations for greed and being cheap are so thinly veiled behind the cloak of “We’re one of the good guys!”. 

Let’s face it – if you’re not making your money off the development of the software that people use, then you have to be making it off the process of selling it or supporting it.  In a model such as that the guy on the low end of the totem pole will always be the guy who created it in the first place.  They are the ones who’s efforts are not perceived as having value because it’s their efforts they place as having little or no cost associated to them.  (If you’re not charging anyone for the hours it took to develop  product – which is where that model places the cost recoup at – then the developers and creators are effectively valued at ‘zero cost”.)

So where do these companies place value?  They place it on the management end of things and the sales end of things.  The sales of the software, and over a long term the sale of the software support, or the sales of the software as a service.  Bottom line – the jobs they really care about are managers and sales people.  For the people who come up with the software, who spend the hundreds and thousands of man hours to code it to test it and to bring it to life?  Well, they’re a necessary evil – one which if they can find anyone to do it cheaper – they will.  Which is why yes… they do send out emails to people here in the USA looking for jobs, people they’ve often

laid off or let go, giving unrealistically low, or unrealistic job requirements, or in some cases just bizarre job requirements, all so they can be turned down.  They can then go before the US Congress and Senate and say, “We looked for people here in the USA for these jobs – but there aren’t any who meet the qualifications!  Can we go overseas and get them without losing our tax breaks???”. 

The HR departments of these companies can sign up for (and line up for) classes to learn how to do this.  And this doesn’t burn you up – the fact is this is not the “American Job” vs “Overseas Job” issue that drives this, and those probably hardest hit are – as incredible as this may seem – overseas wokers.  Overseas, in places like Hyderabad, Beijing and the former Soviet Republics you’ll find the amount of fraud based job services there is a full blown industry not all that different than Coyote hustlers that tell immigrants they can sneak them through the American border but take their money and leave them, often with no hope of survival.   Now, if you say, “Hey we’re cracking down on these bastards”, I’d like to point out – they busted 11 people and companies.  11 of them is not even a band aid on this gaping wound.  11 busts isn’t even lip service to the literally billions being spent on this.  The fact is that as long as it’s profitable for these companies to treat the people who create products you use like dirt (and for many of us – that person is us) they will continue to do so. 

So – hey – support the open source movement - make software free to everyone.  It is after all, just someone's idea – it’s not like has value right?  Anyone can do it, and with the right sales model we can recoup the loss by selling maintenance, and services.  While you’re at – you may want to head down to Walmart and buy a nice coat made by children overseas to keep warm in on that unemployment line.  Just some food for thought. 

Wednesday, January 21, 2009

Project Status Template deux

Got a ping from someone asking if the Project Status Email Template could do …. MS Project inserts.

image

Indeed you can – but it is a bit tricky.  As you can see from the screen shot – the end result in an email looks pretty well… cool.  image

Some caveats – first of all – you gotta have MS Project on the machine to insert an MS Project Object into the template.  So that’s a bigge – because you’re actually inserting an MS Project Object into the email. 

The other users – will not need to have MS Project installed – because the areas you have showing will become images.  The same is true for excel spreadsheets and other embedded inserts.

So … how do we do this? 

Real simple… first we’re going to create our template – just like in the last blog posting.  But where you want to Insert the MS Project (place the cursor where you want it in the file – it’s easier than moving this later) … then click on the “Insert” tab and select “Object”.

image

 

 

 

Now – this will bring up the Object menu.  Scroll down the list to Microsoft Office Project Document and Click “OK”.  This will embed the object into your email template.

image

Once embedded – you’ll need to adjust the various values to your liking.  But… what’s that you say?  “Oh NOES!!!  I DON’T WANT TO PUT IN ALL THAT DATA AGAIN!!”.  Then don’t.

You simply open your Project Plan.. copy the rows… and then open the email template – and copy them in there.  It really is that simple. You will need to adjust the viewing area displayed – the Height and Width to reflect the email but – updating it is pretty simple.  And the results make you look great as you can see.

So … save yourself a ton of time, a ton of effort – and template. 

image

You can find this file here:

http://cid-e46e5f5a0e3b5854.skydrive.live.com/self.aspx/Public/Office%20Templates/Project%20Status%20Advanced.zip

Saturday, January 17, 2009

Outlook Template power ACTIVATE! Form of… a Status report!

I’ve been doing a lot of documentation lately, which is brain numbing at best, and time consuming at the same time.  So when a boss asked if I’d need more time for a status report I naturally said, “No I should be good…”. 

Now I can do that (and look really good) because of a little trade secret that almost no one I’ve met uses… the power of the outlook template.  I’ll go one further and say, almost no one uses templates except those of us that seem to be in some hidden fraternity of Program Managers who share these little secrets… like templates.

I keep a template around that does all kinds of fun Project Summary things – and I’m including it here.  Here’s a list of things that are built in:

  1. Has all the people who need to be on the report – already in the "CC” line for me.
  2. Has a current spreadsheet of the issue items (my more advanced version actually pulls the values from a Issue Tracker – which you can look into doing sometime but this has the drop downs and auto-formating for status.
  3. Drop downs (see Sheet2 when you double click on the table – you can edit the values there)

So all I have to do – is basically load it, click on the fields I want to update and hit send.  Major time saver and everyone thinks you’re like… the coolest most on top of things guy ever.

Let’s cover how this magic happens – first you need to know how to make a template from Outlook.  Which… is surprisingly really easy.

image

All you do – is literally create an email just the way you want it In this case, I’ve put in all the elements that I want in the email I want to send out.  I’ve done a couple other things as well so that it will make it easier to customize things later – like special headings. 

When I need to swap my status from Green to Yellow and so on all I need to do is select the text and click on the “Format Text” tab and select the style I want.

image

I also want to have my CC and To fields preset with the names of everyone who will need to receive my status report.  The thing to keep in mind is that this is not a “one time” message.  It’s going to have certain things in it that I’ll need to do over and over.   So I can create all my headings, any graphics that I’ll want to reuse, and any tables that will need to be updated.  Now – if I’m going to just update some fields then I’ll probably use the Table feature of imageOutlook and embed a table.

If the table is going to have a lot of data that I’ll be typing in often (like names or email) then I’ll use the table feature to embed an excel spreadsheet, and on the Sheet2 page I’ll create a series of terms and names.  Here I’ve put in terms for my Status types, I’ve created a range of values for percentages of completion, email addresses of those who I’ll use in my report.  These ranges – I’ll use by going back to the Main Sheet – the one I want to display and use them as Drop Down Lists.   The drop down list is a little used feature, but very handy for tricks like this one. 

imageYou create it by first creating a range of values somewhere either in the workbook or on the same sheet.  You then select imagewhere you want to create the drop down box, and then on the Data tab (which you’ll note that you now have one in Outlook once you are in the Spreadsheet, just like you do in Excel).  imageClicking on this will open the Data Validation Dialog Box.  Once you have this you’ll want to select “List” from the drop down list.  This will bring up the options for drop down lists from the dialog box.  

 

In the Source section – you’ll want to put in the range you created over on Sheet2.  You can do this either by having named the range, or by putting in the actual range “=Sheet2!$B$3:$B$7” in the imageSource.  Either will work, although using a named range is somewhat easier, especially if you have a lot of ranges to deal with.    The end result will create a cell that has a drop down list on it.  You can copy this cell as you would any other and that makes automation a bit easer.

Another thing you can do with this cell is… use Conditional Formatting Options so that if the values are within a range or if the cell contains certain text – we want it to appear a certain way (background color red – text white) or even contain specific icons or color bars.  Really it’s pretty amazing how in-depth you can get with reporting features doing this.  And with all of it – you just click on a value, and spreadsheet updates it on the fly.  Which leaves you more time for whatever details or other information you need to add and still look like a rock star. image

Now – when you’ve finished creating your email artwork of status reporting – or whatever it is you need to template out… you just… click Save As.   The Save As dialog box will appear and you save it as an Outlook Template by selecting that option off the Save As Type drop down.

Now, it will save this by default in your profile.  So if you want to save it for sending it for someone else to use, use Save As and select another location that’s easier to find.

If you’ve done all of this properly – you’ll now have a spiffy template all ready to use over and over again, and not have to fill in all those fields and do all that work all over.   All you’ll need to do is load the template and use it.

 

Step Step Two – Load the Template….

To load the template – just click on “New” in Outlook and scroll down to “Choose Form…” which, imageironically enough will allow you to load a form.  Now there are all kinds of forms that you can pick from – and if you’ve never played imagewith this do so – you can get really creative with forms. 

But for today, we just want the form we’ve created – which is in the “User Templates in File System”.  And you locat that by clicking on the drop down box at the top of the dialog, and then picking the “User Templates in File System” category, which if you’ve done imagethis right… will bring up all the files you have saved that are templates.  If you do it wrong…. it will cause an error and ninja assassins will be dispatched to your home from their secret lair beneath the Google headquarters.  (Okay – I made that up… their lair is actually just south of Portland near a winery that they use as a cover.)

 

Anyway… you want to pick out the form you’ve created.  If you’re using the one I have up as a sample imagehere the name will be “Project Status and Summary”.  So – if that’s what you’re using – click on it so it can load and you can begin being a genius. 

Now when the template loads – you’ll want to fill in all the categories and in one of the screen shots above I’ve given you some clues – but you should modify this to your own liking and add the kinds of things YOU need.

  The one I’m providing is just a starting point for you – in the words of the beloved Ms. Frizzle, “Get Messy!  Make Mistakes!  Learn!”.  And one of the cool things you can learn how to do – is use embedded excel spreadsheets.

 

The table on the form – looks like a table until you click on it … so click on it.  Because it’s really an excel spreadsheet with fun stuff you can update on the fly.  So click away.   But you should know that when when you click on it – it’s going to say something like this:image

so ignore that and click “Yes” because what’s the point of doing all this… if we just click “No” and end it all now?  We know the item that we’re loading and we also know it’s got an excel spreadsheet built into it so we know why they gave us that warning.  We WANT to be able to do cool things with it, so there’s no security issue.    Which should, give you some idea of the real power of a good template – since you can actually do stuff with them that requires an occasional security warning.  image

Now – if you play with this you’re going to note that there are drop down boxes – and there is conditional formatting on those drop down boxes.  So when you enter a task name – and click on the boxes to the right of it…. you can change the values without having to type them in every time.  Just grab one and click it, move on to the next… wash, rinse, repeat until done. 

Here are some examples… of the stuff in them… the first set of drop downs allow you to select from various project status types – imageCompleted, In-Progress and so on … and IF you pick one of them – it will automatically reformat it to the color scheme that corresponds to that type of status.  The next is the degree of completion – which goes from 0%-100% and you get these very cool traffic light colors when you pick those. 

imageBasically, this allows you to focus on filling in the information instead of filling in all kinds of cool formatting, setting up things every time.  As time savers go – this one is definitely a keeper for anyone who has to do reports, news letters or any process that requires you fill in a lot of repeated information, terms, titles and so on.

There’s tons more you can do – this is just the tip of the iceberg, like most of the stuff I do here it’s a starting point for you.  You can find out more about – and lay your hands on literally hundreds of great templates you can customize and make your own at Microsoft Office’s Template Library.  Free templates for almost every Office Product are available here.

You can … of course also snag the template I used as an example from my Skydrive here:


Direct Link:
http://cid-e46e5f5a0e3b5854.skydrive.live.com/self.aspx/Public/Office%20Templates/Project%20Status%20and%20Summary.zip

Until later… have fun… be productive… and someone find out when the next new Venture Brothers Episode is for me? 

Monday, January 12, 2009

Word document programming… simplified…

Fixing things for people around the office is often time consuming and frankly problematic.  Sometimes you don’t have administrative privileges on everyone's machine and you also don’t have time to personally go around and fix things. You write a script … but unfortunately the company email system has an apoplectic fit and refuses to send around your script. 

So… you put the script on a share – or your rename it to a zip or some other file name and force everyone to rename it and then run it. 

 

Open your Microsoft Word (I’m using 2007 for this) and let’s get to your Developer tab.  Don’t have a Developer tab??  Here’s how you get one… first  Open Word and click on the Office Button and select imageimageWord Options. Which will open up the Options menu screen – and off the Popular menu you can click on the check box for “Show Developer”  like it shows here.  

Now the cool thing is that if my directions are not that good  - you can find them off the Microsoft web site here… http://office.microsoft.com/en-us/excel/HA101730521033.aspx – so feel free to use them.  But the goal is to get a developers tab – so you can … well … develop.  Now this is a quickie tip so we won’t get too involved but using the Developer tab you’re able to put into a document any VBA command you can think of so you’re not limited.  There is very little you can’t do from programmatically changing things on the document to changing the registry settings. 

Let’s start by typing a short description of what it is the document does, and letting the user know that it is not a standard word document – and even telling the user that they’re going to need to turn on the scripts and macros for the document to make it run. 

It’s important that if you do any scripting on a word, excel or other document you inform the user they are using a document that has macros or scripted capabilities in it.  Sure – you could just have it trigger an event and not warn the user but to do so is very unprofessional and it imposes a level of credibility imagewith the user’s sense of safety and privacy.    So type a short paragraph and tell them what you’re about to do before you do it. 

Buttons or other mechanisms that the user can click on – that provide a kind of tactile feel let the user know this is not a standard document and that by clicking on the button something will happen.

So select a button from the legacy tool tools list – my prefered one is the standard ActiveX control Command Button that we see all the time.  You can find it off the Legacy tools menu imageshown under the ActiveX commands.  Once you’ve set your commandbutton up right – double click on it to reveal the vba code blocks.

I know… I know… this is VBA and VBA supposedly has a reduced instructions and it’s not as good as real code… and blah-blah-blah. 

Yes, a lot of that is very true.  VBA is not as robust as VB.net (although it’s pretty close) and it’s certainly not up to C# and nothing like the degree of power you get from unmanaged code.  But the point of VBA is that the average person can – with a bit of trial and error create pretty much anything they need and for the most part there is very little that you would want to try with a document that you need the power of unmanaged code or even the power of full blown Visual Basic or C#.  But if you wanted to – you very definitely can.  It really all depends on what you need to do, but for this quickie we’re just going to show something simple.

imageSo here’s a button … we’ve double clicked on it to reveal the visual basic editor – which looks like this… and I’ve dropped a little code in there which will open (silently) two command windows run the command “ipconfig /release” and “ipconfig /renew”. 

Now – I’ll do one more thing here, which is to disable the button the user clicks to make sure they only click it once.  Ordinarily I’d drop in some error code to check to see if the code completely properly and so on – you get the idea. 

The code to turn off the button looks like this:

ThisDocument.CommandButton1.Enabled = False

And you want to do that because if you don’t disable the button – then people will keep clicking it because your code may not display any visual indicator that the code was actually executed.  There are literally dozens of ways to provide feed back to the user to give them status and I really recommend you do.  The number of things you can do with a document are amazing.

You can add in there code, functions, anything you really need and now it’s all self contained in a document file that should allow you to send it to people and the only thing they have to do – is enable macros for the document and click on the button. 

 

To enable macros – if someone hasn’t gotten the standard warning asking them to enable them it imagelooks like the one shown here – so you may want to warn people they’re going to see this and to turn it on in any emails you include the document with.  Once again it’s all about trust – and if people start mistrusting your emails then you’ve got a problem.  Make people know that if you do send them something with a macro or code in it … it’s okay by telling them why they got the message. 

You can… of course download the code for this … here… it is of course a “docm” format – meaning that it’s clearly a word document with scripted or programmed (macros even) capabilities.  But I can save this in my groups SharePoint – and even most email programs will allow it to pass to someone since it’’s very openly a macro or scripted object.   Hopefully your company is one of those whose email systems do allow this since it requires the user to manually turn on the document’s macro capabilities.  If yours is one this is a great time saver you can send out to a group to fix issues.

Just my 2 cents and a quickie for the week….

http://cid-e46e5f5a0e3b5854.skydrive.live.com/self.aspx/Public/VBA%20Word%20Document%20Demo/NOTE.docm

 

HEY… Special note… congrats to Tommy Z out there on the birth of his son Zachary Z – many many blessings to you and mom.  He’s a cutie. 

Thursday, January 1, 2009

Drag and Drop richtextbox update…

I almost forgot to mention a little couple details for the previous post…

First off – got an email from Jason who asked about why the code doesn’t work for him.  I took a look at his code implementation and what he’s missing is something I drop in my form load area.  By setting RichTextBox1.AllowDrop to TRUE (in the form load) when the form is loaded and the richtext box control is created, it allows drag and drop operations.  Now I know – I know – by default the richtextbox control is supposed to have the drag and drop automatically set to allow it. 

Now, oddly enough – in my research I’ve found that not all properties dialogs out there (VS2005) for the richtextbox control have the property to set for this in the properties dialog.  I have confirmed – that you can set this in the code as showen below in 2005.  I’m still trying to find out if this is with all richtextbox controls – or if a 3rd party addon or control is what is causing the issue. 

In any case – you can set it programmatically which is what I’ve always done which is why I’m at a bit of a loss as to what the cause of this problem is.  Jason’s confirmed that setting this programmatically worked for him.

Public Class Form1
    Private Sub Form1_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
        'This call is required by the Windows Form Designer.
      
RichTextBox1.AllowDrop =True
    End Sub

In my rush to send that out this morning I probably should have discussed – or commented the code a bit better.  By default

Wednesday, December 31, 2008

drag’n drop files into richtext boxes (so it’s actually useful)

There’s a ton of howto’s out there showing people how to do the drag and drop into a richtext box.  But recently I had a job that required me not to drag the contents from one part of the form to the other but to actually drag a file (or files) into a RichTextbox control – and process them.

Which… if you’ve never tried this before drops the file as an icon you can click on and open.  Not really imageuseful if you’re trying to process files.  It’s kind of annoying that even after a bit of Googling you’ll get a lot of links that let you drag the text or images or all kinds of stuff from one part of the form – to another part of the form. 

Which is fine if that’s what you need.  But what I needed was to be able to grab several files – of either text or xml – and then process them and display the output. 

Since I can’t share my work code – here’s the training wheels version of the code for you. image As you can see we process the XML and display it.  It also does text so … this is fairly close to the final version – which hopefully I’ll take some time and cleanse it from any confidential use info that may be in it and share.  In the mean time – here’s the actual guts of the code that makes it work.

 

Since I’m reallllly running behind – that’s all I can get out this week  - but hopefully it’ll be of use to someone out there.  As you can see – I’m calling the richtextbox dragenter event and customizing it.  The first thing I do is hunt for the dataformats.filedrop type off the event handleer – this allows me to grab the filename and – load it appropriately into the richtextbox.

Anyway… to all out there – here’s the code – have an AWESOME New Year… and I’ll be back on line to annoy all as soon as I can.

 

Imports System
Imports System.Drawing
Imports System.Data
Imports System.IO
Imports System.Collections
Imports System.Windows.Forms
Imports System.Xml
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'This call is required by the Windows Form Designer.
RichTextBox1.AllowDrop = True
End Sub

Private Sub
richTextBox1_DragEnter(ByVal sender As Object, ByVal e As DragEventArgs) Handles RichTextBox1.DragEnter

Try
If
e.Data.GetDataPresent(DataFormats.FileDrop) Then
' Put all file names into a string array
'in case the user grabbed more than one file.
Dim files As String() = CType(e.Data.GetData(DataFormats.FileDrop), String())
Try
'Now we break it down - we only want text files, xml or xsd files
'so we trap for that if it's not one of those - we ignore it.
If files(0).Contains(".txt") Then
Dim
f_stream As IO.StreamReader = FileIO.FileSystem.OpenTextFileReader(files(0))
RichTextBox1.Text = f_stream.ReadToEnd()
'Just for fun we show the name of the file and link it
llblFileName.Text = files(0).ToString

f_stream.Close()
ElseIf files(0).Contains(".xml") Then
Dim
filename As String = files(0)
Dim reader As New XmlTextReader(files(0))
llblFileName.Text = files(0).ToString
reader.MoveToContent()
'Loop through the XML and display it in the richtextbox
Do While reader.Read
RichTextBox1.AppendText(reader.ReadContentAsString)
Loop
reader.Close()
End If
Catch
ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
End If
Catch
ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Private Sub
llblFileName_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblFileName.LinkClicked
System.Diagnostics.Process.Start(llblFileName.Text)
End Sub
End Class

Tuesday, November 18, 2008

Reuse and recycling work

I just did a short bit on color correction in video in the previous blog, I demo’d a couple of different things you can do with the same clip to get different color corrections and other basic work with some filters that you can do quickly to get some cool effects with one very badly shot grainy clip.

Probably what I should have mentioned is … never delete your clips when you’re done.  Catalog them and save them.  Even the bad stuff can be often reused on other projects.

A good example is that grainy bad clip.   Since I had the time this morning while waiting on a phone call – I came up with a couple new effects for that same clip.  I saved them because I thought they might be useful.  Each time I do that I save myself some time.  I may not necessarilly use the clip again, but by adding tags to it in my catalog – the next time some one asks me if I can do a cosmic face effect – I can pull that up. 

Here’s the clip….

Saturday, November 15, 2008

Making it look like it should…

I’ve had a few emails about getting video to look right.  Shelly and a few others out there know I don’t have the best of cameras – I do almost everything on a old Sony DCR TRV280, which is just barely considered a digital camera.  So – why do my quickies look different than the stuff that Shelly’s getting with her brand spankin new HD camera?  Which isn’t to say her stuff isn’t good – she’s got a great eye, and chooses her shots wisely.  But it does bug you when your visuals aren’t 10 times better than a 8 year old $500 camcorder. 

I also generally don’t take more than 10 minutes to shoot a quickie clip and I also don’t use a lighting kit.  It’s a worst case scenario – but when Shelly and I compared footage recently – mine looked better.  So how did I do it?  Simple.  I retouch my video.  It’s something I’ve always had do to – and just assumed everyone did it these days.   It’s believe it or not the most common and best money maker for anyone who has a budding small video business like our friend Shelly.

image With video blogs, video resumes and even local tv commercials for anyone who does video work it’s probably going to be your most common work even though it’s something that most people never think to charge for when they bid a video project.  Cleaning up bad camera skills will take up most of your time.

Whether it’s removing camera shake, or getting the colors back in image a face, or removing an over exposure, or just (believe it or not) removing acne - - if people know you can do that, they’ll want it and you can charge for it.

Lets face it – people prefer to have colors that don’t make them look like they’re in a zombie movie… unless they’re in… a zombie movie.  In some cases, you may have people ask you to do that as well, but they’ll never ask if they don’t know that you can do it.  So you’ll need a good demo of color correction and adjustment techniques that you can do.  The practice of this kind of work on a variety of clips will help you get a good idea how how long it takes to do this work, and what you should be charging for it.  I’m not going to go into details on how to do color correction because it will depend on the software and the hardware you have. 

If you’ve got Ulead or some lower end semi-pro software the techniques will be completely different than say Adobe or Pinnacle or others.  So – do a bit of searching on the web for color correction for your software.  Keep in mind you’ll need to know that the colors you’re producing may be different so – practice, view the footage on different monitors, practice, practice.  The steps may seem similar but there’s nothing worse than a blog that tells you to use a $5,000 piece of software that you don’t have so I won’t do that to you.  But a bit of research and you’ll get what you need.  I’ve seen great tutorials on everything from Movie Maker to AE, and even some very high end stuff like Lyric and others.  All free – all very good.

A good example of this is that I did two versions of the demo for this blog – one in an un-named very expensive program I’m currently demoing to see if I want to buy it (I probably will) and another in the freebie Microsoft Movie Maker.  I know MM inside and out – took me 10 minutes and I had a clip ready to publish that the end result is the one you see in the link below.  The $5,000 program… spent 20 minutes, and the results were… less than satisfying because I really don’t know it well yet.  It decided to do a number of things for me I didn’t ask it to – and the footage quality from it is … well blurry, soft, and worse than the Movie Maker stuff or if I’d just rendered it directly from another program.  So – practice.  Learn, practice.  When you’re ready to use the big boy toys … use’em.  But never show off your stuff unless it’s of a quality you want people to see.

image

In some cases – it’s nothing more than just loading up the footage and adjusting some color curves to get the values right for the shot.  In others you’ll need to do some masking.  For example the color corrected shot above – the face is color corrected with one set of curves, the background received another.  Similarly in the day-for-night shot shown here I had to pull out the face and go with an almost pitch black.  (I might also want to add some shadows from a 3D layer … it depends on how far you want to take it.) You get the idea.

Each of these requires a different level of color correction and adjustment.  So – make sure who you’re doing this for knows that image there is a big difference in price between the kind of work needed for a wedding and the kind of work needed for a network TV commercial shot.  That price is how hard you have to work to make it look good.  Never show someone a “miracle” shot that took you 40 hours of work, and allow them to think this is nothing more than clicking a few buttons… Miracles=expensive, basic band aids = cheap.

image And if you’re looking a highly advanced techniques for color correction – you may be looking as spending as much time as you would to animate something in a full video composite.image It’s a big part of your cost, and even if it is just your time when you’re running a business it’s something you have to be willing to cost out for – which we tend to forget when we’ve taken a hobby or something we enjoy and turn it into a business.

I recommend that you learn all you can about color correction, often the most subtle color corrections on a clip are the most difficult to pull off. There are a whole slew of things you need to consider – the main character of the shot will require a different lighting than anyone else (masking and overlay), the background may need to be softened or sharpened and color corrected as well (another set of masks and overlays as well as curves), will you be needed to track the masks in the shot using motion tracking – and do they need to have some shots that will be rotoscoped? 

image image
Sure – you can make it look like a million bucks, and for a good customer, client or friend – it may well be worth it.  But most will not expect you to create a miracle shot.  Just a good simple clean image that looks nice, gives a good flesh tone and definition. 

And… It also helps if the person you’re shooting… doesn’t look like they haven’t slept since they got off a flight from Chicago two days ago because they’ve been doing all nighters writing a video camera application on the side for kids… but that’s another project, and will require I shave, eat, and maybe get some sleep.  :-)  Over all – your cheapest solution is of course to consider your lighting, take a white balance and shoot it so it doesn’t require correction if possible.

Tuesday, November 4, 2008

Consulting Tips – more notes from the field…

In keeping with posts for those who want to start a consultancy – I asked consultants on several forums what they considered were “Must Haves” to be consultants.

Mind you, most of these people travel (a lot) so there’s a section here for just travel needs. 

On the professional side of the house – your professional needs – you had the more common items.  Business Licenses – which many states have not just a requirement that Consultants be licensed, but also they have additional State and in some cases local taxes for that profession.  Some also require that you have Professional Liability Insurance as well – so check your state to make sure you have that covered.

They also reminded me of the need to actually have contracts on hand – something that when a client is ready to sign on the dotted line, you can have them sign on the dotted line.  Some pointed out they need not be physical contracts – you can always print one up a at a Kinko’s.  But talk to an attorney about getting a good basic contract for services that you can fill in the blanks for (generic standard form) and if you offer a specific service which requires additional language often enough, have them draft up one of those as well.  No one specifically mentioned an attorney but you get the impassion it’s not a bad idea to swing by one and get their take on your business as well.

One thing they all do seem to agree on and I second – is that you find yourself an accountant, or at the very least really good accounting software and learn how to use it so you can hand that over to an accountant for taxes.

Next came another lesson I found interesting – get several bank accounts and use them for their purposes.  A Business account for day-to-day business activities.  A Savings fund for “rainy day” and “misc” unexpected expenses that come up.  A second savings fund for taxes (you may as well earn interest on it if you have to pay it to IRS).  A personal account for you – and place 10% from every check in there.  That’s yours, once its in there – pretend like it doesn’t exist.  Don’t touch it – don’t think about touching it – once every so often, you should take that and roll it into a 401k or other plan for your retirement.

  • Professional Needs
    • Business and Professional Licensees 
    • Contracts (Standard form and Specific Clause)
    • Personal Insurance
      • Health
      • Life
    • Professional (Consultant) Liability Insurance
    • Accountant (or Good Accounting Software)
      • Way of calculating and handling taxes
    • Bank Accounts:
      • Business Account
      • Business Savings Fund 1 (Misc)
      • Business Savings Fund 2 (Taxes)
      • Personal Account Savings (Bonus/Benefits

Next, we ran into suggestions for Business Needs – specifically equipment.  A good laptop and a desktop – and make sure you set aside a small budget to buy yourself a new one every 18 months was a really great tip. 

Cell Phones were next.  Some said Blackberries others iPhones, Win Mobile… bottom line – any good cell phone that can keep you in touch with your mail.  But a very very wise consultant also tossed this one out as a great tip.  For about $30 you can also get a pre-paid phone and for about $5 a month he keeps just enough minutes on it to keep it always ready.  Get one – keep it and it’s charger in your luggage.  If you lose or damage your regular cell – you’re never without one.

Home offices everyone had suggestions – but the most common is to have at least a quiet room you can work from and take calls.

Presence was another area people had opinions on, some said a blog was all they needed, others said they had a fully professional website.  Still others just a page, a blog, and so on. 

Here’s my take.  For $15-45 a month you can get yourself a nice website and have your own domain and your own email address to that domain.  (Office Live can even get you started for free – and move everything over to a paid site. The free site comes along with project and document repositories you can share with customers and coworkers and clients even).  I personally pay about $39 a month for mine and I never use half of it’s features. 

One feature I do use – and I use a lot is the Online Shared Folders.  I often back up my most recent work there.  Anyone who’s ever lost a laptop – had something crash and burn – knows that losing what you’re working on is harsh.  Do that 1,000 miles from your back ups and at a customer site is devastating. 

Skydrive is free and you get 5 gb.  There are dozens of other locations out there.  Windows Live Mesh is a personal savior to me.  Between that and Skydrive and my Office Live folders I’ve got a good 30 gb stored in the cloud that can never be destroyed and I can access from anywhere – even an Airport Kiosk. 

Your presence is who you are as a company.  Put the money out and do this right. 

Next… here’s a blast from the past.  Business cards.  Put your name, put your email, your phone and your web address on it.  Nothing else.  No titles.  Keep it professional and simple.  People do keep them – and people DO remember you when you hand them out.  Simple cards like I mention here you can get from Overnight Prints or other Web printers for 250 for $10-12. 

Next part of your presence is your online identity.  Google yourself.  If you don’t like what you see – then get rid of it.  If you have a myspace page that you wouldn’t share with a customer – get rid of it.  I don’t care if it is your “personal” space.  Clients and customers may see it and they won’t care if the reason you were stripped to your underwear singing LaVida Loco was at a college party 10 years ago. 

Scrub your own google records.  Or accept that someone else will.  Some people have the opposite problem you google them and there’s nothing.  SO – get that website up.  And while you’re at it hit the rest of the social network sites and build up a presence that speaks well of you.

We’re talking LinkedIn, Facebook, and some other professional sites.  I would avoid MySpace and similar sites like the plague as in my experience they’re hard to maintain.  By “maintain” – I mean this – if you go out to blogger or wordpress and create a blog (seperate from your web site) you can then use the RSS feed from that blog to actually feed your blog postings to many social websites at once.

This particular blog entry will feed Facebook, LinkedIn and 3 other sites I’m on.  I post once… and I’m updating 3+ web presences.  Kind of like being your own personal syndication system. 

And since we’re mentinoning LinkedIn, there are now an abundance of “professional” boards out there.  Xing, Ning, Ling, Ting, Ping, Pong, you name it the list goes on and on.   Pick the ones you actually want to participate in and do so.  Spreading yourself too thin is a mistake. 

One thing you may want to do – is open a PayPal account to do on line transactions. 

Many online freelancer sites work with PayPal so if you’re going to doing any work from them – I’d suggest you have one.  You may want to look into some of these as they’re not bad places I’m told to get bits of side work. 

I found LimeExchange, TechRepublic and Guru.com to be fairly good places.  Nothing I’d survive off of – but there is work there. GetAFreelancer.com seems to be over run with competition that is questionable at best … and always willing to bid at minimum wage or lower.  Just my experience – your actual mileage may vary.

  • Business Needs
    • Equipment & Supplies
      • Computer
      • Cell Phone
      • Cards
    • Office (at least a quiet room)
    • Presence
      • Website
      • Email
      • Blog(s)
      • Shared Folders
      • Cards
      • PayPal
      • Accounts with OnLine Providers
        • LimeExchange
        • TechRepublic
        • Guru
        • Others (GetAFreeLancer)
      • Social Networks
        • LinkedIn
        • FaceBook
        • (Xing,Ling,Ning,TheLadders…)

Lastly we come to Travel needs for a consultant.  Every good consultant needs a passport. It’s an official 2nd form of ID, it’s needed for travel and in general it’s handy to have and kinda cool.

You may not be traveling to Brussels – but instead to the suburbs so make sure that you have a travel budget.  Set aside enough cash as you build your business so that you at least have enough cash to pay for regular car maintenance for your vehicle and 1 tickets air fare to somewhere.  (Use it for a vacation at the end of the year was a great tip someone mentioned.)

Get an emergency credit card – basically a card that has a very very low balance on it (paypal was suggested by one person).  If you don’t like that – it was suggested that you always keep $300 cash in your suitcase.  Basically the idea is always have that ready in case of an emergency.

The same goes with a spare change of professional clothes (most said they just kept them in the wrapping believe it or not).  And with the rest of the back ups they also said to make sure you have spare chargers for any devices you depend on a lot.

  • Travel Needs
      • Passport
      • Travel Budget account (1 trips worth)
      • Car Service (Regular Maintenance)
      • Decent Luggage
      • Emergency Credit Card(s) ($300 limit)
      • 1 Set of Spare Clothes (Unopened)
      • Backup Power / Cables for any equipment (Laptop, Cell, etc.)
      • Throw Away Cell Phone