Connections 2014: Developer Session Roundup – Grab Bag

My last post on the Connections 2014 conference will touch on developer focused talks that were relevant to me but didn’t center on javascript. Got it? Good, let’s get started.

Tizen
Tizen is a new Operating System for Samsung wearables, phones, TVs, and vehicles. It’s SDK is written in html5/javascript, which is being sold as easier for developers to pickup and run with, rather than starting over in a language like Java (for Android) or Objective C (for ios). Meanwhile, Swift’s all like

C'mon guys, I'm the new hawtness!  Check me out...please...?

C’mon guys, I’m the new hawtness! Check me out…please…?

This seems to gloss over the fact that cross platform development is already pretty easy, so I’m not sure why Samsung thought it was necessary to come up with a new language for people to learn. Seemed like an odd direction to take. There’s at least an Eclipse plugin to aid in development.

The presenter tried out a new method of presenting, called ignite. With the ignite style, the presenter shows 20 slides for 20 seconds each. Sounds like it could be a concise way to convey a topic, and it surely was fast paced. However, the presenter should have practiced his talk once or twice before giving it to strangers, as he stumbled and bumbled through several slides. He ran over on time on almost all of the slides, which led to either the next slide being chopped fairly dramatically, or points getting skipped entirely (which were visible on each slide) to make up time. Poorly done.

Do I want one or not?

Do I want one or not?

He did demo his Tizen app on a wearable Samsung Gear2 watch, which was cool. I still can’t decide whether I want to get a wearable or not. I wish the Apple Watch was already on version 2.

Who am I kidding, of course I'll end up with an Apple Watch.  v2, though.

Who am I kidding, of course I’ll end up with an Apple Watch. v2, though.

API Code Contracts
I attended a talk about API Contracts. To me, this was more about documentation and requirements rather than a talk on any specific methodology or technology. The speaker talked about defining your web apps as a series of REST calls, and defining the API of those REST calls up front. Banging out requirements ahead of time is ALWAYS a great idea, but a phase that is typically glossed over by clients – they are anxious that you just get started already on the work, you are getting paid for delivering, you know that right?! But requirements gathering is still important work, and such work should be done ahead of time if you want any measure of success later. The speaker stated that figuring out your API ahead of time facilitates better code developed by a team – the early-in-the-process discussions get everyone on the same page. It allows all the team members to go their separate ways and develop in parallel – coders go code what they should, testers know the tests they need to write, technical writers can start working their manuals, etc. Also, less arguments on features will occur later with your customers/management/users, if those features are outlined in the beginning of the process. This is all pretty basic SDLC stuff here.

The presenter touched on some cool tools to facilitate API contract writing. I always love cool tools.

  • Apiary.io This was useful for API blueprinting for REST calls. It produces BEAUTIFUL documentation automatically, and Apiary provides a mock hosted solution for trying out your API on the fly. Sweet.
  • RAML This acronym stands for RESTful API Modeling Language. It can describe “practically RESTful” APIs, meaning that it’s a pure rest as it can be, but it’s realistic in admitting that pure rest is difficult sometimes. RAML is easily readable by computers and humans alike, and it produces clear and concise APIs consistently. Find the tutorials here.
  • Swagger. “Develop APIs with style” is their tagline. It’s language agnostic (which APIs should be). With swagger you develop the API documentation which is somehow directly tied into the server code. Make a change to the docs and they’re immediately in place. Hence, “Deploying/managing/using APIs has never been easier”. I’m not sure why you would need that interactivity in practice, but it sounds interesting how they pulled that off at least.
Cloud computing platform

Cloud computing platform

Heroku
Heroku is a cloud computing platform. You use it to build, then run, and scale your apps. It’s free to try, but if you want to use it in production environment, necessary and scalable costs are quickly introduced. Those elements are

  • CPU/Ram
  • Database (including but not limited to, postgres, memcache, mongo db, hadoop)
  • Support
  • Add-ons (see below)

Heroku focuses on the developer experience: happy devs mean happy apps. I couldn’t agree more!🙂 Heroku has a modern UI dashboard for interacting with your apps, and they include a CLI element to interact with your app on a command line basis. Heroku supports several different languages, including ruby, java, python, and node.js. It also uses git (a modern repository). The other cool thing Heroku is a vast library of add-ons to increase your apps’ functionality. There are add-ons for metrics/analytics, email/sms, caching, searching, logging, queueing, monitoring, multimedia, payments, and the largest category was a miscellaneous “utilities” section that didn’t fit the other main categories. There’s an app for about all your needs, it would appear.  Heroku is a sweet platform all around, and they gave me a free T-shirt, so I can’t be mad at them.

Ruby - a developer friendly language.  Hey, programmers are people too!

Ruby – a developer friendly language. Hey, programmers are people too!

Ruby
A main contributor to the Ruby language gave a quick introduction to the language. He might have been the smartest dude in the place; the guy just had a effortless way about him.

The founder of Ruby thinks developers should be happy, so Ruby was designed to be more creative and less stressful. It’s an interpreted language, and it’s functional, and object-oriented. Ruby also features a dynamic type system, with automatic memory management. It came out in 1995, the same year as Java version 1. It’s been around for a while! He mentioned the jRuby project, which allows Ruby code to run on the Java JVM and directly call java code. I thought this was the most applicable and neatest thing in the whole conference.

Ruby has a large and vibrant ecosystem. Makes sense, they’ve stayed around this long, so the had to have a loyal following and dedicated community. It has a host of libraries, tools, and best practices – this is a mature language that may as well be called a platform. Ruby has a package manager that handles dependencies called Bundler (Java guys, think maven or ivy), a build manager called rake (think ant). There’s a site on the Internet that organizes and categorizes all known Ruby libraries (“gems”) called the RubyToolbox. There’s a well-known web framework called Ruby on Rails, which is a framework built on Ruby. This MVC framework speeds up the mundane crud work to allow the programmer to focus on business logic.

Ruby isn’t a young or hip language, but it is a multipurpose and multifaceted language, suitable for a variety of real world applications. I have a feeling I’ll be trying out Ruby as my next language!

Definitely trying this framework out.

Definitely trying this framework out.

Connections 2014: Developer Sessions Roundup – Javascript

Today I’m going to touch on some of the relevant developer talks I attended at Connections 2014. As I alluded to in my conference overview post, I didn’t get a lot out of many of the free developer sessions. I’d say about 1/3 of them were completely focused on the ExactTarget Marketing Cloud product. Don’t get me wrong: the ET MC is a great platform. I’m just not a customer of the service, nor a developer on the platform, and my current company isn’t a company or a partner. About another 1/5 of the discussions were on front end technologies and how they could be paired with the platform. Fine idea, but too often these talks ended up focusing on their products (point taken, it was their conference after all), sot it was difficult to imagine some of these technologies being used outside their platform. Of course there’s a place for all of this software; I just couldn’t immediately find a personal application with the sort of work I have done in the last few years – which is primarily server side code.

However, some of the work I’ve recently been a part of HAS been on the client side. I worked on a single page javascript application, rendering a large grid of information. That project was fun, as it exposed me to a few different libraries and vendors I hadn’t dealt with before. Let’s face it: I had never done a stand-alone javascript app. It forced me to think in terms of pure javascript, as apposed to using javascript for minor things such a form validation or page transitions. So when I saw the agenda for the Connections 2014 conference contained a lot of talks centering around javascript, I thought while it might not be immediately useful and relevant, at the very least it could be useful to catch up and see what’s going on in the industry lately.

Javascript

Node.js
There were no actual talks centered around Node.js, at least none that I attended. I did skip a few sessions I wasn’t interested in to try my hand at the “mini-hack” contest. It involved diving into the MC ET and SalesForce.com platforms. I managed to complete 1 out of 5 of the hacks at least, and got a t-shirt for my efforts. Swag is good. Anyway, Node.js was referenced repeatedly throughout the week, so it seemed like people were relying on it. Indeed, it appeared to be a foundational element for javascript applications. From their website:

“Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.”

To me, that sounds like Node.js would be well-suited for the foundation of a web library or framework. The software has a large community of users, and the documentation was excellent at first glance. There’s even a way to learn by way of a school – Nodeschool – where you can attend or easily host an interactive workshop learning Node. They give you all the tools necessary to host a successful event, and give you links to resources of prior events where you can get an idea what’s been done before. Pretty cool idea, and nice to not charge for such a service.

https://github.com/jshttp
jshttp is an organization, not a library. jshttp has several libraries available on github, and their goal is to provide http standards-enabling modules for Node.js. They’ve built on the excellent start of Node, and are sticking to RFC standards for very specific reasons. They believe that proper standards support is an interoperability enabler; that is a “key pillar” to avoiding vendor lock-in. Pretty good argument in an always shifting web landscape. The jshttp libraries work with and enable Node.js module authors to create good, interoperable HTTP code and libraries.

jQuery

jQuery validation
I was curious to attend this talk, as I first used this library in a project about eight years ago. Low and behold, the library was still be used in the same way, with the same solid results. I wonder if this is a testament to the strength of jQuery – what javascript app doesn’t use jQuery?? – or if nothing better has come along, or both. The presenter referenced how to use the software with the ET MC “Smart Capture” pages, whatever they were, but unlike other Connection developer talks referring to tech and how to use them with their platform, it was simple to see how jQuery could be used on any web app with forms. If you’re not familiar with jQuery validation, by adding a simple library call to your page and putting in minimal html markup to your form fields, you can achieve pretty robust client side validation to your data, preventing errors in the data and major potential problems downstream. jQuery can do simple validation with some preset rules, and it can be easily and quickly customized for more advanced validation rules. If you’ve not heard of jQuery validation for form validation, well, then I don’t know what to tell you. It’s been around a while and still going strong.

require.js
require.js is a library for managing imports. If you’ve ever done a more than simple single page javascript app, you’ll know that the order of javascript imports matter. Use them in the wrong order can screw up your app and you won’t know until run time that something is wrong. require.js solves that problem with just a few extra steps. It keeps code imports in separate files, and it lazily loads them as needed. Essentially you have a main script call for all your imports. You wrap your existing custom javascript methods in the AMD format, like so:

define(function(param)) {
//do stuff
});

And then lastly you load app/code modules from a written main.js file. require.js comes with an optimizer, so after you have everything up and running, it mashes all your library imports into a single line with no space. Makes for faster client downloads and running of your app. Check out how to get started on require.js here. This was the best developer talk of the conference, in my opinion. Vendor agnostic, relevant, useful, and the presenter had a great run-through of an app. Check out this github project for the source to the demo of the presenter. Props to a great job by Andy Engle.

backbone

backbone.js
This was another talk by Andy Engle. He demoed his used car application to illustrate the use of backbone.js, which is a javascript library for building single page apps. It uses RESTful json as the foundation of its calls. backbone contains objects like model/collection, view, and router (controller), so the MVC pattern really appealed to me. The library uses jQuery behind the scenes. The Models represent the app’s data, and they are loaded in or interacted with via a REST call. The Views, with the help of the Models, control what is displayed on the UI. The Router provides a programmatic route to a place in the app.

Comparing the framework to Angular.js, Andy mentioned that Angular does a lot of automatic bindings by convention. If you agree with their opinions and don’t stray, Angular could work well. backbone.js is more open and while it might take more work to set it up, could provide more flexibility than Angular. With Angular, you have to enhance the html markup with Angular specific tags, whereas backbone.js is purely javascript.

I thought backbone.js was interesting, and a relevant library for building single page apps using standard http calls via json. It seemed pretty straightforward and intuitive. I do enjoy convention based software (I don’t like to think I know more than the people that invented the wheel), so I may have to also check out Angular when the need arises.

Connections 2014 – Keynote Review: Mindy Kaling

Mindy Kaling, writer and star of television hits The Office and The Mindy Project, gave a speech at the Connections 2014 conference. If you know of Mindy, or are a fan of her roles on her TV programs, she was exactly as you might expect. Check out my previous post, recapping John Green’s talk at Connections this year.

Mindy Kailing's keynote talked about her back story.  She was very inspirational to the legions of her fans in attendance.

Mindy Kailing’s keynote talked about her back story. She was very inspirational to her fans in attendance.

Mindy was born in Cambridge, Massachusetts, to her mother who worked as a gynecologist. (In her current TV show The Mindy Project, Mindy plays a gynecologist.) Many of her early memories that Mindy spoke of reference her early times at home or staying with her mom at her office, and entertaining herself. Her parents were very no-nonsense and/or busy, and thus Mindy had to find activities on her own to pass the time. She wrote gruesome short stories, while staying out of the way. She had a very fertile imagination, and dreamed of writing and starring in her own television show (which later, she can’t even believe is actually happening.)

Once out of college, Mindy moved to NYC solely because she knew that’s where tv writers lived and worked. She was a starving artist, taking baby sitting jobs to pay the rent of a small apartment with a roommate, who was also trying to make it in the biz. Together the two roommates wrote a small play called Matt & Ben, which parodied Matt Damon and Ben Afflect’s writing of the movie Good Will Hunting. The play was a hoot and a hit, and it launched Mindy’s career.

She parlayed the success of her play into a writing gig for the show, The Office. She joined all-male writing staff (a challenge all its own), eventually wrote 22 episodes, and even directed a couple of them. Her character, Kelly Kapoor, was hilarious, hip, and on some level, an accurate portrayal of Mindy’s own personality. Mindy spoke on how she initially was quietly observing and soaking up everything she could, and how co-star and on-screen romantic interest BJ Novak longed for the days when she didn’t speak.🙂 It was difficult writing on a staff with all men, but she was herself at all times, and her personality won the mostly male staff over eventually.

She was given the chance to audition with Saturday Night Live as a writer and potentially an actor. This was a very big deal, as it was a dream of hers to be involved with SNL. Her Office management agreed to let her pursue the opportunity but only if she landed the job as a writer and an actor. Ultimately she didn’t get the combo job she wanted – she stated she couldn’t really do impressions and wasn’t versatile enough to play several types of characters that the gig would require. She counts that career failure as a blessing, as it allowed her to focus on writing and acting on The Office. While doing this, she started a personal blog in which she spoke on the things she liked and purchased. She gathered a loyal fan base through her site, as she was able to connect with fans in an honest and transparent way. She was just being herself, talking about the things she liked with her fans. You get the feeling that her authenticity is what wins her the most respect along the way.

In 2011, Mindy Kaling wrote a book called “Is Everyone Hanging Out Without Me?“. She got to tell her story and give her observations on culture as only she could, and the book was a success. After this, Mindy pitched a show to Fox called The Mindy Project, which has been wildly successful and fulfilling of her childhood dream, and that brings us to now.

Mindy was very interesting and funny as you would think. She read her speech from paper, so that meant it was a little wooden – and you could sense a smidge of self-doubt as she read her long speech. But she confidently interacted with a legion of fans that lined up behind microphones in the post Q&A session, giving advice to numerous adoring young folk who praised her and called Mindy their idol, while visibly shaking. Mindy mentioned that it wasn’t who you knew in Hollywood, but rather, the effort and quality of your work that got you noticed. No shortcuts. I think that was just good advice in general; focusing on your own talents and skills rather than brown-nosing and networking can get you further in your career. Mindy was always true to herself throughout her career, and has truly made it as a talented TV writer and actress. Gotta admire her for that – what a rise!

Connections 2014 – Keynote Review: John Green

John Green, New York Times’s #1 best selling author of The Fault in Our Stars, spoke at the Connections 2014 conference, and I thought what he had to say was very profound and touching. Check out my previous post, recapping will.i.am’s fireside chat at Connections this year.

John Green.  His talk centered on being yourself, repeatedly discovering yourself, and what was important to him.

John Green. His talk centered on being yourself, repeatedly discovering yourself, and what was important to him.

John, who was born in Indianapolis, began his talk by highlighting his early years as a nerdy child. I couldn’t believe how far he had come from the images he showed as a bespectacled gangly youth. He acknowledged at the time that he was pretty awkward and socially backwards, and he noted that people tried to encourage him by saying “Just be yourself”. He remarked that was exactly the problem, that he was being himself! John stated that in today’s modern world, being “authentic” is an important trait. It’s important to be true to yourself. That implies that you know who you are. But as John said, people change over time. Your interests grow and shift, the people in your life change, your work changes. How are you expected to be the same person this whole time, and to be “authentic”? How do you find yourself if you don’t know yourself? The answer is, “You don’t become yourself, you become yourself over and over and over again.” I thought this was fairly obvious yet contradictory to popular opinion.

John told a story from his childhood. He and his dad built a bench out of wood, and once they were finished, they basked in the glory of a job well done. They sat on the bench and gazed at the stars that had come out that night. They spoke about Astronomy, a shared topic they both were interested in, trading facts and stories. That moment stayed with John throughout his career in a very profound way. John built something with someone he loved, then sat together and used that something to converse about a shared interest that they both shared a passion. In everything John does now, he tries to recreate that feeling he had on the bench. He wants to always connect with fans over shared interests, and technology is a great enabler of that.

John relayed how he became a noted video blogger (vlogger). He started out small with his brother on a weekly series. As he grew in fame, John remained interested in the topics that were important to him, not necessarily the topics that would garner him the most attention (e.g., giraffe sex videos. Don’t ask.) This focus gained him trust with his growing community, who shared his passion with furthering intellectualism. Eventually his following became known as “Nerd Fighters”, which means nerds who fight for intellectualism. It did not mean that people were fighting nerds. His community allowed for immediate commercial success when John decided to write and publish his books, and that success continued with the release of the movie TFIOS. John gave some witty observations about how little an author is involved in an adapted screenplay and then movie – he got cut from the final version of the movie TFIOS but he made the DVD in a deleted scene! Along his career journey, John stated that he is always rediscovering himself. An old version of himself believed and acted a certain way, but then later he grew and realized he thought differently. But his advice was to always be open about what you don’t know, because he can really embarrass yourself if you are not up on a topic. He pronounced a certain pop star’s name wrong to a bunch of teens at the mall. John couldn’t be more mortified when they rolled their eyes and corrected him.

See John Green’s entire speech here. He’s a very funny guy, who is also very interested in education, just like will.i.am. He and his brother received a grant from Google to develop a series of educational videos called “Crash Course”, which helps to teach AP level history topics. As of April 6, 2014, the CrashCourse YouTube channel has earned over 1.5 million subscribers and over 90 million video views. I really enjoyed his talk. Open thought and honest debates are obviously missing in today’s 140 character mob mentality, rushing to pronounce judgment from behind their screens. I liked the idea of him being a champion of intellectualism, and you can easily tell why he has so many loyal followers. We need more people like John Green in our society.

Connections 2014 – Keynote Review: will.i.am

I thought I’d spend some time going over the interesting keynotes from the Connections conference I attended last week. All of the keynotes were interesting, however I’ll be omitting the keynotes from the CEOs and other leaders of the company where they went over customer successes and introduced their new products. Those talks were interesting and very impressive, however not exactly relevant to me as I’m not a user of their products, nor is my company that I work for currently. ExactTarget/SalesForce.com’s products compose an impressive platform, and it’s completely believable that large enterprises of all sorts of different industries and different marketing needs would all succeed partnering with ET/SF. There were other keynotes from three celebrity types that I feel were more intriguing.

will

The first was a “fireside chat” between Marc Benioff (CEO of SalesForce.com) and will.i.am. This was set up to be an intimate discussion between just two regular dudes, who also happen to be extremely successful and rich, and thousands of people were watching. Marc called him a “Master of Music”, which seems to be pretty accurate. He was in a pretty successful musical pop group called the Black Eyed Peas (they played at halftime at Super Bowl XLV), and he has his own solo act that is still going strong. He has collaborated with many other Zeitgeisty artists, too many to name here. Will has several interests, including acting and product innovation, as well as several human interests, namely recycling. He came up with the EKOCYCLE environmental program with Coca-Cola, turning old bottles and cans into new products. He also recently collaborated with Lexus to design a new vehicle which features some impressive camera technology. Will is a very forward thinking individual, always thinking about what’s next in all his interests. Mark asked him what his vision of the future is, and Will stated that it’s wearables, not smartphones. He thought that watches are interesting, but that wearables in general will soon be more prevalent and be worn on various parts of your bodies. I believe that will certainly come in, say, 10 years, but it’s really hard to believe that smart phones will be out of our lives anytime soon. EVERYONE has one now, we depend on them so much more than any technology that I can think of that has come out recently, even more than PCs. Pretty amazing. Will thinks it’s easier these days for people to create and to predict the future of technology. Meaning, technology is a great enabler in all industries but especially for the creative artists, to more quickly develop and publish their work. I think this was spot on. Just look at a website like etsy.com, where people all over can sell their creations in a fair market. As a artist and owner of a corner of Etsy, you can easily sell your work for a price, and focus on the creative part of the process. As music artist well versed in technology, Will said, he’s less dependent on the studio. He can develop his music himself, and since he’s already a celeb with a public audience enabled also by technology, he can easily sell his songs himself (if he wanted to).

Will is committed to giving back to the community. He grew up in a poor neighborhood in east LA, and feels a responsibility to that region to help out however he can. He is especially interested in education, and believes that technology should be more of an emphasis in our schools (at, say, the expense of athletics.) Since tech is so important in our culture now, why shouldn’t we teach our kids at a young age the foundational skills they’ll need later? Will also develops products on his own (he has a “fleet of engineers” that he hired to help him develop his ambitious ideas. He created a watch that had the functionality to allow him to DJ a concert from his wrist – later that night, for the first time, in fact! It also had a host of other multimedia capabilities that he was really excited about, but didn’t want to elaborate on, as it was only a prototype. Will also mentioned that he was developing a jacket, in which you would carry batteries that would power your devices. I was a bit skeptical on this – it seems heavy – but, perhaps it would work. If you’re cold, you already have a jacket, right? Could be good for people out in the cold a lot for long periods of time, maybe? Smartphones are getting better with regards to battery life with each iteration, so I’m not clear on how useful this jacket will be. I do think tech firms will get more and more creative regarding wearables, so Will is on the right track here.

See will.i.am’s entire fireside chat with Mark here. It’s worth a watch. Will really believes in himself and the things he does, which comes across as a little odd yet endearing. I admire him for his forward thinking and his cultural awareness, and I’m glad that some celebrities at least are mindful of culture at large and how they can impact their communities in a positive way.

ExactTarget Connections 2014 – Conference Review

I recently had the opportunity to attend the ExactTarget Connections 2014 conference in downtown Indianapolis, Indiana. This is first and foremost a Marketing conference put on by an up-and-coming software company. Some would argue that ET has already arrived, and I’d be hard pressed to argue. They are surely an industry leader in their space, only strengthened by last year’s acquisition by SalesForce.com. I was offered a free developer pass (offered for the first time this year), my current client work was in a stable state, and my home life wouldn’t be tremendously impacted by my attendance, so I decided to accept the free offer. Hey, free is free, right? While the conference was not ExactlyTargeted to me, I thought it might be worthwhile to attend. I have mixed feelings on my personal experience there, but ultimately I was pleased in my decision. I’m going to take a bit of time reviewing the conference as a whole here in this post, and later I’ll bang out a couple of posts reviewing specific relevant nuggets I picked up during the week.

My second touch point with the conference after the initial invitation and subsequent signing up was downloading the conference app to my iPhone. I was immediately impressed. This is what other conference apps should aspire to be. There was so much information right at my fingertips – cliche, perhaps, but this thing was just so useful. Most importantly, logically located at the top of the left nav was an agenda where you could see your topic options. This being the so-called “The Digital Marketing Event of the Year”, there were several choices at any given time slot. The app allowed you to easily tap an icon in a list of events, indicating to yourself that you were planning on attending that event. Since there were so many topics, lectures, keynotes, presentations, and workshops, the app had handy options for sorting the data by day or by Discipline, or by filtering by any way imaginable. The point is, you could see all the data you needed by any way you could think of. This was all very well thought out.

Connections app.  (All rights reserved.)

Connections app. (All rights reserved.)

There were several maps of the conference space and of the surrounding area (great for adventurous out-of-towners). This was handy as the conference encompassed two floors in the giant Indiana Convention Center, and there were around 10k attendees, so there was always a flood of people milling around. Knowing how to get where you needed to go was made possible by the app which was a comforting friend during that first half-day of uncertainty, until I found my bearings. After the third day, the Conference spilled out into the surrounding city blocks for a social event they called a Cloud Crawl. The Crawl let several internal teams and partners host mini-parties at several local establishments. This was a brilliant idea that allowed people to continue their networking/sales/tech conversations in a fun environment. Luckily, the app was to the rescue again for those unfamiliar with the area, as it included a map of the Crawl path, with overlaid provided shuttles pickup times and paths. I’m sure that was handy for those trying to still be young #CNX14-ers who might have “experienced” things in excess. And by things, I mean the abundance of free booze😉

Speaking of the word “Experience”, the last section I’ll touch on is a section of the app appropriately called Experience. This tab brought users into a section where they could view Twitter, Instagram, Facebook, YouTube, Google+, and other related social media platforms, where the app brought in viewable content. You could, for example, see all Twitter posts tagged with the #CNX14 tag, or any Instagram picture tagged in the same manner. ExactTarget is a young, smart, hip culture. Their conference attendees were either the same or fed off that energy, and you feel that high-flying spirit in the plethora of media you were exposed to in the Experience section of the app.

The app wasn’t perfect, however. I was instructed to turn on bluetooth on my iPhone for a beacon led experience by a helpful Orange marketeer midway through the first day. I wasn’t sure what content would be pushed to me, but I went along with it. Nothing seemed to be different compared to the first part of the day, so I saved my battery life on my device and switched it off. Also, I would have liked the ability to sign up for push alerts when my next pre-selected agenda topic was about to start. I got those push notifications when keynotes were about to start, which was appreciated – I had to hustle to make it down the long conference center hall to go listen to Mindy Kaling’s keynote!) The app also crashed once or twice, but that could have been for any number of reasons that were not the app’s fault. You also couldn’t directly download the speakers’ slides, which was a feature I appreciated on the app for a conference I attended in 2013. [UPDATE: these were provided later.] Really these are just very minor quibbles; the app was great and a must have for any conference attendee.

The conference was expertly delivered. There were an abundance of orange clad employees ready to help all over the place. During any event at the “Main Stage” – and wow, what a main stage it was – hosts of helpers with light sticks helped to move traffic along and seat them quickly. It felt we were all planes during a busy day at JFK, all being directed to our runways surrounding the lit up circular main stage. The help was indeed needed – there was loud music, the room was vast and dark, and people were typically bustling around everywhere.

Plenty of Orange employees available to help at all times.

Plenty of Orange employees available to help at all times.

Impressive main stage hosted many a compelling presentation.

Impressive main stage hosted many a compelling presentation.

All possible spaces of the conference were branded with signage/logos/badges (apparently you could “collect” the badges via snapped photos on your phone and turn it for some sort of reward.) Modern music accompanied you every step of the way, in every hallway, in every room, in every bathroom. Hell, you could even download the Spotify playlist if you wanted to keep the experience going if it was too quiet later in your hotel room. The spaces in the conference center were very clean. No trash anywhere, no cables spilling out from under carpets. There were the usual 3rd party “Gold/Silver/Bronze Partners” eagerly offering their wares, forming a gauntlet of desperate sales people that lined the walkway on the way to the meal area. Pass them without making eye contact earned you a timely meal🙂 The food was great, there were plenty of snacks in the in-between times, and did I mention there was happy hour each night after the talks were over, but before the even-more-free-booze was offered at the social events at the end of two of the nights? Even if you didn’t enjoy the talks – I’ll touch on this later – you couldn’t help but be impressed that ExactTarget/SalesForce.com spared no expense. The morning after the free concert – hosted at Lucas Oil Field, featuring Will.I.Am and The Script – the Orange Army distributed empty drink bottles to conference attendees, containing dry Gatorade mix, antacid, asprin, bandages, and I’m assuming but not sure, a business card to an available remote tech-savvy priest’s skype number, so that you can confess your previous night’s indiscretions.) This company simply thought of everything. Like their apps, presentations, and speakers, everything was shiny, modern, polished, and just cool. Kudos to them.

I may not get the chance to attend again, as next year’s conference will be in NYC. Bad for Indy, but probably right for SalesForce.com as a growing company. I say simply SalesForce.com now, as it’s a foregone conclusion that they will eventually and perhaps even this year steer towards a unified company name. The SalesForce.com company name was more prevalent than ExactTarget’s was. The Orange color scheme is so engrained in ET’s culture – Mindy was a bit on the nose jokingly calling the company a cult during her keynote – that the color will never go away, even if the name fades. Despite the acquisition, I wager that color will stay around, even if the conference moves to NYC permanently. Given the chance, I would attend this excellent conference again. If you find yourself attending, be sure to download the app.

NFJS Review

I recently had the opportunity to attend a Java Conference, entitled “No Fluff Just Stuff”. This is a conference whose model is to be regional and affordable, which means in theory that more people get the chance to attend. When I mentioned I was interested in attending a Java Conference, my manager suggested NFJS in lieu of some of the more expensive conferences that would have also required air travel. This worked out pretty well, as my employer could afford to send several of us at a time; we could car pool together, and considering Chicago was only a 3 hour drive from Indianapolis the trip was not exhausting. The opportunity to spend some time with a few co-workers outside of work was nice, as it gave me insight and perspective about where they were coming from: their motivations, what excites them, what are they afraid of, what are they frustrated by. You don’t get this information in a hallway discussion at a client site. You surely get a chance to discuss these things trapped in a car for multiple hours, or even over a deep-dish pizza the night before the conference kicks off. (And on that note, if you’re ever in Chicago craving pizza, I highly recommend Giorodono’s Pizza. Great buttery crust, decent sauce, and a cool local atmosphere. But, I digress.)

If you ever get the chance to do a remote conference with co-workers, I’d say go for it. Don’t be afraid about leaving your family or personal life in the lurch. This is for you and your career, and you owe it to yourself to grow professionally. After all, this indirectly benefits your family and/or your personal life. I should mention that I am an expert in rationalization🙂 I had to leave my family to go to the conference. I hated to do so, mostly because I was missing my daughter’s first Gymnastics meet, but also because a few of my other young children were sick. Luckily, I’m married to a Super Wife who managed to keep the ship afloat while I was gone. It was tough on everyone. She was exhausted by the end, and she probably wasn’t thrilled with my leaving. She understood, though, ultimately, what it meant to me, and she supported me. Your mileage may vary – everyone has their own lives and challenges at home, each with varying degrees of flexibility – but in the end, you’ll thank yourself for sucking it up and attending. Your career is important, and these chances to grow don’t necessarily come often.

The main benefit to group attendance is the the post-session collaboration you get to experience. You get to bounce ideas off of your coworkers, gleaning the best and most relevant parts of the discussions and applying them to your work problems, and debate them over break-time coffee and snacks. You coincidentally experience the sessions together, and pledge “We are so doing this as soon as we can! Look how cool it is!”. You start fantasizing how you could introduce this tech to your boss and perhaps your clients, and you can imagine the nifty new bullet points you can add in your resume’s tech skills section. Or, most likely your group members will attend separate sessions, and meet up later to relate the high and low points of the speakers and the material covered. This can be invaluable information you can use to choose later sessions – “Don’t go to that guy, he’s not that great” (really only happened once to me at the conference, and it wasn’t necessarily his fault) or “You HAVE to go to the next discussion by this speaker, he really knows his stuff”. You also get to divide and conquer – after all, all of the topics are probably relevant to your career at least tangentially, and the more coverage by your company’s group the better. These discussions with your co-workers can be occur on the spot, or later over a meal, or even hopefully weeks later when you’re co-introducing technology-X to your shared boss.

After attending the conference, I’d say it was a great decision. I left with many ideas swirling around in my head – there were so many new technologies and tools I was exposed to that I never had the chance to see first hand. Sure, I’d heard of languages like Groovy and Scala, and I know people are developing mobile apps using JavaScript, but it was beneficial to see it in action. I am a visual learner, and to see these newish (to me at least) technologies first hand made a larger impact than reading about them online. The people in charge of this particular conference have done it more than a few times by now, and it’s a well-oiled machine. They’ve thought of everything logistically speaking, and their topics were timely and appropriate. The speakers were all very knowledgeable and friendly. NFJS even lends everyone an iPad preloaded with a feature packed conference app. I hope to be able to return in the future. Here are three of my favorite sessions I attended.

Introduction to Android Development, by James Harmon
This was a good intro to the topic. James covered the ecosystem of the mobile space, introduced the IDE and Android SDK, illustrated the creation of a simple app, and touched on deploying apps. I had heard of Android (duh), but never quite realized the challenges of this type of development. Did you know there are over 800 Android devices out there? I knew there were a lot, but that number struck me. Each of those devices have different screen sizes and resolutions. Guess what? Your app, if it’s any good and if it ends up being popularly adopted, will address a large portion of those options. James covered the different ways your app can interact with the mobile device through the Android API. It just made sense that a lot of it – maybe 99% – was actually Java (mostly 1.5 with cherry picked features of 1.6 and 1.7). I could see how easy it would be to take your Java skills in the typical corporate Application space and apply them to a hot, new, SEXY, marketplace. And if you happened to have a decent app idea, hey, you might be able to make a buck or two. You don’t also have to have an Android to develop and test your new mobile App – the tools and IDEs out there help you out with that (Android Studio (beta), or IntellJ Idea w/Android, my personal IDE of choice. James didn’t discuss the latter, but the former is based on the latter.) I was tempted by the thought of picking up a MotoX or perhaps a Galaxy Note, even though I already own a iPhone 5s, if only for testing purposes. Hey, it’s for my career🙂

Applying Groovy Closures for Fun and Productivity, by Dr. Venkat Subramaniam
This was a great session led by a very energetic speaker. Dr. Subramaniam spoke very quickly and excitedly, and I had to pay close attention to him and the material or else I might have been left behind. It wasn’t a problem for me for two reasons. One, Venkat (I feel like I know him at this point, so I’ll slip into a more familiar reference) was so HILARIOUS that you couldn’t help but be tickled by his enthusiasm and chuckle at his simple jokes of friends and parties. I was drawn into his fun like a whirlpool of energy, and I was sad to see the session end. Two, the source material was pretty neat, illuminating, and exciting. I’m not quite sure what the practical use of Groovy is yet, but combined with Grails it would seem that you could whip out some applications pretty quickly.

Scala Koans – A New & Fun Way to Learn Scala, by Daniel Hinojosa
Daniel led a fun two-part session that let you learn Scala by doing it yourself. I had been introduced to the language a few years back, but that was via a presentation that was mostly theoretical and not hands on, and I didn’t get much out of it. This session, on the other hand, was very hands on and aptly named, FUN. I got to download a small program on my laptop, fire up a console window, and interactively learn the language. Myself. By doing. Pretty sweet, huh? By saving a simple Scala class file using my favorite IDE (the program also worked fine with Eclipse, but I of course used IntelliJ), the console window would auto detect the change and give instant feedback if my change was correct. The Scala Koans program started small by introducing how a simple boolean unit test case worked. Then I proceeded to progressively harder tests which I had to fix by filling in the blanks in the expression. Each test built ever so slightly on the previous. As I completed each test in a class (one test per method), I was supposed to sit back and reflect on why the test worked. In the early tests, it was obvious. But given that Scala is very concise (or terse as detractors would say), just like any functional language, at times the tests weren’t that clear to me about how or why they were or weren’t working. The meditation portion was important, and reflecting on the tougher methods allowed me to understand them. I really enjoyed the technique, and I look forward to finishing up the Koans program. Daniel mentioned there was several more Koans out there, from Javascript to Ruby to .Net. Here’s a good compiled list of Koans sites, so that you can pick your favorite new language and begin today. Why not?

Maven Modules

Coming soon!

Documentation Evolved

When I first thought about starting a blog, I was stuck on a task at work for a few frustrating days. I was attempting to use some open source software in the Java universe that seemed to be the obvious choice for the task at hand, and yet there was no good documentation that addressed the problem I was having. Nor were there any other users who seemed to have the same problem as me, which seemed disheartening. Was I doing it wrong? Was I really that far off in trying to use this library? Or, perhaps even more distressingly, was I not understanding the problem well enough to be able to Google for it correctly? Read the rest of this entry

Follow

Get every new post delivered to your Inbox.

Join 391 other followers