javascript architecture: the front and back of it

UI Architecture: all the stuff that it takes to process, package, deliver, and communicate with the client (templating url routing, data validatiion, formatting, ajax). “Between the front and back end”: stuff between presentational javascript and the backend logic. The middle end gives a web 2.0 app performance.

We need to talk about this because of issues with performance and optimization, the MVC model spaghetti code failure (outputting html if a condition exists: the mixture of model code inside view template, too tight coupling between presentation layer and model layer), “don’t repeat yourself” (DRY: repeating code over and over again, i.e., duplicating validation in the client and the server, “any time there is more than one copy of something, one copy is always wrong”), and role separation (wearing multiple skillset hats and mixing contexts–markup/css switch to javascript switch to backend app–without being able to focus on one context at a time).

This isn’t another framework, it’s an optimized/reworked “alternate pattern” of MVC in an attempt to solve some of the weaknesses/problems of MVC. Can we decouple the view from the existing architecture stack?

CVC + JavaScript puts the power of UI architecture in the hands of front-end engineers.

[ session description ]

Presenter(s)
Kyle Simpson
Date
14 March 2010
Tag(s)
#frontandbackofit
#jsarch
Sites
Getify
Demo of HandlebarJS
Speaker Feedback
BikechainJS
HandlebarJS

Continue Reading »

web framework battle royale

Web frameworks make building websites easier. Common tasks are abstracted for faster development. Here is an analysis of five different frameworks: Zope (Python), Rails (Ruby), Sinatra (Ruby), Seaside (Smalltalk), and Symfony (PHP).

[ session description ]

Presenter(s)
(lots)
Date
13 March 2010
Tag(s)
#frameworkbattleroyale

Continue Reading »

designers and developers:
why can’t we all just get along?

I arrived at this session and it was SRO and full. I got some final ideas (after making it inside with 15 minutes to go):

  • When designers push their vision out to “version 10″, it can cause tension with developers who are usually starting from the other end (i.e., Agile). Developers want to start small (and efficient/elegant) and progressively build toward a design. Balance is key.
  • The best possible thing a designer can do for a developer is to share the problem and challenges, not just ask for a composed feature. That way the designer is asking to partner on the solution with the developer. Happiness ensues.
  • The best possible thing a developer can do for a designer is to communicate principles and needs to designers to create a more common ground. For example, talking to designers about considering both real-time interactivity and asynchronous actions.
  • The best possible thing both can do is hang out with each other outside the office.
  • Build trust.

For the rest of the notes, I depend on my trusty Michigan friend, daniel slaughter. He takes amazing notes.

These are notes from a session at sxsw interactive. My own take on topics are mixed in with what the presenters were actually saying, so do not assume all of this content is my own.

designing our way through web forms

Forms suck. Creating a style guide for form design is difficult.

Presenters
Christopher Schmitt – Heat Vision
Eric Ellis – Bank of America
Kimberly Blessing – Comcast Interactive Media
Date
Sunday, March 15
Sites
web form elements research
jquery validation
moz monkey

Continue Reading »

core conversation:
should i build my startup on ruby on rails?

What are the most important qualities of a programming language when you are starting from scratch?

  • how easy to get a prototype out?
  • will it scale? or do i need to scale right now?
  • what existing code libraries are out there and do they support my industry?
  • what kind of talent is out there?
  • do i already know the language?
  • does the language encourage good developer habits?
  • is the language well accepted by a large community/industry?
Date
Saturday, March 19
Sites
Ruby on Rails

These are notes from a session at sxsw interactive. My own take on topics are mixed in with what the presenters were actually saying, so do not assume all of this content is my own.

CSS3: what’s now, what’s new, and what’s not?

Let the W3C be with you. Woo! Cross-browser compatibility problems should end.

Presenters
Molly Holzschlag – Opera Software
David Baron – Mozilla
Hakon Wium Lie – Opera Software
Sylvain Galineau – Microsoft
Date
Sunday, March 15
Sites
david baron
molly holzschalg
Jonathan Snook

Continue Reading »

version control: no more save as…

Version control can save your life and make you happy.

Presenters
Matt Mullenweg – Automattic/WordPress
Karen Nguyen – Yahoo!
Zach Nies – Rally Software Development
Joe Pezzillo – joepezzillo.com, @metafy
Derek Scruggs – SurveyGizmo
Date
Sunday, March 15
Sites
phpadvent article
trac
cornerstone
versions
Beanstalk
mecurial

Continue Reading »

tables don’t kill people, they just kill accessibility.

At least, tables (can) kill accessibility in web portals.

Accessibility in a portal has always been a challenge. It has to do (initially) with boxes.

Many early portals used quite hideous tables to layout the screen. Hey, a portal is a set of boxes, right? Oracle Portal still enforces a level of table-as-layout. Tables aren’t evil, but as layout devices they make it difficult to control keyboard interaction on a screen. You have to really implement them right to keep them accessible.

But my main problem with tables as a way to arrange a set of boxes is that the boxes (portlets) on a page are not always neat, tabular data in common rows and columns. Tables are for arranging tabular data. That means there are common relationships among the data sets.

A portlet is too complex an interaction to always fit as “tabular data”. The ways I want to navigate a table of numeric data is usually different from the way I want to interact with a portlet or group of portlets. For example, do I have to tab through every portlet (and inside through the inner elements) on the screen in order to get to the one I want (with the keyboard)? Or can I jump through HTML headers like every other well-formed webpage I encounter?

The other problem with tables is styling. Think about how difficult it is to style your own profile at MySpace. Nested tables to the nth degree. Portals are susceptible to this trap as well. Taking a beautiful Photoshop design of a portal interface and then attempting to style unclassed table cells (when tables themselves tend to break certain CSS layout rules–or better yet, when there is inline CSS inside a table definition that you cannot override!) is an exercise in insanity. I mention this because the level of design control I have over my content is usually closely related to the level of accessibility I can ensure in a page.

So the first accessibility challenge for portals is having enough control over the page layout interface to display portlets on a page in a way that is semantic and easy to interact with via a keyboard. The second is having enough freedom to make it look great.

FormPress 0.2 released

The second update for the beta of FormPress has been released. This version introduces a new “Required Fields” feature as well as many maintenance updates.

Turning WordPress into a fancy form processor

Yes, I know. Five+ years of development. An approach to open-source content management that is at the same time refreshing and inspired. One of the top blogging tools in the world.

And now, WordPress processes my forms for me.
Continue Reading »