Thursday, September 11, 2008

New Site Launched

The eagerly awaited, fresh new site is now online! It was somewhere around CFObjective this year that I heard the ColdSpring team was being pestered for a new site (well, long before that - but that's when I got serious about it) so I finally hunkered down and did the design I had promised Chris long ago, then finished the HTML/CSS at CFUnited. Kurt Weirsma did a fabulous job implementing the site in record time, and Briak Kotek has been furiously working away at documentation as well as gently prodding the rest of us to get our parts done :). Those ColdSpring guys are amazingly productive... the new site has an exciting future with a lot of great new things planned, and it's been a real team effort to get it online. I hope I can now say that ColdSpring has a site that does the framework justice. Check it out!

Tuesday, June 10, 2008

Introduction to Model-Glue Presentation from MD CFUG

Thanks to everyone who attended my Introduction to Model-Glue presentation tonight at the MD ColdFusion User Group. It was nice to see some familiar faces there!

As promised, here is the latest version of my presentation and some of the code samples we looked at.

Presentation PDF

Sample Application - CF Art Gallery

I'm sorry we ran out of time and didn't get to look at the Art Gallery in more detail - I usually cut my presentations too short and I guess this time I overshot it! If you have any questions about what was discussed, feel free to contact me at raelehman [at] gmail.

Wednesday, May 14, 2008

To BES, or not to BES?

Today, I draw the line at learning Blackberry development.

This blog is about being a designer and a developer. And as the only person in my Marketing department, I do the jobs of at least three distinct positions, if not more. I'm not saying I do the work of three people, they keep me busy, but not that busy! However I am the sole person responsible for internal applications development (barring IT/systems admin support for server and database management, and most reporting), marketing strategies and tactics, and graphic design/creative direction. In these varied roles I find myself making distinct "hat switches" from day to day: Monday I design and mail a few thousand postcards, Tuesday I upgrade our dashboard application, Wednesday I coordinate trade shows. And so it varies.

It's just too much of a shift to spend the first part of my day planning a direct mail campaign, and the second half programming Flex and CF. Sure, I've done it. But I find I am more productive if I put on one hat and wear it all day, than if I jump around between tasks. I'm not sure if I get more done that way, but it feels like I do! I design better if I'm not thinking "but how will I program this?." I program better if I stay knee deep in code once I'm there. I open my mind to develop marketing strategies better if my mind isn't cluttered with thoughts of design patterns and syntax.

This generally works, but I feel I could be a lot better at any one of the three, if I just focused on it all the time. Extra hours of experience aside, never having to think about the other roles would help me focus and specialize. I've struggled with this a lot lately, thinking that I need to specialize my skill set (way before Seth made this post). And I've wondered...where do I draw the line in learning new skills? Should I?

My company recently moved from hosted Blackberry service to our own BES, and the opportunity of deploying our own applications and themes has excited management. Since I do all of our internal applications development, I will theoretically be writing any Blackberry applications we develop. I read up on basic Blackberry development a few months ago when this prospect first arose, and got to understand the basics, but somehow I cannot get behind forcing myself to take on Blackberry development, nor do I see a lot of need for us to develop BB applications.

I will always learn what technology is required to do my job, and I certainly never plan to just "stop" learning new skills because my brain is full, or such nonsense. However, I do feel like venturing into BB is unnecessarily broadening my already ridiculously general skill set. As the Director of Marketing, do I "pull title" and tell the IT guys they're on their own? I'm thinking now would be a good time to do that.

Technical learning curve aside, I might feel different about this if I saw a real need for a custom BB application within our organization. But none of our core systems (the ones that would really be valuable if they were mobile-accessible) have any type of open API that would allow proper integration (read: I would have to directly connect to an undocumented legacy database, and probably violate our software license), so anything I build would be a total band-aid solution, mobile "just because we can". Hardly worth learning a new skill for that.

Despite my goal of being a lifelong learner, I feel like at some point I have to say: "let someone else deal with it!" So ends the rant of this designer-developer, and I'll put this out there to all the other generalists: where do you draw the line? How do you decide NOT to learn something? How do you juggle different roles?

Thursday, May 8, 2008

CF.Objective() 2008, #3 Come and Gone

Well...another year has passed for the CF.Objective() conference! It's hard to believe that the first one was three years ago.

Funny story about that... when I first heard about it -- the rumored "advanced" ColdFusion conference -- I thought, "there's no need for me to go to that, I'm not really that advanced." But it was over a weekend, so I tagged along with Adam and told him to tell Jared (Rypka-Hauer, the organizer) that if he needed any help running the registration desk or anything, I'd be happy to donate my years of experience running conferences.

As it turned out, they did need my help. I worked the desk, hand-scrawled signs to post outside the meeting room doors, and most importantly: got to meet just about every one of the 100 guru developers that were there. And as I worked it, I realized that the session schedule looked totally awesome, and that there were things I could learn there, so I was very happy to find out that it was happening again. The next year, I returned as an actual attendee (and also designed that "E for Enterprise" t-shirt you may have seen).

For the past two years I've been sort of their "designer on the side", helping out with various graphic needs of the conference, and this year I was honored to get a special "VIP" badge - as they put it - "anyone who cuts their honeymoon short to attend a conference deserves a VIP Badge"! Well, we didn't exactly cut the honeymoon short, but we did go straight there because we simply did not want to miss such an excellent conference.

This year's conference was better than ever. Best Meetings, Inc & Jim Lewis, the conference planners, did a great job - things have come a long way since that first year where we didn't even have signage. The downtown St. Paul Crowne Plaza hotel location was great, within walking distance of several restaurants and conveniences. I saw several excellent sessions, covering a preview of Model-Glue:Gesture from Joe Rinehart, Developing Flex Without a Framework (heresy? no!) by Max Porges, Adding Chat with BlazeDS by Tom Jordahl... those were some of my favorites, but every session I attended was really great.

A lot of the conference buzz was about the new frameworks - Mate, the Flex Framework from AsFusion which really impressed the crowd, including Chris Scott who has been working on a Flex framework of his own - Swiz. Then there was Model-Glue: Gesture (3), now in Alpha.
The Adobe team held a BOF (Birds-of-a-Feather) discussion of ColdFusion 9, which I thought went really well - many great ideas, and mostly constructive discussion. The Adobe guys kept really open minds, despite the consistently difficult challenges this community throws at them!

A lot of the talk there was about ActionScript on the server (to supplement or replace CFScript, and using AS Objects as a replacement for CFC objects) - plenty of controversy and counterpoints there, and I will leave it to the experts to cover that in detail! There were several other new or improved feature suggestions, many having to do with server administration. The demand for a real CF IDE was as high as ever.

I was still on Hawaii time so I had a rough time getting up in the morning for the early sessions (I did miss one slot - bummer!) but I was able to actually stay awake late to hang out with everyone at the hotel bar afterwards so there was an upside... We had a blast, as always - met lots of people, caught up with friends. No, this wrap-up is not technical, more like a ringing endorsement for my favorite CF conference! I am already looking forward to next year.

Speaking on Model-Glue at MD CFUG June 10

If you're in the Washington DC area, I'll be speaking at the Maryland ColdFusion (Adobe) User Group in Rockville, Tuesday June 10, 6:30 pm to 9:00 pm. My topic will be "Getting Started with Model-Glue", and there will also be another presenter, Jeremy Kadlec, talking about "SQL Server 2008" which I am looking forward to seeing!

For meeting details, visit the MD CFUG website:

My talk will cover the powerful but simple MVC (Model-View-Controller) framework for ColdFusion. If you're new to developing with a framework, or just want to find out more about Model-Glue, this presentation will help you take the plunge. We'll cover installation, setup, and creation of a new application. Then we'll demonstrate how to accomplish some of the most frequently required tasks in building web applications with Model-Glue, and finish with some highlights of the upcoming Model-Glue: Gesture Alpha.

If you've been considering giving Model-Glue or frameworks in general a try some time, this is your opportunity - sometimes seeing it demonstrated in person can be a big help. Also I can personally attest to the the Model-Glue mantra - "MVC for you and me" - it's a wonderfully simple framework that just works and will really help speed up and improve your development. No pre-existing 1337 skillz required! I've been using it for a little over a year now, and I've never looked back. Hope to see you there!

Monday, April 21, 2008

It's Finally Over, and It's Just Beginning!

Well Adam and I finally tied the knot yesterday, and we are incredibly happy and relieved to have the whole thing done! The wedding was a blast, though insanely stressful beforehand. Our amazing family and friends managed to pull off whatever we couldn't (there's nothing worse than not having any control or being able to do anything for yourself during the event when you've planned it for a year!) - they came through for us in so many ways. We have the best friends ever!

I have to mention certain vendors we worked with who really deserve accolades for doing an exceptional job: Timpano's in Rockville for the swank reception, Balducci's in Bethesda for the gorgeous and tasty Cake, and the Pooks Hill Marriott for the awesome suites and hosting of the after-party at their lounge. Brookside Gardens was very accommodating in helping us move the ceremony inside at the last minute during the forecasted torrential downpour. The rain didn't stop my friend and photographer Lia Moschonas and her fiance Jim from being great sports, soaked through and still shooting what I'm sure are going to be adorable photos of us under an umbrella!

Needless to say we're going to disconnect as much as possible (from computers, phones and the interweb - not eachother) for the next two weeks as we finally take our dream vacation-honeymoon to Hawaii.

There will be pictures on Flickr as soon as we can get them up there...and if you have some, please contribute to the pool!

Wednesday, April 9, 2008

My CF IDE Wish List

I drafted this awhile ago and never published it ... but as I was cleaning out some comment spam I came across it and thought I should put it out there. So here goes!

[In response to a a community-published survey about a ColdFusion IDE] I appreciate the reasons for doing a survey, but I really don't see the value in this particular survey or its predecessor from Adobe. My answers were basically... Yes. All of that. Important. Happy to pay for it. What else?

The features listed are basically what's available to us now, although not in a single IDE and perhaps at varying levels of quality. Although it would be a big improvement to see those things done right in a single environment, I think there are a lot of additional features that would really make the IDE worthwhile. Some things I would like to see – pie in the sky – are…

Integrated support for CF Reports – not a separate development IDE – it may or may not be a good idea from a performance standpoint, but it sure would be convenient! Or alternatively, opening up the CF Report format (CFR) into an xml-type language that can be generated by any number of tools - either community created, or perhaps, if I may be absolutely ridiculous, InDesign?! Reporting IDEs across the board are atrocious, but a single one, done right, could be revolutionary.

Integrate the server into the IDE so that the CFML you write is being actively compiled/interpreted sort of like it is in FlexBuilder. Then I can catch errors and typos as they are written – when I’ve mistyped a method name or not included a dependency. I believe this is a really complicated thing to do, but it would truly enhance productivity.

Improve support for SQL code. I know this was mentioned, but I want to emphasize it. I think the current workflow most developers use for writing SQL sucks. I don’t want to have to switch to my database IDE – that does nothing for me when I’m writing dynamic queries. The RDS Dataview query builder in FlexBuilder is ok, but limited – it doesn’t understand complex queries and is not intuitive for use with parameters/variables. And I want SQL syntax highlighting within my CF IDE.

I think the CF Extensions for FlexBuilder for generating CFCs are nice, a good start, and I’d like to see them enhanced and customizable. The XSLT or CFML approach that Brian Rinaldi uses for Illudium PU-36 CFC Generator templates works well for me. In fact, I really like Illudium, but if it was all within the CF IDE, even better. I'd also like to see some options to generate CRUD forms based on database tables. I realize you can sort of do this with the application wizards, but I'd rather be able to do it in small pieces, which I can then easily integrate into my application or site, instead of having to build the whole shebang, extract out the small parts I need, and then modify it so heavily I may as well have written it from scratch. In other words, I'm sick and tired of hand coding forms...

I think this one should be simple…fast access to CFIDE/Admin console from the IDE! Maybe sort of like the RDS approach – list all the CF instances you can connect to, and then click once to get to that particular admin. Or be able to browse admin settings right within the IDE.

This may make some hard core developers squirm or perhaps vomit…but I think having some well written “starter” applications bundled with CF would be useful. Sort of like Access comes with database templates for several common types of applications – contact management, inventory, project management, issues database, survey, blog, simple CMS… the same idea, but web-enabled. One key factor: have a well designed model that can be ported to various frameworks with minimal effort. It would be difficult to choose one particular framework, but if it was done right, it could be easily customized.

I understand there are probably good reasons to not do many of these things, but I’m just saying, as a developer/designer, these things would make my life a lot easier, and that’s what CF is all about, right?