Notes on Toronto Code Camp 2010

If you haven’t read the live blog on our visit to Toronto Code Camp 2010, I highly encourage you to scan through it here: http://www.pioverpi.net/2010/05/01/toronto-code-camp-live-blog/

I should warn you though, I have a bad habit of shooting my mouth off without thinking too much about the impact of my words.  In fact, I am a perfect example of the Johnathan Gabriel Greater Internet Dickwad Theory.  I hope that this follow-up post can clear up some of my initial reactions at the event.

Here are some of the notes that I took down from the seminars we attended

Developing for the “Third Screen” Windows Phone 7

Speaker Details

Mark Arteaga

mark@redbitdev.com

blog.markartega.com, www.redbitdev

Highlights

  • Two main development platforms when working on Windows Phone 7: Silverlight and XNA
  • Microsoft actually has strict control over the phone hardware
    • capacitive touch screens (4 point contact)
    • 800 or 480 px height
    • 480 or 320 px width
    • sensors: A-GPS, accellerometer, compass, light sensors, proximity
    • camera: 5mpx or more
    • multimedia with codec acceleration
    • minimum 256mb of RAM, 8gb of flash memory
    • DirectX9 with dedicated graphics
    • CPU ARMv7 Cortex/Scorpion
    • hardware buttons: back start, search
  • It has a pretty slick UI, and when you work on it with VS2010, it looks pretty cool on the emulator
  • Actually, if you work with Blend then you can do that fancy “pivot” thing with the new Windows  Phone 7 UI
  • The API has various soft keys that you can bring up for various situations
  • Single processing only!  All your threads will be paused when your app is switched
  • Tile notifications
  • METRO design philosophy

Links

msdn.microsoft.com/windowsphone

windowsphone7.com

developer.windowsphone.com

live.visitmix.com/Sessions/Tags/WindowsPhone

Building Windows Phone 7 Series Games with XNA Games Studio 4.0

Speaker

Nickolas Landry MVP

Practice Manager

Infusion development

nlandry@infusion.com

Highlights

  • XNA is not a game engine, more of a framework for simplifying the game loop
  • I’m looking through my notes now, and unfortunately, I don’t have much to say, aside for XNA is cool?
  • The speaker did a walk-through of his code, which as I remember, wasn’t exactly stellar, so I won’t repeat my comments from the live blog here

Optimizing Ajax for Maximum Performance

Speaker

Todd Anglin

Telerik

telerikwatch.com

Highlights

Where Did Ajax Come From?

  • Outlook Web Access to begin with asynchronous requests
  • Asynchronous Javascript and XmlHttpRequest
  • XHR = XmlHttpRequest
  • AJAX has never been officially been standardized
  • every browser does it differently

Three Pillars of AJAX

  1. Data (XML, JSON, HTML)
  2. XHR
  3. JavaScript

How AJAX works

Browser -> HTTP Request -> Server

Server -> HTML, CSS, JS, AJAX Lib (js file to help AJAX) -> Browser

Browser -> JS -> AJAX -> XMLHttpReqeust -> Server

Server -> XML Data -> AJAX -> HTML

  • AJAX makes your initial page load SLOWER!
  • the reason why is the AJAX library is being sent OVER to your browser

How Do You Choose

“Traditional” Postbacks

  • HTML rendered, updated server side

Server-side rendering (AJAH)

  • HTML rendered on server, updated on client

Client-side rendering (AJAX)

  • HTML created and updated client-side

- everything after this point is lightning fast

  • “Pure Ajax”

- hard(ish)

What makes it hard?

Browser Differences

  • use libraries (gooooooo JQuery!!)

Updating the DOM

AJAH (Asynchronous Javascript and HTML)

  • prepackaged HTML
  • swap out the old HTML area with the new HTML

AJAH

  • good
    • easy to implement
    • no code changes required
    • execute aspnet page lifecycle
    • no javascript required
    • easy to turn-off
    • easy
  • bad
    • designed for ease of use
    • executes aspnet page lifecycle (“sneaky PostBack”)
    • viewstate
    • renders on server

Why Do We Use AJAX

maximizing

- reduce server overhead + reduce bandwidth = more responsive application

Approach 2

  • move towards a web Service HTML
  • no Page Lifecycle, no ViewState
  • still like AJAH

Pure Ajax Approach

  • no viewstate
  • no page lifecycle
  • optimized for performance
  • rendered client-side, only Data OTW, JavaScript required
  • emphasis on pure JSON
  • updates on UI occur on clientside
  • you could do that manually or use “templates”
  • updating the DOM by hand is a pain in the ass
  • client-side templates
  • - jTemplates, or Microtemplates

The Rich Standard: Getting Familiar with HTML 5

  • <!DOCTYPE html>
  • 9 new structure tags
  • 16 new HTML elements
  • 13 new <input> types
  • html 5 backwards compatible
  • semantic tags (header, footer, nav, article, hgroup)
  • gives semantic meaning to your HTML layout, screen readers and BOTs
  • FIX ID: html5shiv
  • use modernizer API to check if HTML 5 elements are supported on a browser

Understanding the Blackberry Web Development Platform

  • I’ve got notes on this, but like the XNA talk, I’m going to decline to comment
  • This thing was a 100% RIM pimping out their products
This entry was posted in General, Tech, Win32 and tagged , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Trackback

  1. By Thoughts on Toronto Code Camp 2010 | Pi/Pi on May 3, 2010 at 8:09 pm

    [...] Pi/Pi …but that's just one! Skip to content ProjectsCSC309 A3 – kääntää TranslationsCSC309 A1: kääntää TranslationsJump StacksGrksm To UnicodePhotosynth of BahenCSC302 Winter ‘09CSC301 Fall ‘08Project ArgoboxAbout MeContact Me « Notes on Toronto Code Camp 2010 [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>