CodeMash Blog 4 of 10

Grand Rapids based, CQL, sent seven of its developers to a large software development conference called Codemash. CodeMash is a unique event that educates software developers on current practices, methodologies, and technology trends in a variety of platforms and development languages such as Java, .Net, Ruby, Python and PHP. Different than most conferences, this three-day event ‘mashes’ together ideologies and individual developer experiences to discuss, learn and even attack certain problems.

SignalR

SignalR is a realtime javascript framework (an asynchronous signaling library for ASP.NET that can be used to help build real-time multi-user web applications). It connects a bit of server code with javascript “magic” that lets you push data from the server to the client. The canonical example is a chat application – with SignalR, a software developer now has a better way of creating real-time information when utilizing an ASP.NET framework. There was a lot of talk around node.js during the weekend, and this Signal R framework lets you do some of the real-time activities that node.js does without requiring a whole new framework; it plugs into ASP.NET, quite nicely. Its purpose is different than node, but they overlap some. This was one of my favorite presentations from the weekend.

Why Our Customers Should Care:              Real-time updates of information is extremely beneficial for many customer applications/websites. SignalR when combined with MVC provides new possibilities in developing web applications and client side UX design. In other words, when the SignalR process is combined with ASP.NET MVC, it provides developers an easier way to create dynamic websites, and ultimately create a better experience for end users.

Backbone Coffee script

The talk was supposed to be about Coffee Script and Backbone.js. The speaker spent most of his time talking about Backbone. Backbone.js is a javascript MVC framework that supplies models with (1) key-value binding and custom events, (2) collections with a rich API of enumerable functions, (3) views with declarative event handling, and (4) connects it all to your existing API over a RESTful JSON interface. In other words, according to the official Backbone.js site (documentcloud.github.com/backbone), with Backbone, you represent your data as Models, which can be created, validated, destroyed, and saved to the server. Whenever a UI action causes an attribute of a model to change, the model triggers a “change” event; all the Views that display the model’s state can be notified of the change, so that they are able to respond accordingly, re-rendering themselves with the new information. The speaker made a (pretty good) argument that most web applications, these days, require interactivity and responsiveness, etc. The presenter said he got sick of trying to manage ajax with json and jQuery because the jQuery code ended up hard to support after development was done. Backbone changes that by moving the MVC framework into javscript. The server app ends up becoming an REST api only; all of the view templating, routing, and models are in JS, and Backbone is a framework for it. I found the idea fascinating, and at times found myself agreeing with the presenter that the ajax updates to pages can get cumbersome.

Why Our Customers Should Care:         It is important that software developers constantly search for better (and easier) development tools to achieve the desires/needs of their customers. This presentation on Backbone was just one example of how a great developer is always looking for new tools that make the coding experience better, and therefore a better output for the customer.

Check back for Codemash Installment #5 of 10.

 

CodeMash Blog 2 of 10

Recently, CQL sent seven of its developers to a large software development conference called Codemash. CodeMash is a unique event that educates software developers on current practices, methodologies, and technology trends in a variety of platforms and development languages such as Java, .Net, Ruby, Python and PHP. Different than most conferences, this three-day event ‘mashes’ together ideologies and individual developer experiences to discuss, learn and even attack certain problems. Following is our Codemash Installment #2 of 10:

Migrating Apps to Azure

This 4 hour session was split into two smaller sections. The first was an intro to Microsoft’s cloud platform, Azure. The biggest difference between something like Amazon and Azure is that Amazon takes control of the hardware for you, but leaves the rest alone; you still need to manage IIS and .NET, etc. With Azure, you have an entire Application stack; you don’t need to worry about IIS and service packs and all that ‘stuff.’ The benefit is less management, but with the potential drawback of less flexibility.

We also talked about reasons to go to the cloud, and a long list of things to remember when moving to the cloud (e.g., sessions and logging, etc.). In the second half of the session we took an app from Codeplex and converted it to run in Azure.

Why Our Customers Should Care:              For purposes of growth in the Cloud industry, expanded use of Cloud services by companies already using the Cloud, security concerns, and hosting costs and server workloads, many clients are examining the impact of utilizing the Cloud for support of their business applications. Some recent trends identified by Cloudspectator indicate some interesting direction of Cloud computing. (1) $150 Billion: the size of the Cloud Computing Market by 2013; (2) 70% of companies currently using cloud services will move additional applications to the cloud; (3) 54% – amount of respondents citing Security as their top concern for transitioning to the cloud; (4) 60% – server workloads that will be virtualized by 2014 – up from 12% in 2008

Responsive Web Design

This was actually more of a design talk, but I enjoyed it, anyway. “Responsive” web design means designing your site so that you have 1 site (not a separate tablet version, and a separate mobile version, etc.) that scales well to different sized screens. Flexibility is the new “hotness” when it comes to sites. Responsive web design is a different approach than traditional web designing, and speaks more to the ability to render a site across different devices (tablet, smartphone, laptop, etc.) without having to design the same site to fit the specific device. There are some definite “gotchas” that a developer must be aware of, but overall, customers demand flexibility in the presentation of their software applications.

Why Our Customers Should Care:              Businesses understand that their customers interact with their systems from a variety of devices. All businesses should push their software development partner or internal development team to recommend tools or processes that make it easier (and more cost effective) for sites and applications to be served up to customers.

Database Migrations for Web Applications

This was another deployment talk, but this time talking about Database deployments. The speaker talked about versioning and migrating changes. He specifically showed a particular tool (fluent migrations), but mentioned several others that are similar. This talk further supported the importance of Automated Deployment Management. The importance of Automated Deployment Management, in software development, seeks to identify efficiencies in deployment of applications.

Why Our Customers Should Care:            Making deployments more efficient should have a direct cost benefit for client software development.

Check back for Codemash Installment #3 of 10.

CodeMash Blog 1 of 10

As a custom software development firm, CQL must constantly put our developers in a position to be exposed to the latest technology trends, not only within in the .Net development framework, but across multiple development platforms. Recently, CQL sent seven of its software developers to a large software development conference called Codemash. CodeMash is a unique event that educates software developers on current practices, methodologies, and technology trends in a variety of platforms and software development languages such as Java, .Net, Ruby, Python and PHP. Different than most conferences, this three-day event ‘mashes’ together ideologies and individual developer experiences to discuss, learn and even attack certain problems.

Having our developers attend this type of conference provides tremendous benefit to our customers. Even though CQL has the largest collection of .Net Developers in Grand Rapids, Michigan, we understand our approach with clients must be technology agnostic, and be willing to recommend the best platform and development language to meet the needs of our customers. Codemash offers excellent opportunities to tie together those areas of most interest to our clients, including Ecommerce, Business Intelligence, Content Management and custom web development.

In the next ten blog entries, we will provide some insights from our technologists who attended this conference on software development concepts that should be important to our customers (even if they don’t understand the underlying technology topic). Following is Codemash Installment 1 of 10:

Heroku (http://www.heroku.com/)

This was informative in a “here’s how an awesome deployment system could work” kind of way, perhaps made a bit sweeter because the presenter is a Heroku employee.  Heroku is a cloud environment that has lately been adding more languages/platforms that they can host.  Deployment is done using a git push, which then forces the system to recompile, test, and deploy the application.  Very interesting system, and I just read a blog post about someone getting a .Net app onto Heroku using Mono and a bunch of duct tape, but it wouldn’t surprise me if .Net were added in the near future.  Something to watch.

Why Our Customers Should Care:            Recently named the 2012 Technology of the Year, by InfoWorld, Heroku provides a platform as a service (PAAS) for building, deploying, and running cloud apps using Ruby. The platform includes tools for deployment and management, a runtime for scalability, fault tolerance, and an add-on system for extending the capabilities of our platform. In essence, it allows your software developer to more quickly develop and expand your software solution.

PhoneGap (http://phonegap.com/)

This was a pretty cool session.  PhoneGap lets you build an HTML + JS application that can then be packaged up and put on the various mobile app stores.  A few alternatives were mentioned (but not discussed in depth) – rhomobile, MoSync, SenchaTouch, Appcelerator.  The presenter also pointed out JQTouch as a way to make the app look and feel a bit more like a native application.  Also mentioned (very briefly) was Mulberry, which is apparently kind of like Rails for PhoneGap development.  Something to check out for sure.

Why Our Customers Should Care:            PhoneGap is an open source solution for building cross-platform mobile apps with standards-based Web technologies like HTML, JavaScript, and Cascading Style Sheets (CSS). Based on HTML5, PhoneGap leverages web technologies developers already know best… HTML and JavaScript, and provides access to native APIs. PhoneGap uses standards-based web technologies to bridge web applications and mobile devices. Something all of our clients should be considering.

CI++

This session was a bit disappointing for a few reasons totally unrelated to the content.  The presenter started out by discussing various bits of automation and testing going from standard practice up through “this-doesn’t-really-exist-but-who-knows (for example: Unit Tests for your Unit Tests and a Semantic code analysis tool that can find bugs to an impossible degree).”  He lost a few audience members while talking about some of the non-existent tools, probably still 5 minutes before he said “oh, and by the way I made up a bunch of those things.”  He discussed automating DB artifact deployment (by writing the scripts exactly like we do at CQL), and a few other parts of deployment, but then ran out of time before he could get into the stuff that I was looking forward to (although I have a feeling that his presentation was largely meant to lead into a sales pitch). Overall, it is an important topic, but the presentation simply missed the mark.

Why Our Customers Should Care:            In software development, continuous integration (CI) implements continuous processes of applying quality control — small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development. Obviously, at CQL we take this topic very seriously, as we want our customers to experience the best results with the custom software applications we develop.

Check back for Codemash Installment 2 of 10.

We’re off and rolling!

“We want ‘a Rock!” (Twisted Sister clip  Here)

Lots of exciting stuff going on here at CQL for 2012, so check it out:

The best news is that we have a new employee, Matt, who came to us from another development firm.  There, he worked mostly on a legacy e-commerce site in VB.NET Web Forms.  He also had the opportunity to develop a C# .NET MVC and that’s when he started to love working with .NET MVC.  In his free time, Matt enjoys learning Ruby on Rails and fiddling with some personal .NET projects.  Other than technology, he’s a big fan of science fiction and has been working his way through Battlestar Galactica.  CQL is thrilled to have Matt on our team.

Any good software development company must keep on top of the latest and greatest technology trends (our clients expect it, plus, we just flat out love it). We started 2012 with a bang by sending seven of our technologists to CodeMash 2012. This unique three-day event brings together a select number of developers who practice on a variety of platforms and development languages such as Java, .Net, Ruby, Python and PHP. The purpose of this event is to “mash together” all these different thought leaders into one conference where ideas can be shared, and new technologies can be explored. Check back to this blog, as we will be posting many of their notes and observations. Cool stuff.

Also, we sent another two of our team to CES (Consumer Electronic Show) in Las Vegas, last week.   This is another great way to check out what’s up and coming in the Tech World.  They did see some pretty cool stuff and their wheels are definitely turning.  I expect to see some big things rolling out of here this year.

Back at the office, it was pretty quiet around here all week.  But that doesn’t mean we weren’t busy.

The Sales team got new Dell Latitude 5520s, running with an Intel Core i5. They’re ready to roll. Our Resource Manager and PMs are now running on some very fast Solid State Drives. Some of our developers got new Dell Latitude 6520s, running on an Intel Core i7, all of which are using SSDs. We also upgraded them to 24in 1080p monitors from their old 22in monitors. Kevin decided to deck out his desktop with three 512 GB Solid State Drives in a RAID 5 configuration and now it’s screaming fast. Why should this matter to you? Simple, faster machines and better systems = more code being developed in a shorter amount of time, for you.

Last but not least, in jumping on the New Year’s resolution bandwagon, we hooked up our existing workout area downstairs.  We have new padded mats, a bunch of exercise balls and lots of new weights/bands.  The guys are also kicking it up a notch from P90X to P90X2.  This stuff isn’t for sissies.  Between doing P90X2 and training for the GR Triathlon this year, I’m willing to bet we’re one of the healthiest software shops in Grand Rapids.

What Fuels your Dreams?

When I run across video reviews like this, Microsoft Envisioning Lab my mind runs rampant.  This is one of the reasons I started a custom software business.  I dream.  I often dream big and out of scope, but I LOVE to dream.  Put me in a room with someone that has an idea, and we can build pyramids of ideas that you look  back on and say, “how did we just build that?”

Watching this video and seeing what the future holds, is simply awesome.  If you watched this video, where did your mind go?  Reflect on the segment where you can see, real time, who is touching what project and how they are interacting with it.  See how timelines and interruptions impact outcomes, in real time!  What else could you do with it?  See real time where doctors are with patients?  See real time where how your meal is being prepared?  See real time, not near real time, where your package is in the delivery process?  Go beyond…  Dream big, where do you go?

Two years, ago, CQL underwent a new marketing campaign to describe the type of work we do for our clients. We settled on a definition of CQL as a “Software Dreams and Wishes Fulfillment Company.” With the main core of our business being custom software development, for seventeen years we have successfully serviced businesses in Michigan and throughout the United States. While the concept of Software Dreams and Wishes Fulfillment might be a bit hokey, it really captures how we interact with our clients. Just because a business solution might not seem ‘sexy’ on the surface, our approach to helping push the creative limits with our clients often leads to new and dynamic ways our clients can improve the current state of their business.

I’ll be heading to CES (The Consumer Electronic Show) next week and I’m ready to have my mind blown by the near future technology changes that will impact our lives.  The most important thing for me is the inspiration it will have on me, and the head start CQL will gain in helping our clients take advantage of these near future technologies.  To begin dreaming, again, is hugely important.  Too often, the routine of normal everyday life can bog you down and stifle your desire to dream.  Making time to dream ideas for your business is as important as payroll, marketing and other normal business activities. Make time for excitement, intrigue, challenge, and growth by dreaming new ideas!

What fuels your dreams?

Why Customer Experience Marketers hate traditional Content Management Systems

“CMS in a box” systems first came on the scene in 2000. Today, there are literally hundreds of proprietary Content Management Systems based in SaaS models, PHP, Open Source, .NET and others. The reality is, that with all their similar features they are best understood as either a “web publisher” or an “enterprise workflow” tool.

Web publisher – Tools that help multiple non-technical content owners to publish to the web. Drupal, TYPO3, Joomla, and WordPress are all great examples of this. Their strength is fast page creation, text and image publishing and Search Engine Optimization. (This blog post is delivered by a customized WordPress application)

Enterprise workflow – Tools that help enterprises share and organize data and secure it for non-technical content owners. While ‘web publishing’ is a feature, it is not a focus of these tools and these systems limit creative development. SharePoint is a great example of this type of CMS. It provides organizations secure, organized data and integration with enterprise data sources and networks.

Both of these tools offer some of similar functionality (templates, version control, multilingual management, workflow management etc.) but they tend to fall apart when the need is for a unique, controllable user experience.

And for this reason, Customer Experience marketers hate them. Why?

Telling a marketer to work with a standard template is like telling an artist to color between the lines.

For online marketers, shrink-wrapped CMS systems are simply too limiting.

Target marketing and E-commerce is more than just credit card-enabled shopping carts. This work requires sophisticated integration of advanced analytics to drive SEO, custom interactions that cuts through the clutter, targeted campaign management and ‘A-B’ testing to hone messaging and workflow management that reduces marketing efforts.

We have to sigh when clients ask us to ‘just fix” their lack-luster shrink-wrapped implementation. As one of our enterprise architects once said “…it is like asking me to fix the crack in your drywall when it’s happening because the foundation of the house is sinking.”

If you are considering a CMS for your organization, don’t worry about version control, templates and SEO – they all do that.  When we help our customers decide whether they need a traditional CMS option or develop a custom system for their enterprise we ask them “The Big 8”. (Eight simple yet telling questions).

Ask yourself this:

  1.  Does your company need a differentiated on-line customer experience?
  2. Will you be integrating your customer experience with secure account information?
  3. Is your campaign management tied to enterprise customer relations management system?
  4. Will you be investing in A-B testing on campaigns?
  5. Will your company benefit from a ‘high touch’ Mobile/tablet experience
  6. Are you expecting web analytics (from Google or Omniture) to guide your marketing initiatives?
  7. To create content, will you be collaborating with multiple creative agencies?
  8. Will your content need to be globalized (for language, culture, currency or legal compliance)?

If you answer “yes” to any of these, then there is a good chance you need to add a “custom” option to your list of CMS options.