Download presentation
Presentation is loading. Please wait.
Published byMarlene Lee Modified over 9 years ago
1
June 28 th – July 1 st 2006 Implementing Usability: Insights to improve your chances CFUnited 2007
2
June 28 th – July 1 st 2006 Agenda Why we are here What we did What we learned What we wished we had done differently Where we are going from here
3
June 28 th – July 1 st 2006 Why we are here We CF! Our developers are having fun doing cool things!
4
June 28 th – July 1 st 2006 CMS gets with the times We are a web application We have been around for a long time (CF v. 1.5!) A LOT has changed since we started We wanted to build something to last Didn’t want to reinvent the wheel Needed to solve real world problems
5
June 28 th – July 1 st 2006 What was wrong Interface icons/menus were outdated Interacting with dialogs was difficult Buttons were not consistent Administration and Content were too separated Using “window.open()” was slower It wasn’t fun to play with
6
June 28 th – July 1 st 2006 What we needed Faster access to tools Logically organized Common toolbars Better dialogs Common interface Extensibility More customization Maximize available space without “clutter” Scalable solution
7
June 28 th – July 1 st 2006 What we did Focus on the backend first XML Transport for Client/Server ColdFusion Custom Factory Extensible and exposed JS frameworks on the front end Extended easily to suit our needs Open our UI code base Took advantage of existing code base – when it made sense Listened to our customers
8
June 28 th – July 1 st 2006 How we did this We planned! What was the goal of the UI? What was the XML Format What were the commands How were they constructed How will we handle errors
9
June 28 th – July 1 st 2006 How we did this We gathered information (tons of information) Hired someone with usability experience Built a STRONG back end model Built a prototype Integrated some frameworks Had some fun
10
June 28 th – July 1 st 2006 Why Frameworks? Development frameworks help you build cool stuff - faster Reinvent the wheel? Documentation Learn from other’s experiences Most have an open code base Easy separation of successes and failures Easier to test/debug
11
June 28 th – July 1 st 2006 Frameworks Will… Help you build better things … faster Sometimes hide complex coding Help you do COOL things!
12
June 28 th – July 1 st 2006 Frameworks Will NOT… Make you a better coder Solve all of your problems
13
June 28 th – July 1 st 2006 From Back to Front The “Woodward” Presentation Model
14
June 28 th – July 1 st 2006 Why is the back end SO important? The data is your lifeline Interface design is volatile Browser incompatibilities UI designers are constantly changing their mind The browsers were not designed for asynchronous applications Building architectures/frameworks is what we do best Scalability starts from the back end not the front end Utilize resources: CF/Java skill set on back end | JS/Flash skill set on the front end
15
June 28 th – July 1 st 2006 Problems… Not a lot of documentation on how to build a robust engine for Ajax in CF Interacting with CFC’s through forms – not so fun CF 8 – “Thank you Adobe” Constant “chatter” was a concern Debugging
16
June 28 th – July 1 st 2006 Solutions Built framework without concern for front end Built test harness to guarantee results
17
June 28 th – July 1 st 2006 Popular Ajax Frameworks jQuery (2006) Strong community backing Good Documentation Plugins Yahoo UI Library (2006) Maintained by large organization Many implementations Soup to Nuts Prototype Large Ruby on Rails community support Shorthand access to many common routines Supports OO programming styles
18
June 28 th – July 1 st 2006 Popular Ajax Frameworks (Cont.) Mootools (2006) Object Oriented Good examples DoJo Toolkit (2004) Open source Supported by IBM and Sun Large code base AjaxCFC (2005) Built by Rob Gonda Delivers serialized data (not JSON/XML) to JS Easy Spry (2006) Maintained by Adobe Different approach then other framework Doesn’t pollute global space
19
June 28 th – July 1 st 2006 How to choose Are you good with JS? Are you good with XML/XSLT? What about the other developers/resources
20
June 28 th – July 1 st 2006 The front end Started out as a prototype using Prototype XSLT on the client side (heavy browser caching) Constructed DOM objects manually Implemented several Frameworks Spry Script.aculo.us Prototype Overwrote/extend several standard properties/functions commonspot.spry.Dataset commonspot.spry.getRecordSetFromXMLDoc
21
June 28 th – July 1 st 2006 Problems… Namespaces HTTP Timeout Spry Transport Layer JSON and eval()
22
June 28 th – July 1 st 2006 What makes Spry so different? Dynamic HTML/Templates (i.e. very similar to CF development) Dynamic HTML building vs. Native HTML Focused heavily on the data (richer user experience) Hooks well into “presentation” frameworks Script.aculo.us Yahoo UI Library Open code base Integrates nicely into ColdFusion Even nicer in 8! Supports XML, HTML or JSON Data Objects
23
June 28 th – July 1 st 2006 Testing Back end Automated testing (multi platforms, databases, CF versions etc…) Refactoring becomes easier Front end Set up XML files to handle the “Post/Get” results instead of getting at the data directly
24
June 28 th – July 1 st 2006 Conclusion Plan 2 Freight trains need to meet in the middle Separate content from presentation Easy development/debugging “A” framework will not solve your problems
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.