Performance, Productivity, Flexibility. Pick Two With Dart

Recently, I attended a developer conference that discussed Dart by Google. Dart is a relatively new language from Google designed for modern desktop and mobile browsers.  The idea behind Dart was to create a language that could replace Javascript with something more structured and object oriented – similar in the same spirit as other tools such as Closure or CoffeeScript.  Javascript is the standard for client-side web development, and many platform advances work to support Javascript, not move away from it. Not that Javascript is all bad, but large programs written in Javascript can easily become difficult to maintain.

First off, the presenter cautioned that Dart needs “modern browsers” to be effective.  The gist of it was that if your browser doesn’t support HTML5 (IE9+ or recent versions of Firefox/Chrome) it probably won’t work.  This is almost certainly a showstopper for many organizations that might want to try Dart.  That said, it certainly seems like an interesting technology if you can dictate which browsers will be used (e.g., for an intranet application) or for future use when HTML5 support is a given. Essentially, Dart takes everything the Java/C# developer expects now for developing server side code – a nice IDE, classes, libraries, projects for managing source files, familiar syntax – and lets you use that to build client side apps.  These can then be compiled into Javascript, or run natively on the browser in the Dart VM (largely theoretical at this point as no production browser actually has a Dart VM)

Some highlights that I gathered from this session, included:

  1. Syntax is very similar to Java or C#, easy to understand and pick up.
  2. Can be either statically or dynamically typed, or both at the same time.  Types are optional.
  3. Has its own IDE (basically a stripped down customized version of eclipse) with all kinds of nice things you would expect in visual studio, but could only dream about in Javascript
  4. Has built in templating support for creating more semantic HTML with databinding – similar to MVVM and XAML in WPF.  This looked very cool.

While Dart is certainly interesting, it does not seem that Chrome will take over the browser world anytime soon, and with the fact that platforms are trying to accommodate the intricacies of Javascript, it does not seem that a shift to Dart is necessarily a benefit at this time.

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!

Responsive Web Design – Why it could be as important as SEO?

Until recently, if you wanted a public website to be easily viewed on a mobile device, software developers would need to spend additional time writing code to specifically meet the varying standards on devices such as the Apple family of products (iPhone, iPad, etc.), the Android platform, the Windows Mobile platform or others. In essence, to make a “mobile version” of your website, repetitive coding activities would need to be completed to ensure correct sizing, navigation, content, etc. was available across these various mobile platforms.

CIO.com estimates that more than 1 Billion mobile devices will be online by 2013, which poses the question of how well does your company’s public facing website render on the leading Android, Apple and Windows Mobile platforms. A poorly rendered website (on a mobile device) could equate to lost business and lost revenues.

Clients, today, understand the importance of Search Engine Optimization (SEO) when planning the creation of a customer facing website, but they should also be giving attention to the concept of Responsive Web Design. Responsive Web Design (RWD) is a coding practice whereby a software developer/designer can design a website to dynamically adapt to the screen sizes of devices by automatically resizing and reformatting the various elements of the site. In layman’s terms, your website content is the “liquid,” and the device you are using to view the content is the “container” – the liquid automatically takes the shape of the container when being viewed. For an example of Responsive Web Design in operation, visit www.cqlcorp.com (click the link, then resize your browser window, watch everything rearrange).  Responsive Web Design utilizes one base of code (along with other elements such as CSS3, HTML5, etc.) to eliminate the need for developers and designers to code to specific devices.

So, your question might be why isn’t every website written with RWD, in mind. Well, similar to design decisions needing to be made regarding SEO, developing a site to RWD standards might increase the amount of work a developer/designer needs to do during the coding process (i.e., it might cost more on the front end to develop), however it can also lead to a much better experience for the end-user, and therefore the cost justifies the strategic benefit on the back-end.

As a customer, you need to ask your web development team about their knowledge and experience in utilizing Responsive Web Design. With the onslaught of mobile devices in coming years, you do not want to be stuck offering up a website that cannot be properly viewed by a user.

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.

 

Technology and Sales

As the economy continues to accelerate, companies are increasingly looking for ways to streamline their process and makes their sales/customer service team more effective.   The days of  the old school sales guy like Biff from “Death of a Salesman” and his relentless approach to getting things done, are gone.  Briefcases and pamphlets will leave your company in the dust.

Welcome to the 21st century, where configurators and diagnostic tools are the norm, eliminating the need for brochures and product samples.  And while these  tools have been around for ages,  the latest technology (particularly Mobile Development) is changing the way they’re built.    Instead of a simple PowerPoint with pictures showing a full line of items, applications are allowing users to crunch data, check availability and even order through an ERP system.  What used to be an entire day long process, now happens over the phone, during one quick meeting or with a mobile app where clients choose where and when to buy a product.

With more clients coming to CQL to help them increase sales, our team is creatively thinking about ways technology can be used to run their businesses more effectively.

“Help us educate our market”

When Byrne Electrical Specialists came to us with a market segment in mind, we helped them create a tool that would target them, and more.  Not all of Byrne’s dealers and suppliers knew they sell more than just plugs.  Their designers didn’t realize that you can choose custom colors, get an iPad jack or that they carry a desktop plug that can withstand that morning coffee being dumped on it.   CQL created a tool that not only helps Byrne’s clients search for what they want, but it helps educate them on the wide range of products available to them.   Check out the Empower Diagnostic Tool here.

I want to customize my sandals”

Chaco is known for having diehard fans that want something unique out of their footwear.  So how do you make ordering fun, easy and personal without having to pick up the phone?  Partner with CQL to build a configurator that lets a user customize everything from the bottom of  sole to the logo on the top strap.  Order your next Chaco Sandal here or read more about here.

No matter what market a client is trying to reach, CQL is building Custom Software tools that make the experience interactive, fun and easy to use.

 

Why Configurator Tools Help Businesses Drive More Sales

CQL has been building custom e-commerce systems since the 1990s. As e-commerce systems mature, businesses are looking for ways to expand their interactions with prospective customers. Custom software like product configurators have become a very popular way for businesses to enrich the customer experience, and grow loyalty to their products.

Chaco is a well-known global brand that enjoys a very loyal customer base. Chaco owners understand the quality of the sandals, and consider themselves part of the Chaconian community. To provide these Chaconians and future Chaconians an opportunity to design their own look and feel for their next pair of sandals, Chaco had CQL create a custom product configurator. This configurator allows a user to express their creativity by building their own sandals from the ground up – giving them the opportunity to completely customize their sandals by choosing from a variety of different styles, colors, strap patterns, and sizes.

With speed and responsiveness being an important aspect of the user experience, CQL focused on a number of optimizations to ensure the product configurator would provide a fast and reliable experience on a wide variety of devices. Unlike Flash-based product configurators which won’t work on iPads and iPhones, this configurator was built using HTML and jQuery to make sure it is available to the widest number of users.

For additional information, visit the Chaco Configurator Here.

Microsoft Hyper-V Failover Clustering

Recently, CQL released its first Microsoft Hyper-V failover cluster for Virtual Machines (VM). This is great news for our current and future clients offering them live migration and failover support which will ensure decreased downtime.


Live migration allows you to transparently move running virtual machines from one node of the failover cluster to another node in the same cluster without a dropped network connection or perceived downtime. A failover cluster works by having a passive server always on hand in case the primary has problems. If the system detects any loss of connectivity or power, it fails over to the other node.

Color Node from Simple-talk.com

This is an important consideration for our clients, as they look to improve the stability of their internal systems. Another benefit is the “green” benefit of reduced power consumption. For instance, going this route, CQL was able to reduce our carbon footprint by 7%, power consumption by 7%, as well as the number of physical servers by eight. We built our clustered environment on Windows 2008R2, 24×2.20GHz processors with 128GB of memory which is attached to a 6.6TB SAN backbone.
Increased stability, reduced power consumption, and the potential reduction of capital expenditures are all excellent reasons for your organization to investigate Hyper-V Failover Clustering.

CQL’s Microsoft Snob reviews Microsoft Windows 8

Y’all knew this was coming… but I bet you didn’t expect this:

“The Windows 8 Consumer Preview is disappointing” –James VanderZouwen

First, I have always been a Microsoft Beta tester and an early adopter of their Windows, Office and Internet Explorer products.  So, I am sure you are not shocked when I tell you that I was excited to get home yesterday and play around with Windows 8 for the first time.  I arrived home and set aside a PC to install it on, fired up Hulu to watch the latest Colbert Report, and set out to see what was in store for the next generation of PC users.  I was happy to see that burning the ISO to DVD and installing took under 30 minutes total (hardware was Dual Core 2.8 GHz w/4 GB RAM – nothing fancy).  The ugly Betta fish logo threw me for a loop at first (I thought maybe Sanford’s ISO was some sort of hacked Linux install to mess with me ;) .  A simple Bing search told me that it was Microsoft trying to be punny and I continued.  I was asked for Windows Live credentials during install and was pleased to see a new level of integration with web content/services being pushed from the get-go.  I was also happy to see that my devices installed without prompting or annoying driver installation hassle.  The initial install was only a few clicks and could probably be performed by even the most novice of users.

Here’s where things went sour… I logged in for the first time and was met with a strange site – The Metro Start Menu.

Some back story: When I was a network admin long ago and Windows XP was launched, I was reluctant to accept the XP two-column start menu because I thought users would have a hard time getting used to it.  Windows  98 was the most used OS at the time and users were already complaining about the change, so I did what so many admins do and reverted to the old functionality for my customers.  It took even me a long time (about a year!) to get used to it myself, so I was happy to implement group policy to revert it and even went so far as to set the default profile on our master image to use the old start menu so that customers creating new profiles would never see the new menu.  In retrospect, I should have told them to suck it up and get used to it, as now I have found that I almost can’t live without the new start menu.

Now, I see the Metro Start Menu and am finding myself in a similar conundrum.  This change is WAY more jolting though.  This is a full-screen start menu that doesn’t even have a start button to get to it.  When I first looked at Windows 8, I froze and nearly wanted to turn off the computer because I didn’t know where to go to get started.  The fact that I have dual monitors on my demo machine made it much worse.  Metro’s multi-monitor support is lacking at best.  The start menu and Metro style apps launch in full screen on the main monitor (and they look great), but the 2nd monitor is left in the ‘dark ages’ (Windows 7).  It looks awkward to have the new Metro next to an empty, archaic-looking screen that seemingly has no way to launch apps.  The taskbar has been extended to the 2nd monitor, but it includes to start button.  The start menu has no ability to pin Metro app shortcuts to the taskbar, and there is also no way to launch Metro apps in the 2nd screen (or move them there, or have 2 running side by side).  How does Microsoft intend to convince people to use this?

My thinking is that Microsoft will receive a lot of feedback on this and address many of my concerns in the release candidate.  My hope is that they don’t allow admins to revert to the ‘old way’.  I think Metro is cool and important, but not there yet.  Perhaps it will be great, but for now, I am happy to continue using Windows 7 and let my demo machine collect some dust.

Test failed.  Where you at Microsoft?

 

Mobile Monday Grand Rapids January Recap

Last summer, I joined the Mobile Monday of Grand Rapids (MoMoGR) organizing committee because more of our clients want to learn about Mobile development and how it can help their business.  “MoMo” stands for Mobile Monday, and the Grand Rapids location is just one of many chapters that exist, globally. The MoMo organization brings together software developers and designers who practice their skills across many different development platforms. CQL is very engaged in developing custom software solutions across various mobile platforms (e.g., Apple, Android, Windows Mobile, etc.). As devices continue to become smaller and provide greater computing power, our clients find that critical (and non-critical) software applications need to be delivered through these mobile devices.

This week, MoMoGR held their quarterly event at Grand Valley’s Loosemore Auditorium.  This event was focused on Gamification, which according to our keynote speaker, Venu Vasudevan, means the use of game design techniques and mechanics to solve problems and engage audiences.

Venu is the Senior Director at Motorola Mobility and definitely had a lot of insight on where this mobile movement will take us.  He started his presentation covering the past and informing us on why TV, which has had very few changes in the last 10 years, has only been a one-sided media experience.

Example: Visual of a couch potato sitting hours with only the occasional bathroom break, or beer break.   Definitely a one sided exchange because the only entity that is engaging is the TV.

But what if you could engage your TV and were encouraged with Games?   It would revolutionize the way we currently watch TV.  Venu gave his opinion on what works and what doesn’t, explaining that gaming only works when you take it a step further than badges and leader boards.  When gaming truly works, a ‘rewards’ structure must consist of Intrinsic Motivation.

His Examples are:

Stack Overflow

USA Network

Seeking Alpha

Before the keynote, there were three short 4-5 minute talks from local people that have started to use games in either an application or a development practice.   The most unique was a Grand Valley State University grad student presenting what he calls “Pocket PT”; a suite of accessorized theuraputic iOS games being designed to help patients recover from traumatic brain injuries. The goal of this application was to use gaming as an incentive for repetitive exercises.  It is fully customizable and the clinics receive valuable feedback.   Check out the video below.

Get Microsoft Silverlight

It’s amazing how such a simple concept can change the way we’re engaging patients with traumatic injuries.

The event was great and I’m definitely looking forward to the next one (check out the MeetUp or our blog for updates).  What I realized is that gaming, whether on a Mobile application or not, is going to have a huge impact on how CQL builds applications.   In the future I see users more actively interacting with live televisions shows, advertisers, and much much more. Really the possibilities are endless.

 

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.