# Friday, 30 April 2004

Didn't developers always create the form first, then the function?

Usability Observation - "Toolbox First" for Forms Programming.  I just ran a usability study with 9 participants where we asked them to build two forms...

So from now I think that when we think about feautres that support any UI programming, we should always think that the user is going to approach it by laying out the form first, and then making the design of the form work by writing code, running wizards, using other features, etc... If users have to do work somewhere else in Visual Studio before they can start laying controls onto the form, they probablyt won't discover this dependency, or won't want to use that feature.  [via ricksp's weblog]

I am absolutely astonished that MS have only just come to this opinion. I've been programming for (gulp) 30 years - in the non UI days (tape/cards and paper printout) the function would come first but since starting with UI (Apple II onwards) the form would be designed and then the code put in to make it work. Heck, after the spec is done don't even COBOL programmers work like this - design the screens on screen coding sheets and then implement the code to do the screens and then the business logic to wire them together?

Is this the first time MS have done this sort of study - if so, why? If not, what was the result of previous studies?

Perhaps I am (or was) at odd with the rest of the world - I did write a database program where you never designed the database per se - you designed forms and the database tables were created for you as a result of your form design.

#    Comments [0] |
# Thursday, 29 April 2004

Isn't this going full circle?

Why did you choose to launch an aggregation blog?

 [via Micro Persuasion: Q&A with Robert Scoble on Blogging, Media and PR]

Since Dave Winer has linked to the 'interview' it will get a ton of hits - and Dave was one of the original Web loggers - those who logged the web; a list of links to things that they deemed, for whatever reason, interesting. Now Scoble has to come up with a new name - why?

 

#    Comments [0] |

ASP.NET Server control for MeadCo ScriptX

So that I don't loose this (updated so doesn't look gobble-de-gook):

scriptx.ascx:

<%@ Control Language="c#" %> 
<script language="C#" runat="server">
public string guid = "";
public string src = "lic.mlf";
public int revision = 1;
public string codebase="http://www.meadroid.com/scriptx/";
</script>
<object id="secmgr" style="DISPLAY: none" codeBase="<%= codebase %>smsx.cab#Version=6,1,431,2" 
classid="clsid:5445be81-b796-11d2-b931-002018654e2e" viewastext>
<param name="GUID" value="<%= guid%>" >
<param name="PATH" value="<%= src%>" >
<param name="REVISION value="<%= revision%>" >
</object>
<object id="factory" 
   codeBase="<%= codebase %>smsx.cab#Version=6,1,431,2"
   classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext>
</object>

Which can be used thus:

<%@ Register TagPrefix="MeadCo" TagName="ScriptX" Src="scriptx.ascx" %>

and then in the page:

<MeadCo:ScriptX 
   runat="server"
   guid="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
   src="http://www.meadroid.com/scriptx/xlic.mlf" id="ScriptX1"
   EnableViewState="False"
   Visible="False" />

#    Comments [0] |

W3C and Web Applications.

The W3C is sponsoring a workshop on Web Apps and Compound Docs in San Jose, June 1st & 2nd.

From the web site:

Position papers submitted for this workshop topic should address at least some of the following questions:

  • What functionality is needed for Web applications? What should a hosting environment provide?
  • How much of a Web application should be declarative? How much in script?
  • How are they related to Web documents, which are normally static?
  • Is there a need for a standard set of user interface controls? Should these controls use the native platform look and feel?
  • What APIs are needed for Web applications (eg. retrieving and sending data over the network, parsing XML, client-side storage)?
  • How should a Web application and its related resources (e.g. images, sounds) be packaged?
  • What security issues need to be addressed?
  • To what extent can application behavior be usefully abstracted from platform specific details of UI controls? How can the application integrate different modality interfaces (eg. voice, pen, keystrokes)? How to address richer models of interaction management that go beyond simple event handlers?

[via DonXML Demsak's Grok This]

Hmmm, interesting - there is a mailing list and the workshop will also have a public web site. Worth following to see what is presented and conclusionsl, if any.

#    Comments [0] |

And another MS timeline goes 'phut' (XP SP2 this time)

Not long ago the timeline was first half of the year. There is now speculation here and here that it is now delayed to, how shall we put this, 'early in the second half of the year'. An RC2 still seems on its way in May and to bang my favourite drum (which I have banged with various MS people to no effect what-so-ever) will SDK bits be provided?

 

#    Comments [0] |
# Wednesday, 28 April 2004

Shrink-wrap software

Why shrink wrap software won't die.  Tangible assets [via The Register]

 Interesting, but no analysis of the type of software sold via this channel, or is it everything?

#    Comments [0] |
# Tuesday, 27 April 2004

Interesting visual

"rollers".  [via Critical Section]

Rather than nick the whole article and repeat here, you'll have to follow the link. 

#    Comments [0] |

12.1 million UK households online

Society: Internet Access.  12.1 million households online [via National Statistics Online]

In the fourth quarter of 2003, 49 per cent households in the UK (12.1 million) could access the Internet from home, compared with just 9 per cent (2.2 million) in the same quarter of 1998.

 Wow.

 

#    Comments [0] |
# Wednesday, 21 April 2004

Timeline on XP SP2

Rebecca Norlander, group manager for the SBTU, spoke with Nash and confirmed that a second test version of Service Pack 2, known as Release Candidate 2 (or RC2) will be released in May, and that the final version of XP Service Pack 2 (SP2) is still on schedule for the first half of the year. More release candidates are possible after the RC2 release, depending on customer feedback, Norlander said.  [via InfoWorld: Microsoft executives face questions on XP SP2: April 20, 2004: By : PLATFORMS]

Still waiting for an SDK here, still waiting for info on how the SetHomePage() binary behavior knows that its been called from within a user initiated context. If MS authored stuff can do it, why can't the rest of us - or have I missed the obvious?

#    Comments [2] |
# Wednesday, 07 April 2004

Channel 9 (well everyone else is linking to it...)

Channel 9 is all about the conversation.  Channel 9 should inspire Microsoft and our customers to talk in an honest and human voice.  Channel 9 is not a marketing tool, not a PR tool, not a lead generation tool. [via Microsoft WebBlogs]

 Awww, bless the dear little things. About the only thing of that list it isn't is a lead generation tool but PR and marketing it most certainly is. They are just pretending that they don't think its a PR tool aren't they?

#    Comments [0] |

Arsenal: 1 - Chelsea: 2

The title says it all.
#    Comments [0] |
# Monday, 05 April 2004

The MSI toolset the Office group uses (apparently)

WiX became the first project from Microsoft to be released under an OSS approved license, namely the Common Public License.

Before everyone gets sidetracked by the Open Source implications, let’s talk about exactly what WiX is.  WiX is a toolset composed of a compiler, a linker, a lib tool and a decompiler.  The compiler, called candle, is used to compile XML source code into object files that contain symbols and references to symbols.  The linker, called light, is fed one or more object files and links the references in the object files to the appropriate symbols in other object files.  Light is also responsible for collecting all of the binaries, packaging them appropriately, and generating the final MSI or MSM file.  The lib tool, called lit, is an optional tool that can be used to combine multiple object files into libraries that can be consumed by light.  Finally, the decompiler, called dark, can take existing MSI and MSM files and generate XML source code that represents the package.

 [via when setup isn't just xcopy]

 Like probably a lot of other people I hate the supposedly professional tools such as Wise and InstallShield either because they are not very good or because the are expensive or both! This toolset might well be worth a look at as an 'understandable' way of editing MSI files.

 

#    Comments [1] |
# Thursday, 01 April 2004

XP SP2 IE API Changes

OK, this is all I can find about IE relevant API bits on MSDN for XP SP2:

CompatFlagsFromClsid Function (Internet Explorer - URL Monikers)
Reads the Microsoft ActiveX Compatibility registry entries for the specified ActiveX control.

CoInternetIsFeatureEnabledForUrl Function (Internet Explorer - Security)
Determines whether the specified security feature control is enabled for the security zone of the specified URL.

CoInternetIsFeatureZoneElevationEnabled Function (Internet Explorer - Security)
Determines the URL policy for for the specified URL. When the policy is , this function displays a dialog that allows the user to decide whether to allow the zone elevation.

CoInternetIsFeatureEnabled Function (Internet Explorer - Security)
Determines whether the specified security feature control is enabled.

CoInternetSetFeatureEnabled Function (Internet Explorer - Security)
Enables or disables that specified security feature control.

INTERNETFEATURELIST Enumerated Type (Internet Explorer - Security)
Contains the security feature controls for Microsoft Internet Explorer.

IWinInetCacheHints Interface (Internet Explorer - URL Monikers)
Allows an URLMON client to change the file extension on the Microsoft Win32 Internet (WinInet) cache file.

Updated 01.04:

INewWindowManager interface

NewWindow3 Event (Internet Explorer - WebBrowser)
Raised when a new window is to be created. Extends NewWindow2 with additional information about the new window.

IAttachmentExecute Interface
Helps client applications safely manage the saving and opening ofattachments for users.

If anyone finds more, please let me know (not that I am becoming obsessive about this!).

#    Comments [0] |

XAML Communications failure

Chris Anderson doesn't think he was clear about the 'hack' in XAML and I misunderstood....

Pete Cole said .... That's OK a) the hack works and b) its invisible to the 'user' (they just see the programming formatting correctly as they expect) - hacking implementation of a 'programming' language ain't going to work."

The interesting to note, it is actually the Style object that implements the custom parsing and serialization of markup to support the "as use" syntax. This interface is documented and discoverable (both by tools and developers). In addition any component can implement the interface and customize their parsing.

Hack, maybe. Invisible, no.

 [via simplegeek]

The problem is I should have said "(they just see the application formatting text correctly as they expect)".

My point was hacks in Word processor code seem to be a fact of life and one 'gets away' with it because the hack is invisible to the end-user.

There may be trouble with XAML in that the hacks are visible to the end user (the developer), this is what, it seemed to me, Marc Clifton was saying (or at least one of the things he was saying).

I'm afraid I am one of those people to whom code needs to be readable; the hacks that are becoming apparent in XAML mean that, to me, it is difficult to read, i.e. to translate it in your mind to what is going on. One should be able to read a piece of code and get a sense of what it is doing, even if you've never seen the language before - this just doesn't seem to be true in XAML - tags are sometimes classes, they are sometimes instructions and unless you know the entire .NET framework off by heart you will never know just by reading a piece of code what it is you are looking at?

What does this do:

   <menuitem text="Hello" prompt="This option will cause an explosion" />

It seems that it depends upon whether I, the developer of the implementation of menuitem have implemented custom parsing. But just by reading it, do you, the XAML developer, know?

It may be that my model of what XAML is is just completely wrong and therefore I'm reading XAML samples with the wrong mindset

#    Comments [0] |