Come fare domande sui newsgroup

This page is also available in English. Want to translate into your language? Let me know!
Translation by Valter Minute

Ci sono alcune regole che è utile seguire quando rivolgi delle domande a newsgoups gestiti da comunità di utenti. I newsgroup Microsoft che riguardano Platform Builder e lo sviluppo per Windows CE (come microsoft.public.windowsce.platbuilder, microsoft.public.windowsce.embedded, microsoft.public.windowsce.embedded.vc) non sono gestiti direttamente da Microsoft. Le persone che rispondono alle tue domande sono volontari che spendono un po' del loro tempo cercando di risolvere il tuo prolema perchè lo trovano interessante e voglioni imparare qualcosa di nuovo.
Le persone che postano una buona parte delle risposte sono, in molti casi MVP (Most Valuable Professionals), un titolo assegnato da Microsoft a persone che aiutano la comunità degli utenti gestendo uno user group, rispondendo alle domande sui newsgroup pubblici etc.
E' importante notare che nessuno è pagato per rispondere ai quesiti. Sono tutti volontari.
Adesso che lo sai, capirai anche perchè non c'è nessuna garanzia di poter ricevere una risposta. Le ragioni più comuni per cui non si riceve una risposta sono:

  • La tua domanda ha già ricevuto una risposta in passato
  • Cerca prima di chiedere!

  • Non hai fornito abbastanza informazioni
  • "Chiamo questa funzione e non ottengo il risultato voluto, aiutatemi!" questo tipo di richieste è inutile.

  • Continui a chiedere la stessa cosa più e più volte
  • Se nessuno ha risposto alla tua domanda dopo un paio di giorni è possibile che sia perchè tu non avevi ancora letto questo post su come si fanno le domande, oppure perchè nessuno conosce la risposta.
    Se vuoi "riattivare" la tua richiesta, invia una risposta a te stesso con qualcosa del tipo "Nessuno può aiutarmi?" e fornisci altre informazioni rilevanti che hai acquisito enegli ultimi giorni. Non aprire una nuova discussione con la stessa domanda. Per chi legge è noioso e otterrai solo di essere ignorato..

  • Hai preteso una risposta veloce
  • Eisgere qualcosa da persone che non sono pagate per risponderti è, generalmente, controproducente.

  • Hai spedito la stessa domanda separatamente in newsgroup diversi
  • Se pensi che la tua domanda possa essere attinente a più newsgroups, posta una sola domanda su più newsgroups. Evita di postare la stessa domanda separatamente su newsgroup diversi. Può effettuare un "crosspost" inviando lo stesso messaggio a più neswgroup inserendone i nomi nel campo To: (come fai quando invii una e-mail a più destinatari usando i campi To,CC o BCC). Le risposte alla tua domanda appariranno in tutti i newsgroup su cui hai postato. Se mandi domande separate, le risposte appariranno solo sul newsgroup dove hanno ottenuto risposta, lasciandole senza risposte sugli altri.

Nota che nessuno ha parlato di domande "stupide". Questo è perchè non ci sono domande stupide! Tutti nel newsgroup hanno dovuto cominciare a lavorare con CE un giorno e tutti hanno dovuto faticare con la (a volte) ripida curva di apprendimento di questo sistema. Tutti abbiamo sperimentato la tua situazione, quindi non essere timido e chiedi ma, prima di farlo, prendi nota dei "consigli" che miglioreranno le tue possibilità di ottenere una risposta soddisfacente:

  • Leggi MSDN e la guida in linea
  • Questo sembra logico, ma sarai sorpreso da quante risposte alle questioni poste più di frequente possono essere trovate su in MSDN. Clicca qui per accedere alla documentazione su Windows CE e usa il box di ricerca in alto a destra per cercare.
    Quando usi la ricerca assicurati che l'argomento trovato faccia riferimento a "Windows Embedded" e non a Windows "desktop". Come saprai, Windows CE usa un subset delle API Win32 e alcuni parametri hanno significati diversi in CE, quindi stai attento! Detto questo, a volte le descrizioni delle API Win32 forniscono informazioni che sono valide e utili anche per CE. La prima cosa da fare quando hai un problema con un API è aprire la descrizione di questa API in MSDN, controllare tutti i parametri e leggere attentamente la sezione "remarks". Questa sezione ha spesso informazioni utili a proposito di condizioni di errore o requisiti particolari di una determinata API. Se trovi un problema con la documentazione, un'informazione mancance o qualcosa di non corretto: usa il link "Click to Rate and Give Feedback" nell'angolo in alto destra. Le persone in Microsoft che si occuna della documentazione leggeranno il vostro feedback e correggeranno quanto è necessario. Aiuta a rendere la documentazione migliore!

  • Prima di chiedere, cerca nell'archivio dei newsgoup una risposta.
  • Usa Google Group Search per cercare nei newsgroup. Scrivi alcune delle parole chiavi nel campo "with all of the words" e scrivi *windowsce* nel campo "Return only messages from the group at this location" per cercare nei newsgroup collegati a Windows CE. Io di solito imposto anche il form per ritornare 100 messaggi alla volta e li ordino per data, per avere le risposte più recenti in testa alla lista.

  • Abbonati ai blog
  • Molti degli MVP e alcune persone all'interno dei Team di sviluppo Microsoft hanno dei blog. I messagi nei blog di solito hanno a che fare con le FAQoaN (a Frequently Asked Question on a Newsgroup ;o), come il messaggio "What to build when (Quando e cosa ricompilare)" su questo blog. Alcuni dei blog che seguo sono: Windows CE Base Team Blog, Mike Hall's Windows Embedded Blog, the Windows Mobile Team Blog and of course the GuruCE Blog.

Se la tua ricerca non ha sortito effetti, allora puoi inviare una richiesta sul newsgroup. Però prima di farlo, prova a fare un build di debug del tuo sistema, abilita KITL e analizza i messaggi di debug. Se non riesci a eseguire un'immagine in debug o a far funzionare KITL sarà difficile risalire alla causa del tuo problema. Se non riesci ad eseguire un'immagine in debug o non ti funziona KITL, menzionalo nella tua richiesta!

Informazioni che devi mettere nella tua richiesta:

  • versione del sistema operativo/ hardware / scheda / kernel / QFE installate
  • Elenca la versione del sistema operativo, quale hardware, processore, scheda, BSP stai utilizzando, segnala se hai un kernel di debug o di release, se hai abilitato KITL, e quali QFE hai installato

  • Componenti specifiche
  • Se hai problemi con un driver o con uno specifico componente, scrivilo!
    Dire "Ho problemi con il driver del touch screen" non serve a nulla, perchè non esiste il driver del touch screen. Se tu hai realizzato il driver, segnalalo. Se hai clonato un driver, dicci da quale sei partito (includendo il suo path originale). Se hai problemi con un driver standard, dicci quale, includendo il suo path completo. Ad esempio: "Ho problemi con il driver del touch screen per Mainstone III posizionato in C:\WINCE600\PLATFORM\MAINSTONEIII\SRC\DRIVERS\TOUCH"

  • Quadro generale
  • Spiega cosa vuoi fare, non solo come vuoi farlo. Ci possono essere modi migliori per farlo. Descrivi il quadro generale della situazione in cui ti trovi.

  • Tentativi
  • Spiega cosa hai provato a fare, i test che hai fatto e perchè non hanno avuto successo. Se qualcuno ti chiede di fare un'altro test, fallo! Non aspettarti una rispsota se non vuoi seguire i consigli che potrebbero portare a una soluzione del tuo problema. E se nelle ricerche che hai fatto hai trovato una soluzione al tuo problema che però non ha funzionato, spiega cosa è successo.

  • Messaggi di errore dettagliati
  • Se si verifica un errore, riportalo. Se un API ritorna un errore, ricava il codice di errore chiamando GetLastError.

  • Messaggi di debug
  • Invia i messaggi di debug che ti sembrano significativi per il problema. Non spedire 6000 linee di messaggi di debug perchè nessuno avrà voglia di leggersele tutte!

  • Sii educato
  • Non pretendere una risposta. Ricordati che nessuno è pagato per risponderti.
    Se vuoi supporto a pagamento, compralo da Microsoft o da uno degli Embedded Partners, come GuruCE. Lo stesso, ovviamente, vale per chi risponde alle domande, sii educato e ricordati dei tuoi sforzi quando hai iniziato ad utilizzare Windows CE.

  • Rileggi e controlla lo spelling
  • Tutti capiamo benissimo che l'inglese non è la lingua madre di tutte le persone del mondo. Anche per me non è la mia madrelingua. Errori di spelling sono frequenti, ma non sono un problema però, prima di postare, rileggi quello che stai per postare e assicurati che sia comprensibile. Non cercare solo frasi strane o errori di spelling, assicurati che ci siano abbastanza informazioni nel messaggio per aiutare gli altri a capire il tuo problema. Se hai qualche problema con l'inglese fatti aiutare da un amico o da un collega che lo conosce meglio, usa frasi brevi e semplici e non badare alla forma quanto a scrivere in modo comprensibile e chiaro.
    La qualità delle risposte può solo essere pari alla qualità della domanda!

Se segui queste regole (che sono in gran parte valide per ogni forum gestito da una comunità di utenti), allora non ci sono domande stupide e otterrai sicuramente una risposta da uno dei tanti volontari che rispondo alle domande nei newsgroup.
Qui c'è un modello che puoi usare per fare domande sui newsgroup di Windows CE:

OS........: [CE 4.2 / CE 5.0 / CE 6.0 R2] [with QFE's until March 2008]
Hardware..: [Custom board / Device Solutions F200 / etc]
Processor.: [PXA270 / AMD AU1500 / etc]
BSP.......: [Custom BSP based on Mainstone III / T5530 / etc]
Kernel....: [Debug / Retail] [KITL enabled/disabled]

I am trying to [explain what you are trying to accomplish]

I am using [list the related component/driver including the full path]

I've tried to [explain what you have tried so far, how you tested, etc]

I searched the web and the newsgroups and found [this/nothing]:

[url to something relevant]

I've tried to implement that but it didn't solve my problem because [explain why not]

Here's the code I use:

[show a code snippet if relevant]

The call returns [whatever the call returns] and GetLastError() returns [whatever error it returns]

The CE debug output window shows this:

[list a couple of lines around the debug log lines that you think are relevant]

I would much appreciate any pointers you can give me.

Thanks!

[Your Name]

Ricordati che le domande su questi newsgroup devono essere inviate in inglese ed è generalmente considerato poco educato porre domande in altre lingue o continuare discussioni in lingue diverse anche se chi ti risponde parla la tua stessa madrelingua.
Un ultima richiesta: restituisci il favore!
Quando trovi una soluzione al tuo problema, da solo o grazie a un consiglio di qualcuno nel newsgroup, spendi cinque minuti del tuo tempo per scriver la soluzione e inviala come risposta alla tua domanda originale. La tua soluzione potrà far risparmiare molto tempo e frustrazioni a qualcun'altro in futuro.
E perchè non diventare anche tu parte della communità? Non aver paura di rispondere alle domande se pensi di conoscere la risposta!