Most software developers consider an application that runs offline a aphase 2a type of feature. Nowadays the Internet is everywhere, and ita's fast. In most cases only a small percentage of an applicationa's users lack a decent Internet connection. So rather than focus on the minority, at first we should focus on the majority, right? I say wronga—for a reason that has nothing to do with the speed of your Internet connection.
Recently, we at Cloudmanic Labs adopted a new mandate to build all of our applicationsa—web and mobilea—as offline first. Our first nonmobile example of an application that works completely offline is Heapless.
Why this new mandate? Very simply, offline is fasta—really fast! Regardless of the speed of your Internet connection, storing your data and the files needed to run an application locally makes the user experience almost instantaneous. Modern browsers are able to prefetch all of the resources needed to run the application in the background using web workers. Which means that as a user goes from page to page or state to state everything is loaded instantlya—no waiting for the application to communicate with the server. We use a similar approach to communicate data back to the server in the background to ensure that the user never has to wait.
Our primary goal of offline first is not to support users at 30,000 feeta—the objective is making our application crazy fast and responsive. And thinking offline first has the added benefit of supporting our Internet-challenged users as well.
Read More...
Whenever I hear a digital interface praised as "intuitive" my
eyelids twitch. Whata's intuition got to do with it? What end users are really
saying is that the interface is so well designed that
ita's pretty much idiot proof. I get why we might not embrace that particular expression, but calling
an interface intuitive shifts much of the credit due the designer to the user.
And that happens because we tend to mistake the simplicity of a well-designed
interface for simpleness, discounting the hard work of good design.
What is gooda—or if you insist, intuitivea—interface design
anyway? Most essentially, good design requires minimal knowledge and experience
on the part of the end user. It allows us to bridge the gap between what we do
know and what we dona't know without a lot of cognitive efforta—that is, without
having to think too hard. And thata's a very good thing because more and more
digital tasks are being foisted on consumers, for better or worse. Which means
that good interface design essential: when you go it alone, shit-hot
functionality is useless without a well-designed interface that makes
navigation seem obvious and success practically inevitable.
Read More...
For humans, a list is an exceedingly common way of organizing data. Typically a list is a collection of related items arranged vertically or horizontally, one item after another. Most databases store data in this very same manner.
A common first step when building a data-driven software application is to prototype data models in Microsoft Excel, a powerful tool for building and manipulating lists and managing raw data. The next stepa—product designa—is the one that ultimately determines whether the software will live or die. And ita's here that Excel is causing great damage by modeling terrible design.
Many developers build data-driven applications that look and feel a lot like Excel. Although mimicking the table-based structure of Excel often seems like the most logical way to display data onscreen, this assumption is flawed because it discounts a very important factor in great software design: the emotional connection between users and the software.
Great software, regardless of how mundane the content is, should evoke an emotional response. Users should have an unexplainable, powerful attachment to the application. Take a look, for example, at the screenshots below. Which one do you feel more compelled to engage with?
Option #1

Option #2

I assert that the design of Option 2 is far more engaging. Each item is part of a conversation between people. The effect is personal and meaningful. In contrast, the underachieving design of Option 1 delivers a list and little more. The information slackly dissolves into mere bits on a screen, requiring the viewer to concentrate to make sense of ita—sort of like one does with those Magic Eye stereogram images.
Read More...
More than ever before everything is data and data is everything. Regrettably, managing data has become a black art involving Microsoft Excel VLOOKUPs and highly individualized spreadsheets. Though there has been a push to move data to more robust systems such as SQL Server, a large portion of data ends up at the opposite end of the software spectruma—in scary spreadsheets that are emailed and cut and pasted and generally lack the validation necessary to maintain data integrity.
The reasons for this misuse of software are numerous, but the most common are a lack of resources and limited skills. In both small businesses and large institutions (particularly those whose IT budgets have been slashed in the current recession), individuals often find it necessary to go it alone and come up with ad hoc methods for entering and retrieving data in programs they are familiar witha—usually Excel. Overreliance on spreadsheets occurs when other options seem prohibitively difficult or expensive to implement. It can also be the result of a bunker mentality that sets in or when IT enforces the use of specialized, tightly controlled databases, driving some users to go rogue.
The spreadsheet solution seems great at first. You are empowering yourself and getting over on The Man. But over time a spreadsheet tends to turn into a mess of workbooks and worksheets that starts looking more like game of Battleship as your data sinks in a grid of B9:Z88 cells. Ultimately each one evolves into a hopelessly idiosyncratic contrivance that only one user understands. And then you go on vacation and someone renames a worksheet and all your VLOOKUPS and calculations fail. Or worse, you work late one evening and distractedly sort your columnsa—and scramble your data. Sometimes the spreadsheet solution is flexible to a fault.
Read More...
Most people building software these days have heard of the Minimum Viable Product (MVP) strategy: construct only what is necessary to get a few users onboard and worry about the rest of the planned features later. The problem is, most of us suck at figuring out just how much is enough for a product to be minimally viable. As a result, we often times err on the side of too much. Cloudmanic Labs has launched a variety of products, and I like to think we are pretty good at gauging an MVP feature list. So recently I sat down and looked at the numbers to see how accurate we were at building an MVP release of Photomanic, our photo application for Evernote launched about a month ago.
We measure the usage of all features, which helps us determine whether we should invest more in a feature or not. One feature I insisted on was the ability to rotate images. I was convinced that without this feature users would not consider Photomanic viable. As it turns out, only 0.84% of the images uploaded to date have been rotated. Yet this feature is the one our development team spent the most time buildinga—and one for which we generated a laundry list of upgrade ideas. Even I rarely rotate images, and I was the biggest proponent of the feature. Clearly, our perceptions of what is important are not always accurate.
Read More...
In web design I see modal windows misused repeatedlya—though, admittedly, this is just one mana's opinion of improper use. (Or is it? read on...) But I should begin by clarifying three things. First, a modal window appears within another window, something like this:

Second, while Cloudmanic products do use a few modal windows, most reflect poor judgement on our part and will be phased out over time. And third, there is a time and place for modal windowsa—some examples are described below. Nevertheless, I submit that 90% of the time modal windows are misused.
Why Modal Windows Are (Usually) Bad
Modal windows are useful because they delimit a space in which
the user performs one or two simple tasks. The unpleasant side effects,
however, are often not worth it. Here is my short list of why you should use
modal windows sparingly:
Theya’re clunky.
Most developers neglect to think about different screen sizes with respect to
content. For example, if the modal window content requires scrolling, the
screen displays both the modal window scroll bar and the browser scroll bar and
your wheel mouse behaves differently based on where the cursor is. Yes, the
browser scroll bar can be disabled, but doing so has never felt natural to me.
Theya’re not
mobile friendly. Modal windows are almost always difficult to manage on
mobile devices. Theya’re slow to load and slow to hide. Unless the developer
does tons of testing, the content can get wonkya—such as when when the onscreen
keyboard pops up.
They require a
lot of developer time. Developing a modal window requires extra effort
because the association between the parent page and the modal window page must
be maintained. And developing modal windows for a modern ajaxy type web
application is especially complex.
Theya’re disruptive
and cause angst. The appearance and disappearance of a modal window
disrupts the screen in a big way, forcing the user to refocus. And if, when the
modal window disappears, users do not refocus on the correct area of the parent
screen, they might wonder if anything even happened. Users need good visual
cues to confirm that a change has occurred. The idea of modal windows causing
Cloudmanic users even such micro forms of angst bothers me.
Read More...
When Designing Software, Think About My Wife
Actually, thata's a shitty title. It should be, Dona't ever think about my wife again! Maybe ita's best if you think about your wife, husband, girlfriend, boyfriend, or cat. Think about the spark that brought you together. Think about the emotional attachment you have to one another. Think about all the times you almost broke upabut stayed together.
When I design software I try to model it after my relationship. I want every user to be as enchanted with the software as I am with my wife. I want users to trust me in the same way my wife trusts me. I want to have a commitment with every user that is like the commitment my wife and I have for each other. When building software, I try to build that marriage between user and the software with every feature.
Sparking the Relationship
When you meet someone new and there is a spark, it often leads to a first date. You might not be able to verbalize the spark, you just feel it deep down inside. It might be how the person is dressed, how they conduct themselves, where they are from, their profession, and or something you cana't even identify. Often ita's just one or two things that ignites the spark.
When building software, you have to find those one or two things that sparks a usera's interest. You need to convince the user to go on a afirst datea with you. Once on the date, you can show off all your other amazing qualities, but if you come on too strong, youa'll never get that date. What are the one or two things that really makes your software spark someonea's interest? Why would they want to ago outa with you in the first place?
Read More...
We all know the saying aLocation, location, location.a This is a great saying to live by for many different industries. But when it comes to the web startup world, I would say there is a more important saying: aProduct, distribution, product, distribution, product, distribution.a
Nine times out of 10, I can detect a first-time entrepreneur a and have a pretty good idea of their future success a based on how they see product and distribution. To make my point, look at the two responses to the question aHow will people discover and engage with your product or service?a Which of the following responses is from a first time entrepreneur, and which is from a veteran?
- We have a complete social media plan in place, along with a budget for an on- and off-line marketing campaign; we plan to reach out to media for press coverage, and we have an all-star team of writers for our blog to spark traffic via SEO.
- We're not really sure what channels of distribution will lead to the most conversions. We have a small budget set aside for experiments. Of course our experiments will be across all channels a we will be measuring everything! Once the data is in, we will know what channels we will focus our attention on. Really, distribution is something we are only experimenting with in the early days. Our focus is on the product and the iterations of the product.
Maybe my fake examples gave it away, but anyone who tells me they have a very clear distribution plan in the early days of building their company is fooling themselves. The person who realizes they need to try all distribution channels, coupled with product iterations, is most likely the seasoned entrepreneur.
Read More...

Once upon a time, software was very different. You did not have app stores. You could not download free versions. You could not simply create an account and run the software from your browser. Software required commitment.
Back in the day, if you wanted software, you got in your car and drove to Staples and engaged with the sales doob about which software was perfect for you and your computer. Once you decided on the software you were given a shrink-wrapped box with a CD inside. Oh yeah, you also had to pay for it. And software was not cheap in those days, either.
Before you ever installed your new software you already had a pretty big commitment. You spent time at Staples. You spent your hard-earned money. And typically, you could not return the software once you opened it.
After all this commitment you were not going to let this software go to waste. People would block out time in their schedule to just to sit down and learn how to use the software, going over every inch of the software, learning everything there is to learn.
Read More...
Let’s go back a couple weeks ago - prior to Twitter’s launch of the massive redesign that has been all the rage the last few days. New, seemingly minor features kept rolling out on a pretty frequent basis. The problem was that they were being stuffed into spaces that, at least in my mind, were supposed to be pure. The system was getting convoluted.
My biggest beef was with the Activity tab. Quite frankly, I don’t care who my followers are now following. That information doesn’t deserve its own space. I figure the suggestions provided by Twitter must have some algorithms that create an educated guess on who and what you’re interested in. My trust in technology is greater than my trust in most users of technology.
Overall, I was starting to get confused. And I work on websites for a living. In fact, I design user interfaces. Not your average interweb persona looking for funny photos of cats to forward to my BFF and posting shout outs to my homies for a job well done drinking jagerbombs all night.
It felt as if these changes (really, additions) were taking away the simple structure that Twitter was built upon from day one. Not to mention the iPhone app was a process unto itself. How many taps should it take to get to your own Tweet feed? Definitely not as many licks as it takes to get to the center of a Tootsie Pop.
I was THIS CLOSE to deactivating my Twitter account. I cut the cord to Facebook a couple months ago and once the initial withdrawal was over, I felt lighter. My life was my own again. Therefore, might as well slash every social networking service that isn’t serving me.
Fast forward to the morning of December 8. I opened the Twitter app on my iPhone and gasped with delight. 4 lovely icons populated the navigation bar.

Almost immediately I knew what they had done. But I had to be sure.
I booted up my laptop and went straight to my first visit of the #NewTwitter. A bigger gasp this time. Everything was different. Everything was lighter. Everything was more sane than it had felt in a long time.
I’m not going to go on about the actual changes. If you use Twitter, you’ve already seen/used the new interface. If you’re not a Tweethead, then I’m not sure why you’re reading this in the first place.
What is by far more important to me is the WHY of this redesign. I had an inkling, but checked the Twitter blog* for confirmation. And I was correct.
The redesign was due to careful consideration of how users were, uhhh, USING the service. Through @ symbols to connect with people and hashtags (#) to discuss topics. So what did those smart cookies over at Twitter do? They reiterated the entire site to make a better service for their consumer base REFLECTING how they were already using the site. These design decisions were not based on what they THOUGHT users MIGHT want in their Tweet world. They were based on evidence. Cold. Hard. Facts.
This is the business model of the technology age: iteration and reiteration (hat tip to Steve Jobs). Putting a beta version out there, seeing how it fares, and course correcting. Testing A vs B vs C. Streamlining instead of bloating your product with unnecessary crap. Integrating rather than adding on like those parasites that live off their mothership shark for life.
My favorite part of the new design? So glad you asked. The “Compose New Tweet” icon—that perfectly lovely feather pen which shows those designers are thinking about the details. It says “We’re a classic now. We’re here to stay. Maybe you should, too. And write something while you’re at it. Just keep it 140 characters or less.” And yes, that quote is exactly 140 characters.

*Twitter must have edited this blog post. When I read it the day of the launch they discussed the topics above, as well as making it easier for new users to adapt. The post also discussed that they expected some backlash on the new interface, but that they would educate the population using this site.
Read More...