Removing Backgrounds from Photos

I have been an ongoing customer of Photoshop for the life of the product with steady upgrades every year. However, today, I canceled my Photoshop subscription. My main reason is that I just don’t use the program frequently enough. I basically use it to crop images or eliminate the background on photos. It’s not like I am an avid photo manipulator or a creative services production artist.

I Googled Photoshop replacement and found two options that look fine to me. and GIMP. I am trying the development version of GIMP right now. It’s taking a long time to boot up for sure. OK I’m in.

I hate it.

Ok to be clear, my use case is simple. I want to take a photo and remove the background. Here is the original:

In Photoshop, this is pretty easy with their selection tool. I tried in GIMP, it took a while to figure out the method. (Yes, I looked in the help system) The magic selection tool has thresholds, but I found it very difficult to find the edges in a way that wouldn’t take me an hour per picture. I gave up after ten minutes.

Next I tried Paint.NET. It’s a much smaller download and a nicer looking interface. It also had a magic selection tool, with tolerances. I followed their instructions but found it extremely hard to manage. You have to drag the tolerance and keep adding to your selection.

Finally, I just googled: Remove background from photo. Do you know what came up?  My old friend Microsoft PowerPoint. It has a tool called Remove Background under format.

First one on the left. Holy Buckets! I had no idea this was there. Again, I feel like Microsoft has this awesome design tool that NO ONE KNOWS ABOUT!

It took about 20 seconds of fiddling and voila.

In fact, I could have reverted to the original image at any time. It works like “crop” – non-destructive on the image. See, I can keep the rock below.

I could have messed around with the bottom a little more to make it smooth, but this was fine. It’s not a perfect feature. It could use a tolerance spectrum to make it less/more sensitive. However, this is WAY more power than people realize is inside PowerPoint.

Good on ya Microsoft!

A proposal for improving artboards in design tools

In Sketch, Figma, Adobe XD and others there is this concept called an artboard. It’s basically putting all of your different screens on one mega screen and you organize it as you see fit. You zoom in and out to go to where you want to go. Unfortunately, although its the new cool thing, I find the usability to be terrible. Here is a picture of my current project.

On the left hand side you have your different artboards (or Frames in Figma) and a tree of all the different content. I have an alternative proposal for all of these design tools. Introduce a new object called a “Page” which can contain one or more different artboards. Show one page at a time and organize them in a tree on the left. Here are the benefits:

It’s slow to have all those layers on the screen at the same time. I don’t need it. I don’t need to scan through them. I work on one screen at a time. By optimizing the content this way, you are loading less information into the browser and can make things work faster.

Linking the prototypes
One might ask how you link the screens together in prototype mode if they aren’t on the same screen. My answer is simple. Just drag the line into the tree and link that way. Let me show you my project with the links turned on.

Are you seriously telling me that this is helpful?  Oh, but wait, maybe if I just turn on the links for a single screen?

Still not helpful!  By having the links go to the tree on the left, then I could collapse the tree nodes to simplify my view.

Finding the screen you want
Once the project hits a certain size, I can’t find anything anymore. Having pages lets me organize my thinking. I would have sections of the application and probably one more layer of sub-sections. Then I would have each use case flow on one page each. Then my single flows are easier to scan and my sections are organized together.  I am planning on moving my artboards around to see if I can do this better, but for now, it’s pretty hard.

This really isn’t any better. I find myself wanting to put giant labels for the sections, which doesn’t help anyway

There are other minor benefits, but I think it would a major improvement in organization to have pages (and sub-pages) that separate the content in the tree. I would hope that this would actually make the products easier to scale in a performant way.

Sometimes I feel like most designers are using these tools for really simplistic projects, like a basic mobile app. I make big expensive software. I need a design tool that works for many screens.

Design Tool Sadness (2017)

I want the best of all my tools. Here is my perfect mashup:

  • Powerpoint
    • Table Editing
    • Text formatting
    • Ease of use
    • Storyboarding
  • Figma
    • Symbols
    • Constraints
    • Concurrent editing
    • Cool-factor
  • Adobe XD
    • Performance/speed
    • Large community
    • Stable financial resources

Yesterday, I was trying to wire up the prototype of the system I am working on and Adobe XD was sucking so bad that I literally screamed. Their symbols are garbage. Who the fuck thought that changing a symbol on one artboard should change it everywhere?  You can’t see the changes you are making and don’t realize you fucked up your whole system! I gave up and switched back over to Figma and started re-creating from scratch.

Today, in Figma, I was trying to make a basic table. It literally took me hours of figuring out the perfect way to set up the symbols so I can make other kinds of tables semi-quickly.  In PowerPoint it would have taken under a minute. In Figma, even with the symbols, each table will take a long time. In Adobe XD, they have this thing to “Repeat Grid”. It’s novel, but it totally is inferior to a simple table object. PowerPoint has had this for 20+ years. Why is this so hard?

So for today, I am back to Figma.

The whole things makes me sad. Why are design tools so messed up? Why doesn’t Microsoft make a designer friendly version of PowerPoint? Why can’t PowerPoint use Google Fonts to embed fonts? MS Office makes BILLIONS of dollars. Why can’t they improve it??

I seriously wonder how big the engineering teams are for Microsoft PowerPoint, Figma and Adobe XD. Are they all the same sizes? I hear that Figma has some good stuff in the works for the end of the year. I am hopeful.

Designing your prototype structure

It’s rare that you get to build a system from scratch. The early decisions you make will stick around for a long time. Last week, I built a new design system for my new job. For this project, I chose Adobe XD over Figma. When Figma releases new performance enhancements, I might change my mind, but its Adobe for now.  I refactored it a few times and have been thinking about the structure.

DISCLAIMER: I don’t think I have all the answers. I am doing this on my own and no one has shown me best practices. I am learning and exploring by doing. If someone has wisdom on this, please let me know

For explanation sake imagine you have the following general frame of an application.

In Adobe XD, I have the following tree to make the above frame.

Horizontal Rows vs. Columns
As you can see in the above structure, I broke the frame down into columns. That way, in theory, I could change the widths of the columns and resize the areas. Unfortunately, Adobe XD fucks this up pretty badly. It scales everything rather than allow me to lock the height/width of certain elements. Figma constraints definitely help there.

If I structured it as Rows it would look like:

Not only is it a little longer, I STILL need to break down the columns just to keep track of which section is which. I also never move the height/width of the rows. The row is always 100% wide and the height doesn’t really change.

So my learning is that the first structure (Column Structure) makes the most sense. However, the lack of constraints certainly makes resizing difficult.

There is a whole other set of decisions based on what things should be symbols and what shouldn’t. I’ll have to blog about that another time. Adobe needs to make some serious headway on their symbols. They suck right now. Anyway, there is probably 3 people in the world that this blog posts helps, so there you go.

Great Team or Great Players

I often hear people say they want to work at a company because they are led by a great team. What they usually mean is that the team is comprised of people who were successful before, or at least they were at successful companies. The same goes for venture capital investments. They often will invest in a great leadership team, but what they really mean is that the pedigrees of the leadership has been associated with previous success.

In contrast, a true “great team” is a group of people who work well together. They are aligned in spirit with diverse points of views and multiply each others efforts. There is chemistry, trust, and camaraderie. A great team working in unison will usually beat a group of great players.

Last year, I read The Boys in the Boat. (Good book) The subject was about crewman during World War II; (people rowing in a boat – see picture).

The key element that inspired me is the description of how winning speed is attained. Speed did NOT come from the number of strokes per minute. You could beat a team with almost half the strokes per minute if your strokes were in true unison. In other words, it was the asynchronization of strokes, the little inconsistencies between rowers that created drag. When everyone was in true alignment, the boat would “lift out of the water” and the rowers felt like they were rowing in pure air.

That’s what working on a well functioning team feels like. It’s bliss. Not everyone has experienced the joy of being a part of a team that works like that. I have had a few years out of the last 30 that felt that way and I think I only achieved maybe 75% of true team enlightenment. (Maybe less)

The last two years have taught me a great deal about alignment, communication and how team conflicts can be detrimental to the overall success of the company and certainly to my own happiness.

My advice to VC and other people evaluating companies is to ignore the pedigrees of the team and instead look for the following signs of a great team:

  • Do the department heads think they are on the team they manage or are they on the e-team? You shouldn’t be both, otherwise you are neither. In other words, Is the e-team a bonded team or a collection of department heads?
  • Is there easy and active collaboration between department individual contributors or is each objective owned by one department and not collaborative?
  • Are the arguments about merits of the ideas or about word-smithing and consensus? Are there healthy discussions or is everyone trying to get along or hiding animosity?
  • Is there clear awareness of the big objectives or does everyone have their own marching orders that are separate from other people?
  • Do people get excited working and even talking with each other?

Alot of these things are hard to determine by just one or two interviews. I suggest taking multiple people to lunch and trying to get their view outside of the office. I imagine most companies are not working like the Boys in the Boat, but you don’t need to have an Olympic level team to succeed. You just need to be better than your competition.

I won’t beat this to death, but at this point in my life, I am trying to focus on teamwork and surround myself with people who “get me” and whom I want to interact with at work.

One last metaphor. Great rock bands aren’t made of the best players of every instrument. They are not the sum of their parts. They make great music because of the chemistry between the players. No chemistry, no great music. Same goes for any team.

I’ll end with a quote (that may never have actually been said) from one of the great teams in history.

Pete Best is a great drummer, but Ringo…Ringo is a great Beatle. – John Lennon

Figma or XD (again)

I’m all set up at my new desk. I have a riches of monitor space. They are attached to arms so I can lift it up and show the work to someone standing next to me. My new laptop is the Dell XPS 13-9350. No USB port! Crazy, but its working well so far.

I’ve been working in Figma designing my new product, and I just got an email from Adobe announcing their 2018 line including the new Adobe XD. I am still so torn on which tool to commit to.

On the one hand, Figma has concurrency, constraints and a good component library.  On the other hand, Adobe is going to pour resources into their product. They already have the library somewhat matched.

If I take the long view, I should choose Adobe. They are going to win the war. They are too big with too many resources.

If I take short view, Figma is better now and I can always learn Adobe later.  However, I know me and I tend to stick with one tool for a long time.

This is a hard choice. If Adobe had their concurrent designing worked out then I would probably switch now. I am going to install XD now and just play with it for a few minutes.

I just noticed that it’s a 7-Day Trial.  Hmm. $10 per month or $119.88 a year. Are you serious Adobe? A 12 cent discount?! This bullshit alone makes me want to stick with Figma. That’s just lame. It would have been better to not include an annual option at all.

Sometimes Adobe makes it so hard to love them.

Microsoft Office 365 or Google G Suite

For a business, I think Office 365 is a better choice than GSuite.

Office 365 G Suite
Rich Desktop Apps Nope
Online Web Apps Same
Separate identify Confused with my personal gmail
Microsoft Teams (for Chat) Need to buy Slack
Skype for Video Need Slack or other
SharePoint (Wiki) Need to buy Confluence
Works on Mobile Same
Calendar is great Calendar sucks
$13/user/month $10-$25/user/month
1TB Storage Same

First, I can’t stand the Google business calendar. I really hate it. I miss meetings all the time because it has to rely on the browser to notify me. With a desktop app, you get more functionality and still can use the online version whenever you want. Outlook Web Access used to be terrible, it is true. But these days it works great.

I understand that the BRAND of Google is better than the brand of Microsoft. I get that. However, that doesn’t mean the actual product is better. I have been using G Suite for the past 2 years and I have hated it almost the entire time. I miss Office. It is just better in almost every way.

I like Slack, but it’s not integrated with the rest of my personal stack. I like Confluence, but its not integrated into anything else. Microsoft Teams and SharePoint are solid products.

There are sheeple out there who refuse to give Office a chance. I beg them, please, please, please…give Office a chance.

Side note: I am presenting at Stanford tonight. It’s a guest lecture kind of thing. I love Stanford. If I could design the campus of my dreams, it would be Stanford.