Wednesday, April 27, 2011

Video: Learn About Chrome OS & Chrome Web Store

The presenter on this video, courtesy of Marakana,  is Arne Roomann-Kurrik, a member of the Google Chrome team and sort of evangelist. The presentation starts with an overview of HTML5 features and then covers Chrome OS and Chrome Web Store. Timecodes of note:

14:00 rumpetroll.com - is an interesting experiment with Web Sockets.

16:00 lionsnearyou.com - using geolocation features

19:00 What do we do with all this? Discussion of Web Apps:

tight focus
take advantage of big screen
rich experience - engage the user
visually stunning
fast

caniuse.com - useful site for tracking availability of HTML5 features in browsers (including mobile)

Entanglement - HTML5 game at the Chrome Web Store demoed. Nice!

31:00 discussion about legacy browsers and also Chrome OS

36:00 Chrome OS does not support NPAPI, but does support Native Client SDK.

39:00 tweetdeck HTML5 App discussed

50:00 Best Practices for Web Apps

use analytics
interact with users / ask for and react to feedback
accessibility for all
offer free trial
single sign-on (OpenID)
simple on-boarding for new users
take advantage of big screen (reflow)
use in-app navigation (don't use brower navigation)
get your app noticed (multiple channels)

59:30 don't forget tools like Chrome Developer Tools Audit Panel

The Google Chrome CR-48 notebook was mentioned a few times. Evidently it's been more popular with IT departments than they expected because of the no-configuration benefits.

http://www.youtube.com/watch?v=lmF4AAjv_VI

Tuesday, April 26, 2011

Video: Learning from StackOverflow.com

Joel Spolsky has one of the higher rated programming blogs and goes into the thought behind StackOverflow.com. It's a site designed to share programming information efficiently. Some interesting timecodes:

01:00 he worked on FogBugz

05:00 some interesting discussion about competing information exchange approaches

16:00 he worked on Excel VBA (a source of consulting work for me for years)

25:00 discussion about .NET stack and performance of C# being great

37:40 Things You Should Never Do (don't rewrite a software product from scratch)

44:00 stackoverflow.com is #1 resource for new programming technologies

http://www.youtube.com/watch?v=NWHfY_lvKIQ

Monday, April 25, 2011

Video: Introduction to JavaScript and Browser DOM

This is a good JavaScript foundation video that goes into considerable explanation of the JavaScript object model, prototypes, and gotchas. Timecodes I noted:

26:20 window global object gotcha

35:00 example of creating classes

53:00 omitted var gotcha

55:00 single threaded, waitForEvent

1:01 memory leaks in crack between JavaScript and DOM

1:04 Node.js and Coffee Script mentioned

http://www.youtube.com/watch?v=ljNi8nS5TtQ (Misko Hevery)

Sunday, April 24, 2011

Video: Speed Up Your JavaScript

Lessons on optimization are always prone to becoming dated, but there are many in this video that will probably stand the test of time. Especially useful were the ones related to documentFragment (34:00) to reduce browser reflow. The scope chaining (5:30 to ~13:00) discussion makes it clear that local variables are always the best to use, especially when compared to globals or DOM element property references. Maybe JIT optimizing compilation is helping with some of these issues in the latest versions of the browsers. Brief Q & A related to benchmarking (51:00) and profiling (55:00).

http://www.youtube.com/watch?v=mHtdZgou0qU (Nicholas Zakas)

Saturday, April 23, 2011

Video: Node.js: JavaScript on the Server

A good video at Google Tech Talks by Ryan Dahl on Node.js. Give him a couple of minutes to relax: Node.js: JavaScript on the Server

Some timecodes that I noted:

2:00 the importance of avoiding too much abstraction in efficiency

7:00 interesting discussion around Erlang

28:00 the process object on the server parallels the window object in the browser

As with many of these videos there are always new URLs to explore:

Plurk: Twitter-like service

Curl: Used in showing some examples towards the end of the video.

It sounds like the commonjs mailing list is for hardcore JavaScript developers.

I'm interested in Node.js on the server-side for some interactive mobile application (games and other) ideas. Ideally will try to find it hosted so I don't have to roll my own (virtual) server.

Wednesday, April 13, 2011

Video: Agile Technologies with Lives at Stake

This was a change of pace, but a very interesting video on InSTEDD (Innovative Support to Emergencies Diseases Disasters) and their use of technologies (geolocation, text messages) in support of disaster response (e.g. Haiti). Some enlightening stories about usability and the issues they encounter in the field. Agile is talked about, but the focus of the presentation is on the real world issues working with technology in disaster relief and disease reporting.

http://www.youtube.com/watch?v=1QNQc_xgurc

PMBOK: Lots of Great Ideas -- Don't Reinvent the Wheel

Regardless of your thoughts about Agile and Waterfall and the amount of process overhead that is appropriate for a project, the PMBOK Guide is an invaluable resource for project management practices that can be adapted to your project. Note that many practices and artifacts fall outside of the areas covered by Agile development processes. For example, project initiation tasks include creation of a project charter and methods for gathering requirements are all covered in the PMBOK Guide.

Besides the Project Management Institute, which is the keeper of all things PMBOK, there are many great examples on the web including one from the state of Oregon at:

http://www.oregon.gov/DHS/admin/pmo/publications/pmo_templates.shtml


With a concise Word document summary of the various templates with links at:


http://www.oregon.gov/DHS/admin/bpm/pmo/docs/PCoE_PMBOK_4TH_EDITION_TEMPLATES.doc



PMBOK: Risk Register

Another useful tool -- see the PMBOK Guide for more information.

The Risk Register is used to help identify and plan for risks on a project. Here's an example:


Some tips:
  • If you have a PMO there is probably has a template or system you should use.
  • Columns may need to be customized with each project.
  • It needs to be kept updated over the life of the project.
  • Much of the value comes from thinking through the risks to the project and  incorporating that understanding into the day-to-day management of the project.
  • It's a useful onboarding tool for other project members. Keep that in mind when creating/updating.

PMBOK: Stakeholder Register

The Project Management Body of Knowledge Guide (PMBOK Guide) defines stakeholders as "persons or organizations who are actively involved in the project or whose interests may be positively or negatively affected by the performance or completion of the project." Stakeholders may include customers/users, the project sponsor, portfolio/program managers, PMO, project manager, project team members, functional managers, operations manager, vendors or other business partners.

An important tool for stakeholder analysis is the Stakeholder's Register. Here's an example:


Some tips:
  • If you have a PMO there is probably has a template or system you should use.
  • Columns may need to be customized with each project.
  • It needs to be kept updated over the life of the project.
  • Much of the value comes from thinking of the project from each stakeholder's perspective and incorporating that understanding into the management of the project.
  • It's a useful onboarding tool for other project members. Keep that in mind when creating/updating.

Friday, April 01, 2011

Miscellaneous JavaScript Links and Info from Videos

Here are some links from the time before I started being more systematic about my notes around videos that I watch while riding a stationary bike in the morning. I wanted to capture them somewhere for future reference:

HTML5 Boilerplate (Video courtesy of Marakana at YouTube) Paul Irish

Modernizr

JSLint

OpenStack Object Storage (cloud-based object storage)

CyberDuck (a multi-protocol something -- haven't tried it yet)