Professional Development Activities

Wednesday, October 13, 2010

9, 10 October 2010

CODE CAMP

This is the 10th annual free developer conference. As usual, I learned a TON!

http://www.siliconvalley-codecamp.com/

1) Android Development

by Lance Bullock, Falafel Software

Use Eclipse 3.4 or 3.5, but not 3.6 for dev environment

From Google download Android SDK and AVD Manager

Start emulator and leave it running.

In the manifest: set debuggable to true.

In layout: use device independent pixels, you can assign clickhandlers in layout xml.

Activity is focussed user action, like edit a contact.

Activity usually is one screen, has its own lifecycle.

An activity extends class Activity.

An activity has a lifecycle, and so defines onPause(), onResume(), etc.

An intent says "I want to respond to something."

A Task is a stack of activities, but it is virtual.

To respond to an intent, make a new instance of an activity.

Back button kills an instance, pops off stack.

Home button puts task in background.

Launching another app puts your activity on hold.

Intents are the main signalling mechanism.

2) Talk with Crock

by Douglas Crockford

YUI3, node.js

When asked what a job interview with himself would be like, he said he is looking for programmers who can write English as well as JavaScript.

Crock believes that HTML 5.0 should stop development because XSS is such a bad security problem they need to fix that first.

I got ideas from him for my teaching:

• I should issue a warning to students : "Warning! My feedback will hurt your feelings."

• I should require that students use jslint

• I need to modify all my code examples to put open curly brace at end of previous line, to avoid bug from semicolon insertion.

3) JQuery Makes Writing JavaScript Fun Again

by Doris Chen, Developer Evangelist at Microsoft

There are many different toolkits for implementing interactive websites today. The following statistics show that right now, JQuery is by far the most popular:

http://trends.builtwith.com/javascript/jquery

Her slides are here:

http://www.slideshare.net/doris1/j-query-dorischenmeetuphtml5

4) Mobile HTML 5.0

by Michael Galpin, eBay

There aren't too many mozilla browsers out there, but ehre are a lot of webkit browsers on mobile devices. I think that's why we always use Safari as our dev browser.

Using just JavaScript, CSS and HTML 5.0, you get the following features:

-viewport sizes

-UI for mobile

-geolocation

-DOM storage but no SQL

-webworkers (these are threads, but aren't in iPhone yet.)

-websocket

-canvas

-css 3.0

You have an application cache, which has a different mime type. It's better if the app stays on the phone and the servers only ever return data to the phone.

When eBay started developing a mobile version of its website, it started from scratch, i.e. the mobile web app shares no code with the non-mobile web app.

5) Google API's

Google Cloud Technologies: Google Storage, Prediction, BigQuery

code.google.com/apis/storage

code.google.com/apis/predict

code.google.com/apis/bigquery

gsutil

100 GB – could use for backup!

Prediction: Uses google storage to upload training data, then makes predictions based on that data.

BigQuery: Does fast SQl queries against large amounts of data.

Google TV: platform, not a device. But does that mean that it can run on a PC or Mac?

1.5 B people use web, ¾ of all households

see google.com/tv

5 October 2010

"Building Mobile Apps with JQuery"

presentation by Sidney Maestre at the creativesuite meetup

If you want to develop an application for a mobile phone, you have to choose between iPhone or Android. There is no easy way to "port" from one phone platform to another, and either platform is pretty difficult to program for.

But there is another way, and that is to develop a website that presents a special user interface when a phone accesses its URL. This special UI has a much smaller screen, and reacts to the user's touch. This website is implemented with the traditional web development tools of HTML, CSS and JavaScript.

When you develop this way for the phone, you may not have access to some native functionality of the telephone like camera. accelerometer, geolocation, and you may have difficulty selling through the app store.

Now there are a few toolkits that make this type of mobile web development easier by providing libraries of code. Here are some examples:

appMobi, PhoneGap, JQTouch (related to JQuery), Sencha Touch, Titanium.

Some of these create native apps, which will give your app more access to the functionality of the phone.

There is also a new meetup group around this very topic:

"Bay Area Mobile Meetup", which covers non-native mobile development only.

The talk I attended on 5 October was held at Adobe in San Jose and usually meets around topics of interest to Adobe CreativeSuite.

Monday, October 04, 2010

Google Apps Script Hackathon

http://sites.google.com/site/appsscripthackathonmtv/

I was fortunate to have my colleague Jane Ostrander attend this event with me, at the Googleplex on Thu, 23 Sept, 2:00 pm until 8:00 pm.

Most people know about Google Docs by now, the online word processing and spreadsheet applications. Google Docs is competing with Microsoft Office for everyday office tasks, since it allows you to store all of your documents in the cloud and share access to them with others.

What is fairly new is the ability to write scripts to connect different documents and GMail and execute tasks automatically. The scripts must be written in JavaScript, and the event that triggers the running of the script can come from the Spreadsheet tool of Google Docs.

For example, once a user modifies a particular spreadsheet, your script could run automatically to update another spreadsheet or record something in a word processing document.

Alternatively, you can start the script running manually. In order to perform an electronic mail merge, you can program the script to take names and addresses from a spreadsheet and insert them into an email that will be sent to each person on your spreadsheet.

This was called a "hackathon" because we brought our laptops and worked on projects there, with members of the Apps Script development team walking around to help us. There were many participants who then came up and demoed their small projects in front of the group. That is also why it lasted 6 hours, because people were doing real work there.

Jane had the great idea of asking the Apps Script team to present a workshop to our Pacific Region Learning Summit in Hawaii in May. This way other instructors can learn how to use it for their work and to teach their students how to write scripts as a job skill.