Friday, April 17, 2009

Live Earth Bird’s Eye View

One of the cooler features that sets Live Earth/Maps apart from Google Maps is the birds eye view. 

Take a look at this building in Google Maps:

ScreenHunter_02 Apr. 17 08.02

Now take a look at the Bird’s Eye view of the same building in Live Earth/Maps.

ScreenHunter_06 Apr. 17 08.03

 ScreenHunter_03 Apr. 17 08.02

 ScreenHunter_04 Apr. 17 08.02

 ScreenHunter_05 Apr. 17 08.02

The four views are available if you hit the rotate button in the interface – these are actual photographs taken from different angles.

The difference in understanding heights of buildings, features around buildings, etc. is significant – imagine if you’re doing some house hunting and you see a neighbourhood you like.  Wouldn’t you like to see the increased detail and vantage points that you get from this orthogonal view instead of just the top down view you get in Google maps?

Saturday, March 28, 2009

Adsense and Evil Java

Adsense in general does a good job of targeting ads based on the content of your site.  I have adsense running on my blog and I find that it does a reasonable job of putting ads that are somehow connected to my content.  If I’m writing about Microsoft Project, the reader gets ads on Microsoft Project.

Adsense seems to have one basic problem – it cannot distinguish between positive and negative content.  Here is some content that I found on a random site:

Java is EVIL, it's the work of the devil, made to collect your
souls and to turn you into brainless slaves of hell.
If you like Java, you will lose your soul to be damned
for eternal torment in hell.Demons and devils will feast on your soul
for all eternity.
So stop using it now to save your soul.
Or the holy inquisition will come for you and burn your flesh to save
your soul, because the devil must not collect more souls or nobody can
prevent Armageddon.
Java is evil, using it is BLASPHEMY , only heretics and
witches like Java.And heretics and witches shall BURN !
Java = programming language written by SATAN in Hell's Kitchen in 666 minutes ! ! !

I of course didn’t write this and for the record, I have used Java for many many years and I don’t think I’m going to Hell.  I posted this to prove a point – Adsense will now show ads that promote java products.  This is a sample of what Adsense delivered on this site:

ScreenHunter_13 Mar. 28 11.45

So the question is for advertisers – do you really want your company being linked to content such as this simply because it has a few key words in it?  Is there a way to heuristically analyze content to filter this out (or even better, target the negative content for example to anti-Java advertisers?)

How To Use Microsoft Project: Task Type

One of the more confusing aspects of Microsoft Project is Task Type.  Task Type can be set to "Fixed Units", "Fixed Work", or "Fixed Duration" for each task.

How to Set Task Type

You can set task type in a couple ways:

1. If you select a task or tasks and go to task information (under project in the menu or right click and its there as well) you will find task type in the advanced tab.

ScreenHunter_11 Mar. 28 10.462. If you go to window and click Split when in the GANTT chart view, you get a Task Form at the bottom where you can set the Task Type.

ScreenHunter_12 Mar. 28 10.47  If you select all your tasks, you can set the Task Information for every task to the same Task Type – this will lead to less confusion when you are adjusting your plan because all the task types will be consistently set.

Effort Driven

There is also a check box (which is checked by default) that says that tasks are “Effort Driven”.  When this is checked, it is assumed that work stays constant even if you adjust the other two measures.  So for example, if you change a 40 hour task from 1 week duration to 2 weeks duration, project will keep the 40 hours of work but decrease the number of resources required to compensate (only 50% of a resource in this case).

This may not be what you want and I find particularly with using Fixed Duration having this turned off is highly desirable because want to adjust the work, not the units.  For example, what I want is to tell project, “I want to schedule this task with 1 person for 2 weeks” and have it calculate work to be 80 hours.  If I adjust the schedule to be 3 weeks, I want the work to increase by 50%.  Similarly, if I am working in Fixed Duration and I double the resources, I want the duration to stay constant and for the work to double.  This will only happen if “Effort Driven” is turned off. 

How Task Type Works

Any task can be adjusted using three measures: Units, Duration or Work.  Because each measure is dependent on the other, at least one of the other two must be impacted.  By changing the task type, you are telling project which measure you are going to adjust and which measure should be automatically re-calculated.  Below is a chart that shows how Project reacts based on the task type:

 

Field that you change Field calculated if the task is Fixed Units Field calculated if the task is Fixed Work Field calculated if the task is Fixed Duration
Work Duration is recalculated Duration is recalculated Units are recalculated
Duration Work is recalculated Units are recalculated Work is recalculated
Units Duration is recalculated Duration is recalculated

Work is recalculated

Basic Tips for Using Task Type Efficiently

Here are some basic tips to using Task Type efficiently and to avoid confusion:

  • Pick the task type that makes sense for you and use it consistently.  I tend to think in Duration with Effort Driven turned off first and what I want is to calculate the number of hours (and therefore cost) required to do the work.  Other PMs like thinking in work instead and want to adjust the schedule instead.  Pick an approach before you start and be consistent with it.
  • You can switch the task type without impacting your plan.  Therefore, feel free to change the task type for the specific scenarios below.

Scenarios to use Specific Task Types

Fixed Duration

I used Fixed Duration when I have a good understanding of the schedule and the team and I want to calculate cost/effort.  A good example of this is doing a plan for requirements gathering interviews.  I know that I have 2 weeks of interviews, 1 week of documentation and 2 days of client review and I know that I need a Business Analyst and a Technical Architect in each one at 100%.  Fixed Duration works really well because I can adjust the schedule really easily and the work effort is calculated for me.

Another good use for Fixed Duration is % allocations for overhead resources.  Project Managers for example tend to be used on an overhead basis for the duration of the project on a fairly constant basis.  If the project takes longer you will need more project management.  It’s also easier to think of assigning a PM at 30% to a project for the entire duration than to say, “I need 85 hours of project management for this project).  With Fixed Duration, you can simply assign the PM for the entire duration and adjust the % allocation and the work effort is automatically calculated.

Fixed Work 

A good use of Fixed Work is when you want to try and fit a fixed amount of hours into a fixed schedule.  By fixing the work, you can adjust the number of resources you need to impact the duration.  For example, let’s assume you have 1280 hours of work and you want to try and jam that work into a fixed 8 week period.  With Fixed Work turned on, you can set the allocation of resources to 400% in order fit the fixed amount of work into a duration you wish.

Fixed Units

I generally find that using Fixed Units is my least desirable option simply because in most real world scenarios adjusting the number of resources required is the most flexible option.

One scenario where Fixed Units might be appropriate is for department planning.  In a department, the number of fixed units is constant (the number of full time employees) and as a Director you want to know how much work your team can produce.  What tends to happen in these scenarios is the queue of work is constant and the duration flexes – you end up telling the poor person at the end of the priority list that their project won’t get done until next year.

In this case, setting Fixed Units would allow you to lock in the resource pool based on the size of your department and then adjust the work to calculate the resulting schedule.  Based on the schedule, you would then be able to tell your stakeholders how many projects can be done in the coming year.

I hope that provides some guidance on how to use this key function in Microsoft Project – I have found even very senior Project Managers do not fundamentally understand how Duration, Effort and Units work together and how to model them in Microsoft Project.  If you understand the conceptual framework and the rules that Microsoft Project uses, you will find that there are less errors in your plan, less confusion and less tearing your hair out when you find Project adjusts your numbers in ways you didn’t intend.

Sunday, March 22, 2009

Check Out the New Live Writer

As part of the latest Microsoft Instant Messenger update, there is a Live Writer tool now included as part of the Windows live toolset. 

ScreenHunter_10 Mar. 22 22.09

It’s free and having now written a couple posts with it, I can attest that it’s quite good:

ScreenHunter_08 Mar. 22 22.07

  • It has a single interface for editing blog posts but can publish to multiple sources, e.g. Blogger, Wordpress, Typepad, etc.
  • Editing using a real client is much easier than the Blogger HTML content editor.  I always found it frustrating to use it because it created some odd HTML choices and formatting mistakes.
  • Spell check uses the word spell check and it highlights your spelling errors immediately.
  • You can save a local draft so if you editing offline you can save your post and publish later.
  • Images and videos are inserted locally and only published at the end.  This makes it faster to create your post, fiddle with the images, add or remove them, etc. because you don’t have to do the upload until your post is finalized.
  • The tool has the ability to insert a windows live map. 
  • There are a number of plugins available online for insert other types of objects such as flickr pictures, silverlight streaming applications, files, facebook photos, etc.  The plugins insert the appropriate HTML into your blog posts for each type.

This will definitely make my life easier as a blog writer…thanks Microsoft!

How to Use The Fill Handle in Excel

One of the key features in Microsoft Excel is its ability to fill data based on existing values.  Excel is smart enough to extrapolate and auto-fill values based on your existing ones.

Click on the black box in the corner of any cell and drag.  Excel will fill the cells automatically.  The fill handler works both horizontally and vertically.

ScreenHunter_01 Mar. 22 21.36

Here are some tips on how to use the fill handle for values:

  • Type in a month in either full form (e.g. January) or abbreviated form  (e.g. Jan) and drag and Excel will fill in the subsequent months.
  • Type in a day of the week in either full name (e.g. Monday) or abbreviated form (e.g. Mon) and fill.  The filled cells will contain the correct days of the week in sequence.
  • Type in any value into a cell (e.g. 1, 2, etc.) and when you fill in with the same value.
  • Type in a sequence of values in cells, e.g. 1 in B2, 2 in B3, etc.  and select multiple cells and then drag the fill handler.  The cells will be filled in with the sequence.  This works just as well with intervals such as 2, 4, 6 etc. as well as 1,2,3.
  • If you hold the control key when dragging the fill handle, you will see a plus (+) sign and the value selected will increment by 1 in each cell.
  • If you right click on the fill handle, it pops up a dialogue where you can explicitly instruct excel how to fill the data.

The Fill Handle can also be used to fill formulas.  Here is an example:

ScreenHunter_02 Mar. 22 21.51

The product in c2 is a formula =A2*b2 and the sum is a formula A2+b2.  Now let’s assume that you have a series of values and you want to have the same formula repeated:

ScreenHunter_03 Mar. 22 21.53

If you select the cell with the existing formula you can use the fill handle to automatically fill down the right formula for the other rows.  It automatically figures out that as you move down rows it should adjust the formula so that A2 * b2 becomes A3 * B3, C4 * B4 and so on.

There is also another way to fill in the cells.  If you select the cell you want to copy and then select a region and paste, it will fill the values in the same way.  It again automatically adjusts the formula so that it makes sense based on the new row that it now occupies.  This works both horizontally and vertically.

ScreenHunter_04 Mar. 22 21.57

One last tip on filling – there are cases where you will want the value in your formula to not change as it moves from row to row.  Take this example:

ScreenHunter_05 Mar. 22 22.00

In this case, if you simply do a standard fill in Excel this is the result:

ScreenHunter_06 Mar. 22 22.01Why did this not work properly?  The reason is that Excel assumed that B1 * B3 should be B2 * B4 in the second row and B3 * B5 in the third row.  However, what we wanted is for the first number to stay constant and only the second row to change. 

The solution to fixing constants is to name them.  Named values in Excel do not change when filling.  To name a cell, click on the cell and then in the left box type in a name for the cell. 

ScreenHunter_07 Mar. 22 22.04

Then when you create the formula, use the name instead of the cell address, e.g. instead of B1 * B3 we will now set the formula to InterestRate * B3.  By using a named cell, Excel assumes these values are constants in formulas and doesn’t adjust them automatically.

Wednesday, February 18, 2009

Proposed ISP Tax Shows Canadian Content Producers Do Not Understand the Internet

Decades ago in Canada, funds were created to encourage television production of Canadian Content. These programs were funded by the cable companies and regulated by the CRTC. These funds were created to share "Canadian Stories" in a sea of American television content that because of their inherent scale could be produced easier and cheaper.

The CRTC is now entertaining a proposal to create a similar fund through taxation of ISPs (and therefore all Internet subscribers) to fund Canadian television producers so they can continue to produce "Canadian Stories" created by Professional Content Creators. This proposal is supported by industry lobby groups such as ACTRA, Society of Composers, SOCAN, etc.

These folks want to tax every Internet subscriber (e.g. practically everyone in Canada) 3% of revenue (which of course means the price will go up by 3% to compensate) from the ISPs that provide us Internet Access.
This proposal shows a complete misunderstanding of the difference between a regulated, limited, and centralized Television Industrial Complex model and the Internet - a fundamentally distributed, decentralized and long tail model of content distribution.

Here are some fundamental differences that these lobbyists fail to acknowledge in their proposal:

  • In the television age, the definition of "Content" was professional created, broadcast content. The assumption in this proposal is that Colin Mochrie, the CBC, and other CanCon stars own the culture and the MILLIONS of content creators on Facebook, YouTube, etc. in Canada are not qualified to tell their own stories.
  • In the television age, the definition of "Content" is VIDEO content. On the Internet, there is no limitation and content can be everything from maps, images, videos, flash, applications, etc. Content can also be a mix from a wide variety of sources - how do you regulate content creation when it is mashed up collections from all over the world?
  • In the television age, there were major barriers to content creators because of the limited shelf space. Canadians need a way to get on the air simply because they couldn't compete with American content producers. But on the Internet, this model makes no sense because anyone can put up a web site, the costs are cheap and the number of channels are unlimited. What is the barrier to making money on the Internet other that POPULARITY? There is a simple way for Canadians to support their own culture - visit the web site and support it through ad revenue like everyone else does on the Internet.
  • In the television age, exporting content to other countries was extremely limited because the distribution channels were controlled by cable channels in the country. The Internet has no such barriers - if Canadians want to share their stories they can gain an audience world wide without any restriction.- In the television age, there is no integration of "Application" and "Content". Monetization of content was through a single model - distribution broadcast supported through advertising. In the Internet, the two are mixed together and there are many monetization models available. The monetization mechanisms are also distributed, e.g. I can be creating "Canadian" content that is monetized through Google AdSense in the United States. The selling, re-packaging and syndication of content through dozens of channels is both an opportunity and a challenge for Canadian content producers to claim for themselves. But the solution isn't to bypass these channels and simply tax the consumer - this is just a return to the simplified television monetization model.
  • In the television age, the justification for this fund was that in order to compete with American content producers there needed to be funds to create a level playing field and encourage the telling of "Canadian Stories" because the distribution channel for content was limited both in capacity (number of channels) and revenue potential (only the top 10-20 television shows make the money). However, the Internet market is completely the opposite - the market is a long-tail, unlimited distribution channel and there are lots of examples where relatively small content distributors are making money by targeting micro-niche audiences by keeping their costs relatively low and providing a highly valuable target audience for advertisers or by providing content through subscription that funds the cost.

The CRTC is in the business of regulating traditional centralized content broadcasting and is therefore bought into the fundamental model assumptions of the television age. Canadian Television Producers who are in favour of this model seem to be wanting to keep their existing model and apply it to the Internet, because if they simply wanted to make money from content there are easier more direct Internet models available that do not require a tax on consumers. The Canadian Producers advocating for this proposal and the CRTC if it accepts it simply are trying to implement the old television age model and apply to the new Internet content model so that these folks do not have to migrate to a new way of creating, distributing, monetizing content. In addition, the entire proposal continues to question the fundamental value of funding "Professional Content Producers" as the bastion of Canadian culture when there are potentially millions of Canadians who are creating "Canadian Stories" themselves on a daily basis through blogs, Facebook, etc. Do we really need Gordon Lightfood, Colin Mochrie, the CBC, etc. to have a monopoly on culture creation when anyone in Canada can easily tell their own stories?

Saturday, February 14, 2009

Kincardine Cable TV Community Channel

I was up in Kincardine and had a major nostalgia moment. They still had the low resolution cable access announcements feed going - I haven't seen one of these in about 20 years!








I particularly love the last picture - low resolution announcement board has links to web sites in it....

For those who are young enough never to have seen one of these, here are some details:

  • The reason for the garish colours is back in the mid 80's, these systems were limited to about 4-16 colours depending on the system used. There are only so many look and feel options when your choice of colours is BRIGHT BLUE, BRIGHT RED, OBNOXIOUS GREEN, BLACK AND WHITE.
  • You'll notice that all the letters are capitalized. This was pretty common in early computer systems - the resolution was so low that trying to display lower case letters made them hard to read.
  • There was only one choice of font and it was always that big blocky font that you see here.

Maybe we should along with the rural broadband fund establish a government program to upgrade small towns cable access feeds so they can have access to those fancy TV guide scrolling ad versions we have in the big cities?