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


Communities


Shops


Twitter


Licenses

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