2012-01-23 17 views
1

我需要計算用戶的打字速度,打字速度是通過輸入他的電子郵件地址來計算的。計算電子郵件地址的打字速度

用戶將與輸入其電子郵件地址的其他用戶競爭。我如何做是因爲我花了很多時間來輸入他們的電子郵件地址。例如5秒

然後獲得輸入的字符數量,例如23個字符除以5(平均字長)

總時間/總的詞語輸入每分鐘* 60 =詞

的問題是,存在差異,如果用戶有一個很短的電子郵件地址例如[email protected]他將每分鐘獲得170個單詞,而如果您有一個像[email protected]這樣的平均分數,則每分鐘可獲得55個單詞。

我如何找到標準化或增加體重的方法,以便我可以比較打字速度?

+1

你不會從小樣本量中獲得好的數據。唯一適當的措施是字符/秒,即使這樣也會很容易扭曲。 – zzzzBov

+1

如果你可以讓你所比較的用戶輸入相同的東西,那將會非常簡單。 –

+0

不可能(或不切實際)正確補償,因爲你還必須考慮重複密切人物等事情 - 想想當被打字時,「googoo @ googoogaga.net」和「wilfried @ smithslaw.com」之間的區別同一個用戶。此外,由於重複,人們傾向於以比其他文本更高的速度鍵入他們的電子郵件和常用密碼。 –

回答

2

通過讓用戶鍵入相同的輸入來標準化。當你讓他們輸入非常少量的數據時,這一點尤其重要。考慮以下內容:

Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Nulla fermentum felis nec quam accumsan venenatis porta ligula vehicula。個人簡介簡歷簡歷簡歷簡歷簡歷Praesent eros metus,商品id adipiscing簡歷,congue eu tellus。 Nullam feugiat,馬蒂在adipiscing congue,tellus dui mollis nibh,id convallis metus libero sed libero。 Pellentesque棲息地morbi tristique senectus et netus et malesuada fames ac turpis egestas。 Nunc個人簡歷愛情。 Sed非fringilla purus。 Quisque lectus leo,lacinia vitae elementum at,laoreet eget leo。整數坐在amet orci tellus上。 Sed diam metus,elementum id varius在,iaculis坐在amet愛斯。

這花了我大約每分鐘28個字(這比我的正常打字速度慢)。這是相當數量的文本,但更重要的是它通常不是輸入文本。這不是我的母語,所以我不得不慢慢分析每個單詞。這不是我經常打字的東西。等等。

這花了我大約每分鐘600個字(雖然這是很難估計,所以有錯誤的顯著周緣有)。至少可以說個人最好。

爲什麼這些結果變化如此顯着?因爲我輸入的東西很不一樣。當你爲這個方程(多人)添加另一個變量時,你會得到更多的變化。

您需要對測試進行標準化。當教育機構測試他們的學生時,他們通常會讓這些學生完成相同的任務,即使這些任務至少在功能上相同。這有助於消除變量,因此唯一的變量就是正在測試的變量...人員。

+0

同意我猜在我的情況下,我需要找到另一種方法來註冊註冊過程。我沒有考慮準確性,但我需要一個公平的結構,其輸出不會有很大的變化 – user991384

1

嘗試一些沿着這些路線:

<!doctype html> 
<html> 
    <body> 
     <textarea id="email_add"></textarea> 
     <input type="button" value="Done" id="done"/> 

     <script> 
      var doneButton = document.getElementById('done'); 
      var emailArea = document.getElementById('email_add'); 
      var lengthOfEmail = 0; 
      var time_start = 0; 
      var time_end = 0; 



      emailArea.onkeyup = function() { 
       lengthOfEmail++; 
       if(lengthOfEmail == 1) time_start = new Date(); 
       else time_end = new Date().getTime() - time_start; 
      } 

      doneButton.onclick = function() { 
       alert("Email Length: " + lengthOfEmail); 
       alert("Time: " + time_end + " milliseconds."); 
      } 
     </script> 
    </body> 
</html> 

現在,你將要調整的電子郵件地址長度以適應輸入了「@」符號當這樣的時候按住shift。但這應該可以幫助你獲得時間,並且可以驗證它們不僅僅是複製和粘貼。

+0

這正是我所做的! :)我所做的是爲每個按鍵增加一個計數,然後將計數與文本框中值的長度進行比較。我這樣做是爲了避免用戶使用自動完成。雖然這不能解決問題,但您無法將輸入[email protected]的人的輸入速度與電子郵件地址爲[email protected]的人的輸入速度進行比較。這是我的問題,我需要找到一種方法來標準化電子郵件的長度,即使他們輸入不同長度的電子郵件 – user991384

+0

你知道,你可以設置註冊的東西。你可以有一個驗證碼盒,然後有另一個標準化的盒子填寫。第二個盒子是他們的基線,用來比較電子郵件地址的打字速度。如果你走這條路線,你需要訪問一些服務器端數據來獲取他們的信息,以便在他們註冊站點時獲得基線。或者可能是遊戲體驗的一部分,也可用於其他應用程序。 – Tim

+0

我不認爲我很好地解釋了這種情況。我擁有的是一個啓動頁面,用戶可以註冊該產品啓動時通知。我決定對註冊過程進行遊戲化,以提高轉化率:)因此,基本上你有一個輸入字段來輸入電子郵件地址,並且用戶競爭打擊將顯示的最快打字速度 – user991384

相關問題