SDExpo 2007: Day in Review (3/21/07)
This year’s SDExpo West (Software Development Expo) conference was hosted at the Santa Clara Convention center in Santa Clara, California. The convention center is not far from San Fransisco and is located near the heart of “Silicon Valley”.
Overall, the day turned out to be fun and very informative! The SDExpo conference focuses on many areas of the software development sector: Java/C++/.Net, Web 2.0, process and people management, the business of software, testing, development methodologies, architecture and everything in between.
My main focus for this conference is on People, Process & Methods. But, I did attend some more techy presentation and picked up some great information. Here are some of the more interesting things I learned:
Combining Flex and Ajax to Overcome Browser Limitations
James Ward, a technical evangelist from Adobe Systems, gave an informative and compelling talk on the benefits of mixing Flex (Flash) and Ajax. I haven’t dug into Flex as of yet, but did learn a bit about it from this article a couple months ago:
How and Why AJAX, Not Java, Became the Favored Technology for RIAs
Here is a description of Flex from this article:
James demonstrated quite a few visually impressive “Web 2.0″/RIA (Rich Internet Applications) that showcase what the next generation of web applications are starting to look like. Gone are the days of boring static HTML pages, tons of page reloading, and user boredom. Technologies like Flash, Flex, and Ajax are beginning to make web applications like like traditional desktop programs (and better in many cases).
Two particular things that interested me where the announcement of Adobe’s Apollo desktop engine, which allows web developers to create rich web applications and run them on the desktop (Windows and Mac, and Linux is forthcoming). And, an interesting benchmark application, that illustrates the different technologies that are used to transmit information between client and server. XML, SOAP, JSON, and a new binary protocol from Flash that appears to be significantly faster than the rest.
Crystal Clear: A Human Powered Methodology for Small Teams
Alistair Cockburn (Pronounced Co-Burn, the Scottish way) gave a great lecture on the Crystal family of development methodologies. I’ve just started my journey looking into Agile development (XP, Agile, Lean, Scrum, Crystal) and I have to say that the Crystal approach looks very promising. Per Wikipedia:
Crystal Clear is a member of the Crystal family of methodologies as described by Alistair Cockburn and is considered an example of an agile or lightweight methodology.
Crystal Clear can be applied to teams of up to 6 or 8 colocated developers working on systems that are not life-critical. The Crystal family of methodologies focus on efficiency and habitablity as components of project safety.
Crystal Clear focuses on people, not processes or artifacts.
Crystal Clear contains the following properties (the first three are required):
* Frequent Delivery of Usable Code to Users (required)
* Reflective Improvement (required)
* Osmotic Communication Preferably by Being Co-Located (required)
* Personal Safety
* Easy Access to Expert Users
* Automated Tests, Configuration Management, and Frequent Integration
Key Note: Why Software Sucks
David Platt gave an enjoyable, comedic, and sobering lecture on the topic of his book of the same name:
From David’s website, here is an overview:
A Book for Anyone Who Uses a Computer Today … and Just Wants to Scream!
Today’s software sucks. There’s no other good way to say it. It’s unsafe, allowing criminal programs to creep through the Internet wires into our very bedrooms. It’s unreliable, crashing when we need it most, wiping out hours or days of work with no way to get it back. And it’s hard to use, requiring large amounts of head-banging to figure out the simplest operations.
It’s no secret that software sucks. You know that from personal experience, whether you use computers for work or for personal tasks. In this book, programming insider David Platt explains why that’s the case and, more importantly, why it doesn’t have to be that way. And he explains it in plain, jargon-free English that’s a joy to read, using real-world examples with which you’re already familiar. In the end, he suggests what you, as a typical user, without a technical background, can do about this sad state of our software—how you, as an informed consumer, don’t have to take the abuse that bad software dishes out.