fusiongrokker

Entries for month: June 2008

CFUnited: Rachel Lehman — AJAX Usability

This session isn't just about AJAX, it also applies to using DHTML to change pages -- More appropriately: Non-Flash RIA's. Just like OO, design patterns can apply with usability too. UI design patters are starting to emerge.

Top AJAX Usability issues:

"New-Fangled Web" - Brand new conventions

"Whats this thingamajig?" - use things people are familiar with.

"Did that just work?"

Distratction vs. Frustration

It's not you, it's the site!

I'm not seeing it...

Good, Better, Best

Avoid AJAX as an afterthought

Designing for Rich Interaction Applications vs. Sites Websites: The user's primary task is to move around an information space and read its content.

Applications: The user's primary task is to change ... (She moved too fast through this slide and I couldn't get all of it...)

Great example: Flickr -- browsing someone's photos acts like a website, managing/organizing your photos acts like an application Using AJAX to improve usability

More information:

Posted in CFUnited June 19 2008

CFUnited: Mark Drew — ColdSpring: Better Living Through Configuration

I'll be updating this post with notes from the presentation as it goes on...

Welcome, all, to Spaghetti Coder's Anonymous. ColdSpring is an IoC framework. (Inversion of Control) aka Dependency Injection Framework. It has a component factory (bean factory) built in.

Without ColdSpring, you need to wire together your dependencies. This causes coupling, which is in theory, a bad practice. When one of your dependencies needs to change, you have to change it in every location it's used. This is less maintainable code. With ColdSpring, you have "separation of concerns." Components don't have to do things that are not related to their function. They don't have to do anything except their own function.

Another benefit is that it's easier to create testing stubs, you can see all of your components and how they relate in once place (xml config).

Properties and constructor arguments can be more than just simple value and ref bean's. Can also be a list or array, or a structure (map).

A singleton is a bean that only gets created once, and the same instance is passed to anything that requests it; whereas a non-singleton is recreated any time it is requested. Ssingletons are persisted inside the bean factory; so wherever you store your bean factory, you're also storing singletons. (Application scope is generally the default)

Mark also showed how AOP can be used to do some pretty neat stuff with Accessors and Interceptors.

And said something about actually being a woman.

Posted in CFUnited June 18 2008

CFUnited: Adobe Keynote

This session is over, and I'll come back and update the formatting of this post when time permits.

Ben says that Adobe has a long history of cool announcements at CFUnited; and hopefully this year won't buck the trend. Adam Lehman is helping present technical aspects, while Ben will be talking at a higher level.

CF8 adoption is doing very well. Adobe is strict about discussing numbers, but he admits that CF sales are the best they've been since Adobe took the reigns, possibly ever. Ben says that ColdFusion 8.01 is an important release for library additions, enhancements, and security improvements.

Coming soon: Public bug tracker, public enhancement request system! (I say: about time [or] awesome!)

Adobe has has already begun working on version 9 ("Centaur"): Advancing CFML, Improving Integration, Improving developer experience. (Everyone thinks that this means an official IDE)

The biggest problem facing ColdFusion customers today is the lack of available developers. (how true!) This is good for existing developers (because they can charge more) but bad for (Adobe's) business and the wider CF community, as it will force more companies who are currently using CF to switch away from CF. Adobe doesn't want that to happen, so they are going to be working to spread the reach of CF and lower or remove some of the barriers to getting involved...

...ColdFusion will be freely available for students and faculty for academic use. It will have a similar model to Flex Builder's free license for Education. (Licensee must provide verification of student/education status), and what they get will be the full unrestricted version. The goal is to make CF easily and freely available (for educational purposes), and they hope that it will come with documentation, and a curriculum. Ben jokes that if we have free time due to more developers being available, we can teach CF part time.

"Over the years, CFML has become fragmented and inconsistent." This must mean a sort of language overhaul? Maybe a CFML language steering committee that Open Source engines can be a part of? I was right!

CFML Language Advisory Committee: Will help define the rules and guidelines around the use and evolution of CFML. Will initially consist of Sean Corfield (Lead), Ben Forta (Adobe), Sanjeev Kumar (Adobe), Gert Franz (Railo), Ray Camden (CF Jedi), and Rob Brooks-Bilson

"Centaur" Sneak Peek: The focus is Building A Better ColdFusion. Adam notes that, of course, the lawyers have to get their $0.02 in: What we see here may or may not make it into the final release. Most of it is only conceptual, not an implementation. Language enhancements: Create UDFs and CFC methods (entire CFCs!) using scripting syntax.

component name="CF" extends="adobePlatform"{ public string function welcome(){ //... return "Welcome!"; } }

More CFScript enhancements:

Q&A:

Q: Talk more about the free version for education. Flex is available to staff and faculty
A: Wording is still intentionally ambiguous because they're nailing down the details. They want it to be free and available for EDUCATIONAL use. Lower the barrier for teachers to teach CF in the classroom. Also need a curriculum. CF Team plans on (at least helping) develop curriculum.

Q: Will JRun continue to come as part of the CF Stack?
A: Maybe, maybe not. JRun should support everything they need, but they reserve the right to change it. Plan to keep the install as simple as possible.

Q: Will CFScript be able to do everything that CF Tags can do?
A: The visited it in development of CF8 and couldn't do it without half-assing it, so didn't do it at all. Would revisit it if they thought they could accomplish something. UDF wrappers are available for every tag, anyway.

Q: Will version of Hibernate that ships with CF be stuck in, or can we plug and play?
A: They hope it will be interchangeable, but of course, no promises.
(Hopefully they learned their lesson from the whole Ext 1.0 fiasco?)

Q: Will there be an Official IDE?
A: "Come to MAX." (Sounds an awful lot like, "Yes, but I'm not allowed to even answer that until MAX" to me!)

Q: Why are some companies not represented in the CFML committee? (Of course referring to Open Blue Dragon)
A: (Ben is careful with his wording here. Obviously a sore subject.) His brutal honesty: Group is made of people who have demonstrated a committment to the wider CFML community. List can and will grow, but only in the interests of the businesses involved and the community.

Q: Someone asks about pricing for the new version.
A: ... (Do we really need to revisit this? Again?!)

Q: Will there be changes to the server administrator, making it easier to administer multiple servers?
A: Adam says, "Yes." Of course they are always looking to improve everything. They are always looking for recommendations, feel free to submit them!

Q: Will the "this" scope be kept?
A: Of course they will not break existing code. It will stay.

Q: Will there be more examples and tutorials on LiveCycle Data Services?
A: Yes, yes, yes!

Q: Will there be official CF Administration training? (I assume something to do with clustering, tuning, etc)
A: Some partners offer it, they are considering adding some official training. No specific plans yet.

Q: Is KTML editor gone?
A: There are some licensing issues that preclude them from doing what they want to with it. Still trying to work that out.

Q: Any plans to allow CFQueryParam outside of CFQuery?
A: See: CFscript problems! One of the biggest problems of CFML in CFScript. They would like to solve this, but of course no official word yet.

Q: Anything new with Share Point integration?
A: Nobody is clear on what exactly is needed. Need more use cases, so if Share Point is important to you, figure out how you would use it, and tell them!

Q: Better support for memcache or other caching capabilities?
A: Yes, actively being researched.

Q: What additional tooling will be available for ColdFusion?
A: Ben says, "That would fall into improving the developer experience. See you at Max."

Q: Will speed and performance improve at leaps and bounds for between versions 8 and 9 like they did between versions 7 and 8?
A: It won't get slower, and they'd always like it to go faster. Adam says the rule of thumb is that if adding something or making a change will cause CF to run slower, they just don't do it. Period.

Q: Is CFML language grammar published?
A: That's a question for the CFML Language Advisory Committee.

Q: iCal and Imap integration?
A: Ben is a big fan. Thinks they are important, and it's on the wish list, but no promises.

Q: Someone requested a custom tag for working with Java Resource Files
A: Noted.

Q: Will it have virtualization-friendly licensing?
A: They plan to keep the current licensing scheme: Licensed by physical CPUs -- very friendly to virtualization!

Q: Dynamic PDF Form generation without LiveCycle?
A: Creating forms from scratch is probably doable, but you would lose some of the benefits of PDF in the first place. Need more use cases and more research.

Q: Word document generation? Not RTF.
A: Noted for wishlist.

Q: Staging licensing: shared instance, which you can't do with a developer license; but not used in production so it doesn't need to be as powerful?
A: One way is to use separate virtual machines on the same box; but they are looking at other options.

Q: Multiple filled PDFs into a single merged PDF?
A: Engineering team is looking into this.

Q: Anything new in the roadmap for CFReport?
A: Ben would like to think there is. If there are things you want, please tell them! There are some known issues, but beyond those, submit requests!

Posted in CFUnited June 18 2008

CFUnited: Teratech Keynote

I'll be updating this post as the keynote goes on, check back for updates... Seems like the theme is improving software quality and coding techniques through the use of simple common practices and tools.

Things like:

Closes by asking each of us to think about what we want out of the conference this year.

Popular answers: Free beer, and not having to be at work. ;)

Posted in CFUnited June 18 2008