Recap: From Documents to Apps: Evolving an Open Web – Molly Holzschlag

This month we were honored to welcome Molly Holzschlag to Refresh Detroit. Molly is considered one of the godmothers of the Web. Her talk centered on“From Documents to Apps: Evolving an Open Web”.

As an advocate for open standards, she outlined how the open web allows for the empowerment of all individuals via global access.

She started her talk with a quote from Hillman Curtis I’m fond of and wanted to share:

“Be prepared to reinvent yourself. Be prepared to go out on a limb occasionally, and be prepared to do the things that you feel strongly about”
– Hillman Curtis

A few things that stood out for me while she went through her presentation and interacted with the audience were:

  • Setup a personal advisory committee, no one person knows everything about the web.
  • It’s survival of the most adaptive, not survival of the fittest.
  • On the Web nothing matters, browsers, OS, data format, or language.
  • The definition of “open” often means transparency. But the preference is to mean authenticity.
  • The many things rule: Never look at one thing and think it is just one thing.
  • Adopt an error forgiveness. We cannot know it all.
  • ARIA is the important piece that most Web sites are missing.

Molly gave us five main points to move forward

  1. Support existing content
  2. Ensure interoperability
  3. Define the user agent behavior (Solve problems from real-world issues)
  4. Better handle errors
  5. Evolve what we have

Some pictures from her talk

Recap: The Tricky Business of Website Testing

You might think software testing would be a bit of dry topic but Christopher Martello’s talk at the November Refresh Detroit meeting was far from it. Chris gave us a look at what website testing is, who does it, why they do it, and numerous excellent resources that everyone can use for testing.

Chris has a lot of experience to draw from. He has been doing software testing for about 12 years. He’s done manual testing, automated testing, been a team leader and a project coordinator. Currently he’s a Build & Deployment Coordinator.

He started with an explanation of why we need testing and what makes testers tick. Testing identifies issues that get missed during development. Tester’s are often in between the developers and the business analysts, making sure the functionality is in balance with the requirements. They can function as the gatekeeper to production, determining when a build is good enough for a release. “The most compelling factor for me as a tester is I want to make sure the customers … have a good experience,” said Chris.

Software testers are the type of people who like to find defects and issues. They identify the intended and unintended ways users can go through an application. They also make sure all the intended scenarios work. They incorporate quality throughout the process. It’s important that IT finds the bugs. “You don’t want the user to find the bugs”.

The testing process consists of planning tests, running through them, and reporting the issues you discover. Chris discussed how testing is one part of the overall quality assurance process for your website or application. “It helps build confidence in your application, the team can say it has been tested.”

Chris briefly touched on some of common terms and testing methods used in software testing including functional testing, automated testing and load and performance testing.

He then discussed how NOT to test, which included:

  • Letting the users do the testing
  • Saying “I’ll test later”
  • Saying “Works on my computer.”

He discussed other types of testing including standards and browser testing.
Standards testing involves determining if a web site or application meets HTML, CSS, accessibility, security and the evolving mobile standards.

Browser testing is a very important aspect website testing. Unfortunately its difficult to cover the ever increasing number of web browser and operating system versions. Graded presentation standards are typically developed to determine what browsers your web application works on and to what level.

You can base your standards on your own internal application logs and on browser statistics found on sites like Stat Counter’s Global Stats. “You should probably be tailoring your browser standards to what your audience is,” said Chris.

He went on discuss the specialized craft of load and performance testing. “It’s almost like designing a very complex scientific experiment”, Chris explained. Its important for identifying bottlenecks and break points in your application but it can take a great deal of time to set-up.

There’s also manual testing. “You got to have some eyeballs and some hands on”, to test if your application meets the requirements and has the intended functionality.

A few examples Chris gave of manual tests included proof reading the site’s fine print, checking if the correct phone number is listed, and making sure a form’s error validation is working correctly.

Chris then provided a list of tools and services that you can use for testing. I’ve listed some of them here but for a complete list I recommend you check out his slides.

  • SnagIt – A handy screen shot tool.
  • IETester – A way to test multiple versions of the Internet Explorer on one machine (free)
  • BrowserStack – A complete cross browser testing service that creates virtual machines for you.
  • Xenu Link Sleuth – For testing links on your site. (free)
  • SQA Forums – Software Quality Assurance forums
  • Cacoo – Free online drawing and wireframe sharing

Automation is where it’s at in software testing. According to Chris, “if you execute a test case more than three times then you should automate it.” It can save a tremendous amount of time. The downside is sometimes you don’t get support for the tools, the budget, and the training needed. While expensive, Chris likes the
HP QuickTestPro testing tool. Some other automated testing tools are:

Two load and performance testing tools Chris mentioned included Rational Performance Tester and HP LoadRunner.

Some issue and defect tracking tools Chris mentioned are:

Chris wrapped up the talk with some demos of some of the tools he discussed and answered questions from the audience. Throughout the presentation he provided examples, interesting anecdotes, and some fun QA jokes. Refresh Detroit would like to thank Chris for his excellent presentation.

Below are Chris’ slides:

Recap: Contracts, What You Need to Know

It was a pleasure to have attorney Mary Novrocki speak at Refresh Detroit again, she last spoke to our group about freelance legal issues in spring 2009.

Mary started her talk with background on contracts and why they’re important for you and your client. She explained that including a glossary of the terms used in contracts, near the beginning of the contract, will help clarify the meaning of the terms.

Mary Novrocki discussing contracts

 

Mary explained the components of a contract, which include:

  • Parties – the participants in the contract
  • Recitals – statements explaining who the parties are and what they intend the contract to achieve
  • Subject matter – the services, goods/property that is the subject of the contract
  • Consideration – payment; something of value received by one party to the contract from the other
  • Warranties and representations – guarantees by one or both of the parties regarding something that has or will happen as a result of the contract.
    • You, the freelancer will provide specific services, while the client will pay for those services, according to specific milestones met.
  • Risk allocation – disclaimers, indemnities, etc.
  • Conditions – the what ifs – happenings that, if they occur, will stop the transaction from happening or will undo it
    • Important to both parties
    • Think of past projects where things didn’t go as planned. Perhaps payment was delayed, or content not delivered. Consider what the consequences are, and clearly state what will occur.
  • Performance – what the parties expect from each other regarding work to be performed or goods/property to be delivered
  • Dates and term – essential dates of delivery of goods/property; a term of work.
  • Boilerplate – governing law, notices, survival, waivers, notices, contract construction, etc.
    • This is the area that attorneys know well.
    • What will be the governing law? The county and state you live in? Or the county and state your client lives in? What works best for you?
  • Signatures – by all parties to the contract
    • In Michigan, digital signatures are considered legal.

The elements of a contract were drawn from Feldman, Robert A., Michigan Basic Practice Handbook Chapter 8: Drafting Contracts, The Institute of Continuing Legal Education, © 2011.

Mary ended her talk with a discussion of the Michigan landmark case about mutual mistakes in contracts from none other than nearby Plymouth, Michigan.

Michigan Legal Milestone
Michigan Legal Milestone: Rose of Aberlone

The case involved the sale of a cow in the 1800’s, between T.C. Sherwood of Plymouth, Michigan and Hiram Walker (yes, the Hiram Walker of the Hiram Walker & Sons company in Windsor, Ontario, Canada).

Rose of Aberlone
The Case of Rose of Aberlone

Both parties thought the cow was barren, negotiated a price, and confirmed the price in writing.

However, when Sherwood arrived to take the cow, Walker refused to sell the cow. Walker had discovered the cow was pregnant, which increased her value.

The Michigan Supreme Court ruled Hiram Walker could rescind his agreement to sell the cow, due to a mutual mistake.

Here’s a closer look at the plaque that stands in Kellogg Park in downtown Plymouth, Michigan commemorating the case.