CONGRATULATIONS TO CQL ON 18 YEARS…

I will be honest; I got a tad bit emotional thinking about CQL turning 18 years old. I was around back then, as a partner company to CQL. I still fondly remember the “three-guys-in-a-shoebox” years down at 820 Monroe (now, that place would be called an incubator center, but back then, it was just a collection of small businesses trying to figure out this new software economy), and the times that Kevin and Mike would have to cover their workstations with tarps because the dance-studio above was shaking dust loose from the rafters.

I could take you down memory lane and talk nostalgically about life before the Internet and the first 9600 baud connection between my business and CQL. Or the first time Kevin helped me green-screen-connect to a gopher server in Ann Arbor.

But this anniversary makes me think more about what it means to be 18 — an adult.

Yes, part of CQL’s success has been about ‘becoming responsible.’ And for those of us paying attention, this responsibility means we survived the worst economy in 80 years when many others did not. But being a newly anointed adult also means we have our lives ahead of us and we can leverage our youthful optimism to chart the next 18.

+++

Over the last few months, many of us at CQL have been re-mapping the front end of the business – how we engage clients, discover big ideas, partner with world-class firms and get better at collaboration. Some days is has felt like being an archaeologist, digging through 4 years of projects looking for a “what worked/what didn’t” pattern in the dirt. But something clicked when I heard about our anniversary and everything started making sense.

+++

Unlike 18 years ago, Software is not a ‘thing’ anymore. We do not buy it shrink-wrapped off a shelf or fire-it-up at 9 and shut it down at 5. It has become part of everything we do.

We stream and like things from coffee shops; when necessary, we attend meetings from 5 time zones away and think nothing of it. We can reduce 200 page reports to a few data-driven webpages and can build custom sandals on our tablets.

Nicolas Negroponte predicted all of this in the 90s – “Technology will become so pervasive that it will be become like air and water – noticeable by its absence more than its presence.”

And that kind of embedded intelligence is no longer developed by backroom hackers any more than it is built for machine-like-tasks of 18 years ago. Today, user experience matters. Business context matters — and done well, the technology we build is intentionally invisible.

It is just one man’s opinion, but this is why we are seeing an evolution in the front end of our business. Why our customers require us to look broader at the problem. And, most importantly, why this sheds a new light on everything to do with our craft.

And this is why we are ensuring closer collaboration between business strategists, experience designers and software craftsmen. And why this change is rendering some of our traditional baton-style handoffs obsolete.

And  this means outcomes are more break-through, the solutions are more elegant and the experience is more joyful for the user.

+++

So thank you Kevin for starting something wonderful and for letting me be a part of it.

Thank you Mike, Mark and Doug helping raise a responsible adult.

And thanks to the entire team for your pie-eyed optimism of what we can become

My 3 Day Evaluation and Review of Microsoft Surface

Being a Microsoft advocate and a tablet geek, I couldn’t wait for the long overdue Microsoft Surface to come out.  I was hesitant, but pre-ordered my 32GB version with touch keyboard and patiently awaited it’s arrival.

Well, actually, I wasn’t overly excited, and didn’t wait by the door for it to be dropped off, because for once, I thought the better products were already released, prior to Microsoft coming to market.

When Microsoft stopped development of the courier years ago, I thought all was lost for Microsoft to enter this space.  So I reluctantly jumped on the bandwagon of Android.  Bought my first Android phone and tablet.  They were “ok” at best, but better than defecting to Apple in my opinion.  (not that there is anything wrong with Apple, but it’s not for me.)

Over the next 6 months, I switched to the Motorola Xoom, but to be honest, was a tad thick, heavy, and cumbersome.  The OS was good, responsive, better than my old Samsung tablet.  But still not for me.  When the Motorola XYBOARD came out, 10.1”, it was thin, good looking, lightweight, and very responsive.  I had already grown used to many Android apps on both my previous tablets and my phone, so staying in one account and using the same apps was nice and easy.

Enter the Microsoft Surface.  At my original post, I gave some plus/minus notes on the system.  Heavy, thick, weird edges, not easy to hold, but it had a keyboard, familiar ctrl key’s for copy/paste, a familiar Microsoft environment, and a good screen; and that was in the first hours.  I’ve since used it through the weekend and here is what I have to say…

I equate the new surface to be like the first generation Android tablets.  I expect that in the next 6 months, we will see HUGE improvement.  (Do you hear me Microsoft?!?)  The apps are ok, I actually love the tile affect and how easy the hand gestures are.  (although, not as zippy as on the Android or Ipad.)  But where I see much room for improvement is in the transition and loading of apps.  One of the things I’ve become accustomed to on the Android tablets is that things load quick!  I find that I spend time waiting for an app to load with the all too familiar loading dots…   I also found that there is lag in video play, choppiness, and distortion from time to time.   One of the biggest kick in the teeth for this enterprise user, is the mail program.  I would have expected, for the business community, they would have had an outlook version to release at time of launch, but they stuck with generic, core mail and calendar apps.   I need to be able to select multiple emails and delete or move them.

I DO like that I can have more than one application on the screen at a time, and I like the quick shoot of recent application from the left edge to be thrown on the desktop quickly (no load lag).

So…  In short.  I understand this is  a first generation tablet.  I understand at some point, you have to pick a release date and get it out for the general populace.  Then you can update the heck out of it.  That is what I see here.  Nice first attempt.  I can use and work with it.  I look forward to the thinner, zippier and above all else, 4G version to come out.  I have to carry my Android tablet still, because they don’t have Wireless at the Real Food Cafe, and I love to read while there.  I also look forward to the slew of other hardware to be released, now that Microsoft released theirs.  I believe it will drive an overall, better tablet competition between Android, Microsoft and Apple.  I believe we should see some huge improvements and cool things over the next 2-3 years!

Gamification at aimWest

I love this topic because it brings a new dimension to building custom software.  Here are my take aways from the event:

The Presenters Were Awesome

OK, I am a little biased because Eric P. is one of CQL’s software developers, and he’s ranked as one of the top developers on Stack Overflow. Eric offered a great mix of technical expertise and end user knowledge.   He answered questions and gave great insight, which was a nice complement to the other presenters discussing products.

Games Must Be Obtainable To Every User

Gaming should be fun no matter what type of user you are.  Even if you’re a novice, you should be able to obtain goals similar to the expert.  Eric described how newbies, should be able to gain experience, have fun and feel included, but it should not be forgotten that the expert user will also be looking for that next challenge.

The Game Should Never End

Most of the time, they do end, and that’s a problem because once there is no longer a reward, people will stop using your game.  In order to keep them around, use a model like Stack Overflow where gamers are always in a competition with each other, instead of just reaching a level and then being done.

Give Them More

Users want more than just a badge…they want a story, achievable goals, and different scenarios.   Not everyone that uses your game will perceive the same value, so make sure you have options for them.  Maybe they want to compete against each other, maybe they want that gold badge, or possibly they just want to say they did it.   Make sure they can do all of that.

Gamification is a fun topic and something to which Grand Rapids software developers are paying attention.  With more and more businesses competing for a user’s attention, gaming can definitely be a useful way to achieve that objective.

If you’re interested in more information on gamification, you can check out my earlier blog here that described a similar event held earlier this year for MoMoGrandRapids.

 

Reflections from an Intern

I have loved my experience at CQL.  This really is an excellent place to work and there is great community across the whole company.  Over the past few months, I’ve learned more about software development than I ever thought I could learn in this short amount of time.  The people are great and the daily fresh-ground coffee now has me hooked.

I’ve appreciated how much everyone here is excited about their work and how much pride they take in it.  Pretty much everyone who I talk to at Calvin has heard more good things about CQL than they would care to remember.  I even brought a gang of my computer-science cronies into the office on a Friday afternoon for some pizza and networking (see an earlier blog post).

I mentioned that I learned a bunch working here, so I’ll try to elaborate a little on that.  I came in with probably 80% of my development background being in Linux.  This changed quickly as I discovered just how much of the working world runs on Microsoft and Internet Explorer.  With this realization came all kinds of new encounters with .NET and C# and Microsoft SQL Server, but ironically this opened my mind to the fact that there is a lot of good stuff out there that is not strictly open-source.  I got knocked off my high horse on the first day when I heard Python called ‘lame’ in a passing comment, but I suppose it’s better to be on ground level when fighting coding battles.

The environment here is a good combination between individual and group work.  This experience is helping me to learn the difference between when I should ask for help and when I should Google my problems away—the way the introvert in me naturally tends err.  Along with this comes learning how to ask good questions.  The many caveats of JavaScript have given me ample practice in this skill, and I have always been met with thorough answers.

I am deeply thankful to all at CQL who have made my experience positive and I will look back fondly on the memories that I have made here.  Who knows, I may be back some day.

Ten Years Nerding it Up at CQL

I showed up to my interview at CQL as a snot-nosed little punk in my last year of college at Grand Valley State University wearing a hand-me-down suit and carrying a lavish resume. Seven heads popped up like prairie dogs above monitors as I came through the door, and I immediately realized I was overdressed; the standard attire seemed more appropriate for an afternoon of disc golf than for a day making the internet go ‘round. The foosball table was a nice touch and the lack of cubicles was very appealing.

The interview process involved a minute or two of small-talk and a casual, “I think we’ll give you a shot.” The hard work I poured into my resume was all for naught. They slaughtered me in the foosball portion of the interview, but despite my poor performance, they stuck with me.

That was all back in 2001, when I came on board working part-time during my last year of school. After graduating in 2002, they offered me a full time position, and here I am, coming up on my ten year anniversary of cranking out code at CQL.

I’ve been involved in all sorts of projects in all sorts of fields, and that’s one of the things I love about working at CQL: the diversity of projects and our willingness to become experts in any field.

I spent a lot of time in the medical industry, writing software for doctors’ daily medical rounds and labored several years building a hospital inventory system. I’ve read up enough on HIPAA to make me want to gouge my eyes out.

I wrote for mobile devices before it was cool. We targeted an enormous “Pocket” PC with a built in scanner and wrote software which let the hospital techs run around untethered, taking realtime inventory on a bulky handheld device wirelessly.

We built university event calendars and at one point when I visited my own alma mater, I noticed that our event calendar app was set as the home page on every public computer. I felt pretty cool. We also worked out a scheduling app for the school’s busy gym and weight room. It let people allocate time slots on workout machines and showed the schedule on huge flat screens hanging on the walls.

I’ve worked on a Flash-based app that was used to give prospective patients more information on breast augmentation and reduction surgeries. After having gone through the vivid tutorials at length, I can sum up the procedures in one word: Ouch.

The list goes on. There have been florists and funeral homes, churches and lawyers, seafood movers and yacht manufacturers, religious video catalogs and social networks, freight movers and book sellers. There was some guy who sold frozen burgers online; his specialty was ground beef mixed with cherries. He used to give us each a case of cherry burgers at Christmas. I’m not above bribery, as my bosses have come to realize (more beer please).

We’ve tracked tethered criminals via GPS and trained workers on how to spot defects in breakfast pastries. We’ve helped sell furniture, clocks, jewelry, shoes, and apparel. We’ve built software to ease the pain of managing investments and we’ve kept your neighborhood little league teams in matching uniforms.

To tell you the truth, I’m a little lost in the whirlwind of projects we’ve got going on a daily basis. We’ve got a good-sized development team and eager sales folk always taking us around new corners. It’s hard to keep up with all the irons in the fire.

With everything CQL has accomplished over the years, I often take pride in, much to the chagrin of my wife, running across companies we’ve built apps for during my tenure. It’ll happen on the road and I’ll see a sign with a company name whose website we’ve built, or I’ll be walking down the street next to a footwear shop and see several brands whose website I’ve helped create. Just the other week, my wife was trying on some sandals and the salesman told us we could now go online and customize exactly how we wanted the sandal to look. Perhaps I was a little pompous, but I bragged that, yea, I had a large part in building that. There are a lot of public facing apps we’ve built over the years, such that it’s hard to go a week without noticing one of them in daily life.

Behind it all, we’ve built loads of management tools to run everything, from blogs to content management systems, from international ecommerce catalogs to product configurators. There’s always some new field to dive into; some new skill set to learn.

A lot has changed in these past ten years, but that’s one of the joys of this line of work. You get to keep learning and growing. When I started, Classic ASP was state of the art and our source control methodology involved shouting across the room to find out who last worked on a file. We have certainly matured since then, and we’ve grown an aggressively curious pack of nerds committed to doing things right while learning new ways to solve problems. Things are constantly changing around here in order to keep up with, and keep ahead of, the ever-changing web. I love that part of the job. You’re constantly challenged to learn and to grow. It’s what has kept me here these past ten years and it’s what keeps me coming in, day after day.

“How Software Nerds Make Ridiculous Tools to Visually Stimulate Themselves While They Watch Their $10 Vanish…”

Now that is what I call an interesting title. Like many individuals in the United States, March 30th is a captivating date for the sole purpose of Dreams and Wishes. Tonight, the Mega Millions Jackpot will be drawn – estimated to exceed $600 Million.

CQL, Inc., like many organizations around the nation, has a number of employees who have pooled their funds together in order to extend their chances of winning a share of the jackpot. Some in our midst call it foolish, while others just don’t want to be that one guy who shows up to work on Monday, alone (see associated picture)…

Original Artist www.cartoonstock.com

As CQL is a custom software development shop, we of course employ many highly intelligent software engineers. And what happens when the potential of fantastic riches collides with very smart people, you get multiple Excel spreadsheets circulated through the office indicating how we can confirm our winnings (shoot, by now, I’m sure one of them has written a mobile Android or iPhone application to support the same). What started with a simple note of “I was bored at home, last night, so I produced this way for us to tell if we won…,” has grown into complicated colorized and automated versions of the same computation method.

So, do we feel foolish parting with our $10? Heck no, for less than the price of going to a movie, we’ve received a ton of opportunities to laugh at work, today, and 170 chances at becoming a millionaire, tonight.

Expanding Our Social Network

This past week, CQL hosted a party for some students (and professors) from Calvin College. The purpose of this party was to allow some software development students an opportunity to network and interact (in a casual environment) with peers who are already in the ‘working world.’ CQL takes the responsibility of developing interns, seriously, and Calvin has been a good partner in helping match their students with our team. The activity started with a tour and overview of CQL’s business fundamentals, and then moved to the mixer. Overall, the students mingled to learn about our backgrounds, how we got into this business, we talked career path and why we love software development.

Thanks to all for coming out!  We enjoyed the opportunity to meet you! Let’s make great software together!

Soup’s On For All

The team at CQL would like to congratulate Catholic Charities West Michigan on their achievement of raising nearly $115,000 for God’s Kitchen at the 2012 Soup’s On For All event.  

For the past 9 years, CQL has been proud to be a Gold Sponsor supporter of Catholic Charities in helping them accomplish their mission of helping individuals and families that come to God’s Kitchen looking for care and food assistance. Their food and pantry programs provide vital services such as food delivered to the homebound, drop in lunch and dinner sites, food pantries, and meal outreach in many communities.

The annual Soup’s On event is definitely a staff favorite for us. For years, our employees, and their significant others, have attended this event, which features various local restaurants serving soup as a way to demonstrate ‘soup lines’ from years past. It is a special evening.

Personally, I love picking a custom made soup bowl to take home.  Hundreds of volunteers, including schools, church groups, aspiring artists, etc. hand paint bowls that are given away to attendees at the event.  Picking just the right one is an art form all in itself as I have a display in my home that reminds me all year of the great work Catholic Charities is doing.   To get an idea of the fun, whimsical pieces I’m talking about, click here:

Soup’s On Bowls!

We’re already looking forward to next year’s event and hope to see you there!

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.