I started off this morning with Ray Camden's "Coding for Reuse" session. I talked to Ray just before the session started and he mentioned one of his previous presentations had a large number of people who were just starting to work with ColdFusion Components, UDF's, and custom tags. As a result, his focus in my session was much the same, covering the "reuse" topic from a high level instead of delving into more advanced details. However, Ray did an excellent job presenting and I enjoyed the session.
Originally, my second session for today was going to be on the Flash player security model. After reviewing the session slides I realized I knew much of the information already. So, I switched my schedule around a little and attended Damon Cooper's "Mobile SMS Applications Made Easy." This proved to be a good decision on my part. Damon did a great job explaining how the SMS industry works now by providing information on the Short Message Service Center or SMSC. This is basically the enterprise server that SMS applications talk to. There are several SMSC implementations provided by major wireless carriers in the United States such as AT&T Wireless and Verizon. In Asia, where SMS adoption is amazingly more widespread, the major players are KDDI and DoCoMo. ColdFusion's implementation of SMS (in Blackstone) uses the SMPP (Short Message Peer to Peer) protocol to talk to a SMSC. Some examples of enterprise SMS use include purchase order approvals, critical notifications (i.e. a server is down), phone directory lookup, meeting reminders, and SMS to e-Mail bridging. The process for deploying SMS applications involves establishing an SMPP account with your favorite SMSC provider. According to Damon this takes a few weeks and should probably be done before the actual SMS application is finished. This will ensure you have less time-to-live when you have tested your application and you're ready for deployment. Once you have your SMPP account you basically setup your application to conform to the rules of your SMSC and test away. Once testing has been completed you can take your application live which would essentially involve promoting the app since you'd have it living on an actual SMSC. Note, that previous to testing your application on the live SMSC providers network you can use Blackstone's built-in gateways and mobile device simulation to test your application locally.
The high point of my day was Hal Helm's Object-Oriented ColdFusion session. As with other presenters, I have spoken to Hal on numerous occasions but this was my first time in one of his presentations. I was entirely blown away. Hal just has this way of presenting that is rather contagious. He really motivates you to learn more about what you are doing in ColdFusion and programming in general. Hal focused entirely on the object-orientation of ColdFusion and why it's vital that todays developers understand OO concepts. Hal began by giving an overview of OO concepts explaining "is a" and "has a" relationships, and talking about encapsulation, inheritance, and polymorphism. Here's some direct quotes from Hal today:
"Databases are a bad way to structure code."
"Do the database last."
"A database is only useful to persist data."
"Encapsulation is the most important concept of OO."
Some of those may not make sense out of context, so I'd be happy to explain if necessary. Other concepts Hal covered included: subtype polymorphism, upcasting, type promotion, aggregation, and composition. Great, great stuff.
My fourth session of the day was "Advanced ColdFusion Components and Web Services" by Simon Horwith. Simon's presentation was a compliment to Hal's although they both covered different elements of development. Hal's was more focused on theory and strict OO designs and Simon's was more on real world usage of CFC's.
The main thing I took from today was that the sessions in general at MAX are not advanced enough. Up until Hal's session I really didn't experience any great growth in knowledge. I was certain coming in to MAX that I was going to learn a vast amount in terms of ColdFusion and Flash development. Having finished 2 full days of training I really haven't learned all that much. Maybe that's a testament to my own skill level, I don't know. Interestingly enough, it seems I'm going to have to start investing in myself more if I want to continue learning best practices and programming theory. The conference has motivated me to go out and educate myself as best as possible. I'd like to learn more about Mach-ii since I've only touched on it. Whether or not it would be a feasible framework to work with (in terms of OO frameworks) in my development has yet to be seen. As of now, I haven't formed an opinion one way or the other. I guess it's time to look into it further.
I'm working right now on getting todays pics up. As with all the other MAX pics you can get to them from here: