The Artima Developer Community
Sponsored Link

Weblogs Forum
Notes from "Programming the New Web" Conference

7 replies on 1 page. Most recent reply: Jan 9, 2007 2:38 AM by Devra Johnson

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 7 replies on 1 page
Bruce Eckel

Posts: 875
Nickname: beckel
Registered: Jun, 2003

Notes from "Programming the New Web" Conference (View in Weblogs)
Posted: Mar 26, 2006 3:34 PM
Reply to this message Reply
Summary
I continue to be amazed at how insanely great OpenSpace conferences are with so little effort on my part. Certainly, I provide structure, but most of that occurs in the first half hour and then I become a participant. As always seems to happen with OpenSpaces, I got so much more out of this event than I ever imagined.
Advertisement

And that's with a relatively small turnout (ten people, including myself). I was worried about this at first, but by the end of the conference some people said they weren't sure they would have wanted it any bigger. But I've found that OpenSpace events tend to adapt to whatever size group shows up. Harrison Owen, the "father of OpenSpaces," has apparently organized conferences consisting of thousands using this technique.

Here is the URL for the conference that took place in March, 2006. I will try to plan next year's conference with more lead time.

One of the OpenSpace maxims is "whoever shows up is the right people." And even with our small group, and conducting the event in single-group mode (rather than running multiple sessions concurrently), I can't imagine a better group, with a perfect range of experiences and needs. In almost every case, when a question came up there was someone in the group who could answer it. We had a broad spectrum of experience, from one-person shops to large organizations.

I was concerned about whether the skiing aspect of the conference would raise eyebrows, and it certainly might have kept some people from coming. But those who did come told me that their bosses were unconcerned about the fact that skiing was part of the conference. And everyone seem to agree that the mid-day activity break made a huge difference by providing a change of scenery and experience, and that the conversations continued on the ski lifts, but with different perspectives. And when we met again, everyone came with fresh brains. Everyone skiied or snowboarded in one way or another (one person made use of the cross-country trails here), and two folks had their very first ski experience, and gave positive reports about the lessons and beginner slopes. Everyone felt that the outdoor activities were bonding experiences which were a continuation of the conference, and which increased the value of the sessions.

After explaining the basic structure of OpenSpaces, we did a fairly quick capture of topics that people wanted to talk about, and then a bit of reorganization. Unlike larger OpenSpaces, the topic list seemed to remain unchanged throughout the conference, but we all seemed quite happy with the results, and the topics filled the spaces just right.

One person came partly to see how an OpenSpace event is run.

In more formal OpenSpace environments, after each session the session conveners write up the notes for that session, the goal being to provide conference proceedings at the end of the conference (rather than the beginning, as with typical conferences). I've never been able to be quite that formal, and have been looking for more casual ways to capture what's happened. In this case, I found myself making a lot of very short notes when people mention things that we should look at, and others have made more involved weblog entries. So here I will just include the URLs to the other weblog entries (and photos, in some cases), and just transcribe my short notes, adding additional thoughts as they occur.

Participant Weblogs

Topic Notes

  • Comparison of PHP frameworks

  • JotSpot media wiki and JotSpot Live collaborative notetaking

  • PHPIT forums

  • Well-known PHP frameworks and tools: Wordpress, Drupal (there's even a conference for this one), PHPUnit.

  • Debugging PHP is a problem; you typically end up using print statements. Several blog readers suggested Zend Studio, which contains both a debugger and profiler.

  • "Seam": Ruby on Rails translated to Java

  • Some folks reported success with Webex

  • UltraVNC can be used for remote collaboration

  • "Resume-driven development": some programmers, often working for offshore contractors, just want to use every framework they possibly can, to pad their resume, without regard to what is appropriate for your project. Apparently India in particular has a ladder of companies that people are constantly trying to move up, so turnover is very high as programmers change jobs up this ladder.

  • AppFuse: web framework that puts all the look and feel stuff in a bundle, so you can create a new site by only filling that bundle.

  • JWebUnit. Unit test framework for web systems.

  • HTTPUnit

  • Selenium; IE only, free from Thoughtworks

  • Round-The-Room questions:
    • What development process do you use?
    • How do you discover objects?

  • Mike Cohn's "Planning Poker" (see bibliography):
    • Estimate size not duration
    • Small Medium Large
    • Everyone lays a size card down without seeing the others
    • Often agreement right away
    • If not, persons at the boundaries make their case, then replay the hand
    • Items that are "off the menu" are more expensive

  • Support for user groups: Microsoft pays for a lot of things. Sun doesn't do much of anything, almost as if user groups are an annoyance. As a result, .NET user groups continue to happen more often and gain traction. Is there some way to stimulate Sun to put money into user groups, which are arguably the best and cheapest form of marketing?

  • Skipintro.com -- funny web site

  • Code Quality

  • Walkthroughs, peer review

  • Initial front-to-back prototype (spike), peer reviewed

  • Static code analysis tools (off the shelf and custom written). Checkstyle Eclipse plugin.

  • Xradar tool container

  • Javascript validator, web development toolbar for FireFox

  • Sajax library for PHP

  • Webinspect vulnerability checker

  • Lunch and learn

  • Breaking the build is a "line stoppage" (ala Toyota assembly lines; any worker can stop the line if things are wrong)

  • "Wear the funny hat" if you break the build.

  • Scrum and Agile increase quality

  • Torquewrench from Stackframe.com; static checker

  • 37Signals.com: WriteBoard (collaborative tool)

  • "Sign your Work" (Pragmatic programmer)

  • "Discipline": Ability to do things that need to be done even if they're not fun. (Barry's definition).

  • Publish code and Javadocs for all to see.

  • Run style checking tools

  • JDepend

  • CPD: Copy-Paste Detector

  • "Testing is like toilet paper. Everyone has it but the quality varies all over the place." (Barry)

  • Domain-specific checkers

  • Stewardship

  • Mentoring

  • How do you ensure that additional things like quality improvement happen in a high-pressure environment? (Question for Abby)

  • Basecamp for project management (hosted, monthly fee).

  • For jobs that have minimal custom code, a best-practices website to help ensure consistency.

  • A non-mission-critical project typically harms the introduction of Agile more than it helps (this goes against the traditional thinking that you should introduce an Agile methodology by using it on something that's not too important. Apparently naysayers tend to use the lack of importance as a reason that it wouldn't work on a "real" project).

  • CVS Best Practices explains branching and tagging, also helps for subversion.

  • Subversion does look a lot like CVS from the user's standpoint, but for one thing the file structuring is much more sensible. Much easier to do things like renaming which is very painful in CVS. Definitely worth changing over to Subversion.

  • Branching frees you to do experiments. Branch at each release, then bugs found in the branch can also be merged into the main trunk and later branches.

  • Pragmatic Programmers three pillars (do at least these):
    • Version Control
    • Unit Testing
    • Project Automation

  • Araxis Merge, Eclipse Merge, Subclipse

  • Maven: project has gone through a lot of maturation, is now worth considering as an alternative to Ant (still uses XML, though).

  • Mercury: expensive but good functional testing and load testing for web systems.

  • One & One: very problematic hosting company. Not recommended. GoDaddy is good.

  • AJAX: Asynchronous Javascript And XML

  • SAJAX for PHP works fine

  • Web site rule validators: nice example of chain of responsibility of strategies.

  • DWR allows a single set of validation objects, exposes validation to Javascript.

  • Developer edition of Cold Fusion is a free download. Several folks reported rapid uptake and great productivity with Cold Fusion.

  • Vinkat Subranamyam, good .NET author

  • Designing with Web Standards. This session was surprisingly useful to me and apparently others, even though the information seemed basic enough that we should all know about it.

  • Satay Flash Alistapart.com

  • CSS Zen Garden: lots of good and compelling examples of CSS

  • What is XHTML? (1) HTML that follows XML Rules (mostly this is including closing tags for everything). (2) Uses the Full Doctype tag. It turns out if you use the right Doctype, it forces browsers out of "quirks" mode, which is what they are typically in, and into correct mode so your output is what you expect and consistent across browsers. This seems like a pretty big deal to me.

  • "Friends Electric" them for Drupal

  • W3C DOM Javascript

  • Validator.W3C.ORG to test your code

  • Web developer toolbar for Firefox

  • Firefox debugger extension to help debug Javascript

  • CSS basics: you use the ID tag for something that's unique on a page, such as the header and footer. You use the CLASS tag when you'll have multiple instances.

  • Wordpress: fast, easy, small, but URL-specific

  • W3C-Schools, good resource

  • XMLSPY, to play around with XSL, or Oxygen.com

  • Python Web Frameworks. Too many of them, lots seem good. I'm currently leaning towards TurboGears, because the approach of picking the "best of breed" pieces to combine is appealing to me.

Looks like I have a lot of resources to explore.

Bibliography

Books recommended during the conference.

  • Open Space Technology: A User's Guide by Harrison Owen (information is also available on the web).

  • Pragmatic Project Automation by Mike Clark

  • Pragmatic Version Control

  • Two books by Mike Cohn:
    • Agile Estimating and Planning
    • Transitioning to Agile

  • Code Complete by Steve McConnel

  • The Art of Ant Development by Eric Hatcher

  • Spring Live by Matt Raible, ebook and print-on-demand

  • Don't Make Me Think by Steve Krug

  • Managing the Nonprofit Organization by Peter Drucker

  • Struts: The Complete Reference by James Holmes

  • Designing with Web Standards by Jeffrey Zeldman. Part 1: Business buy-in (techies can skip). Read part 2: how to do it. Example: how to do embedding of Flash and Quicktime correctly.

  • I've been getting good value from the HTML, CSS and Javascript cheatsheets from www.visibone.com.

  • Peopleware, 2nd edition by DeMarco & Lister

  • The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully by Gerald Weinberg

  • Domain-Driven Design by Eric Evans

Conference Feedback

Although we all agreed that "eyes forward" presentations are best left to the formal conferences, we did feel that it would have occasionally been nice to be able to project live demonstrations. For example, one person had been to a Ruby On Rails seminar and could have walked us through that, and other demos could have happened. It's definitely worth having a projector and screen on hand for such things.

Do anything possible to lower the intimidation factor. Some thought that they wouldn't have anything to contribute, but we found that everyone did, regardless of their experience. Also, it's definitely not necessary to prepare anything in advance, and might be a waste of time. Best to just "bring your brain" and be prepared to interact.

Corporate budget cycles often happen at the beginning of the year (academic budget cycles can by in June or July). The earlier a conference can be announced, the better.

One person said they were going to the "Better Software" conference in July, worth considering avoiding conflict with my Java conference in July (more about that in the next weblog entry).

Many, if not all, the discussions would have made good podcasts. I will consider this further for the Java conference in July.


Benji York

Posts: 5
Nickname: benji
Registered: Aug, 2005

Re: Notes from "Programming the New Web" Conference Posted: Mar 26, 2006 7:14 PM
Reply to this message Reply
Great article! Makes me want to attend such a conference. One small correction: Selenium isn't IE only. It also works with Firefox, Safari, Camino, and others.

Terje Slettebø

Posts: 205
Nickname: tslettebo
Registered: Jun, 2004

Re: Notes from "Programming the New Web" Conference Posted: Mar 27, 2006 4:38 AM
Reply to this message Reply
> Debugging PHP is a problem; you typically end up using
> print statements. No known debugger.

One comment about this one: Zend Studio contains both a debugger and profiler...

Andrew Whitehouse

Posts: 2
Nickname: andreww
Registered: Mar, 2006

Re: Notes from "Programming the New Web" Conference Posted: Mar 27, 2006 9:22 AM
Reply to this message Reply
Hello Bruce, Your note about there being no known debugger for PHP caught my eye.

I spent some time exploring this, and came to the conclusion that while it can be done using the Xdebug extension (for example, see http://www-128.ibm.com/developerworks/library/os-debug/index.html) the result is rather clunky. I eventually opted for an IDE - I looked at Komodo, phpED and Zend Studio and settled for Zend Studio (I actually preferred phpED's layout/organisation but the entry level versions were $200 diferent).

Andrew

Andrew Whitehouse

Posts: 2
Nickname: andreww
Registered: Mar, 2006

Re: Notes from "Programming the New Web" Conference Posted: Mar 27, 2006 9:42 AM
Reply to this message Reply
Correction: The article I referenced describes installing the DBG extension (not Xdebug).

Xdebug configuration was an issue as I tried evaluating Komodo with PHP 5.1.2, and this wasn't supported by default.

Bruce Eckel

Posts: 875
Nickname: beckel
Registered: Jun, 2003

Re: Notes from "Programming the New Web" Conference Posted: Mar 27, 2006 9:53 AM
Reply to this message Reply
Thanks for the additions and corrections.

Another note: GoDaddy is finally upgrading to PHP5. They are also supporting Python (in any directory, not just CGI-BIN), and Java (and I don't know the extent of this one).

Ben Geyer

Posts: 4
Nickname: geyerba
Registered: Jul, 2004

Re: Notes from "Programming the New Web" Conference Posted: Mar 27, 2006 9:59 AM
Reply to this message Reply
I'm finding myself wishing this was part of a wiki... but of course I realize the difficulty of that.

A correction:
It's Matt Raible, not Reybauld. http://raibledesigns.com/

Thanks for posting your notes.

Ben

Devra Johnson

Posts: 1
Nickname: devra
Registered: Nov, 2006

Re: Notes from "Programming the New Web" Conference Posted: Jan 9, 2007 2:38 AM
Reply to this message Reply
At first I couldn't find one of the people you mentioned in your notes. Maybe his name is misspelled and you mean Venkat Subramaniam?

Flat View: This topic has 7 replies on 1 page
Topic: Notes from "Programming the New Web" Conference Previous Topic   Next Topic Topic: PyCon Update

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use