Ok, maybe not totally dead, but my views on hybrid mobile software development have changed recently. Since the invention of the iPhone I have used HTML5 hybrid solutions to build mobile apps for both iOS and Android. I started with Phonegap, then moved on to Appcelerator, followed by Ionic. The guiding principle was speed of development—these platforms allowed me to build great apps much faster than I could using Apple or Google’s native platforms. Going forward, speed will continue to be a priority but I am adding a 2 more guiding principles to my decision tree: (a) the ability to develop software for new hardware platforms and (b) the irrelevance of Android.
Why Go Native Now?
Four very big happenings caused me to change course:
Most software developers consider an application that runs offline a “phase 2” type of feature. Nowadays the Internet is everywhere, and it’s fast. In most cases only a small percentage of an application’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 wrong—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 applications—web and mobile—as offline first. Our first nonmobile example of an application that works completely offline is Heapless.
Why this new mandate? Very simply, offline is fast—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 instantly—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 feet—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.
Are you marketing yourself and your business to the fullest? You probably have a Facebook page, a Twitter account, and an Instagram feed. You’re LinkedIn and no stranger to Reddit, Flickr, Tumblr, and other spelling-challenged social networking services. You probably even have your own website. You've got it covered right? Not so fast: if you’re not podcasting, you might be missing out. Podcasting is more than the latest and greatest craze—the benefits are many and podcasts are easy and inexpensive to create.
Podcasting strengthens your connection with your audience over time by establishing your voice—both literally and metaphorically—as a familiar and anticipated beacon amidst all the noise. As you share your enthusiasm and expertise on your podcast topic, you can market your products and services to the very audience that might actually care—and successful podcasters attract advertising that generates income. Additionally, podcasting furthers your skills as a speaker and moderator, and interviewing others is a great way to network and produce content ideas.
When we launched the Evermanic application, the objective was to offer a single-purpose tool that streamlined the frustratingly slow and cumbersome process of uploading notes to Evernote on the go. Fast forward to the present and Evernote has made major improvements to its core mobile application so that now users can upload notes directly to Evernote with ease. Simply put, we do not think we can build a better application than today’s Evernote—therefore, Cloudmanic will no longer sell Evermanic. We encourage our loyal Evermanic users to use instead Evernote's core mobile application.
Evermanic was Cloudmanic Labs’ first “real” mobile app. We invested a great deal of time and effort learning the mobile design and development techniques that we currently employ in our other offerings. Evermanic will forever occupy a special place in our hearts because it helped us become real mobile app developers, but releasing Evermanic from our portfolio will allow us to devote more attention to other applications—which will result in even better versions of our core software products.
Thank you to all our customer who have supported Evermanic over these years!
Predicting the future in writing has never been my thing—that’s what talking heads in the media get paid to do. But today I am allowing myself to make a prediction about how Facebook, Twitter, and Google Plus will be used in 2020. It will be fun—and 6 years from now we can look back and see if I was even close to right. I am prompted to make this prediction as I try to figure out when, where, and how I should use these services because today there seems to be a lot of overlap. Here goes...
Facebook—The same, more or less. Facebook will continue to be the place to connect with our friends. It will be the digital coffee shop where we gather, communicate, and share with people we know from the real (nondigital) world.
Twitter—The cocktail party for the masses. Twitter will be the place where people who might not know each other exchange ideas. A place for both celebrities and regular Joes. There will be less “look at what I ate today” and more real-time, meaningful dialog between strangers. Also, Twitter will be the place where news breaks (which will then be chronicled in depth on Google Plus).
Whenever I hear a digital interface praised as "intuitive" my
eyelids twitch. What’s intuition got to do with it? What end users are really
saying is that the interface is so well designed that
it’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 good—or if you insist, intuitive—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 don’t know without a lot of cognitive effort—that is, without
having to think too hard. And that’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.
I collaborate with lots of different teams, and collaboration often involves project management software. I myself am a Basecamp junkie, but when I suggest Basecamp or ask others why they do not use the application I frequently get responses ranging from the relatively benign “Basecamp does not do what we need” all the way to the snarky “Basecamp sucks.” I always find these appraisals of Basecamp curious. I typically make a small sales pitch for Basecamp and then back off, assuming that I might learn something new by collaborating with a different tool. Sadly, I never learn anything new. Every small team I work with uses project management software in the same way: as one big to-do list. So, in my experience, the debate is not about features.
At its core Basecamp is just a fancy to-do list tool. But the folks at Basecamp have done a world-class job of building an amazing application. Adding, assigning, and communicating about tasks is fast, easy, and enjoyable. Basecamp messages are never lost and it is very clear if someone is waiting for you to complete a task. Too often other project management software products on the market fail to achieve the same objectives. As a result, they can be more of an annoyance than a tool.
This post is not a review of Basecamp. What I find so interesting is this: Why isn’t Basecamp used by more of my colleagues? My theory is that Basecamp suffers from “blank canvas” syndrome. When you first create your Basecamp account there is no predefined way to organize your projects. You have an empty window waiting for you to create to-do lists. You have to decide with your team how to use Basecamp. Other project management tools tend to guide you into their way of organizing a project. Being guided is good for getting off the ground—but can be bad for long-term satisfaction with a product.
I can think of at least 10 friends who have spent years counting the days (and hours, minutes, seconds) until retirement. Most of them are fixated on retirement because they hate their job and see no other way out. They are trapped in mediocrity. That way of life is not for me—time is the ultimate nonrenewable resource, and I believe that every moment spent in mediocrity is a waste.
For this reason I would be happy if my tombstone says He Did What He Wanted, When He Wanted, How He Wanted. Not because I am a selfish dick—I live my life this way to avoid falling into the trap of mediocrity. If anything—be it a job, a task, a friend, a surrounding—is unpleasant for very long I make a change. I have trained myself not to fear change because change is often the solution to (rather than the cause of) life’s problems. For example:
I stopped doing yardwork. I hated the endless cycle of cutting the grass only to have it grow back—yet I enjoy having a nice yard. So I decided to have my cake and eat it too by hiring someone else to do the yardwork. The operative word being “hire” meant that I had to free up funds by reviewing the family budget and making some cuts. It turns out I do not need collision insurance on my 1994 Jeep, and I discovered that we were overpaying $50 a month for cell phone usage. Bam! Problem solved.
I put an end to disruptive phone calls. Apparently Phil Libin was reading my mind when he said, “I don’t like it when people call me without a prearrangement via text or email. It’s extremely unlikely that I’ll be able to talk at exactly the time someone arbitrarily decides to call me, so it’s more efficient and more polite to send a text or email first." Hear, hear. About a year ago I changed my voicemail greeting, instructing would-be callers to email me. People have learned to respect this request and communicate on my terms.
The word entrepreneur has been bothering me lately (yes, I know, #firstworldproblems). I have spent almost half of my working life in the tech startup world and the other half in the main street small business world. The tech startup world defines entrepreneurs as individuals with a bright idea who raise money from investors and try to make it big. This type of entrepreneur typically gives up a job at a company like Google to run their own show. But are they really running their own show? I say they are merely trading their managers at Google for managers in the guise of investors and board members. The truth is, a tech startup entrepreneur is not his (or her) own boss. Though the potential payoff for succeeding is enormous, the risks are also great and the tech startup entrepreneur gives up many of the freedoms a main street small business entrepreneur enjoys.
When I was growing up my dad was a main street entrepreneur. He ran his own insurance company in addition to some side businesses. He was his own boss. He attended every one of my soccer games, never missed a parent-teacher conference, and was always there to say goodbye to me as I trucked off to school. And he took our family on several weeks’ worth of vacations every year. He was present, happy, and in control of his own life.
I am not at all suggesting that a main street entrepreneur does not work hard. My dad sure did—but he was in charge of when, how, and what he worked on. It’s not news that we all have days when we do not want to be at work. You might be tired from the night before or distracted by something else, but if you are not your own boss you probably have to just sit there and chug through the day. The main street entrepreneur does not. He can focus on that something else and take care of work when the time is right. He is not lazy—he simply has more options.
Almost daily I talk to someone who claims to be slammed. Swamped. Super busy. I hope these people are just exaggerating and not actually missing out on life. Because time is the one resource we can’t get more of, in recent years I have focused on making sure life does not pass me by because I am busy. And if I am busy, it better be worth it. Below are some strategies I use to avoid common time drains.
Mail in forms are a time drain. For me every paper bill represents 10 to 20 minutes of time. I need to get it from the mailbox, open it, review it, scan it, pay it, record the payment, and then dispose of it. For a business owner like me paper bills can add up to days of lost productivity each month.
Like most people I opt for paperless billing and automatic payments whenever possible. And that’s the catch: many companies do not yet offer those options. If digital billing and payment options are not available I often try to pay a year in advance to minimize bill paying to a yearly event.
You might laugh, but receiving a paper check in the mail causes me a great deal of anguish. As a business owner I receive paper checks several times a week. Presuming that each check takes about 30 minutes to process and deposit, which involves a trip to the bank, I lose a great deal of time and money per check.
I avoid receiving paper checks at all costs. I push for payment via direct deposit, which is more secure and faster for everyone involved. Even payment by credit card, which takes a 3% bite, is preferable to paper checks that can cost even more to cash. Going forward I am considering charging a fee for processing paper checks. I am also considering requiring payment in Bitcoin.