Loving the Web Again

An interesting thing has happened in the past few weeks. I’ve fallen in love with the web again. For the past two years I’ve worked exclusively on Windows client applications. First in Windows Forms and then in WPF. Recently, however, I moved my website to a new domain and on to a new platform, WordPress. Learning WordPress has plunged me back in to the minutiae of the web with all it’s challenges, frustrations and rewards.

There is a school of thought that says that creativity comes from constraints. The constraints of working on the web are opportunities to find creative solutions. In the past few weeks I’ve explored the 960.gs CSS grid system, Cufon and @font-face font embedding and been introduced to the latest in platform specific CSS hinting. All of these are workarounds for constraints and they all produce amazing results.

Another happy consequence of diving back into working on the web is a new fascination with design. I’ve been reading tons of design blogs and articles. For some reason, I’ve always drawn a clear distinction between development and design. because I self-define as a developer I assumed that design was for other “creative” types. Since I don’t use or have an interest in Photoshop, I assumed that I was not a designer. But the truth is that I have always been a designer. I’ve been designing user interfaces for years. Usability, I realize now, is the primary design motivation with prettiness coming in a distant second or third. By copying other user interfaces such as Outlook and gradually modifying them according to feedback from users I was absolutely doing design.

This realization lead me to think of myself more as a designer. I’ve always been most interested in helping users solve problems. The debates about how the application talks to the database in the software development community are tiresome and tedious. I know all the technical details and have my own opinions about how best to implement that detail, but it is just an operational detail in a much bigger story. Delighting users is the only thing that truly matters. Why do I do this thing called software development? Because it is creative and therefore personally satisfying, but also because it is useful and ultimately satisfying to others.

I am more firmly convinced than ever before that HTML is the lingua-franca of user interfaces. The advances coming in HTML 5 and CSS 3 are game changing. I think platforms such as iOS and WPF offer amazing possibilities for designers and developers, but like MP3 was to audio accuracy, HTML 5 will be more than good enough for the majority of users. I don’t think that HTML interfaces will ever replace platform native user interfaces, but I expect to see toolkits where the majority of the UI is built in HTML with hooks for platform specific features much the way we include -moz and -webkit in our CSS today.

Moving my website onto WordPress has re-invigorated my passion for software development in a way that I never could have predicted. I have ordered three books on user experience and web design and am constantly consuming new information via RSS feeds. There is much to learn and as always whatever I learn, I’ll be sharing it via talks and blog posts and rants on Twitter, so stay tuned for more!

CodeStock 2010: The Year We Connect

It’s that time again. The ever-awesome CodeStock is coming to Knoxville again this week. This is the third year for this technology community event and this is sure to be the best event yet!

CodeStock is at a new venue in the heart of Knoxville this year, with walking access to hotels, restaurants and downtown nightlife. The event will be held at the University of Tennessee Conference Center with the keynote held Friday evening at the historic Bijou Theater. This will be an excellent opportunity for people to experience authentic Knoxville culture. Can you tell I’m jazzed about the location change? 🙂

Another change this year is an expansion of the CodeStock program. CodeStock has always offered content for software developers and Open Space for attendee directed content. Last year the program expanded to include entrepreneur content. This year will include all of the above and include content specific for IT professionals. If you are interested in technology or business, then CodeStock has something for you.

Because I live in Knoxville and I’m active in the technology community, people often assume that I am involved in organizing CodeStock. That assumption is false. Michael Neel works year round along with his wife Cicelie to make CodeStock happen. They deserve the credit for bringing this terrific event to Knoxville. If you haven’t registered, there’s still time.

My primary responsibility at CodeStock is to facilitate the Open Space. This role has proven personally fulfilling. Feedback from participants in the Open Space has been positive as well. If you have never experienced an Open Space, then this is a great opportunity to get involved.

My secondary, and totally unofficial, responsibility around CodeStock is community social organizer. In this capacity, I host a get together the night before the event for people to gather and meet when they arrive in town. CodeStock is all about community and we don’t discriminate between speakers and attendees. There is no exclusive speakers dinner.

This year we will be gathering at The Downtown Grill & Brewery on Gay Street. We’ll meet upstairs in the banquet room Thursday evening from 6:00 – 8:00 pm. Please note that you can check in for your CodeStock registration at the Hilton Thursday evening from 4:00-8:00 pm. Please check in first, then head over to the brewery. We’ll most likely migrate downstairs or to another downtown location after 8:00. You can join us even if you don’t get in until late. Just check Twitter to see where we are and what’s going on at the moment.

The other community social event that I organize around CodeStock is an “after-party.” It isn’t really an after party, since it isn’t part of the official event, but with so many friends and potential new friends in town, I can’t pass up the opportunity to extend our time together. PostStock is held at my home and is hosted by my lovely wife Michele and myself. It is not officially associated with CodeStock or East Tennessee .Net Users Group, Inc. Got it?

Anyone still in town on Saturday night is invited over to my house from 7:00 pm until ??? If you didn’t attend the conference, but you are interested in meeting some of these incredible people, then you are invited too. Michele and I will provide light finger food and a location. Please bring your own beverage of choice. We will have the ping pong table set up, the fire pit burning and the acoustic guitars tuned up. If you can’t figure out where I live, then feel free to contact me for details. We live on a narrow street so please park in the school parking lot behind our house and enter the yard from the rear.

This will, without a doubt, be the best CodeStock yet. I look forward to seeing everyone here in Knox Vegas later this week!


He Is A Freak

One of my personal goals for 2010 is to speak to groups outside of my technology niche. Like most of my ideas, I don’t have a definite plan, just a sense that I want to widen the audience I address.

Last week, I saw some chatter in my Twitter stream about a local business group I hadn’t heard of. Because people I interact with on Twitter are involved in the group, I decided to inquire about speaking there. I messaged a Twitter friend and found out who to contact.

I sent a short email inquiring about their speaker selection process and included a link to my Coding In Public talk from last spring. I thought including a link to a video of a 75 minute presentation addressing a room full of 85 people provided some credibility to my inquiry.

I didn’t check my email again until the next evening after giving a talk in Chesapeake, VA. I was sitting in my hotel room when I read this reply:

Watch his movie. He is a freak.

I was confused until I saw another reply apologizing for the earlier email. It seems that the person I contacted has an administrative assistant who screens his email. It was her summary judgment that I had accidentally received.

Now, I try to keep cool in such situations, but this took me by surprise. I’m human, and I felt insulted. I had just spent the last several hours listening to  people tell me how great my talk was that very night.

I felt certain that my critic in this case hadn’t even watched my entire talk, or attempted to evaluate my ideas. Ironically, in the video I sent, I’m dressed conservatively. I can only suppose the pony tail and chin beard are what made me a freak in her eyes.

After being initially offended, I began to realize some larger implications of being labeled a freak. Up until now, I have addressed a very narrow population of software developers. As a culture, software developers tend to place value on technical skill over appearance.

I saw clearly that if I am to expect to earn the attention and respect of a broader audience, then I’ll need to build credibility slowly. I am starting all over in a new arena. Any credibility I’ve earned speaking to software developers over the last five years doesn’t transfer to this new audience.

The morning after receiving this instant review, I realized how lucky I was. This knee jerk evaluation from a stranger wasn’t intended to be shared with me. It is only blind luck that I got this feedback so early and so unvarnished.

I have no intention of modifying my appearance to suit the expectations of any audience. It is very useful, however, to know what my appearance telegraphs to an audience before they ever hear my ideas.

At this point, I’m quite content to be a freak. Anyone with novel ideas is a freak. Anyone willing to attempt a creative endeavor is a freak. Frankly, I don’t want to speak to audiences that aren’t looking for new perspectives. Normal is boring.

So yeah, watch my movie. I’m a freak.


Virginia User Group Tour

This week, I’m embarking on a three city tour of Virginia sharing my ideas on the parallels between writing and software development. Below are links to the meeting details as well as the abstract and slide deck:

Does Your Code Tell A Story

Software developers are writers. Our medium is text. What can we learn about writing code by studying the principles of good story writing? Frequently in software development, we solve a problem, check in the code and release it. Unfortunately, this means we have released a first draft of the solution. One of the main lessons of writing workshops and classes is to write in small chunks and revise ruthlessly. By releasing our first drafts, we increase the maintenance cast of our application because it is harder to understand the initial intent of the solution. In this session, we will explore concepts from writing such as small assignments, bad first drafts, and telling the truth as they apply to the craft of software development.

View more presentations from Alan Stevens.

See y’all in The Commonwealth,


Would you like to join me for dinner?

pizza_kitchen_yummy_pizza Next Monday, October 5, 2009 at 6:00pm, I’ll be enjoying some pizza and a couple of pints at The Pizza Kitchen and I’d love your company. I can promise you’ll experience friendly service, tasty pizza and a funky atmosphere full of Elvis memorabilia.

The reason for my friendly invitation is that I need to remind myself that it is perfectly ok for me to share my experiences using social media. I read a couple of articles this week about a lawsuit against the owner of The Pizza Kitchen because he shared on FaceBook and Twitter that he was unhappy with the service he got from a vendor. You can read the details for yourself, but I’ve pulled out my favorite quotes below.

Robyn Askew, the attorney representing The Pizza Kitchen, said, "We are responding appropriately to a lawsuit that we consider to be without merit."

It may not be apparent now, but one day in the history books you might find this story where an advertising agency sued their client, because their client seemed to be able to get a message out using social media more efficiently than the ad agency could counter with traditional means.

I lived behind The Pizza Kitchen for five years, in the Farmington neighborhood. I had many delicious pizzas from that friendly establishment. I have many pleasant memories of evenings spent on the patio of TPK with friends. The owner, Travis, isn’t a personal friend but I interacted with him and his staff regularly for five years. My impressions are 100% positive. Personally, I don’t think Travis would say anything about a vendor if he didn’t believe it to be true.

I am not an attorney, and such speech may well be illegal under contract law for all I know, but that isn’t what’s important to me. What I care about is that this, seemingly petty, lawsuit not have a chilling effect on speech in our nascent social network community here in Knoxville and elsewhere.

I get lots of useful consumer info from Twitter such as current deals and new bands I want to listen to. I also get other info such as warning of a highway patrolman on I-40 with a radar gun. I value all this information and I don’t want to see people stop sharing information because they fear legal retribution.

Just yesterday, on Twitter, I heard about an extremely positive experience with Sears extended warranty service. I have a fairly low opinion of Sears and there is no way that Sears could have raised my opinion that quickly with traditional marketing. I now have a positive concept about the company that was put there by a trusted source: a social network friend.

The irony in The Pizza Kitchen situation, is that they are being sued by a marketing firm. Do you see the irony? The marketing firm is spreading Travis’s message that they are douche bags for him.

There are currently 1471 people following my semi-random comments on Twitter. All those people have people following them etc. Vendors and customers are equals now. It’s a different world and a different business landscape than before. We all get to express our opinions.

Peace out,


CodeStock, CodeStock… CODESTOCK!!

codestock_lowresFor those not in the know, CodeStock is an awesome developer event coming up June 26 & 27 in Knoxville, TN. Michael Neel and his crew of dedicated volunteers have outdone themselves in planning two days of fantastic content across a spectrum of languages and technologies.

My small contribution to CodeStock will be facilitating the Open Spaces track. While Open Spaces are best when nothing distracts from participants’ focus on the Open Space itself, I think events like CodeStock offer a golden opportunity to introduce Open Space Technology to a new audience that might not otherwise learn what it has to offer.

This hybrid approach to Open Space Technology requires some compromises that purists may find distasteful. That’s okay, I can take the heat. I know from experience that the benefits far outweigh the negatives in taking this path.

The organizers of CodeStock are so committed to making Open Spaces a success that the keynote on the first day of CodeStock will be the opening circle for the Open Spaces track. This approach will insure that all attendees are aware of what Open Spaces has to offer and how it works. This will allow them to make an informed decision about whether to participate or not.

For those not committing to the Open Space track, there is an array of sessions offered including Saturday morning’s keynote by the always impressive Josh Holmes. Everyone should leave this event with new ideas and approaches to consider and apply to their craft.

CodeStock isn’t all business, however. Much of the value of a conference is in networking and idea sharing with peers. We have a number of social events planned in the evenings to give ample opportunity for casual learning.

Thursday evening, anyone interested can gather at Mellow Mushroom on Campbell Station Rd. at 7:00 pm for a community dinner. This is typically a time when there would be an exclusive dinner for speakers, but CodeStock is about bringing developers together and exclusivity doesn’t fit with that ethos.

Friday evening from 7:00 – 9:00 pm we will have the CodeStock Social at the Ed Financial training center. There will be multiple XBoxes and various card and board games as well as light refreshments provided. This event will offer interested attendees a destination after dinner on Friday evening.

Saturday evening there is no official CodeStock social event. CodeStock ends at 6:00 pm on Saturday. There is an unofficial event, however. All interested CodeStock attendees are welcome at my house from 7:00 until ???? Saturday night. We will provide finger food, but guests will need to bring their own beverages (wink, wink, nudge, nudge).

I need to stress that the after-party at my residence is not an official CodeStock event. It is merely a conveniently scheduled event for CodeStock attendees. Find me at CodeStock for directions and other details.

Often, conference attendees prefer to stay at a common hotel for ride sharing and networking advantages. When people ask about lodging this year, I recommend the Holiday Inn Express on Campbell Station Rd. for its value/quality/location balance. Honestly, there are lots of good hotels at the Campbell Station, Lovell & Cedar Bluff exits. Pick one and join us for CodeStock.

At the time of this writing, there are 46 tickets left for CodeStock. You will not find a greater opportunity for learning and networking in the field of software development for $45 anywhere. I’m certain that this event has something unique to offer. Don’t miss out!


The Cheese is Moving (Yet Again)

Who Moved My CheeseI enjoyed the little fable of Who Moved My Cheese when I read it years ago. While I didn’t find it new or life changing, I liked the message that we should always be ready for new things. Even though I no longer eat cheese (I went vegan this year), I try to be prepared for when the metaphorical cheese starts moving.

Yesterday, my manager and my team lead sat down with me in a conference room to tell me that my contract had been cut from the budget as of May 1, 2009. I was not surprised at all. I had been asking about the status of my contract for over a month. My client had lost nearly half a billion dollars in the first quarter of 2009. I could read the writing on the wall.

Still, I had been lax about preparing for the transition. It is easy to be lulled by the familiar. As a result, I had to scramble to update my resume last night and get the word out that I was looking for a new opportunity. I was better prepared than I have been in the past, but I’d still like to keep my resume more up to date.

I’ve already had several leads come my way from my Twitter tribe and the extended developer community. If I have any down time, I expect it to be brief. If you have the time, please review my resume and provide any feedback or suggestions in comments or using the contact link at the top of the blog.


Coding In Public Slides and Video

The Ohio user group tour last week was a success from my perspective. I had a blast sharing some ideas and talking to friends. The feedback that I received was very positive as well.

I put the slides on SlideShare here.  

I am especially pleased that Scott Walker took the time to record video of my talk in Columbus,OH. The video is embedded below. Enjoy!

Alan Stevens – Coding In Public from Scott Walker on Vimeo.