The second annual Mid Atlantic Develop Expo (MADExpo), a regional conference in Hampton, VA, occurred on June 27-June 29th of 2012. A unique conference, MADExpo does not restrict its sessions to specific technologies, methodologies, or even age groups. Some of the different topics seen include: Android development, testing practices, Ruby programming, SQL Server visualizations, and web design. In addition, there is a series of sessions for children 7 and older named MADKidz that introduces the students to a variety of technologies including electronics and programming. MADExpo certainly contains a little bit of something for everyone.

CapTech is proud to help support MADExpo in multiple ways: leadership, sponsorship, speakers, and attendees. Last year, CapTech also sponsored and spoke at the conference. As a silver sponsor of the 2012 event, CapTech was able to attend the conference and interact with the attendees who traveled from all over the United States. CapTech also sent Jessica Moss to speak on Power View, the new ad hoc visualization tool in SQL Server 2012. Ms. Moss presented two sessions to interested and engaged audiences. Finally, CapTech sent its consultants to attend some of the sessions. Here are some highlights of the event:

Cross Platform Mobile Game Development w/ Corona SDK presented by Shawn Grimes

Game development is very popular among mobile devices. The toughest part about it is that doing a game natively for multiple operating systems is quite a bit of work and rework. Corona SDK aims to solve this problem. Apps written with Corona SDK are written in Lua which is layered on top of C++/Open-GL. Corona also comes with a Box2D physics engine. After a brief intro to Corona SDK, Shawn demoed its power. In roughly 30 minutes and in about 200 lines of code, Shawn had a working side scroller game of an angel jumping across clouds. It featured collision detection, gravity, momentum, scores, and background scenery. Corona Apps can be run on iPhone, Android, Kindle Fire, and Nook devices. Screen fragmentation isn't a problem because Corona can scale an app a few ways such as: zoom to fit (graphics get stretched), or it can maintain aspect ratios (graphics aren't stretched but there may be a letter box). Corona is free to try but requires a license to publish apps.

Titanium Mobile: The Sharpest Spoon presented by Alfred Chiesa

Titanium Appcelerator is another cross platform mobile development tool. Appcelerator is free and uses a custom built version of Eclipse containing its APIs and resources. Titanium apps are written in javascript, which is compiled into ‘symbols', at runtime the ‘symbols' are interpreted and mapped to native code. A key point is that an Appcelerator app is written in javascript but isn't executed in a WebView, it is ultimately native code. A single code base can be used however 100% of the code won't work the same on every platform. So there is a bit of specific platform code tweaking that must be done before it is truly a cross platform app.

Custom Titanium APIs (such as camera, accelerometer, etc) are used to access native controls and native APIs. The downside is that not every native API is accounted for. The most commonly used and beneficial APIs have an Appcelerator counterpart but there are some still not covered. To get around this, custom modules can be written and added into Titanium. A few other caveats: No Layout editor, no best practices yet, sporadic and hard to follow documentation, and a small community. Titanium is still a startup, but its future looks promising.

The Great Software Trendkill: 12 Rules for Great UI Design presented by Joe Natoli

Joe presented 12 different rules that influence every UI design decision he makes. A few highlights include:

Rule 1. Every force evolves form. This is the opposite of the idea that "Form follows function." A product has to work, but it should look good too. Everything about a product influences what it should look like: function, users, purpose, etc. Joe stresses that this is the most important rule.

Rule 5. Don't assume they'll see it just because it is there. It is easy for a user to not notice something like a button or a link. Maybe it is because they aren't looking for it, or because they don't know it is there, or because maybe there is just too much to look at. Make a UI simple, highlight what is important over what is less important, and make sure the design reflects only what is necessary and makes sense to be there.

Rule 6. Less is more. Given too many options, users tend to actually disapprove of the product which can lead to many things, including fewer users. Be ruthless about what shows up on a page. This contradicts the "Fewer clicks the better" rule (example, an action must be able to be completed in X amount of clicks). If the UI makes sense then the user will continue to use it regardless of how many clicks it takes.

MADExpo is a great conference for everyone, and we are looking forward to next year.