Host your site on CloudMine (and deploy it with a push)

derekmansen

We’ve been polishing this feature for a while now, and we’re pleased to officially announce it. You can now use CloudMine to host your HTML5 / JavaScript powered apps. We’ve streamlined the deploy process: you can either drag-and-drop your site’s assets into the Dashboard, or use a git push-based deploy system.

How does it work?

image

Sign in to your CloudMine account and navigate to your Dashboard. Follow the instructions to create a new site. You’ll be given the option to deploy your site via a zip file of assets, or via git. If you’ve ever used Heroku, you already know how your site deploys will work - just add the CloudMine remote, and push to it when you make changes.

Features

We’ll provide you with a generated hostname (efficient-border-30.cloudmineapp.com being an example). However, it’s easy to use your own domain: just CNAME your domain to cloudmineapp.com and write it in the Additional Host Names field - we take care of the rest.

We also provide SSL support automatically - just visit your host with https instead of http (see https://pennapps.cloudmineapp.com for an example).

image

Teaming up with Singly for Social Superpowers

marcweil

(Skip down to the video if you don’t feel like reading!)

There’s a new hip or useful breakout app coming out every few weeks.

It’s already less-than-easy to integrate with prevalent and mature APIs like Facebook, Twitter and Instagram (who likes dealing with OAuth themselves, anyway?). So who really wants to keep tabs on, much less do the work to integrate with, these and other more niche channels for identity, data access, synching, sharing and a whole host of the messy data work that goes with it?

Singly Logo

Enter Singly - the fabric that connects apps together, empowering the rapidly expanding, new class of mobile developers. Singly’s service bridges an app user’s data and friends from one app to another in more powerful ways while saving developers time and energy replicating common patterns and maintenance fixes. Whether you want users to login with their GitHub, Twitter, Flickr, Google or any other myriad of accounts — Singly rounds up all APIs into one, providing developers with a unique and useful service.

“What does this mean for me?” you ask. Good question!

Prior to now, in order to use our account management and privacy features you had to prompt the user for an email address and password. Our partnership and integration with Singly allows you to create user accounts using any of the major social networks. This makes it trivial to have that “Login With Facebook” or “Login with Twitter” button, but with many of the social networks Singly supports: Facebook, Foursquare, LinkedIn, Twitter, Withings, Dropbox, FitBit, GitHubWordpress, Instagram, Meetup.comTumblr, and Yammer (say that all in one breath!). As Singly integrates with more networks (which they do at a blazingly fast speed) we will support them as well.

Beyond auth and login, Singly also gives you fast, structured user data from those networks (like photos, friends, checkins etc). And best of all you get access to all of this through your CloudMine account using our existing APIs! Singly has been completely integrated into the CloudMine platform, OAuth and all.

All this not only makes it possible to authenticate using a popular social network, but it also makes it even easier to engage with users’ connections on these networks. All that’s left to do is bask in your success and focus on making an awesome app!

Read about how to quickly implement social logins in your app in our docs (REST, JavaScript, Android). iOS developers: never fear, native social integration will be coming to you soon.

(CloudMine + Singly Partnership Announcement from CloudMine on Vimeo)

And as always, please feel free to reach out to us with any questions at team@cloudmine.me, via Twitter @cloudmine, or by using the comments section below.

Design Breakdown: UX, UI and Why — The New Dashboard

unleadedthought

Over the past couple of weeks, the CloudMine team has made a number of leaps forward with our technology. We’ve integrated git for hosted sites, we’ve added a new level of API access for use in development mode, and we have a super secret social offering that is right around the corner. 

As we increase the number of service offerings for our clients, we also increase the number of interaction points in our dashboard. And this directly correlates to increased complexity of user flow — if you know anything about me, then you know I strive for simplicity & cleanliness.

Why Change?

We could easily evolve our dashboard into a command interface, but internally, we want to flirt on the side of direct manipulation. By doing this, we don’t limit our users control or function, while also decreasing the possibility of someone getting lost in control complexity — this line is thin. 

So, our masterful front end engineer, Steven, and I took a long hard look at how people interact with our dashboard — We performed a task breakdown analysis and spec’d out user goals. The following is a comparison of what we changed in our dashboard, accompanied with the always comforting reason of ‘Why?’ 

Change Breakdown

As you can see with our old styling, we relied heavily on the left navigation pane. Segmenting Apps, Hosted Sites and Account. There are two problems with this setup, one is the dynamic application tool (highlighted to the left). This tool is an issue when you click on ‘object browser’ or ‘file browser,’ — two additional tools appear, pushing the navigation down. Moving navigational elements is not standard convention and hinders user autonomy, navigational elements should always be preserved throughout an environment.




Which brings me to a second issue. The visual clutter we began to amass with our navigation styles. I say this because there are three hierarchical categories in our side nav, Apps, Hosted Sites, & Account. Everything below these items is a child to the respective category. But our visual weighting does not delineate this relationship, rather it suggests the opposite.

So, we migrated the styles defined in our Documentation page to maintain visual consistency, and to clarify the parent child relationship. This visual language also affords a lessened visual stress in navigating the dashboard, increases user efficiency and ease of navigation — Clean

In addition, we moved the dynamic tool panels below the navigation. We now have much more vertical pixel space — eye fatigue is lessened by having a smaller area of scannable information, and navigational elements adhere to the consistency
and standards of navigation design. 

What’s that you ask, where’d your hosted sites and account settings go?!

Don’t worry, we kept all that stuff around. In fact, now you have a sleek new tabbed interface. The tabs encapsulate user work spaces within the dashboard — Applications, Hosted Sites and Account. People don’t tend to work on more than one of these categories during a given time, and so it makes more sense for an individuals mental model to separate this workflow. Hosted sites and Account details are not cluttering your interaction points or deterring your focus from the more important navigational elements. 

Testing New Methods of Interaction

Some things you need to prototype and test in the field, gain valuable insight and iterate. And so we’re testing a new method of adding and selecting apps, or hosted sites — for that matter — as seen in the screenshots below. Go interact with them. Let us know your thoughts. 


New Application Selection Method:


Old Application Selection Method:

There’s Plenty of Sleep in Hustle

derekmansen

Everyone who knows us has probably seen our “There’s No Sleep in Hustle” t-shirts by now. This began with something the great Rob Spector (https://twitter.com/dn0t) said at a hackathon, and has since entered the lexicon as the CloudMine Thing We Say. We love Rob, and we love the shirts, but they are intended to be a bit tongue-in-cheek—and we’d like to clear the air about how our working lives actually are.

Overwork is bad.

This is a fact. Anybody who tries to tell you otherwise can be refuted by a myraid of studies (http://www.igda.org/why-crunch-modes-doesnt-work-six-lessons) (http://www.good.is/posts/don-t-fall-asleep-at-the-wheel-successful-entrepreneurs-have-lives/) (probably more) that show that going into “crunch mode” is the single most expensive way to get things done, going all the way back to Henry Ford and his factories. Here’s a great quote from the above essay:

When Henry Ford famously adopted a 40-hour workweek in 1926, he was bitterly criticized by members of the National Association of Manufacturers. But his experiments, which he’d been conducting for at least 12 years, showed him clearly that cutting the workday from ten hours to eight hours — and the workweek from six days to five days — increased total worker output and reduced production cost. Ford spoke glowingly of the social benefits of a shorter workweek, couched firmly in terms of how increased time for consumption was good for everyone. But the core of his argument was that reduced shift length meant more output.

This bears repeating: reducing shift length meant more output. Often, the reasons cited for keeping the number of hours worked at a reasonable level are things like employee morale, health, etc. These are all important, and valid. But, I’m sure there are plenty of startup founders / managers who, while they don’t explicitly encourage their employees to work extra hours, are nonetheless pleased when their employees go the “extra mile” and crank away in crunch mode of their own volition.

This is a mistake. The correct response to this is to force your employees to go home. Yes, force. This is good for the employees and good for the business, and there’s no denying that.

Fight the Temptation!

Now, I’m sure there are plenty of people out there right now who are saying: “Well Derek, I enjoy working the long hours! Work is my passion, and I want to do it all the time and there’s nothing wrong with that.” I say there is: when you overwork yourself, you’re doing a disservice to everyone you work with. Your mind can’t work at full capacity and your output gets sloppy.

I can say this from personal experience: when I was implementing the hosted sites feature for CloudMine, I was working twelve hours a day to get it done by a deadline. This was almost entirely self-imposed, by the way: I was never told I had to work these hours! And, of course, I thought I enjoyed it! I was a hero! People will sing my praises from above when I get this thing done!

Okay, so that’s not really what happened. What happened was:

  • I was miserable, balancing out my unhappiness with self-medicative drinking.
  • My relationships with the founders (whom I consider very close friends) started to deteriorate because I resented them and blamed them for what I was putting myself through.
  • Last but not least: the code I wrote was terrible. (It has since been re-architected.)

I went on vacation shortly after the feature was completed. I turned off my phone and disconnected completely for a full week. It took me about two days to reach a relaxed state of mind after the stress I had been under.

When I returned, one of my managers told me, flat-out: “Listen, I totally understand why, but that code from those twelve-hour days was the worst you’ve ever written.”

This was a revelation. I replied, “Great! I won’t do that again.” And I try not to. Because there’s no point. Now, I go to bed early, wake up at 7 am, and produce my best work. I’m proud of it, and I don’t have to kill myself to do it. Not only that, but my extracurricular hobbies have blossomed: I’ve been writing lots of songs that I’m proud of, and improving my writing in leaps and bounds. I directly attribute this to improving my work-life balance.

Don’t chase the dragon. Take a break - you’ll solve the problem in the shower later, instead of after ten cups of coffee at 2 am, and you’ll feel better for it.

twitter.com/cloudmine



About Us