Category: Programming

So you want to install eclipse on Mavericks?

So you want to install Eclipse on your new Mac? Getting back into JAVA programming? Get ready for this error:

Error: Eclipse requires Java 7

For us Mac users, this experience can be pretty jarring – what, something didn’t install on the first try and work right away? Another sign of a company deteriorating without Steve Jobs…

The problem is Eclipse requires Java 7, but Mac OSX requires Java 6. If you try to download Java 7 in Chrome, you’ll run against a pleasant message along these lines:

Error Java 7 doesn't work with ChromeAgain, totally useless. Why make your web browsing not work to code?

Alas, if you Google around, you’ll find complex solutions that involve using sudo and the command line to manually remove 1.6 and symlink 1.7. Basically, you can smash your head into a wall for hours just to get programming.

Why go through all the trouble when there’s an easy solution?

Download Google’s version of the SDK. The version of the Eclipse included there works on your Mac.

Your welcome :).

Software Designers, Let’s be more playful!

I want to extend the idea of playfulness as an underutilized concept in user experience and product design.

Let’s take a second to think back to the days when we were all just getting introduced to the world of computers, Windows 95:

Windows 95

Doesn’t that just look – not fun? Not playful?

I use Windows 95 as an archetype for the non-playful. Analyzing it, we can identify several elements that make this product particularly non-playful:

  • Functionally oriented – the best software is going to do what you want it to, but it appears that Windows 95 developers were primarily concerned with what the software does not how it does, let alone how beautifully or how playfully it does so
  • Boxy design – the design is regimented and recalls notions of standardization, functional orientation, and even autocracy: everything is laid out in ordered, neat boxes
  • Straightforward – features and applications are included when they have a strict utilitarian purpose for the user, rarely as flourishes for the user to view

On the other hand, some software is simply a delight to use. Games can be addicting in this way, and hence we use the term playful.

Here’s one of my favorite recent examples of playfulness, Google Drive’s feature for simultaneous massive editing. It uses cute icons and names to identify people, like Anonymous Chupacabra:

Playfulness in Action

Aren’t those icons just a joy? Doesn’t that name make you laugh?

What makes this software so playful? By analyzing the attributes, we can hopefully begin to incorporate playfulness in our software as well:

  • Experience oriented – there may not have been a user specification to make the software fun or have memorable identifiers for distinct anonymous contributors, but instead of stick with ‘Anonymous A, Anonymous B,…’ or ‘User 1, User 2,…’ the team behind drive thought about the experience of having funny, identifiable anonymous contributors
  • Modern design – the look of the images and the use of the latest design concepts, including flat design and simple conceptual design (see iOS 7, twitter redesign), makes the feature very appealing to the eye
  • Funny – both the names and images are done with an attention to humor; one does not expect to think about chupacabras or axolotls after 12, but their appearance out of context makes them quite funny

So, I encourage all of us to be experience oriented, use modern design, and be funny. In our mockups, wireframes, and flows, we can think a little bit less about the functional requirements and more about the playful experience, taking after the definition of play itself:

               verb
  1. engage in activity for enjoyment and recreation rather than a serious or practical purpose.

Doing so, we can improve all of our software.

Note: this post was originally published to Medium and is included here for visitors of my personal website.

Github error: The key is invalid

Error Invalid Key

So, you’ve resolved to use Github.

You’ve bought into all the benefits – everyone uses it, you can contribute to open source software, and, frankly, it is the best version control system out there.

However, when you try to push things up to github, it keeps asking you weird questions about your passcode and/or passphrase. You simply can’t push things up.

You finally find out the problem has to do with your SSH key. Then you follow the instructions for SSH keys according to github, you read the troubleshooting as well, you check out StackOverflow, and a few other websites, and you still keep getting the doggone error!

Error Invalid Key

Here’s one thing to try: are you putting the key in the right place?

I turned out to be making the silly mistake of putting the key in the title instead of the actual area for the key:

Adding keys to github

So if you are facing the annoying ‘key is invalid’ error on Github and (1) your key does indeed start with one of the prefixes they list and (2) you are indeed sharing your public key, then try to see if you are pasting the key in the right field!

Hope this helps!