• 08:15
    Registration Open
  • 09:10 - 10:00
    Keynote (Adobe)

    Tridib Roy Chowdhury

  • 10:00 - 10:10
    Break
  • 10:10 - 11:00
    Service Oriented Architecture vs Monolithasaurus

    Joe Roberts

    SOA is an approach to application design that allows us to build robust, scalable software. This is not about scary enterprise systems, this is about building applications with interoperable, lean services that can provide incredible flexibility and freedom.

    You will learn the pros (and cons) of this approach, and how you can apply it to your own projects.

    Using common idioms like REST, HTTP and message queues, complex applications can appear simple again. Simplicity leads to better design, increased agility and developer happiness.

    HTML5 Mobile App Development with PhoneGap

    Mark Lassoff

    Unless you've been asleep for the past five years you know that mobile development is hot. Many developers, however, have become frustrated by the long process of porting apps from one divergent platform to another. The process has become costly, lengthy and unwieldily. Many developers are taking a second look at HTML5 based mobile development, as an alternative to traditional native development. In this dynamic session, master trainer Mark Lassoff will invite participants to code along as he develops a full app using HTML5, CSS, Javascript and the PhoneGap library. The app will be ready-for-release for iOS, Android and even Windows 8. While creating the app Lassoff will demonstrate many of the features of HTML5 development and the convenient PhoneGap library.

    Mongo(DB) only pawn... in game of life

    Rob Dudley

    Ah NoSQL, the modern web's panacea for all database ills...

    This session focuses on the incredibly popular MongoDB from 10Gen Inc. and covers setting up MongoDB safely from an architectural perspective before moving on to connect to and query a MongoDB server from the browser using just JavaScript and then, more sensibly, using Marc Esher's excellent CFMongoDB Library. As a bonus you get some Map Reduce juice and (if there's time) an overview of the fundamental paradigm shifts needed to move on from a traditional RDBMS.

  • 11:00 - 11:10
    Break
  • 11:10 - 12:00
    Mobile Frameworks Shootout!

    Steve Drucker

    During this briefing for developers and I.T. managers, you'll get an in-depth review of the three most popular javascript-based mobile application development platforms - jQuery Mobile, Sencha Touch, and Appcelerator Titanium! You'll review the development tools, hear about the developer and debugging experience, and participate in a brief code review in order to determine which framework is the most appropriate for your next mobile project! We'll demonstrate how each framework can be used to develop the same mobile app, highlighting the strengths and weaknesses of each.

    Railo's Top 10 Developer Features! (and sneak peeks!)

    Mark Drew

    In this session, Mark Drew will guide you through his top 10 Railo Developer features, both old and new. Awesome features like the CLI, new cfscript functionality as well as a sneak peek of the Morpheus project that Railo will be releasing in conjunction with Prisma IT. This is a session not to be missed! We really hope it will be invaluable for every developer out there. And we will be demoing features that haven't been shown anywhere else.

    Mikado Method - Making Code Changes Less of an Impact

    Kev McCabe

    The Mikado Method is a simple straight forward methodology for large scale refactoring. We’ve all been there; tasked with a change, which as optimistic developers we say won’t take us long, weeks later we’re still fighting the system. Enter the Mikado Method, a way to peel the layers of complexity away from any system. Systematically attack refactoring, in the knowledge that every change you make will be for the better of the system, rather than hoping it will be. When it comes to refactoring legacy systems, sometimes it faster just to get in there and naively attempt to make the change required rather than speed weeks analysing the affects. Naively making the change will always have knock on affects to other parts of the system. It is these knock on affects that cause what we believe to be quick changes to become large, long drawn out changes. With the Mikado Method, your system will always be runnable while you refactor, say goodbye to the feature branches of refactoring, and hello to a runnable testable system all the time. Fix one issue at a time, and keep your system deliverable at all times. The method also works when it comes to implementing new features or fixing bugs in a system, there are always side effects when we need to change code. The Mikado Method will help in all these situations. In a nut shell, it's Red, Green, Refactor on a large scale. A way to safely start paying back your technical debt.

  • 12:00 - 13:00
    Lunch (provided)
  • 13:10 - 14:00
    Quit your boring 9-5er

    Kay Smoljak

    As web professionals, we have highly sought-after skills and expertise. Many of us sit in a chair from 9am until 5pm applying these skills to projects that make other people a lot of money, and dreaming of our next tropical holiday. Regardless of whether we enjoy what we do or not, perhaps it's time to break the shackles of conventional thinking, start using what we know about building the web for our own benefit, and live the tropical holiday instead of dreaming about it. I will present some strategies for using the skills you already have to enable you to quit your boring 9-5er and start actually living before it's too late to enjoy it.

    BDD with JS: Architecture, Tools & Patterns

    Enrique Amodeo Rubio

    JS is a natural fit for BDD. Since "end to end tests" drive the UI of our apps, why not use JS to do it? After all, nowadays most of the UIs have tons of HMTL, CSS and JS inside. It seems natural to use the same language that implements you UI to drive it, even if the server side is written in another language. But writing test code is not enough, so you should use some architecture and some good practices to keep your tests maintainable. In this talk I will introduce you different testing architectures and what tools do you have available in JS to implement them (nodejs, mocha, zombiejs, phantomjs...). I will compare them and try to give some hints about when to use what. Finally I will talk about some design patterns that have helped me to keep my test code base maintainable. Draft Agenda (the exact contents may change depending of how long the talk must be): * Short intro to BDD and end to end testing * Lifecycle * The cost of BDD * Different architectures and tools for different goals. * Patterns for your test code base.

    The mindful developer: How doing 'nothing' can turbo-charge your productivity

    Andy Bellenie

    Mindfulness meditation is becoming increasingly popular as a secular tool for improving focus, reducing stress, boosting productivity and developing creativity. Used by many major companies for staff development, including Google, where a course is hugely popular, mindfulness is particularly relevant for developers, who spend a great deal of time working alone and on complex projects, requiring enormous concentration and awareness. In this session, CAB member and experienced CF developer Andy Bellenie reveals his secret alter-ego as a mindfulness coach in order to demonstrate how doing taking time out to do 'nothing' can transform your day at work and beyond.

  • 14:00 - 14:10
    Break
  • 14:10 - 15:00
    Ember.js - The educated javascript MV* choice

    Paul Cowan

    Ember.js is simply the most exciting framework to enhance developer productivity since rails. If your application is not a responsive single page application then it simply cannot compete. Building single page applications is a complicated business that quickly turns into a snarled mess if you do not have the right abstractions in place. Memory leaks and tightly coupled code catch the unaware as they proceed to market. Ember has all the abstractions that you need to quickly produce an SPA (Single Page Application) website. I quickly tired of writing boilerplate code with backbone.js and moved to ember.js and I have not looked back since. This talk will introduce and show the abstractions that make ember.js the educated javascript mv* choice. As a developer, you need to have (at the very least) an opinion on this framework. Learn why Angular, Backbone, Knockout, Spine and the rest are also rans.

    IndexedDB - It's not just for breakfast anymore!

    Raymond Camden

    In this session, I'll discuss the IndexedDB specification. IndexedDB is a client-side (JavaScript-based) technology that allows for "significant" storage of data on the client-side. I'll discuss support and show numerous examples of the technology. This is a code-heavy presentation and people should have at least some familiarity with JavaScript.

    The number one ingredient behind (technical) success: Team

    John J Peebles

    Languages, frameworks, testing, toolkits, and methods. These are the things we spend our time learning, discussing and debating. We spend very little time (if any) discussing the most important factor in how we work and how we succeed: our team and our teamwork. In my talk I'll discuss what makes a great team and why you need to be on one. I'll draw from 10 years of experience running multiple startups in multiple countries, from small 2 man teams to managing an organisation of over 100 technical professionals. Technology and tools are easy. Humans and human relationships are hard.

  • 15:00 - 15:10
    Break
  • 15:10 - 16:00
    Websockets made easy with ColdFusion 10

    Elishia Dvorak

    Websocket protocol is a new HTML5 technology allowing real time data communication between servers and clients for the first time. ColdFusion 10 has made the implementation of websockets very easy and straightforward, saving time and increasing productivity for developers. In this session we'll discuss the websocket feature in ColdFusion 10 and how fast you can implement this technology in your web applications. You'll learn the basics of websockets, support concerns, and more intermediate topics around building a websocket solution in your applications.

    Zombie code

    Marco Cedaro

    Have you ever had the need to figure out how to survive a Javascript Zombiecodepocalipse? Have you ever dreamed about loads of living legacy code and the urge to run away from it? Hundreds of lines of code tightly coupled and hardly understandable there were trying to catch you? I've been there and I'm a survivor because I learned the art of refactoring. This talk is about how to deal with features request, deadlines and still increase the maintainability of your code.

    How to be a good open source citizen

    Curt Gratz

    Today more and more projects are being released to open source or developed as open source projects. You might think that there isn’t much to being a good user of open source. Install the project, use as needed, and move on. That is just fine, but what if you want to be more than just a silent user, what if you want to help. Learn how you can be a good citizen in the growing community of open source projects available to you as a developer. Learn what open source is and how it is more than just “free” software, how to get started on open source projects and how to move from a consumer to a contributor. Take practical steps towards releasing your own software open source, and learn that it doesn’t have to be “perfect” to do so. What is open source? – Defining what open source is and that it is more than just “free” software Being a Good Citizen - How can I help in a positive way Getting Started – What are the barriers of entry to open source projects and how to overcome them Contributing – Moving from a consumer to a contributor Releasing – How, When, and Why to release your own open source projects Licensing – GPL, LGPL, MIT, Apache, etc – brief (I mean brief) look into each and their advantages/disadvantages

  • 16:15-17:10
    How To Destroy The Web

    Bruce Lawson

    The future of the Web is a dangerous Babylon: people talking to each other to do business, organise revolutions, express their feelings, meet their friends, transcend their disabilities and economically empower themselves. Obviously, this must be stopped. Bruce will show you his top tips and tricks that you can use to destroy the web.

  • 10:10 - 11:00
    Brackets: An Open Source Code Editor For The Web

    Raymond Camden

    Brackets is a new open source project started by Adobe to push tooling on the web forward. Based on the principle that the best developers to build tools for web developers are in fact web developers, Brackets is built in JavaScript, HTML and CSS. MIT-licensed and hosted on github, Brackets is a code editor that challenges the status quo with innovations like inline Quick Editing and live browser connectivity. This session will provide an overview of Brackets and demonstrate how to hack on the project so you can customize and extend it to meet your needs.

    ColdFusion Anti-Patterns

    Darren Walker

    Have you ever written some code using a clever pattern that you thought was awesome, only to find some 'expert' on the 'internet' actually criticising the pattern and calling it rude names. Well, I am not that expert. However in this session I plan to look at the reasons why perfectly reasonable looking patterns of software development are considered poor form. We'll look at what approaches might be more beneficial to your application code, and explore some common misconceptions about software design. Primarily I'll be covering object orientated patterns (Singletons, base beans, God objects, anaemic domains) but there will be some procedural CFML classics in there too. Come along, feel free to bring your own opinions and pet peeves too!

    Cultured Localisation, or 'How not to offend one billion people'

    Ryan Stenhouse

    This talk isn’t really about localisation or internationalisation (add a ‘z’ if you prefer!) – it’s about culture and understanding. It’s about how we should all be approaching localisation challenges as people problems and to give good examples of how to get it right and where you can go so very wrong. Your framework and tool of choice is the easy part – understanding the people you’re wanting to each out to is oh-so-very hard and too often seen as only just a translation problem – a simple matter of swapping one string for another. I’ll talk about how people communicate across cultures, even when they are so different. Drawing on my experience as a teacher of english as a foreign language and my own travels and struggles to absorb another people’s language and culture, I hope I’ll change how you think about solving these problems in future. Hell, I’ll even make you laugh. I hope. The most important thing though, I’ll provoke a discussion; it could be a very good one.

  • 11:00 - 11:10
    Break
  • 11:10 - 12:00
    An introduction to Sinatra and Ruby - swing when you're winning.

    Matt Gifford

    In this session we will explore how to build a RESTful-based application using the Sinatra framework, built on top of the Ruby programming language. We will explore installing Ruby, creating our first Sinatra application, the use of route definitions to handle multiple METHOD request types, including GET and POST requests, data persistence in a SQLite database, and how to return data in multiple formats including JSON and HTML. The RESTful approach and ease of use offered by Sinatra make it a great choice for underlying API requests which you can implement and call from any programming language of your choice.

    Using personas in service design - continuously

    Tuuli Aalto-Nyyssönen

    Personas are widely used to describe important end users. Usually designers are working close with client to give the end user a human factor. Personas evolve during end user interviews, workshops and so on. Using personas is chic. Let's make it a chic tool to use! So... how to make sure the end user is in our focus during the whole web development? From the very first sketch to the 1st and 10th release? How to make personas work with the whole project team and how to update and evolve the personas continuously? To be honest... this is the problem I have been working with for a while. Found some right answers and still looking for the best practices: 1. Keep it simple and easy to approach 2. Use the data available - update! 3. Make layers: "Don´t really care if she is 40 something and urban! Just show me the important facts!"

    Mura 6 For Developers

    Steve Withington

    Since Mura CMS was launched as an open source product at cf.Objective() 2008, Mura CMS has seen huge improvements and tremendous growth. In this session, we'll provide an overview of the latest (and greatest!) version of Mura CMS, and show you how Mura CMS can make life easier for both end-users and developers alike.

    • Learn how Mura CMS uses Bootstrap on the front and back-end and what this means for developers:
    • Learn about new editing and publishing features
    • Learn how the Admin UI has been streamlined and simplified
    • Learn how to further simplify the UI for non-technical end-users and create custom content types
    • And more!

  • 12:00 - 13:00
    Lunch (provided)
  • 13:10 - 14:00
    Ready? Bootstrap! Go!

    Guust Nieuwenhuis

    Bootstrap (www.getbootstrap.com) is a sleek, intuitive, and powerful open source front-end framework for faster and easier web development. After it's initial release in August 2011, it quick gained popularity in the web development community and currently it's the most popular project on GitHub. Numerous projects, components and tools are build around it and both small and big companies are using it. Get introduced to Bootstrap and the ecosystem around it. Your front-end development will never be the same again!

    Caching for Performance and Scalability

    Rob Brooks-Bilson

    If you’re at all concerned about application performance and scalability (and who isn’t?), caching should be an integral part your ColdFusion application architecture. Luckily, ColdFusion 10 comes bundled with powerful caching capabilities that leverage Ehcache, allowing you to boost the performance and scale of your applications with ease. This session covers everything you need to know about caching with ColdFusion 10 and Ehcache in order to immediately start taking advantage of the concepts and techniques in your applications.

    Don't become Agile, strive for agility

    Chris McDermott

    Have you ever tried and failed to make your organisation Agile? Or, have been part of an Agile change that didn't meet the high expectations it set? Maybe you have met with too much resistance to even get off the ground. Have you ever wondered why? What if, instead of looking to make one large revolutionary change and become Agile, you looked to build a culture of continuous improvement and, while drawing from the Agile toolkit, you evolved towards the agility and predictability your business requires? In this talk I'll give an introduction to the Kanban method. I'll show how it is designed to help in the evolutionary change of your software development system and how it encourages a culture of continuous improvement.

  • 14:00 - 14:10
    Break
  • 14:10 - 15:00
    I'm pretty sure that HTML6 is going under the codename Angular JS

    John Whish

    AngularJS is what HTML would have been, had it been designed for building web-apps. This presentation is an introduction to using AngularJS to build data driven websites in the browser. The web is moving towards a data driven architecture, where browsers are responsible for dynamic rending and two way data binding. By the end of the session, you'll understand what AngularJS is and how it can become part of your web applications. John Whish is author of the ColdFusion ORM book and has spoken at cf.Objective() and the Scotch on the Rocks conference on several occasions.

    Cloudy with a Chance of Tests

    Mike Henke

    The advantages of unit testing and continuous integration (CI) are numerous but who has the time to writing tests on your legacy code while still being productive for your boss. This session will explain the advantages, show how to setup Jenkins and run the most basic unit test ever -- does your ColdFusion code compile. After this session, you should have the knowledge to setup Jenkins and run simple inspections against your code base. After that you can impress your boss and slowly add tests while becoming a testing rockstar.

    Frakking effective planning: not just for Cylons

    Sally Jenkinson

    Effective planning and requirements gathering is key to providing effective solutions. In this session we'll discuss a solid approach for planning the technical strategy for web and mobile projects, including some of the primary areas you should consider when tackling a new project, and how to respond to client demands. We'll also cover the impact your choices may have on the delivery method or selection of tools and technology.

  • 15:00 - 15:10
    Break
  • 15:10 - 16:00
    Speak a new language, speak Selenese!

    Danny Dinneen

    Wolof, Soninke, Serer,Fula, Maninka and Diola are all recognised regional languages of the nation of Senegal and have nothing whatsoever to do with Selenese ! Selenium is a portable software testing framework for web applications. Selenese is a test domain-specific language for writing these tests. This presentation will give an introduction to software testing and the Selenium tool, an introduction to ColdFusion client library for Selenium-RC, CFSelenium. The main focus will be on speaking Selenese (Actions, Accessors, Element Locators, Variables).

    "It doesn't work" doesn't work - how to help others help you.

    Peter Boughton

    All developers have times when they need to ask their peers for help, but this can be a daunting task - sometimes knowing what and how to ask is as difficult as the problem itself - and it doesn't help when you're stressed out and get slapped down (or ignored) for not knowing how to present your question. Fortunately, there are some simple steps you can check against, to help you frame your question more appropriately (and maybe even solve your problem before you've even asked). Whether you're asking on mailing lists, forums, or the [infamous] Stack Overflow, this talk will help you discover the key to asking smart questions that others will *want* to help with.

    Just Mock It: Discovering Mocks & Stubs!

    Luis Majano

    Come and discover the importance of mock and stub objects for your ColdFusion testing, development and continuous integration. As our applications become focus on object orientation techniques, our testing will also get more complicated and sometimes impossible to test. Mocking and stubbing are core techniques for testing ColdFusion object oriented applications. This session will focus not only in the theory and necessary concepts of mocking, but also on what to test, test isolation and techniques. Take your testing to a new but necessary level. Students will learn: What is mocking? What are mock objects? What are stub objects? Testing tools What to mock when building OO applications Applying mocking techniques and debugging

  • 16:10 - 16:30
    Closing