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
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
- Data (XML, JSON, HTML)
- XHR
- 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
One Trackback
[...] 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 [...]