david's profileDavid Yardy PE, MCSD.NET...PhotosBlogLists Tools Help

Blog


    January 31

    User Interface Testing with Asp.Net

    Conscientious web developers have tried for a number of years to automate the web interface.  To date this is not possible with Visual Studio Professional or even the Test Suite products delivered with Team Foundation.

    Microsoft has missed the boat each time.  Currently, Microsoft's only solutions are Web Application Stress testing (WAS) and Application Center Test (ACT).  These products really were primarily focused on performance and load testing of web pages.  I have yet to meet any developer that has used these products for this purpose on a consistent basis.

    Understanding these shortcomings of the Visual Studio Suite of products I have over the years evaluated a number of open source products.  These solutions attempted to automate the browser but each always had issues or shortcomings that limited any widespread usage in the developer community.  Often these products could not deal with browser scripting, dialog windows, third party controls and as a result failed to simulate the user clicking through an application.

    Recently, I tried the Watin open source product which promised to automate the browser.  I first picked up on this product through a blog by James Avery. 

    My hopes were still in a shattered state from all prior evaluations.  Pessimistically I walked into another evaluation realizing that it was only a matter of time before I shot it down.

    I have been on a project at work with three months of effort.  I pointed my efforts towards automating this project.  To my amazement I was able to automate the entire user experience.  With Watin I was able to deal with JavaScript alerts, dialog windows, upload controls and third party custom controls.  Well I am now a believer. 

    Follow up blogs will document how I have Watin to integrate with my unit testing efforts as well  base classes developed to aid in the scripting, and CodeSmith templates developed to improve efficiency.

    Let me know if you have had success with other testing products (open source or purchased).

    January 27

    Interesting Job Environment

    Check out this small video clip of a job environment in Vermont.  This type of job environment really interests me. 

    Is your job environment like this?  The good and bad of this type of environment?

    January 25

    SQL - Selecting all Tables

    Selecting all user tables in SQL Server database with row counts in each table.

    SELECT
        [TableName] = so.name,
        [RowCount] = MAX(si.rows)
    FROM
        sysobjects so,
        sysindexes si
    WHERE
        so.xtype = 'U'
        AND
        si.id = OBJECT_ID(so.name)
    GROUP BY
        so.name
    ORDER BY
        2 DESC

    Business Web Applications and Porn Sites?

    I was chatting this morning with a good friend regarding the slow adoption of a number of new Microsoft technologies. The discussion proceeded to try to understand where the technology fit into our current business environment.

    Jeff Handley says:
    yeah,and the need for the browser plugin is a barrier
    Dave   says:
    for example how to push value of fancy design/ (even ajax) when they still dont have process automated or consistent ..consistency in org has got to be primary 'hinderance' to automation
    Jeff Handley says:
    true
    Dave   says:
    browser plugin will only be solved by more time/usage (look at flash now..almost expected)
    I would bet that 95% of the work we do..is new automation efforts and NOT ..hey I got this web app. (I want someone to use ajax to make it better)...maybe 98%
    Jeff Handley says:
    true, we now have users specifically requesting that we ajax-ify some functions
    Dave   says:
    now with that ...Microsoft has big hill to climb to get usage of ajax/silverlight stuff
    Jeff Handley says:
    but not yet wide-spread
    they just want to get their work done mostly
    Dave   says:
    have to wait till the porn sites use Silverlight before people see the value
    Jeff Handley says:
    that is actually very true

    Youch, did we actually say that? Us professional business developers are waiting for the porn industry to implement the features of Silverlight before our company employees are requesting the same interactivity provided by the Silverlight technology.

    Maybe we need to dedicate our time to the shady side of the web to help/encourage technology adoption in our business environments.  Youch again.

    We currently have technology that works (.NET Framework and related database platforms).  Microsoft has focused the last 5 years making those technologies main stream and widely adopted.  I think the next 5 years will be a little tougher - pushing slick interfaces and improved interactivity.  As mentioned, so many companies are focusing the automation (with any technology) efforts on existing business processes.  The technology and interactivity takes the back seat very fast in that environment.

    Any ideas on how professional developers can influence new technology adoption? (aside from donating time to the dark side?) Let me know if you have some?

    January 22

    Project Execution and the morning after?

    Before and after developing software it is often to have the similar thoughts regarding the project.

    Before - "This project should be easy and quick."

    After - "Why was the project so complex and take so long."

    With all honesty the project requirements were scoped/documented and the schedule was developed with input from managers, developers and the customer.  With a large requirements document and a schedule that looks like it is large enough to account for any customer change we have 'before' type thoughts.

    3 to 6 months later when our project is nearing completion the mind has morphed the 'before' statement into one similar to our 'after' thought.  How do we mitigate the morphing process?

    Often we try to justify the difference by one of the following reasons but can we really just categorize it and leave it alone when this thinking occurs on each project?  Is it fair to have an excuse?

    - project resources were limited by time
    - resources were not trained or skilled enough
    - the customer was more involved than desired (refining documented requirements)
    - the customer requested too many changes
    - new technology was a source of difficulty

    There are plenty of online resources/lists for why software projects fail.  Don't compare reasons why project fail with the list started here.  This list is justification as to why our thinking changed from day one to day number 180.  I am really interested in building that list.  If you have any to add please let me know and I will update this post.

    I really think part of this issue is related to the 'pin-striping' on the car (analogy).  We can build a car in 1 month but the pin-striping (all the details in the requirements document) takes the other 5 months.

    Makes you think if we are trying to put too much pin-striping on cars for the value and cost of them?  Do the projects really need the pin-striping?

    January 18

    Working with People - Interesting Information

    Working with technology is always easier than with other individuals.  Technology in it's simplest approach is yes or no, 1 or 0's.  Friends, family, co-workers, and neighbors are always in the 'gray' zone.

    Here is an interesting approach with a mantra of '20/60/20'

    20% will be the ones who side with you, agree with you, want to go along with you.

    60% will be the ones on the fence. Haven't decided yet, but will do what you ask.

    20% will be the ones who say "no way" - don't waste your time here

    Use 80% of your time on the 60%.  Use 20% of your time building the 20% more.

    The 60% + 20% will get the other 20% to go your way.

    This approach very simply classifies conflicts and relieves the pressure and worry.  I like it.

    January 16

    Tip: IE Quick Key List

    These work with IE7 only.

    Middle mouse button or CTRL+Left mouse button: Open link in new background tab

    CTRL+SHIFT+Left mouse button or CTRL+SHIFT+Middle mouse button: Open link in new foreground tab

    Middle mouse button on the tab or CTRL+W: Close tab and will close IE window if only one tab is left opened.

    CTRL+Q: Open Quick Tab view where a master window will display generated live thumbnail image of all tabbed pages.

    CTRL+SHIFT+Q: Instead of thumbnails, view list of all open tabs.

    CTRL+T: Open new tab

    CTRL+TAB: switch to next tab

    CTRL+SHIFT+TAB: Switch to previous tab

    January 12

    MaxiVista and Windows Vista

    A post or two ago I discussed the features of a software multi-monitor solution Multi Monitor Dual Screen Software KVM(Maxivista).  In my configuration my primary cpu is running Windows XP and my secondary is Vista.  I have not had any technical issues with this configuration.

    I have however been keeping an eye on the technical issue related to Vista and MaxiVista.  In order for this product to function correctly on Windows Vista the video card must be XPDM (XP Driver Model) compatible.  This scenario becomes important if you want your primary pc to be running Vista.

    Windows Vista Display Driver Model (WDDM) brings fundamental changes to the management of multiple graphics adapters and external displays. This includes a new restriction, because WDDM drivers do not support "heterogeneous multi-adapter" multi-monitor implementations.  Specifically.."All graphics adapters in a system must use the same display driver model" and "If multiple graphics adapters are present in a system, all of them must use the same WDDM driver".  More information can be found here regarding this issue.

    MaxiVista has mentioned on their web site that they are working on a work around. 

    I have yet to determine XPDM compatibility in my home computer (running Vista).  But this soon could be a problem for me.  Just a word of caution if considering the purchase of MaxiVista.

    Aside from the above I love my current configuration (Windows XP primary and Vista as secondary).  Let's hope they come up with the work around prior to me upgrading my Windows XP laptop.

    January 10

    Visual Studio Testing with SMTP

    There is a way to send e-mails with no SMTP server set up. Just configure your .NET application to drop e-mails into a specified folder instead of sending them via SMTP server:

    <system.net>
        <mailSettings>
                <smtp deliveryMethod="SpecifiedPickupDirectory">
                 <specifiedPickupDirectory pickupDirectoryLocation="c:\EmailOutput\" />
                </smtp>
          </mailSettings>
    </system.net>

    This will instruct SmtpClient class to generate mail message, save it as .eml file and drop it into c:\EmailOutput\ folder.

     

    I saw this tip on web and thought I would repeat as this was important news for me.

    Bill Gates Retirement Video - Funny Stuff

    "Completely focused" ... take a look at this video here

    Get a load of the special guests - Matthew Mcconaughey, Jay Z, Bono, Steven Spielberg, John Daily, Hillary Clinton, Obama, Al Gore, and Brian Williams.

    Very cool!

    January 01

    Web Hosting

    For many years I have kept an eye on available web hosting companies.  I have yet to review all the sites below but this appears to be a pretty comprehensive list of companies that provide SQL 2005 and ASP.NET services.  As I review their offerings I will update this post with my findings.

    If you have had any experience please let me know. 

    Key factors in the decision making process: technical support (email/phone/chat), pricing, sql server 2005 support, asp.net support (and version), email services provided

     

    Crystal Tech  
    discountAsp.net  
    HostBacket  
    MaximumAsp  
    re-invent technologies  
    M6.NET  looks promising
    applied innovations  
    reliablesite.net  
    WebHostforAsp.net Currently hosting sites here however having performance concerns.  Been having performance concerns for 3 weeks now.
    SeekDotNet.com  
    StudioCoast  
    PARCOM Internet Services  
    DotNetPark  I have hosted web sites with DotNetPark but ended up leaving due to intermittent email issues.
    Server Intellect Web Hosting Solutions
     
    SoftSysHosting  
    BizHostNet  
    Network Solutions  I have had sites on Network solutions but found support for Asp.net and SQL Server very limited
    GoDaddy  Currently, I host sites using GoDaddy.  There phone technical support is quite responsive however I have found connectivity to SQL Server somewhat disappointing.