The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

phenryll (12) [Avatar] Offline
General remarks:
- while reading the chapter I was wondering if WinRT emphasizes an aspect of Windows Runtime. You should remind at the beginning of the text that Windows Runtime = WinRT in the rest of the chapter (or the book).
- Explain what * refers to when usign IAsync*
- the chapter was difficult to follow along because the topic is challenging. while reading I felt you was challenged to write it. Do not hesitate to provide update to the chapter later as you get all the pieces of the puzzle.
- Pluralsight has grate videos on Parallel Programming by Joe Hummel. I watched the entire introduction a few months ago and it deserves respect as it helps a lot to figure out the point. I may be of interest to mention it as an introduction to the topic.
- WinRT, TPL, .NET, task, await, TPL: it would be great to provide a figure illustrating what are the relations between them. Which one is built upon the other? I understood the relations only at the end of the chapter. Provide the figure at the beginning of the chapter.
- listing code: be much more explicit with your comment as they bring little interest as is while the chapter is highly challenging, difficult to follow along. If a method return a type IAsync*, remind it and remind it is a WinRT-centric code. Trust me, it will help a lot to follow along. Do not hesitate in your comment to provide enlightment: i.e. the code is .NET centric, not WinRt centric and vice-versa.

p. 26: first line: "When that thread" = UI thread. I strongly recommend each time you want to refer to a thread, you mention UI or background. It will help a lot to avoid misunderstanding.

figure 3.1: the figure is pointless. Remove it.

p. 28 "the latest version of c#": mention explicitly which one.

p. 28 about c# keywords and .NET framework. It would be of interest to explain the difference in a sidebar. It may help to clarify aspects that are not obvious.

p. 28 at the end of the page: first occurence of TPL. it comes late, should place earlier to keep things organized

p. 29: 3.2.1 the title should contain "...,but limited approached"

p. 29 mention that await and async are always used together. Might be of interest to illustrate how async/await works together.

3.2.2. add "most capable, verbose..."

p. 32 explain "RetrievalProgress"

listing 3.2: client.retrieveFeedAsync(uri). Add a comment to remind the reader that the method returns a type implementing IASync. This is what I expect of a comment in a code listing.

p. 34 and follow: bytesRetrieved and totalBytesToRetrieve: should be Camel Case (throughout the chapter)

p. 34 listing 3.3: you use as Uri; Below you invite to use I don't understand why you use the first one in the code listing?

p. 36 3.3 Second occurence of TPL; you provide a definition. That definition should be given at the first occurence.

p. 37 listing 3.4: the method name is out misleading: should be LoadHttpAsync if you want to endorse the name convention, which you remind a few pages back.

p. 39 comment #A should include the next line as well: rename it to "instantiate a listener and create a token" as it makes more sense

p.39 "Inside the ContinueWith delegate": which one? Add a comment in the code listing

p. 40 listing 3.7 comment #A: typically be more explicit: mention the type the method return, which is of type (WinRT) IAsync*.

p. 41 latest §: do not hesitate to be redundant: Task is .NET centric while "interface approach" = WinRT-specific.
Avoid words like "interface approach" as it is vague and brings confusion: Only use words such as IAsync* and WinRT; if you use Task, mention .NET approach; if you use WinRt approach, mention IAsync*. It is like tuple: Task/.NET and IAsync/WinRt. It may sound narrow-minded, but it will help to get point early.

p. 42 summary: first paragraph: you touched on Ajax: Too late, it should be place at the very beginning of the chapter. Avoid stuff "blame": it is pointless and may be misinterpreted.
The first 3 chapters sounds perfect as an introduction on Asynchronous stuff. Placing them at the very end sounds odd.
Avoid colloquials such "WinRt interface-based asynchronous approach": IAsync* is the missing word while it is the key one. Always keep things as "rigid" as possible: Task/.NET vs. WinRT/IAsync* this makes much more sense than colloquials.
Psychlist1972 (177) [Avatar] Offline
Re: chapter 2 - version 1
Thanks again

>>- Explain what * refers to when usign IAsync*<<

Means all the interfaces which start with "IAsync"

>>- the chapter was difficult to follow along because the topic is challenging. while reading I felt you was challenged to write it.<<

That's definitely not the case, but I'm concerned that I came across that way. Is there anything in particular that conveyed that?

I'm looking at your feedback on the chapters. Have you read any of my previous books?

phenryll (12) [Avatar] Offline
Re: chapter 2 - version 1
Hi Pete,

About "Explain..." I mean provide an explanation for the readers and in the book. If the style seems like Army, translate it as "I suggest you to do it in that way to clarify what the reader may be thinking of and to avoid confusion" smilie

About your second question, I had a difficult time to understand what I was reading (the first half of the chapter): What was WinRT-related and what was not? Why do we have to discuss on "Task" if WinRT has its own set of specifications? I suggest you to detail more the first 3 § of 3.2.1 (p. 29)

It is more at the end of the chapter I felt more comfortable where I found the content more understandable. It is as if you didn't how to plug the first 10-15 pages into the topic while you did find how to after a while. That's why I suggest you to provide a figure pointing all the relations between WinRt, .NET, Parallel P, Task, etc Just my personal opinion, of course.

I read part of your SL 4 in action. Why?

Please do not read my comments as if I were shooting you down! I have read all and I am participating actively to improve the book to be excellent smilie

Psychlist1972 (177) [Avatar] Offline
Re: chapter 2 - version 1
All good, thanks Roland.

>>I read part of your SL 4 in action. Why?<<

You had some comments about style. I was curious if you had read my previous books, and if so, liked the style there, or found it over the top.

In general, this book will have a similar style, fewer pages, but more code annotations. (Your request about more comments is great and inline with the *new* Manning guidelines. I used to be limited to (per page) two to four code annotations/comments of one to three words each. This book will have more, but that wasn't decided until after the first couple chapters had their first revision.)

Thanks smilie