Thursday, September 11, 2014

RichFaces 4.5.0.Beta2 Release Announcement

RichFaces

The second beta release of RichFaces 4.5 (4.5.0.Beta2) has been released. This release focuses on stabilizing RichFaces 4.5.0.Beta1 with a number of bug fixes. Read below for a summary of the issues resolved.

To try out this release: You can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to 4.5.0.Beta2. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

Release Notes

Bug

  • RF-11090 - rich:collapsibleSubTable cannot be nested

  • RF-11656 - Nested collapsibleSubTable always expanded

  • RF-12399 - Showcase: rich:contextmenu cannot find image

  • RF-13081 - Facets "disabled" not working for dataScroller

  • RF-13645 - contextMenu for extendedDataTable breaks after ajax render of contextMenu

  • RF-13655 - Popup Panel autosize does not work when its content is dynamically updated

  • RF-13708 - Photoalbum: refresh over index page throws error

  • RF-13722 - Document CDK Maven Changes for 4.5

  • RF-13747 - a4j:commandLink does not have a default event name

  • RF-13781 - Enable RichFaces to be built with the jdk6

  • RF-13783 - Placeholder: attribute styleClass doesn’t work inside inplace input and inplace select

  • RF-13787 - Push with EAP 6.3 not using WebSockets

  • RF-13790 - Showcase - dataTable Styling example - broken styling after built in sorting/filtering is enabled

  • RF-13791 - Push in Showcase with EAP 6.2

  • RF-13794 - FileUpload serverError on upload on Wildfly

  • RF-13795 - RichFaces build is broken when running integration with release profile

  • RF-13798 - Showcase: select sample is not working [myfaces]

  • RF-13803 - Push on Tomcat 8: Unable to load current conversations from the associated request

  • RF-13804 - rich:select selectFirst attribute not working

  • RF-13814 - Photoalbum cannot be deployed to EAP

  • RF-13817 - Both the Component Reference are missing the Revision History appendices

Component Upgrade

Enhancement

  • RF-12674 - Write framework tests for Autocomplete tokenizing feature

  • RF-13056 - Showcase - delete unused configuration for GAE

  • RF-13796 - Chart component - documentation improvement

Feature Request

  • RF-8701 - dataScroller: add facets support for customizations

  • RF-13797 - Integration tests - enable HTTPS testing on Wildfly

  • RF-13807 - Add a an autocomplete sample for the select component to the showcase

Task

  • RF-13765 - EDT: meta-components @footer, @header and @body are not documented

  • RF-13800 - docs: rich:select: add information about autocomplete functionality

Next steps

Work on RichFaces 4.5.0.CR1 is currently underway. Look for this first CR release to follow in the next week or two.


Monday, September 1, 2014

RichFaces 4.5.0.Beta1 Release Announcement

RichFaces

The first beta release of RichFaces 4.5 (4.5.0.Beta1) is now available. This full framework release incorporates a number of library upgrades as well as some new features for existing components. Read below for a summary of the issues resolved, and stay tuned for further posts going into the improvements in detail.

To try out this release: You can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to 4.5.0.Beta1. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

Release Highlights

Significant improvements in this RichFaces 4.5.0.Beta1 release include:

  • Big update to RichFaces push with the upgrade of Atmosphere to 2.2.0

  • DataTable component gets built-in sorting and filtering

  • Select component gets autcomplete functionality (for autocompleting on object selection)

  • jQuery upgrade to 1.11.1

  • Google Guava updated to 17.0

  • Showcase gets automated functional tests

Atmosphere upgrade to 2.2.0

While Atmosphere 2.2.0 supports websockets out-of-the box, however the RichFaces push component configuration still uses long-polling. This issue (RF-13787) has already been resolved and will be available in the upcoming 4.5.0.Beta2 release.

Built-in sorting and filtering of the DataTable

The built-in sorting and filtering capabilities of the ExtendedDataTable have been ported to the simpler DataTable component. As with the ExtendedDataTable, you’ll have to disable the built-in sorting and filtering controls if you instead want to use custom controls. For further details refer to the RichFaces Component Reference for additional details on using the built-in and external filter controls.

Control over the filter controls can be achieved by setting the @filterType=custom@ attribute, and implementing your own filter controls in the back-end. Built-in filter controls can be disabled altogether by setting the web.xml context param @org.richfaces.builtin.filter.enabled@ to false.

Autocompleting with the Select component

With the initial release of RichFaces 4, the Autcomplete component was re-designed to target only text-based use cases. It was felt that object selection use cases were better served by the Select component. However the Select component lacked the autocompleting capability to round out this story. Until now!

With RichFaces 4.5.0.Beta2 we’ve ported the autocomplete capabilities from the Autocomplete component to the Select component. Using a similar syntax as with the Autocomplete, you can now dynamically populate the Select components options list via ajax. Refer to the showcase for an example of how this works.

Bug

  • RF-13660 - RichFaces 4.5 integration tests - error after test execution

  • RF-13720 - Mobile Showcase - CSV demo with JS error and does not work

  • RF-13724 - Showcase - leftovers of old Editor skinning setup cause 404 error

  • RF-13725 - Showcase can not be deployed on Tomcat 7 due to Weld & Guava integration

  • RF-13728 - Editor cant display after page load if page is opened directly

  • RF-13729 - Kitchensink archetype on Wildfly with mobile devices

  • RF-13739 - Placeholder in collapsibleSubTable template

  • RF-13740 - Richfaces 4.5 with MyFaces causes NPE on AJAX requests

  • RF-13744 - Photoalbum cannot be deployed to Wildfly 8.1

  • RF-13745 - Unicode characters in the picklist break the build on Windows

  • RF-13751 - Distribution zip for 4.5 named incorrectly

  • RF-13752 - Distribution zip is missing javadocs

  • RF-13758 - RF 4.5 with MyFaces, CSS not loaded

  • RF-13768 - Tests for inplaceInput and inplaceSelect renderer failing

  • RF-13769 - placeholder with empty @selector renders twice

  • RF-13775 - Depracated syntax used in RichFaces Resources Maven Plugin

  • RF-13778 - RF-45 cyclic dependency on richfaces-parent

  • RF-13779 - jQuery component: TypeError: selector[(intermediate value)] is not a function

  • RF-13782 - Context menu, drop down menu: showEvent set to hover doesn’t work

  • RF-13785 - Component tree is not visited during RenderResponsePhase

  • RF-13792 - Rich notify, showShadow attribute not working

Component Upgrade

  • RF-13749 - Upgrade HtmlUnit to 2.15

  • RF-13750 - Upgrade testing dependencies

  • RF-13753 - Upgrade Atmosphere to 2.2.0

  • RF-13777 - Upgrade Graphene do 2.1.0.Alpha1

Enhancement

  • RF-13686 - Props interfaces overlap and are not fully implemented

  • RF-13733 - dataTable built-in sorting and filtering

  • RF-13746 - Some of RichFaces 4.5.0.Alpha3 artifacts are missing in Maven Central

  • RF-13754 - Showcase - remove dependencies for JMS push example

  • RF-13786 - Showcase - disable built in sorting/filtering for custom sorting/filtering DataTable examples

Feature Request

Task

  • RF-12950 - Move Showcase ftests from QA repo to the examples/showcase module and mark some of them as smoke tests

  • RF-13718 - Update release guide for 4.5

  • RF-13756 - Upgrade jquery.mousewheel.js to 3.1.12

  • RF-13766 - Move classes ElementIsFocused and FocusRetriever to build-resources

  • RF-13772 - Update Arquillian profiles

Next steps

Our extensive QA process has already uncovered a number of issues with RichFaces 4.5.0.Beta1, many of which have already been resolved. A follow-on 4.5.0.Beta2 release should be available shortly, and hopefully we can move on to CRs from there. Please try out this Beta1 release and report any issues you find!


Monday, July 21, 2014

RichFaces will pursue a path of stability over innovation

RichFaces

For more than a decade now, JavaServer Faces (JSF) has held a special place as the sole portion of the JavaEE specification that addresses building UI’s for our web applications. As such JSF has historically been the only web front-end we’ve pushed at JBoss. Along with Seam and later CDI, RichFaces has been an important part of our JSF story, and a vehicle for our innovation in the JSF space. We are very proud to see so many of the initiatives we’ve spearheaded in the RichFaces project standardized in recent iterations of the JSF standard.

Nowadays however, developers are increasingly being asked to create mobile web applications; a use case for which the server-side rendering model used by JSF is proving to be insufficient. Many mobile web-developers are looking to client-side javascript frameworks to help them build the rich and fast-responding web applications their users are demanding. Many parts of the industry are moving to rich HTML5-based web apps that leverage frameworks like jQuery or AngularJS with lighter-weight server resources that leverage JAX-RS. Through JBoss Developer (http://www.jboss.org/developer-materials) we’ve been providing examples and quickstarts to help developers explore and get started with these new approaches for building user interfaces. Be sure to take a look through those quickstarts to explore the available alternatives to JSF for building Web UIs.

With these trends in mind, we’ve decided that moving forward we will pursue a path of stability with our JSF approach, rather than a path of innovation. We will continue to track the JSF spec with our RichFaces components and address compatibility issues with new browsers. Applications currently running with RichFaces 4 can continue to do so with an assurance of stability. With this goal in mind we are focusing on delivering a RichFaces 4.5 release, rather than the previously planned RichFaces 5.

RichFaces 4.5 will include:

  • JSF 2.2 compatibility

  • Our replacement Extended PartialViewContext (PVC) that extends the JSF PVC (for better interoperability with other JSF-based frameworks)

  • A re-vamped build consisting of a single (multi-module) repository

  • Chart components developed as part of last year’s GSoC

  • The updated JSF 2.2 compatible RichFaces Fileupload component

  • A type-safe approach for attribute definitions (using interfaces rather than xml)

  • Page fragments for abstracting your functional tests

  • An simplified Asciidoc version of the docs

Some of the ideas we prototyped in RichFaces 5 that will not be available in RichFaces 4.5 include the collapsed component namespace, the JSF independent client-side component implementation (RichWidgets), the Bootstrap theme, and the java package re-factoring.

RichFaces 4.5 will support JSF 2.2 and will be backwards compatible with RichFaces 4.3. This will allow your RichFaces applications to take advantage of the latest and greatest improvements in JSF, without incurring any migration costs. We have a feature-complete release of RichFaces 4.5.0.Alpha3 available today for you to try these features out.

While we are no longer pursuing further innovation with our set of custom JSF components (RichFaces), the JSF runtime on JBoss EAP / WildFly is here to stay - it is part of the JavaEE specification after all. Likewise the JSF tooling in JBoss Tools and Developer Studio will not disappear. You are welcome to continue running your JSF-based applications on JBoss EAP / WildFly using either our stabilized RichFaces components or any of the other JSF component sets available.


Monday, July 21, 2014

RichFaces 4.5.0.Alpha3 Release Announcement

RichFaces

We have a feature complete release of RichFaces 4.5 available with the release of RichFaces 4.5.0.Alpha3. This is a full framework release with RichFaces 4.5.0.Alpha3, whereas previous 4.5 Alpha releases consisted of just the components. We’ve back-ported many of the improvements from RichFaces 5 Alphas into this release, while maintaining backward compatibility with the RichFaces 4.3 branch.

To try out this release: You can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to 4.5.0.Alpha3. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

Release Highlights

Significant improvements in this RichFaces 4.5.0.Alpha3 release over previous 4.3 releases include:

  • JSF 2.2 compatibility

  • Our replacement Extended PartialViewContext (PVC) that extends the JSF PVC (for better interoperability with other JSF-based frameworks)

  • A re-vamped build consisting of a single (multi-module) repository

  • Chart components developed as part of last year’s GSoC

  • The updated JSF 2.2 compatible RichFaces Fileupload component

  • A type-safe approach for attribute definitions (using interfaces rather than xml)

  • Page fragments for abstracting your functional tests

  • An simplified Asciidoc version of the docs

Bug

  • RF-11093 - UIDataAdaptor context variable backup broken (re-entrance problem)

  • RF-12108 - Components second tab changes are not rendered after performing some ajax action if attribute ajaxRendered="true" inside <rich:message /> located on first tab

  • RF-12132 - RichFaces queue not cleared after js error in oncomplete attribute

  • RF-13018 - a4j:commandButton wrong actions performed

  • RF-13200 - Tree: Uncaught TypeError: Object #<Object> has no method $

  • RF-13235 - Tree - Row key conversion fails (UITree should not have generated @rowKeyConverter, since it is fully implemented in AbstractTree)

  • RF-13361 - Placeholder inside calendar is not rendered

  • RF-13374 - RichFaces push registered as $.fn.push overrides jQuery function

  • RF-13498 - Photoalbum - shutting down server with deployed app will throw JdbcSQLException:

  • RF-13513 - CollectionDataModel API is not available on pre-JSF 2.1 that poses backward compatibility problem

  • RF-13518 - Action Listener - invoking from composite component does not work

  • RF-13520 - mediaOutput: NPE is thrown when used with CDI beans and JSF 2.2

  • RF-13559 - Backport RF-13018 (a4j:commandButton wrong actions performed) to RF 4

  • RF-13565 - RichFaces 4.5 not compilable because of FileUploadResourcesTest

  • RF-13580 - RichFaces 4.5.x branch doesn’t compile

  • RF-13581 - Remove components from the framework module

  • RF-13591 - RichFaces 4.5 integration tests are failing

  • RF-13609 - Showcase doesn’t build

  • RF-13610 - Resource loading error in the showcase

  • RF-13611 - RichFaces 5.0.0.Alpha3 doesn’t work with Weld 2.2.0.Final

  • RF-13614 - RichFaces 4.5 unit tests are failing

  • RF-13615 - ExtendedDataTable: double ajax request on scrolling

  • RF-13630 - RichFaces 4.5.x can not be built due to cyclic maven dependency

  • RF-13635 - rich:menuGroup: Menu node image is missing

  • RF-13640 - Autocomplete with custom layout: cant select item by mouse

  • RF-13644 - Rich:editor JS Error in IE11

  • RF-13646 - Fix resource optimization

  • RF-13647 - File Download throws exception when used with a commandButton of type="button"

  • RF-13649 - TogglePanel: fails to render meta-component @header

  • RF-13650 - ITResourceOptimization tests fail - no resource aggregation applied

  • RF-13656 - Table collapse after tab change

  • RF-13657 - Remove bootstrap, font-awesome and richwidgets from 4.5

  • RF-13658 - Component issues in 4.5

  • RF-13676 - InputNumberSpinner - Validation is not triggered by ajax when nested in iteration components

  • RF-13677 - InputNumberSlider & Spinner render does not work when nested in iteration components

  • RF-13678 - Render @all does not work for nested a4j:region in collapsibleSubTable

  • RF-13679 - PickList is missing styleClass attribute

  • RF-13680 - Editor JS API method blur does not work after upgrade of CKEditor

  • RF-13682 - Stateless view: CSS stylesheets not included in head after form submit

  • RF-13684 - GraphValidator with uiRepat does not validate numeric group correctly

  • RF-13685 - ExtendedPartialViewContext.release causes IllegalStateException

  • RF-13687 - TabPanel header is not updated after switching of tabs

  • RF-13692 - Photoalbum can not be deployed to WildFly 8.0.x or 8.1.x due to Weld exception

  • RF-13697 - fileupload: maxFilesQuantity + multiple select: can upload more files than the limit

  • RF-13698 - RF 4.5 Chart title does not render

  • RF-13699 - RF 4.5 Chart attribute zoom does not work

  • RF-13701 - RF 4.5 Bar chart plotClick malfunctioning

  • RF-13706 - dequeued Ajax request not processed correctly if its source element has been updated

  • RF-13717 - Some integration tests within components/rich are using wrongly FrameworkDeployment class

Component Upgrade

  • RF-13571 - Upgrade Arquillian components: Core, Drone, Warp

  • RF-13641 - Upgrade CSSParser to 0.9.14

  • RF-13667 - Upgrade mojarra dependency Enhancement

  • RF-13027 - Warning when deploying showcase - using a private modules which can be removed in the future

  • RF-13160 - Refactor the InputNumber* components into abstract classes

  • RF-13307 - Support java.util.Collection in iteration components

  • RF-13505 - Refactor custom tree traversal logic in EPVCI in order to leverage VisitContextFactory (blocked by Mojarra issue)

  • RF-13514 - Support file upload progress tracking in Servlets >= 3.0 environment

  • RF-13612 - Document styling attributes for rich:dataTable

  • RF-13623 - Merge components/pom with components/parent/pom in 4.5.x

  • RF-13634 - Consolidate deployment classes for integration tests

  • RF-13675 - Showcase: chart component improvements

  • RF-13683 - Backport RF-13237 (Showcase: enable debugging tools (ui:debug, r:log) when in development mode) to RF 4.5 and 4.3 Showcase

  • RF-13713 - Create Smoke test(s) for chart in RF 4.5

Feature Request

  • RF-12292 - "this" in oncomplete of a4j:commandButton returns window object.

  • RF-13597 - Drag and drop support for file upload

  • RF-13620 - Port the RichFaces 5 re-write of xml attribute to interfaces

  • RF-13636 - Add List Impls to the resource serialization whitelist

  • RF-13638 - Upgrade CKEditor to 4.3

  • RF-13651 - Integration tests failing in chrome

  • RF-13664 - EDT firstChild call will return a text element when the source code is formatted to have one element per line

  • RF-13665 - RichFaces 4.5 should fail fast when used with un-patched Mojarra

  • RF-13670 - Update the "new" labels in the showcase

  • RF-13673 - Backport the plain skin fix from RF 5

Task

  • RF-13334 - Upgrade jQuery UI to 1.10.3

  • RF-13507 - Backport RF-13317 (EPVCI should specify correct ViewState)

  • RF-13582 - Revert the core package re-factoring

  • RF-13583 - Backport the chart components to RichFaces 4.5 components module

  • RF-13584 - Backport the RF 5 component fixes

  • RF-13585 - Re-factor the components demo

  • RF-13586 - Port the page fragments to RF 4.5

  • RF-13608 - Apply appropriate package and artifact names to the component poms

  • RF-13626 - Rename the BOM artifact

  • RF-13627 - Refactor the RF 4.5 components to make use of the type-safe handlerClass attribute

  • RF-13631 - Remove the components/dist module

  • RF-13632 - RF 4.5 - refactor Javascript namespaces

  • RF-13637 - Refresh the dist zip for RF 4.5

  • RF-13642 - Fork and re-factor the asciidoc-based docs from RF 5 to RF 4.5

  • RF-13652 - Forward port the 4.3.7 fixes into the 4.5.x branch

  • RF-13653 - Update component namespaces in 4.5 examples

  • RF-13654 - Port photoalbum changes from 4.3.x

  • RF-13672 - Framework tests: add profile for WildFly 8.1

  • RF-13694 - Update README files for RichFaces 4.5.x

  • RF-13709 - Remove the chart components from the RichFaces mobile showcase

Next steps

With RichFaces 4.5.0.Alpha3 being feature complete we will proceed with a series of stabilizing Betas, followed by CR and Final releases in the end-of-summer / early-fall time-frame. The post 4.5.0 story is a bit more complicated, and deserving of it’s own post.


Tuesday, May 27, 2014

RichFaces 4.3.7.Final Release Announcement

RichFaces

The RichFaces stable branch receives an update with the release of RichFaces 4.3.7.Final. This most recent micro release of the RichFaces 4.3 release series provides a number of bug fixes while we concurrently work on getting a JSF 2.2 compatible RichFaces 4.5 released.

To try out this release: You can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to 4.3.7.Final. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

Release Highlights

This release resolves 13 issues, making RichFaces 4.3.5 a small bug-fix release. Hopefully this reflects well on the stability of the framework! The issues themselves address fixes for the tab, popupPanel, push, contextMenu, pickList and showcase. Full details of the fixes included are available in the release notes below.

Bug

  • RF-11417 - Tab: investigate why @action does not work

  • RF-11427 - rich:tab - actionListener

  • RF-11736 - rich:popupPanel x domElementAttachment="parent"

  • RF-13569 - Photoalbum: the change of users avatar doesn’t work

  • RF-13592 - a4j:push doesn’t work after rendering

  • RF-13613 - ContextMenu doesn’t show on mouseover

  • RF-13616 - PopupPanel autosize with togglePanel doesn’t resize

  • RF-13629 - popupPanel - minWidth, minHeight, maxWidth, maxHeight are not ignored when autosize == true

Component Upgrade

  • RF-13364 - Upgrade Mojarra to 2.1.28 in RichFaces 4.3.x

Enhancement

  • RF-13478 - VDL documentation typos

  • RF-13506 - Incorrect information on showcase fileUpload sample page (maxRequestSize description)

  • RF-13564 - rich:pickList shows an outline when clicked

Task

  • RF-13512 - Photoalbum: port fix from RF-13498 to RF4 photoalbum

Moving forward

We are finishing off work on our RichFaces 4.5 release to address JSF 2.2 compatibility with the RichFaces 4.x branch. This has necessitated we put RichFaces 5 development on hold, but we feel will be worth it to get JSF 2.2 support in a stable release sooner rather than later.


Friday, April 11, 2014

RichFaces Security Advisory CVE-2014-0335

RichFaces

A security vulnerability has been uncovered and resolved in RichFaces 4. Details of the vulnerability can be found in this Red Hat Errata document released for our WFK product. We have released a community micro release addressing this vulnerability, so please update your applications ASAP. Read below for a summary of the problem and some additional minor fixes included in this release.

To update to this release: You can download the distribution directly, or for maven users, increment the RichFaces version in your pom.xml to 4.3.6.Final. For more information on setting up a RichFaces 4 application, refer to our getting started guide.

The issue

The issue was reported and resolved through community efforts in RF-13250. Much thanks to Marcel Ĺ ebek for both investigating and patching this issue!

The vulnerability

The vulnerability manifests itself when malformed Atmosphere requests cause RichFaces to leak memory. This memory leak can be exploited via a large number of requests to a push-enabled RichFaces application leading to an out-of-memory error, and a corresponding DDoS on the underlying application server.

This 4.3.6.Final release of RichFaces no longer leaks memory leak when receiving malformed Atmosphere requests. Users are encouraged to update their deployed RichFaces applications, particularly those that are push-enabled.

Note: while we have included the patch in RichFaces 5, we have not shipped an update to the RichFaces 5.0.0.Alpha3 release. The fix will be present in an upcoming 5.0.0.Alpha4 release.

Other fixes

Check out the 4.3.6.Final release notes for a complete list of issues resolved in this release. The issues for the most part are stabilizations to our Photoalbum demo. However some noteworthy issues include:

  • RF-13531: selects: cannot select option on IE11

  • RF-13559: a4j:commandButton wrong actions performed

  • RF-13540: Websphere incarnation of MyFaces renders optimized resources multiple times

Next Steps

We are hard at work putting out a RichFaces 4.5 release to address JSF 2.2 compatibility with the RichFaces 4.x branch. This has necessitated we put RichFaces 5 development on hold, but we feel will be worth it to get JSF 2.2 support in a stable release sooner rather than later.


Tuesday, March 11, 2014

Hands on with the jQuery UI widget factory at DevNation

DevNation

I’m thrilled to be speaking the upcoming DevNation conference. DevNation is an Open Source Developer conference co-located with the Red Hat Summit. With the announced agenda and the co-location with Summit, the conference is shaping up to be quite the event!

I’ll be speaking about developing widgets with the jQuery UI widget factory. We’ll look at how the widget factory takes away much of the boiler plate when writing stateful jQuery plug-ins, statefulness that comes intrinsically when creating visual plug-ins. This talk is based off of the work we’ve been doing lately with RichWidgets. It’s a widely applicable topic, as the browser is the target for so many applications frameworks and languages.

I’m also really looking forward to participating in the Beer & BoF Mobile & Rich Client smack down. I participated in the BOF at the 2012 JBoss World, and it was a lot of fun. The guys behind a number of UI frameworks at JBoss get together in a no-holds barred smack down between the various framework. The tongue-in-cheek approach is entertaining, and the content discussed is very enlightening. Be sure to attend this BOF if you are curious how the various UI technologies stack up against each other.

While at the conference I look forward to attending a number of interesting looking sessions:

  • jQuery: Behind the JavaScript - Kris Borchers

  • Write your first Ceylon program with the language author - Gavin King

  • High Performance Reactive Applications with Vert.x - Tim Fox

  • Full stack Javascript from mobile to cloud - Grant Shipley

  • Mobile web development: workflow and best practises - Luke Holmquist

Finally let’s not forget the hacknight! Here’s a great chance to share a table with a group of developers and hack away on some OSS. From new contributors to old, all are welcome. Come and share your ideas and your code!

I look forward to meeting many folks at DevNation - feel free to track me down if there is anything you want to discuss, or even just to say hi!