About Us

Bulletpoint StarImulus® is a technology focused design + interactive agency.

In addition to our client services we also have a few products in the works. Our office is always filled with chatter and this blog is an outlet for our creative energy, rants and ideas.

Podium

Stacks!
Imulus built a task management solution that finally works for teams. It's a life saver, learn more at usestacks.com.

Featured Project

Category: technology

Dec20

Beyond the Mouse: The Future of Computer Interaction

Having used computers for almost 30 years, and as a designer of interfaces, I often wonder what’s next. The mouse had been declared dead year ofter year, yet they continue to reign supreme. The recent videos from Microsoft have prompted a lot of discussion and there are often stories about the latest ideas in interface design. Many of these, including the Microsoft vision often champion a Minority Report like interface where the user manipulates an interface in front of them through touch or gestures. The Microsoft videos have tons of this type of interaction. While this is really cool to look at and may actually come to pass for certain applications, I don’t foresee anything like this for the typical desktop user being effective.
minority-report
The simple reason is laziness. Well, that may be a little harsh. It’s really a matter of muscle fatigue. Touch screen interfaces while very effective on phones and tablets have a serious flaw when it comes to traditional desktop work. Imagine having your arms constantly extended in front of you touching your screen for everything that you now use a mouse for. By the end of an 8 hour day you would be unable to lift your arms. If you put the screen down on the desk to alleviate the stress on your arms than you end up with a strained neck from looking down all day.
ms1
The reason keyboards and mice have been around for so long with little change is because they work. They allow the user to rest their arms on the desk and use very little muscular effort to interact with the computer. Any replacement for this arrangement must meet this need. I do see merit and opportunity in touch and gesture interfaces on the desk as an input for an upright screen. This still allows the user to look straight ahead and rest their arms on the desk, yet may allow for a more customized and varied system for input and manipulation. This type of system is explored in the Microsoft video and aspects are seen in ideas like Mouseless and the EXOpc.
ms2
The major advantage of this system is that it allows the interface to change according to the needs of the user and the context of the work they are doing. The options available when a user is working in Photoshop could be completely different from what would be available in Microsoft Word. And while touch interfaces are useful, they really won’t reach their potential until they gain a tactile element. A desktop that was adaptable and tactile would offer a much better experience for users and might finally spell the end for the venerable mouse. Until that day comes, mice will continue to inhabit the desks of the world.

Apr15

Who is Imulus? Interview with Casey O’Hara: Front-End Developer

Rollover OriginalTell us about yourself. Why did you want to be a front end developer at Imulus?
Casey Patrick O'Hara. Yes, I'm Irish. I'm originally from New Hampshire, so I'm culturally predisposed to using New England jargon, not paying sales tax or wearing a seat belt, and Tom Brady fandom. For reasons I'm still not sure of, when I graduated high school I decided to move to the frozen, wind-swept plains of Ohio to go to school. In December I graduated from Bowling Green State University with a degree in Visual Communication Technology. During my academic novitiate, I fell in love with web design and development. I've slowly moved away from design and now I focus more on the programming side of things.

Finding Imulus was pure kismet. I interviewed with Bruce and Taylor a few months before I graduated and we totally hit it off. It seemed like a perfect fit doing exactly what I love. I knew I wanted to live in Colorado, so the move was a no-brainer.

Your nickname is "The Prototype." How did you come about this nickname?
At my first Imulus team meeting, George polled the room "Who is our best JavaScript programmer?" I patiently waited for someone else to answer, but I couldn't keep my love affair a secret; I involuntarily shouted "I kick ass." Apparently they didn't know how much I love JavaScript when I was hired, and it quickly became a joke I probably won't live down any time soon.

If Javascript was a woman, what would she look like? Don't be afraid to get a little PG-13.
Courtney Love. Battered, sloppy, and drunk enough to be dangerous. If you look past the puke on her dress, it’s easy to see a few gems in there. Once in a while she will spit in your face, but you know she didn’t mean it because deep down she’s probably a nice person.

What about your job do you like the most?
I like that Imulus moves so fast. At times it can be equally exciting and terrifying, but it’s rewarding to work on a team of super-smart, super-talented people with an “Okay, build it” philosophy because it affords us the freedom to explore and experiment with new technologies. Research and learning are not only encouraged but required. This means our workflow and development processes are constantly evolving and never stagnate.

Least?
We’re often so busy building awesome stuff that it can be hard to find time to just stop and reflect on how awesome what we’re building actually is. Does that make sense?

Do you live free or die?
Yes.

Would you rather be a pirate or a dinosaur?
Definitely a pirate. As a pirate, it's professionally acceptable to get drunk and steal things every day. Plus, I've always wanted a cannon.

What do you like best about Colorado?
I've been here for a few months now and I'm still blown away by the landscape. I love driving up into the mountains aimlessly without a map or cell signal. I totally get off on that. The tech scene and entrepreneurial culture in Denver (and Boulder) is awesome. The weather and people are nice too. I still haven't been to Casa Bonita.

If you could have a dinner with anyone in the world or throughout history, who would you dine with?
I'd love to go out drinking with Charlie Sheen. Just once.

Describe the color blue to a blind person.
I fell for this trick once, except I was trying to describe what a square looks like. Before I got past explaining what a right angle is, I realized that my new blind friend had a saddle on his safety dog. I got too distracted imagining him riding the dog around his house that I never finished describing the square.

Apr8

A Graphic Designer’s Review of the Magic Mouse

Before I dive into this review, you should probably have some background information. First of all, as the title suggests, I am a graphic designer for a web design company. I spend 90% of my time on Adobe Creative Suite programs (most of that time is dedicated to Photoshop). Second of all, I am a female. This piece of information applies to this review because as a woman, I am genetically predisposed to have smaller hands than (most) men. Lastly, I have run through the gambit of Apple mouses since 2004. That being said, lets get started, shall we?

The good:

1. The size. I love the way this thing conforms to my hand. So much so, I feel like all other mouses feel too large and clumsy. I have read reviews where people have claimed this mouse is too small and light. I have not had this problem – however as stated previously, I have normal sized hands for a 5′8″ female which means they’re relatively small.

2. The scrolling. The predecessor to my Magic Mouse was of course the Mighty Mouse. One of the main problems I would have with the 360 scroll ball on the Mighty Mouse was it would become gritty and would stop being functional. This could always be cured by holding it upside-down and puffing can o’ air into the recesses of the 360 ball. Obviously this problem is cured by Magic Mouse. Please note – being a control freak while using Photoshop, I turned off the momentum scroll. I have been told this is a nice feature, but I can’t say that from personal experience.

3. The right-click. Although the right click is functional with the Mighty Mouse (as long as that is specified in the system preferences), I feel like the Magic Mouse’s right-click is more responsive and intuitive.

The bad:

1. The sensitivity. This is a double-edged sword. Sure, it’s nice when you WANT to scroll, but when you don’t it’s a pain. This rears it’s ugly head often when I am using Photoshop. An example of this is when I have the color picker window open. Notice on the screen shot the field next to the “R” (meaning red) is highlighted; this happens by default when one opens this color picker window. What happens when this field is highlighted is the scroll functionality on your mouse can easily add and subtract the color red. Many times I have barely brushed the top of the mouse and it will change my selected color without my consent. There is no clear area on your mouse where the scroll sensitivity begins, so just laying your hand on the top of the mouse can create a scroll with any slight movement.

2. The two finger swipe. This also goes back to the sensitivity problem. I had to turn this option off after I was working on code in our CMS and my fingers brushed the top of the mouse. The mouse somehow gleaned from this that I wanted to go back to the previous page in my browser, and thus losing all of the work I had just completed.

The conclusion:

After turning off the two finger swipe functionality, life has been easier along with learning how to deal with the problems in Photoshop. I haven’t yet ditched this mouse for the older Mighty Mouse (which is still in my possession), but that’s only after adapting to its downfalls. Basically my conclusion to this review is I would NOT recommend this product to a Graphic Designer, but I would recommend it to people who don’t use Adobe Creative Suite.

Feb12

The best approach to OS X keyboard shortcuts

shortcutsAs a long time user of OS X I’ve tacked on application after application to handle small, but essential, tasks.

Fluid for running my calendar and Stacks, JustNotes for syncing with simplenote, The Hist List for personal tasks, Quicksilver for application launching, and xScope for Web Development quickies.

Each of these applications has the option, and generally encourages, the use of global shortcuts. For those of you that don’t know, a global shortcut is a keyboard shortcut that can be can be used system wide.

The main advantage of this is the ability to access common features or tools without having to switch apps (i.e. switching songs in iTunes). However, many applications have default shortcuts that get overwritten by the global alternative. For instance, a common shortcut in Photoshop is cmd-option-d which is used to feather a selection. Yet, in OS X, trying to use this results in the dock getting hidden.

The best way around this issue is to create custom shortcuts for things that have conflicts or need quick access. However, before diving in and going crazy — “uh.. what did I set that shortcut to? *Click*click*click*, oh, right, cmd-option-shif-ctrl-F3″ — follow a simple framework to avoid headaches . Here’s what I recommend.

  1. If possible leave the standard program shortcuts in place. This makes for less hassle down the road if you ever have to reinstall the OS or use multiple machines for task (i.e. a school computer lab).
  2. Make all program based shortcuts cmd-ctrl-LETTER. To date I have not found any program in OS X that by default uses cmd-ctrl-LETTER shortcut’s. The first advantage to this is that you don’t have to worry about overwriting already-in-place shortcuts. Second, and most importantly, the cmd-ctrl keys are super easy to reach and use.
  3. For custom global shortcuts use a standard. Preferably cmd-option-ctrl-LETTER. Similar to the last bullet, I have never found a pre-set shortcut that used cmd-option-ctrl-LETTER. Yes, it sound like a lot of keys, but it’s three right in a row and they’re easy to reach.

The point is, if you standardize pre-set, local, and global shortcuts you’ll never have to worry about the key combo, all you’ll have to do is remember the letter or number you used. Further, it’ll keep conflicts at a minimum and give you a lot of options for growth down the road.

I’d love to hear other tips on what people are using so don’t hesitate to comment with your suggestions.

Jan8

Using Microsoft’s Web Deployment Tool to automate backups

Recently here at Imulus we had a production server go down, meaning all of our clients’ websites on that box were unreachable.  Thankfully, we had the proper precautions taken and backups were restored in hours.  Yet it was a very stressful time for all of us and it led me to wonder what else was out there and how much better we could have responded in an emergency.

After a bit of research I found Microsoft’s Web Deployment Tool, also sometimes referred to as MSDeploy.  Of course it only applies to Windows Servers with IIS, so if you are looking for another OS/web server solution this article is not for you.

I was somewhat skeptical at first because, well, I’m skeptical of everything.  They even call me the skeptic here at work.  It also seemed a lot of people that were writing about it were fanboys and it was a very new product (I started testing when this product was still a release candidate).  After reading about it thought I should give it a shot since it sounded very powerful.  Here is a short version of what we were looking for:

  • Able to take all manual steps out of recovery
  • Backup all files and code that made up the website
  • Include all settings, SSL Certificates, Bindings etc.

After playing with it and doing some tests I was very impressed.  The tool does deployment/backups per site, so if you host multiple sites on a server and want to customize depending on site you are able to do that.  You can view code dependencies, backup databases – do almost anything you want.  You can choose to use the GUI from IIS Manager or go command line.  You can choose to export the package to another server immediately or create a folder with an archive of all necessary files for restoration later.

If you are interested in using it for deploying, go get it,  check out this overview page or visit their forums.

If you are interested in seeing how we created a fully automated solution, read on.

Since we wanted something that had little or no human interaction, and therefore not error prone with a high degree of reliability, I came up with a solution that took all human involvement out of the backup and recovery process.  The solution we came up with is broken into 3 parts.

1) Backups of all sites in IIS needs to occur in case of a server failure.

2) Replicate backups to other available live servers as well as offsite automatically.

3) The ability to recover our site(s) needs to be easily and quickly available with fewest manual steps as possible.

To address all these I wrote a small, simple program to help the Web Deployment Tool with this process.  The program has two purposes and can easily be scheduled through the task manager in order to create a repetitive and up-to-date solution.  The program writes two files.  The first .bat file should be run nightly, or however often you want, and contains commands for msdeploy that create an archive backup for each site in IIS.  The second bat file contains all commands for msdeploy to install/restore each website that has been archived.  This second file should only be run if a server goes down and you need to restore sites on your standby server.

To take care of our first step we must schedule an execution of our custom application to generate our archival and restore bat files.  We must also schedule an execution of the archival .bat file our program generates to be run afterwards.  The bat file execution results in the creation of an archive for each site.

Now that all sites are backed up with step #1, we need to take care of step #2.  To do this, just use your favorite sync tool to copy all necessary files to other server(s) and offsite.  If you don’t know what I am talking about, check out Super Flexible File Synchronizer or Microsoft’s Sync Toy.  Using a program to move files on an automatic basis allows us to be ready to execute step three if we ever need to.

Step #3 is the only manual step in this whole process and is quite easy.  First, bind the new server you are recovering to with all necessary IPs, or do whatever network voodoo you need to.  Secondly, run the recovery .bat file.  The file will install your site(s), application pool, certs and restore all settings.  One click recovery?  Yes please!

If you think this code could be used in your environment you may grab a generic version here – I hope it helps.  Obviously, I make no warranty about any of this process or code.  If you do use the code, please read the readme as well as the code comments.  The code is a Visual Studio 2008 C# solution licensed under GPL.  Use your heads and do your testing people!

If you come up with anything different feel free to comment and let us know how you have improved upon the process.  If you modify the code please send me what you have done.  Enjoy!