Skip Navigation Links / Posts / Posts By Category

Posts for Category: Just Writing

Feed for this Category
Be bold and concise; be clear!

The other day I was thinking that when you write things, that maybe you should try to be as clear as possible.  I think that this makes it a bit clearer for the person who is reading what you have written to understand exactly what it is that you are trying to say.

I used to write that way.  Lots and lots of words.  Hard to read right?

Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts. This requires not that the writer make all his sentences short, or that he avoid all detail and treat his subjects only in outline, but that every word tell.

- The Elements of Style

Let's take another crack at that opening paragraph...

Be clear in your writing.  Remove unnecessary words and write in a positive tone.  Your readers will thank you!

That's better smile_regular

posted on 6/8/2007 6:52:28 AM ( 1 Comments )


Digital Divide

[An excerpt from a recent dream]

Makind is moving to an interesting point in its history.  Imagine a species that could never be wiped out.  Not through famine, nor disease, nor nuclear winter, not even through an ice-age.  How could this happen?  How could the human race exist beyond an ice-age?  The answer lies in our relationships with machines and the internet.


The year is 10006 and the weather is superb.  Beyond the fields and giant poplar trees are clear blue skies.  The temperature is 27C and there is a gentle breeze blowing in from the east.  What a lovely day to get out of the house thought Brad.

While packing his blades in his travel bag, Brad's AV unit shrieked out and Clint's face appeared on the display surface.  "Hey Brad", he said.  Brad had known Clint for as long as he could remember and even though they had never actually met, they had collaborated on many exciting projects together and made good money in doing so.  This had been achieved mostly by building customer experiences and trading them on the global market.

Many of the friends in Brad's digital community shared a similar relationship with Brad as Clint did.  These friends were varied in their interests - which reflected Brad's own diverse personality.  There was Raymond who shared Brad's interest of football.  Oftentimes Brad and Raymond would just sit back in their respective pods for hours watching and reminiscing over football matches from across the eons.

There was Nina who shared Brad's love of photography and also Pete who was renown for knowing where to find the best music spots to hang out on the internet.

After a short discussion with Clint about some ideas that Clint had for a new customer experience, it was time to head out into the day...

posted on 9/5/2006 2:36:04 AM ( 1 Comments )


Abseiling into the abyss

I finished writing Chapter 2 (of 10) this week and must say that, so far, the whole book writing experience has been very interesting. 

During the week I was in Melbourne and took the opportunity to have an afternoon drink with a good friend.  This friend recently committed themselves to pursuing a dream; something that meant jumping into an abyss and trusting that your inner-self will save you from smashing face-first into floor of the pit.

Many of the stories that he told me about his march to committment meant a lot to me as I had to stave off the same doubts and fears of failure before committing to writing the book.

It was an wonderful discussion.

 

posted on 10/21/2005 1:48:03 PM ( 0 Comments )


Some interesting insights into the Adventure Works business

Over the past couple of days I've been doing some analysis of the Adventure Works database that ships with SQL Server 2005 for a book that I'm writing and it has turned up some interesting facts.  I thought that I'd share a few of them here:

Total Employees:
290

Hires by year:
2003:  3
2002:  4
2001:  21
2000:  45
1999:  198
1998:  16
1997:  2
1996:  1

Employees by department:
Production:  179
Sales:  18
Purchasing:  12
Information Services:  10
Finance:  10
Marketing:  9
Facilities and Maintenance:  7
Quality Assurance:  6
Engineering:  6
Production Control:  6
Shipping and Receiving:  6
Human Resources:  6
Document Control:  5
Research and Development:  4
Tool Design:  4
Executive:  2

Sales by Fiscal Year:
2004:  $ 60,767,644.18
2003:  $ 39,444,013.32
2002   $ 27,074,681.97
2005   $        50,840.63

Purchases by Fiscal Year:
2004  $ 42,374,724.46
2005  $ 13,226,191.62
2003  $  3,542,412.98
2002  $  2,380,431.02
2001  $     103,895.82

Sales by Product Category (All Time):
Accessories:  41194 Units,  $ 889,301.36
Bikes:  40031 Units,  $ 66,947,515.15
Clothing:  21394 Units,  $ 925,550.76
Components:  18698 Units,  $ 8,112,992.06

 

posted on 10/15/2005 10:04:59 AM ( 2 Comments )


Web Part Pages - DisplayModes

The DisplayMode of a web parts page is an interesting thing and, when you look at the syntax for changing it you'll probably wonder why an enum wasn't used. Here's an example showing the code that is required to change the mode to "catalog" mode:

WebPartManager wpm = WebPartManager.GetCurrentWebPartManager(this) ;
wpm.DisplayMode = WebPartManager.CatalogDisplayMode;

If you've done any amount of .NET programming then you would most likely have expected to have seen something which looks a bit more like this:

WebPartManager wpm = WebPartManager.GetCurrentWebPartManager(this) ;
wpm.DisplayMode = DisplayModes.CatalogDisplayMode;

There are actually 5 "standard" display modes in total - BrowseDisplayMode, CatalogDisplayMode, ConnectDisplayMode, DesignDisplayMode, and EditDisplayMode - and each of those has an associated property of the same name which hangs off of the WebPartManager instance. These properties are actually instances of a class which inherits from an abstract base class named WebPartDisplayMode. This is done because the mode changing actually requires certain logic and state which is held within this class. For example, because of the impact of things such as personalization, each mode may behave slightly differently on a per-user basis.  The initial values of the display mode instance are set by the WebPartManager as you'd expect.

The 5 "standard" display modes are:

BrowseDisplayMode
This is just as it suggests - browse mode. Browse mode is the default mode for a page and is the mode that you you'd be in if you were just browsing a web parts page. No special permissions are required to enter this mode.

CatalogDisplayMode
Switching the page into "catalog mode" displays the catalog user interface so that the user can add new web parts to the page at runtime. When you attempt to change to this mode there is a check to ensure that you have a CatalogZone control on the page before the mode is changed. If you have not added a CatalogZone control to the page then that mode will not be supported for the page and an exception will be thrown.

ConnectDisplayMode
Before you can switch the page into "connect" mode you will need to have a ConnectionsZone on the page and you will need to be authenticated. When in "connect" mode users can manage dynamic connections by displaying the ConnectionsZone. When in this mode, each part that is configured for connections will automatically have a "Connect" verb added to its verbs collection; to display the ConnectionsZone you click on the connect verb for a specific part and the ConnectionsZone will allow you to manage the dynamic connections for that part.

DesignDisplayMode
"Design" mode allows users to drag web parts between zones. When you switch into this mode each zone the user interface for each zone changes appearance to indicate that web parts can be dragged onto it.

EditDisplayMode
In "edit" mode users can move web parts between zones just as they can when in "design" mode. Switching the page into "edit" mode displays the editor user interface so that the user can add eidt web parts properties at runtime. When you attempt to change to this mode there is a check to ensure that you have an EditorZone control on the page before the mode is changed. If you have not added a EditorZone control to the page then that mode will not be supported for the page and an exception will be thrown.

posted on 9/25/2005 3:45:59 AM ( 5 Comments )


LOB data - it's all in the execution environment

The growth of applications that expose line-of-business (lob) data will accelerate as organizations continue to move to a more virtual model. This is not just because of the "convenience" factor but more through necessity.  As the percentage of the "Work from Home" part of the labor force continues its steep rise of the past 10 years we will rapidly enter a new era, one where people performing the key line-of-business functions (the "admin" staff) are suddenly working away from the office.

To fulfill this requirement, 2 things must happen: first, frameworks must exist that allow us to easily provide access to lob data and, secondly, the data must be available. 

In answer to the first part of this equation, there's a raft of Microsoft's web-service oriented frameworks being built to facilitate the content delivery side of things; consider the following: Sharepoint Portal, ASP.NET Portal Framework, Information Bridge Framework; and various Scorecard application frameworks.

Over the next 18 months I'd expect to see many businesses needing help with the second part of the problem: what lob data to expose and how to do it in a meaningful, secure manner.  In many cases this will mean taking stuff out of filing-cabinets and putting them onto web servers and in others it will simply mean re-routing existing services.  On the whole though it means that we are going to be writing and designing a lot more service-centric architectures than we do today.

So, now's the time to beat the rush… if you're not there already, start getting those SOA skills polished up real soon.  The main game won't be the simple drag-n-drop style web services through, it will be creating the execution environments for rapid delivery of secure, performing, framework-compliant services. 

Test yourself... how do you plan, develop, test and deploy a new, lob service in your environment today?

posted on 9/20/2005 1:52:54 PM ( 0 Comments )


Good portals require good gallery customization

A little while ago I wrote about a session that I was giving at TechEd where I was to show how you can "dress-up" the default CatalogZone in ASP.NET.  During the course of that session I showed the extensibility points that you could get into to make the CatalogZone look like the Sharepoint "gallery", as a reminder, here's some pictures to show what I'm talking about:

Sharepoint Gallery Out-of-the-box ASP.NET Gallery Simple Custom ASP.NET Gallery
The Sharepoint Gallert The out-of-the-box ASP.NET Gallery A simple, customized ASP.NET gallery


Notice that, the standard ASP.NET gallery has a very limited range of categories and lacks some of the nice "eye-candy" that the Sharepoint gallery has - such as styled gallery "button links" and images associated to web parts.  In the cusomized ASP.NET gallery, I've added a very simple implementation for those things.

"Portal" architecture is an extremely exciting medium for content delivery because of the sheer volume of information that we have to wade through to get the knowledge to make critical decisions.  The idea is that your browsers "home page" be configured as a dashboard of web parts supplying your daily informational needs. 

A good portal will have a gallery which offers a wide range of web parts that let you view your required information in a single page.  The important thing here is that all of this information becomes just a single click away and is flashed up before your eyes at regular intervals while you are performing standard actions - such as browsing the web.  This range of parts will hopefully contain a range that will cater for, not only your business needs - such as a part showing which staff members have annual leave coming up - but also your spiritual, informational and even personal growth.

A good portal requires quite a bit of customization as can be seen from the following images of the galleries on the http://Start.com and http://Google.com/ig portals:

Start.com Google

Start

Google Portal Gallery

 

These are the 2 internet portals that I know of that allow users to add and remove web parts dynamically and each of these portals have very useable galleries that are friendly to look at, fast to load - using AJAX technologies to implement a lazy loading strategy - and easy to access.  They also have their parts laid out into categories to make choosing common parts much simpler.  In a business sense these categories might be categories that align to business streams - such as finance, manufacturing, HR or sales.

How will you choose to customize your galleries?   What other features should a highly useable gallery have?

posted on 9/19/2005 12:46:00 PM ( 1 Comments )


SmartPart

SmartPart allows you (apparently, haven't tried it yet) to host any User Control as a SmartPart within Sharepoint.  This would absolutely rock! 

Between continuing with my document writing, downloading and playing with ATLAS and downloading and trying this, I can see many sleepless nights ahead.

Note to Wally... stop IM'ing me and telling me to go to bed :P

posted on 9/14/2005 4:37:16 AM ( 1 Comments )


Atlas is alive, long live Atlas!

This is the big news of the day, ATLAS is now live :-)

I can't wait to get into this stuff and have even set aside a section in a document that I'm writing to discuss it.

UPDATE: I just had some feedback from someone who is actually at the PDC, apparently, regarding ATLAS... "The buzz is good" :-)

posted on 9/14/2005 12:11:32 AM ( 0 Comments )


The predictable layout of Portals

I was reading Rands' article about the problem with portals and you know what?  He's right!  For all the great web parts and AJAX-style behaviours that have been added to catalog interaction, the standard portal is pretty boring in terms of layout.  Two modern portals are Google and Start.com (Microsoft Research), note that both of these provide a premium experience in terms of gallery interation but both rank pretty poorly in the "engaging UI" stakes. 

posted on 9/13/2005 1:43:07 PM ( 0 Comments )


Having a hard time managing my thoughts lately

Recently I've committed to writing a large public facing document.  When it's complete it will be easily the largest document that I've ever had to write.  At a guess I think that the final output might even be up around the 100,000 words mark.

At this point in the project I'm heavily into research and building up working models to see how things work (yes it's a technical work).

Currently, I'm pulling stuff from all over the web and assimilating it into a crude catalog of topics that I've built to keep track of it all (think folders, file system and text files).  As you can probably imagine, the amount of content that I've gathered for research is starting to grow very rapidly.

As the content grows I'm spending more and more effort trying to keep my own ideas partitioned from stuff that I've copied from the web while still maintaining a common link between both types of content and the category that I've linked them to.  Ideally they would be stored side-by-side underneath the topic but be easily identifiable as to the author/owner.

If you are reading this and you have experience with stuff like this then I'd love to hear about it.  I imagine that anybody who has written a thesis must have stumbled across this type of problem.

posted on 9/12/2005 9:27:53 AM ( 2 Comments )