Mark Richman provides expert advice, strategy, and software solutions to businesses worldwide. His clients range from the Fortune 500 to small businesses to startups seeking dramatic results. Mark creates and improves business-critical web applications, increasing productivity and maximizing profits.

Rails Integration Test with shoulda, factory_girl, webrat, and authlogic

I had some issues trying to use a symbol

session[:user_credentials_id]

vs. a string

session["user_credentials_id"]

Here is my solution:

require 'test_helper'

class LoginTest < ActionController::IntegrationTest
  context 'A user' do
    setup do
      @user = Factory(:user)
      # puts @user.inspect
    end

    should 'be able to login with a valid username and password' do
      visit '/user_session/new'
      assert_equal '/user_session/new', path
      fill_in 'Login', :with => @user.login
      fill_in 'Password', :with => @user.password
      click_button 'Login'
      # puts "user.id: #{@user.id}"
      # puts "session: #{session.inspect}"
      # puts "session[:user_credentials_id] #{session["user_credentials_id"]}"
      assert_equal @user.id, session["user_credentials_id"]
    end

    should 'be denied access with an invalid username or password' do
      visit '/user_session/new'
      assert_equal '/user_session/new', path
      fill_in 'Login', :with => @user.login
      fill_in 'Password', :with => 'wrongpassord'
      click_button 'Login'
      assert_nil session["user_credentials_id"]
    end

  end
end

Mercifully, Website Logins Will Vanish in the Internet Future

I was quoted today in the following article in the New Times Broward-Palm Beach:

With the spread of cloud computing, social networking, and client-based technologies, fewer and fewer of our computing tasks are taking place on our personal computers. More of them are going online — into the cloud. We have more usernames and passwords to manage than ever.

The most reckless web surfers use the same login and password on dozens of sites, making themselves vulnerable to identity theft. The rest of us try to memorize a huge variety of them, which isn’t a practical solution either.

That’s where OpenID, Google ID, and Yahoo! ID come in handy. You can literally log into almost any website now using nothing more than a click to allow the information to be passed. No more entering username and password into a form. And there’s more on the horizon.

Now browsers like the new Chrome are supporting Information Cards. These are

information files stored by the browser that can be accessed by websites with your permission.  You can log into sites without entering any information. It just takes a mouse click on an authorize link.  A lot of information can be potentially stored on those cards, but right now it’s mainly name and default username.

“For social media, maintaining separate usernames and passwords for each site we visit will certainly become secondary to OpenID, OAuth, Facebook Connect, and myriad other players in this new space,” says Parkland-based IT consultant Mark Richman, whose clients include major financial institutions, e-commerce firms, and startups.

For highly secure web applications, such as banking, the adoption rate will certainly be slowest. Privacy concerns, lack of centralized identity management, and the need for banks to support the least technical users will always be barriers to adoption.

In the future, these could store default privacy settings, default avatars, links to your favorite sites for instant sharing, and more. This kind of integration is going to become very, very cool.

Read the original article here.

Thoughts on Value-Based Fees for Agile Software Projects

Here’s a quandary – we, as value-based IT consultants, aspire to charge value-based fees for our services (how obvious!). We know that doing so requires tight scope control. As such, this often requires a detailed specification. However, this is the very waterfall model that the agile movement shuns. How do you reconcile scope control, customer satisfaction, and ever-changing requirements with value-based fees? I don’t think it’s preferable – or practical – to do two week iterations on a value-based fee basis. Just as much as value-based fees benefit the client by not requiring them to make an investment decision every time they wish to engage you, they also may trap the consultant into having a value discussion/negotiation with the client for each iteration. Thoughts?

Evangelizing Yourself

A phenomenally inspiring presentation by Whitney Hess from IA Summit 2009. This really hits home for me, as I’m also a self-promoting introvert.

View more documents from Whitney Hess.

Questioning the Billable Hour part 3: Seven Industries

Situation A: Is Faster Service Worth More?
Your computer is not working properly. You have tried to understand the problem and find a solution that you can implement yourself. Yet, after trying, you are no closer to a solution, you find the situation aggravating, and you decide that there’s no point in continuing to attempt fixing the problem yourself. Your time and attention are better spent on productive activities and should not be wasted on this computer problem any more.

The computer technician that you call asks a few questions then says to bring the computer in to his shop. He charges $60 per hour and predicts the computer ready in two business days. Once he has the computer, he will diagnose the problem then call you with an estimate.

Q1 As you consider not having your computer on hand for two business days, and the opportunities to use it productively that you must forego, would you be willing to pay more to have it fixed and back in use much sooner?

Q2 If the computer technician offered to fix your computer within 24 hours, satisfaction guaranteed, for a fixed fee agreed in advance, how attractive would that be to you?

Situation B: Evaluating Your Next Car

You and your spouse are shopping for a new car. Having visited a few car dealers, conducted research on the web, and spoken to a trusted person at your usual auto-service shop, you and your spouse have narrowed your search to two cars, both of which you have taken on a test drive together.

Q1 As you consider the value of each car, do you care how quickly or slowly either car was built, or how much time the manufacturer put into design & engineering?

Q2 As you consider the asking prices of the cars, does it matter to you how much time the car salesperson has spent on the sales process with you?

Situation C: the Value of a Salad

At a restaurant, you order a supper salad. The menu says that the salad costs $7.99. As usual, you expect the salad to be served to you in a few minutes.

When your order reaches the kitchen, the manager finds that the supply of tomatoes has gone too low. She sends somebody out to buy tomatoes so that your salad can include them. The errand runner breaks a sweat to get the tomatoes to the kitchen in time for your salad to be served with the rest of the meal.

Your salad is served with the rest of the meal, and it is billed at $7.99.

Q1 As you sit at your table waiting for your meal to be served (unaware of the restaurant’s tomato supply) does it matter to you if the kitchen’s supply of tomatoes has gone too low, causing the manager to send somebody out to buy more?

Q2 If you knew about the low tomato supply and the decision to send somebody out to buy tomatoes, how would that affect your expectations about the timing of the meal being served or the amount billed?

Situation D: How Much Trust When the Meter is Running?

Jacquie has been self-employed as a graphic designer for four years. She has found that her prospective clients (for example to design new logos and use those logos in designing stationery) typically start the buying process by asking her, “How much?”

In her first year, Jacquie found this frustrating because she could not answer right away. She needed to learn each client’s needs and expectations before she could provide a reasonable estimate, and her estimates were based on how much of her time would be needed.

Eventually, she learned to redirect that question to gauge the scope of each new project. This allowed her to provide reasonable estimates and close sales. Still, from that first question until the client signed her estimate, there was always uncomfortable uncertainty and a sense of risk.

There seemed to be a problem of trust intrinsic to the pricing aspect of the sales process. For example, one prospective client said, “I understand that you’ll show me three logo options with samples of how they’ll look on stationery. I am then supposed to choose and you’ll proceed from there. But what if I don’t like any of them as-is and want you to adjust or mix-and-match before I approve one? Would your fees stay the same?”

Jacquie dreaded this. If the client was not satisfied with her initial work, then she would have to charge more or make less money for her time and effort. Under the circumstances, neither possibility was welcome.

She considered that she would have to improve her skill at developing trust. She also longed for a way to make buying from her easier – especially if she could avoid the tension involved in estimating and hoping to make a decent profit when working for clients whose need for her billable time could exceed their budget.

Q1 What if Jacquie reviews her process for each type of project to establish a range of cost? This way, somebody interested in a new logo and stationery, for example, could ask, “How much?” and Jacquie could reply, “It would cost between X and Y dollars. Let’s discuss what you’d get.”

Q2 What if, in addition to replying as above when asked, “How much?” Jacquie would say, “If we can discuss how important it is to you, then we can fix the fees in advance with a satisfaction guarantee”?

Situation E: Paying for the Solution – Not the Time It Takes

Dexter is a management consultant with an accounting firm. He has been advising the owners, directors, and senior managers of various companies long enough that he typically begins formulating solutions to their problems during the initial stage of discovering the problem. Understanding that each situation is unique, Dexter still pays close attention throughout the discovery stage.

Because he always brings to bear his years of experience, and because he has the expertise to “sometimes come up with a $10,000 solution in 10 minutes,” Dexter eschews the billable hour as unfair. Rather, his firm charges fixed fees, established up-front based on the client’s gauge of importance, and includes a satisfaction guarantee. When the scope of any project changes while underway, the fee is adjusted on the same basis – all in writing.

Q1 Would it still be more fair for Dexter’s firm to charge according to his time spent, with his rate per hour linked to his seniority?

Q2 Should any other professions that apply experience and expertise to solve client problems also consider value-based fees, fixed up-front with a satisfaction guarantee, and accommodate any changes in scope by adjusting the fees?

Situation F: Fixing the Cost of a Pizza

In Canada, there is a great number of pizzerias. Even small towns typically have more than one pizza place. Though there are pizza chains, there is also a variety of independent pizzerias across the country. Despite the number and variety, the industry has certain standards for ordering and pricing, anywhere you go, based on size of pizza and number of toppings.

As Emile considered opening a pizzeria in Morocco, he had the opportunity to consider the Canadian model: standard sizes of pizza, each with its own basic price, then standard pricing for toppings, plus free delivery within a certain radius. Emile analyzed the pizza business and found that toppings do vary in cost to the pizzeria. He also found that, with the overhead to keep a pizza oven at operating temperature, the cost to bake a pizza would vary with size each and number per day. The cost of any one ingredient could also vary over time, as would the price of fuel for a delivery car. These all factored into Emile’s business plan.

Q1 How important is it to you to know how much a pizza will cost when you order it?

Q2 If your pizza order today matches your pizza order from a month ago, do you consider it reasonable for the price to be the same, even if the pizzeria’s costs might have varied?

Situation G: Original, Custom Newsletters for Standard Prices

Robert was a professional writer, not of screenplays or magazine articles, but of original custom newsletters. Despite his ability as a wordsmith in a range of contexts, the market consistently regarded him as a newsletter specialist and brought that business to him. Robert decided to embrace this reputation. The rationale behind his business model was simple: Give people what they want.

He developed a business model that would always create original, authentic newsletters – best to maintain a credible connection between his clients and their readers – and in an apparent paradox, make profits charging standardized fees.

The reputation for newsletters that had driven demand for his writing was based on reliably good writing with a degree of original authenticity that made his third-party authorship invisible. He trained and managed a small cohort of writers in his techniques also so that readers would assume the writing to be the issuer’s. Robert also ensured that each newsletter would have a look unique to the issuer. Then, each issue would be laid out with client-approved text and photos by the same person who designed the original template.

Robert paid his writers and designers fixed fees and had them work under a contract that protected the business interests of all parties. Likewise, he charged his clients fixed fees under a purchase agreement that both encouraged decisive collaboration on newsletter contents and allowed the flexibility necessary to make each issue fulfil its potential as a timely reflection of the issuer-reader relationship. His purchase agreement even included a pay-upon-approval satisfaction guarantee.

Q1 If you could have original, custom work performed for you by a small team of creative people with the security of fixed fees and a satisfaction guarantee, would you bypass low-cost, off-the-shelf alternatives?

Q2 If you were to read a newsletter that seems to be a generic, impersonal product with the name and photo of an individual pasted in, would you consider it worth much more to that individual to issue an original, custom newsletter like those Robert and his team create?

– Glenn R Harrington, Articulate Consultants Inc.

About the Author:

Glenn Harrington is the Principal Consultant of Articulate Consultants Inc. Since 1996 he has specialized in consulting on authentic key messages as the basis for effective marketing, brand management, and client loyalty. http://www.articulate.ca/

Article Source: ArticlesBase.comQuestioning the Billable Hour part 3: Seven Industries