UI/UX Design

UI design has reared its (yet to be beautiful) head here at Upverter. Whenever I think of UI/UX, and especially right now, while creating the look and feel of the soon to be community, I am reminded of Steve Krug. Krug wrote two of my favorite UI/UX books, Don’t Make Me Think and Rocket Surgery Made Easy. They are simple, straight forward, down to earth, quick reads and if you have anything to do with UI/UX (or even if you just want to know why you hate software) you should go read them now!

Don’t Make Me Think is about UI/UX design, and it has, and will continue to influence our design. So I thought I would share a few principles that I found to be particularly helpful when I was wrapping my head around this stuff.

  1. Users are on auto pilot, they are not thinking about your fancy navigation, or Tron inspired color scheme. They are very often looking for something specific, and if they don’t find it, they WILL leave.
  2. Breadcrumbs are a good thing; designing your site like it’s Home Depot is not a good thing. On websites you can enter anywhere, and jump to a completely different location in the site. And worst of all its like teleporting, not like wondering around a store. So always make sure that the user has a good way to know where they actually are.
  3. Assume that the user is going to scan your page, not read it. (HUGE!)

Rocket Surgery Made Easy on the other-hand is about usability testing. It’s basically a how-to guide on doing a self run usability test (where you strap a person to a chair, and talk them through using your website while you watch the difficulties encountered). And we are just starting to do our very first batch of these here at Upverter (which is why I’m talking about it today).

The thesis of the book is that you should absolutely be doing usability testing, throughout the entire design, early and often, and even when all you have is a picture on a napkin. For me, the number one takeaway is: Anything is better than nothing, and usability testing can be done in half a day; so there is absolutely no reason that we should not be doing it! This was a new idea for me.

I had always believed that usability testing was a huge project, a time sink, and only worth doing when the site was polished. But with my newly opened eyes, I highly recommend everyone take the time to get user feedback and make the web a friendlier place. There are a lot of good UI/UX books out there, and if you are interested in the subject (or have no idea what users actually think of your software) you should start with Steve Krug; his books are definitely worth the read!

Intro to Open Source Hardware

Intro to Open Source Hardware

WTF is open source hardware?

Why “open source hardware” instead of just “open hardware”?

Do I care?

Open source hardware is on the rise, and enormously. At the bottom of this post you’ll find a bunch of great links to content on open source hardware topics created over the last couple years, which will give you another few perspectives. And I’m going to do my best to explain the subject and a little bit on our involvement in it here at Upverter.

First off, open source vs. open. I’m not sure how big a debate this really is anymore, but it comes down to intent and language, as they do mean different things. Think of the word “open” as describing the word immediately to its right. For example, open software is software that is easy to interface with, or that saves to XML files, or that provides a really kick-ass API – basically, the software is open to being hacked on. Add the word source to the mix and its a different story, open source means that all the bits i need to build my very own, hack in a feature, or debug an issue, are public and available. In the software example the program is probably also very open, but the important part is that the source (the stuff required to build one) is open and accessible; and its the exact same in hardware land. Open = good documentation, lots of programmable IO, open standards, open communication, etc; While open source means usable schematics, CAD files, firmware, etc, etc, all the bits needed for a user to build their own. Expect to see lots of established businesses releasing under open hardware licenses, while the hackers and hobbyists will use the open source hardware licenses.

Now before I tell you what this word game is all about, I want to give you a couple of reasons why you probably care. The first big one, is the absolutely tiny number of leaps in human understanding and knowledge made through closed information. Open information and shared knowledge allows us to “stand on each other’s shoulders, not each other’s toes.” (Dennis Allison), and while we accept the need for the commercial electronics market, and understand their need to privacy and competition, remarkable things can be done through working together. We are also nearing a point of critical mass (it happened with computers and open source software a decade ago) where there are enough people with enough great ideas that they can start providing the market with competitive and open alternatives (Apache, MySQL, etc in the open source software world). And lastly because not every great idea or invention exists to make money. These are ideas that can only exist in an open and shared environment, these projects are peoples passions not their day jobs, and they should be encouraged. So you care because you’re a hacker and you want to exist in an environment with open and available knowledge and designs, or you’re a bookie and you want to know what to bet on next, or you’re a consumer with pain points and you realize that a community enabled to solve your problems, just might, given the right tools and the right critical mass.

So, cut the flowery shit – what is OSHW? Open source hardware is a label given to an electronics project that is released and made public in such a way that you, average Joe hacker, could build your own. There is a bit of variance here, but purely speaking that means publishing everything: all the manufacturing details, CAD files, firmware, HDL code, schematics, and even the source code running on the widget. Not at all unlike tweaking, compiling and installing your very own port of Apache – you should be able tweak, and create your own port of an OSHW design.

OK cool so I just copy and paste one of those license file things and I’m good to go?

Thats the idea! Now being all squishy and new the licenses are still catching a bit of flack, and its not clear which license to use, and there is no good way to share your design files… BUT! Zipping all your bits and pieces together and saying its OSHW is a pretty damn good start. And even still, I’d wager we aren’t too far away from seeing a lot of unification on these last few issues.

Note: From a legal perspective you aren’t really well protected from people pillaging your designs. Unlike source code, copyright does less to protect a schematic and the instantiation of it (a circuit board) from being taken, manipulated or mass-produced. So a big part of the holdup is finding ways to protect businesses so they can release their products without too much risk. But individual hackers should be good to go. For most hackers, at the end of the day its all about sharing knowledge anyway!

Where does Upverter fit?

We have always been garage hackers. I’ve personally torn apart, hacked, blown up and gotten fried by more appliances, toys and household widgets than any child could, and still expect to make it to adulthood intact… But as a business I guess we, a little bit, stumbled into this space. We thought it would be great to try and build some tools that improve the hacker experience; and sure enough right around the time that we’re thinking this is a great idea, the scene is exploding with projects, ideas and neat new labels. So, in a sense, we’re riding the wave along with all the hackers out there. However, you can count on us to make the collaboration, sharing and shoulder standing a whole pile easier. We like to think our tools will be a catalyst to make this market explode (in a good way!).

In the coming weeks I’ll try to talk a bit more about the movement, how our space is developing, and where we fit. But for now: check out the links, buy a $20 kit and a soldering iron, build something cool, and share it with the world. I promise, once you get started your inspirations will be limitless.

Open Source Hardware Articles





Our Javascript Toolchain

Our Javascript Toolchain

Javascript is a language that imposes very little on the developer. The web is littered with Javascript that looks like it was taken from Enterprise Javascript. To bring some sanity to our lives we’ve assembled a set of tools to help in our development efforts. The Javascript tool chain here at Upverter is comprised of:

  • customized qunit and testing harness
  • SConstruct build files for linting, compiling, unit tests, documentation generation

You’ll notice the list is quite Google heavy. When we were starting in we had a discussion about how much of the Closure coolaid we wanted to drink. There were a few concerns we had:

  • It could marry us to the compiler and library. If something better came along it could be painful to switch.
  • The overhead from annotating our code would drive us insane

It has some pretty big positive aspects going for it too:

  • Type annotations encourage documentation
  • Static analysis lets us shake bugs out faster and helps us refactor more confidently
  • There isn’t anything remotely comparable out there for static analysis and compilation

In the end the pros outweighed the cons and we dove in. It’s worked out well so far. Having those tools in place is helping us write better, faster code. (although gjslint’s whiny, inflexibility has resulted in more threatening of an inanimate object than is probably healthy) Lastly there are a couple of resources that I’d like to share in case you haven’t ran into them. Javascript can be a tough language to search for. These links are great starting points to find good answers:

‘Tis the Season to do Hardware

‘Tis the Season to do Hardware

Back in the day (ie. before I quit my job to start Upverter) I worked at what was once a software/hardware start-up in Waterloo, Ontario (they’re still there – just too big to still be a start-up). A lot of people, especially those in Waterloo, like to sell how smart and vibrant the tech center is there. And I think that’s great, you gotta sell what you love; and you gotta love where you live. But it really is a pretty tiny industry by comparison to Boston, or the Bay area. That being said, they sure do niche hardware pretty well, RIM being the best example I guess, despite how mainstream their devices became.

So, I worked for one of these hardware companies and we built some pretty seriously kick-ass network devices. These boxes, on all accounts, pushed the limits of speed, traffic, wattage, and weight. We were doing 10GB/s multiplied-by maybe 50 links throughout the device, with 16X11 cores and 16x11GB of RAM. We had a couple tons of AC running full tilt in the winter just to keep the building bearable, there was the time we punched a hole in the dumpster tossing a couple junkers out (they’re like 120lbs each!), and we fit it all in 4RU and 2K watts. Like I said: bad-ass.

Anyway, you don’t just get lucky when you try and build a box like that. The signal integrity, power-distribution and green-gremlin-voodoo-black-magic shit that goes into one of those devices actually doing what its supposed to is, well, overwhelming. But that’s the price you pay for being on the bleeding edge – the alternative was probably 16 odd 1RU PCs and a fuck-ton load of networking equipment = gross. But where am I going with this? Well its getting on to Christmas. We have about a meter and a half of snow outside the Upverter office windows, the stores are rockin’ jingle bells and somewhere, at some small hardware startup, there is a hacker furiously working away on making some piece of hardware work the way its supposed to, just minutes before the shipping deadline, which happened to be last Tuesday. I cant really explain it (year end? tis’ the season to buy hardware? I dunno), but for a lot of us hardware guys, Christmas = shipping deadlines = all-nighters = eggnog, spiced rum and soldering irons.

And not to rag on the startup companies – because really, you gotta do whatever it takes. But I want to give my nod to those hackers. Having been one of them, I know how hard it is to stay focused, to hack despite the million better things to do, and probably biggest of all, to hack despite being away from your family at just the wrong time of year. Its hard, and it sucks, so kudos to you guys – and like they say where I come from: good on ya. I hope you’re working at the right kind of startup, that they get it, and that they are taking good care of you. And if they aren’t, I say just make a stand that you won’t solder without the proper supply of eggnog and rum – they might not get it, but it’ll be easier to handle drunk… haha.

Perhaps my favorite personal story of a Christmas shipping crisis (and I’m gonna do my best to obfuscate it a little, as I’m probably not allowed to talk about it) was one year when right before our December 12th shipments we not only ran out of everything we needed to ship, but we found an epicly bad power bug (ie. shit blows up randomly during normal operation, but just outside of our window of test. and worst of all, caused by the design). We ended up shipping, I think on the 24th, but it was pretty down to the wire. I think there is a picture of me in a Santa hat loading boxes on to a truck, or kissing them goodbye or something – it was a pretty big deal. In the end we were able to order replacement parts, setup a half dozen soldering stations running 24/7 and hack 500 or so boards through in a few days, in time to assemble, test, triage and ship. probably the worst part was the few days between the 12th and the material delivery where there was zero to do. Just sitting around waiting for the tidal-wave to hit. And when it did, it hit HARD! Thankfully the guys I was working for at the time were pretty great about making sure we were tended to and happy, which made it all the more bare-able! and in the end we won. Which I guess, gives me another story to tell!

Invite me out for beers sometime and I’ll tell you all the gory details, but for here and now – have a good holiday. And I hope you’re not huddled over a soldering iron, but if you are: good on you, good luck, and get home soon if you can!

5 On-Page SEO Tips

On-page SEO is an important part of any SEO strategy.  It needs to be implemented and planned around in both the development of the site and the creation of the page content.  When coming up with your SEO strategy, I think that on-page SEO is a good spot to start. And to help get you going, here are my top five on-page SEO tips.

1. Have the targeted keyword in the title tag

This is something a lot of people overlook. Adding the targeted keywords to the title is really simple to implement and helps search engines know the focus of the page.

2. Start your H1 tag with your keyword

This is similar to having it in the title, but it is important that the H1 tag starts with the keyword that you are targeting.  The H1 tag is the top headline of the page, the beginning signifies the focus of the headline. This is also simple to implement so there is no reason not to have it.

3. Have your keyword in the body, just don’t over-do it

It is common practice to have your keyword in the body of your page. It is so common that some pages on the web are considered keyword “stuffed”.  Keyword “stuffing” is when the keyword is repeated an unnatural number of times. Search engines take this as an attempt to fool them. As a rule of thumb, the keyword that you are trying to win should appear no more then 15-20 times, I would try for 5-10 depending on the length of the page.

4. Have contextual content

It is important that in addition to the keyword being in the body, the keyword is used in a way that cannot be mistaken for a different meaning of the keyword. Make sure there are no words in the body that a machine could mistake for a different meaning or context of your keyword.

5. Target only one keyword per page

On-page SEO optimization is really difficult, if not impossible, to do for more then one keyword. There are a lot of other factors that go into what keywords you rank for in search results, but search engines are more likely to give you a high ranking with a single and specific keyword selected. These five on-page SEO tips are a good starting point for on-page optimization. When designing a site, and an SEO strategy, I recommend starting with on-page keyword optimization.

December 2010 Update

December 2010 Update

How is it December already?!?!

It has been a pretty crazy last couple months here at Upverter, but we really are loving every minute of this ride. Back when we started this whole thing up we decided, for a whole bunch of reasons, that we should have something to show-off before the end of the year. And now almost five months in we are pretty close! We still have a few kinks to work out before the Alpha but we are really excited and think we can get you guys in there hacking around very, very soon.

When we first decided to quit our jobs we spent a bit of time hacking on our ideas and how the world could be a better place. We talked about everything from iPhone apps to pirate radar, but we got a little hung up on how painful it is to do schematic capture and PCB layout, especially as a hobbyist. We talked a lot about how kick-ass the open source software community has become, and how maybe better tools were all the hardware guys needed to flourish. And wouldn’t it be cool if you could do it all through a browser? No downloads, no setup time, just open up chrome and start hacking. People must hate the tools that exists just like we do, right? And so we had a starting point.

As we dig deeper into this market it’s so very cool to find out just how right we were! People really, really, really hate their tools; It’s just amazing how painful people find simple things like parts libraries and collaboration, and how excited the opensource hardware community is for something better. The market is also way, way bigger than we ever imagined. There are hackers with soldering irons showing up by the thousands all over the place. And with any luck we are going to do our part to empower them to work together and build some pretty cool stuff!

There isn’t much else to report for now. We are busy hacking away, raising a bit of money, and hopefully doing some demos before the month is over. But please don’t hesitate to email, or give us a call. We would love to hear your thoughts, any ideas, or even just laundry lists of your pain points – we want to build what the community wants, a tool that they really can fall in love with.

So, from all of us here at Upverter, have a good December and a happy holiday.

About Upverter

Upverter is an electronic design tools startup company, founded by a group of three former University of Waterloo engineers. We are working on a set of online tools that are going to change the way people hack on circuits.

As garage hackers, and employed electronic designers we always hated the tools available to us. They were either huge and painful to use, or open source and both ugly and painful to use. We found that like a lot of others in the community we were drawing our circuits at home on paper instead of in a program – and we founded Upverter to try to fix this problem. We want people to be able to share their designs, fork and expand their friends’ designs, and work together with a set of community maintained, wikipedia-like, shared components.

We will initially launch with an online schematic capture tool and a pcb layout tool in early 2011. We will also be launching a community website based around our tools, and topics in hardware creation (lots of Q&A, examples, discussion, and exchange of designs). The tools will foster collaboration, remove barriers to entry, and help spark the building of opensource and available hardware designs. While the community website will be a place for the open source hardware community to call home, to share their designs, and to learn (like sourceforge and github have done for open source software).

Can’t get enough Upverter? Heres more!

The Upverter Website

This is where the magic is gonna happen. You can sit there and stare at its beautiful webby good-ness… But that is about it right now. At least there isn’t a construction worker!

The Upverter Twitter Feed

Can’t get enough OSHW? Need more distractions? Want to keep up to date with all the Upverter news? Check out our twitter feed – we will try to post all the interesting tidbits we pickup and neat things we find along this journey.

The Upverter Facebook Page

We will use our Facebook group to announce upcoming Upverter events (don’t worry, there haven’t been any yet!). And in a few months we will start giving out alpha access codes to our facebook & twitter fans. So sign up, and get excited – we promise not to spam you too bad!

Javascript Development

While building Upverter we have had to slog through mountains of Javascript. This has been an eye opening experience into what Douglas Crockford describes as “The World’s Most Misunderstood Programming Language”. Over the next couple of weeks we’re going to give you a glimpse into Javascript development at Upverter and share some of the things we’ve learned about:

  • IDE’s, code style, static analysis…
  • Javasrcipt testing
  • profiling and performance tuning
  • “building” a project
  • debugging

Intro to Community Building

There is a lot that goes into building an on-line community. I won’t pretend that just following these 5 tips will instantly make your community grow 100%. These are tips that, when used with good content, will help propel your community to the next level.

1. Set the tone of the community

It is important that your users have a positive experience when participating in your community. Make sure that there is a process to manage highly negative and harmful contributions. One community that has done a great job of this is Stack Overflow. They use a “Karma” system to allow active members in the community to police both positive and negative content. This is a great example of how to monitor the community without having to specifically appoint people the job.

2. Participate in your own community

This might seem like common sense, but it’s incredibly important that your users feel that you are paying attention to them. Your own participation is a great way to achieve this and to contribute to tip 1. Having a consistent, prominent presence in the community will set the tone for everyone.

3. Recognize your top contributors

It is important the you give back to the people that help you most. In an on-line community that’s most likely the top contributors. Make sure that you give them a shout-out every once in a while. There are many easy ways to do this: one of the ideas I like best is mentioning high contributors in a public place like on twitter, or having a top users section on your site. Whatever you do though, make sure it fits in with the tone of the community that you are creating.

4. Give out feedback for achievements

There are a lot of things that can get your users to contribute, but one of the most effective is to set up a status system. Users should have a way to be recognized by their peers for what they have done. An excellent example of this is the badge system by Stack Overflow. In their system they have many types of badges with several levels of difficulty to achieve. This system encourages users to continue to contribute, while giving them lots of achievements along the way.

Another effective method to get users to complete tasks is a status bar like that seen on your LinkeIn profile. It shows the percentage of the profile that has been filled with simple steps to get another 5%. Every time I open my linked in profile I feel the need to complete a new step to get to that magical 100%.

5. Get high profile contributors

Something that many people overlook is how important it is to have respected, high profile contributors. The reason this is so important is that it brings a good deal of credibility to your community. When you are trying to build a community, it is often difficult to get users to read your content in enough detail to build a sense of credibility. Having recognizable names contributing gives you the instantaneous credibility that you need to get people to join in and participate.

Startup Inspirations

Here at Upverter we occasionally get asked questions like: “Are you guys insane?”, “You used to have real jobs?”, and “You quit to do what?!?!” mostly in reference to us telling stories about how we used to exist in the real world with everyone else. One of our favorite questions to get is “What made you jump?”, because the answer is so different for each of us. But we do share a bit of overlap in who planted the seeds, you know, that little voice in the back of our heads that was saying jump. And that’s what I want to share today, our startup inspirations.
Paul Graham Probably first and foremost for the three of us is the Jedi, high-priest, Paul Graham. We have all been reading his essays for years now, we followed YCombinator since its birth, and we just generally believe, like Paul, that innovation NEEDS startups and that startups understand people better than big business. We all knew from a very young age that we needed to be innovators, and that a startup was the only way to achieve those needs.

+ The Mythical Man Month
 These books were absolutely eye-opening for me. How could it be possible that 30 years ago (before I was even born!) someone wrote a book demonizing all of the things that I was pretty sure were bad for productivity, but had no good way of saying? How could these guys be so, so right, so long ago, and yet so much is still the same? For us a startup lets us listen, and set the right priorities – we can make people important, and we can give them a great place to work.
The University of Waterloo While we don’t always see eye to eye with these guys, and we did very much miss out on the college life from the movies, they do 2 things incredibly well. First their co-op program is second to none. By the time I was half way through my second year I was more employable than many graduating electrical engineers from other schools. And second they, more by accident I think, do an incredible job of attracting a small group of incredibly driven, and very smart, non-conformist type engineers. These are the ones that fail out more often than not, but they clump up and go off to do incredible things. The 3 founders of Upverter met in a UWaterloo dorm room a little over 6 years ago, and it wasn’t very long into those 6 years that we knew we would build something together.
Joel Spolsky Joel is a little like Paul’s doppelganger. At the end of the day they are both very successful hackers, but what Paul offers on startups is really just compounded by what Joel offers on workplaces, people and all things software. Before we discovered Paul, and before he really wrote, we were reading and reciting Joel’s rants on architecture, and better workspaces. Steve even gets the fan-boy badge for interviewing with fogbugz a few years back! If you’ve ever read my personal blog, you’ll know I’m not one to sum up nicely – I’m really more of a rambler.
But I would like to share some of what I’ll call our inherited tenants of success. Consider these horribly stolen and merged together from our life-long relationship with the above authors/books and our previous employers.

The Upverter Tenants of Success

  • Be bold, decisive, and wrong. Its OK to fail for trying, but not because you ignored a problem. Agreeing to disagree is not acceptable!
  • It’s all about execution. Try and imagine the number of good ideas that fail, and the number of bad ones that win. Its not about the idea, or the product, or the technology – its about getting it done. This is why people are so important.
  • Have fun. Time is the worlds most precious resource. We all die – we all run out of time. Do what you do because you love it. And make sure those around you love what they’re doing.
  • Do the right thing – everything else will work out. Do right by people. Do right by employees. Do right by customers. And when picking between two options, pick the right one.
  • Be relentlessly resourceful. Kind of a summary tenant, but one regardless. Find a way to make it work. Find a way to make money. Find a way to build a business. Find a way to sleep, eat, and hack.

Circuit Circuit – Keyword Research Upverter Style

You may be wondering what circuit circuit has to do with both Upverter and SEO. Well, let me tell you.  When I was doing research into the keywords that Upverter should target when launching both our product and our on-line community. I looked at terms like circuit design and PCB layout, and found that a limited number of people actually search for those terms.
That is not such a bad thing for us, it turns out there are some very pointed terms that we found that we can rank well on – just not the ones you would expect. But none of that is very interesting, it was really just a task of running through hundreds of combinations of words that are related to the hardware field, specifically open source hardware (OSHW) = boring. But when doing this I came across an anomaly in the data.

A large number of people are searching for circuit circuit. Really? I was curious to learn what on earth the people that search for circuit circuit could possibly be looking for, so I added one to the millions of monthly global searches to find that even Google doesn’t know. On the first result page in Google is the following:

  • 1 electronics store
  • 1 story about a migrant family
  • Google news related to the stock market
  • 3 US Circuit Court pages
  • 2 electrical circuit pages
  • 1 car racing page
  • 1 page about film

So what do I do with this new found pot of search gold? Nothing. With search results like that we might be able to get to the top of the Google ranks, but the question quickly becomes why bother? There lies the most important question when selecting a set of keywords for your site. For us it’s not just about getting people to look at our site, but about conversions, getting people to join the community, ask questions, answer questions and most importantly, use the great design tool that we are making.

None of these goals can be achieved by optimizing for circuit circuit (other than my personal satisfaction in winning). There might be 10X the search volume, but it really doesn’t matter if the conversion rate is crap. There are a lot of things that go into setting up a site for success, and one of them is getting the right keywords to focus your energy on.

In my experience, the right keywords are not always the ones with the most monthly searches. I think this is something that a lot of people overlook when they are researching and selecting a set of keywords for their site.  I am not going to make that same mistake.  I am going to go for quality and breadth over sheer quantity.  How are we going to do that you ask? Well, we are going to start by asking real people, our potential users, our customers what they would actually search for.

I know, I know, this is a novel idea, but I think we should give it a try – no matter how scary customers might seem.  Then we are going to pour a couple hundred dollars into some Ad-words with the different combinations of keywords that we come up with, thanks to all the great people we talked with.  And finally, we are going to measure the results, figure out what our conversion rates are, and do some good old fashioned math to get the optimal result … OK well a better set of results. This method is far from fool proof, but it is a plan! That is the plan as we move forward, and it is not a complex one, but I think that it is going to be effective! And Zak will be happy to hear that this will be my last attempt to climb the Google ranks for my new favorite search term circuit circuit.