Spacebar – a new way to login

7 Days with Pebble

I’ve now been wearing my Pebble smartwatch for a week (which only today have I had to recharge) and can honestly say that the device is a winner. Here’s a breakdown of what I love about Pebble and what I hope for:

What’s awesome:

  • I never miss an email, text or call with vibrating notifications.
  • Music control is great while working out.
  • Battery life is amazing at 7+ days and it will be even better once a firmware update enables Bluetooth 4.0.
  • The device is incredibly lightweight, sleeker and more comfortable than I expected.

Software feature wishlist:

  • Stacked notifications. It would be much more useful to stack notifications and dismiss them one-by-one (right middle button) or all (left back button) rather than being limited to seeing just one.
  • More watch faces. Jelly Time, anyone?
  • Volume control app. This would be a perfect companion to the music control app.
  • Notification dismissal. An option to also dismiss notifications on your phone when you dismiss them from Pebble.
  • Twitter integration. Options to forward notifications to my watch when someone mentions or DMs me.
  • Bump integration. A simple fist-bump or handshake between two Pebble users could initiate a Bump transfer such as contact information.
  • Camera app. Remotely control your phone’s camera shutter and adjust the timer duration.

More Pebble Mockups

The biggest challenge is keeping the UX simple, yet functional…

pebble_preview2

Pebble Mockups

I’m a backer of Pebble, the E-Paper watch which took KickStarter by storm to the tune of $10 million from 68,929 supporters. Although I’m still waiting for my device, I wanted to share a couple watch faces and app mockups I threw together which I hope to develop once the kind folks at Pebble release their watch face development tool and watch application SDK…

pebble_preview

Pebble watch vector illustration courtesy of Otto Greenslade

PanicStrap open-source dashboard

I’m a huge fan of Geckoboard and I’ve even contributed several API widget integrations to the product, but some companies can’t use an internet-facing solution due to strict security policies. With this in mind and a little inspiration I created PanicStrap, an open-source dashboard built upon the Twitter Bootstrap and jQuery frameworks.

demo | github

PanicStrap Screenshot

Startup Advice for Biz Devs

If you’re an entrepreneur then you’ve probably had your fair share of failures and (maybe) successes. Whichever you’ve encountered, I guarantee the driving force to the outcome was the team. As a developer, I’d like to offer some advice to business folks who work first-hand with developers to help create a cohesive and productive team:

  • Don’t leave your developers in the dark. Share your full product vision with them so they can know what to expect down the road as they’re building the product.
  • Ask your developers for feedback. Developers are very logic-driven people who may be able to make that great idea of yours even better for the end user.
  • Trust your developers. If you don’t understand code then don’t look at it – you’ll just be setting yourself up to make assumptions. If you want to know how something works, ask your developer to explain it to you at a high level. You’ll probably want a whiteboard available.
  • Set reasonable goals. Even the simplest idea can require a lot of code. Talk with your developers to see how long something will probably take to make, then give them some breathing room in case things don’t go as expected. On a similar note, don’t make promises to customers for features you haven’t discussed with your developers yet.
  • Give your developers time to focus. Programming takes a lot of concentration. Instead of sending your developers an instant message for a non-urgent matter, send a short email so they can respond to you at a convenient time.
  • Set priorities and stick to them. Know what things should be developed first, tackle them, then move on to the next thing. Leaving half-completed code in your project is a recipe for disaster and hurts the morale of the developers who spent time working on it.
  • Choose tools as a team. There are a lot of complex, feature-rich project management tools out there, but your developers probably want something simple that they don’t need to spend a lot of time using/updating.
  • Bugs happen. Don’t get mad at your developers when bugs arise. You wouldn’t want a developer getting mad at you for a typo in a business email, right? Fix the issue and move forward.
  • Celebrate success. Don’t just launch a new feature and move onto the next. Talk over what was learned during the development of the newly launched feature over a couple beers or team lunch.

Idea: The Passive Proximity Graph

Facebook helps us connect with people we already know. Twitter helps us stay informed about people who share common interests. Foursquare helps us share where we’ve been… but what about knowing more about the people who were standing just a few feet away from you while you were buying that cup of coffee or the guy across the room who asked a great question at that dev meetup? Checking in via Foursquare or Facebook isn’t exactly everyone’s priority, nor should it be. For true social discovery we need a Passive Proximity Graph – probably powered by a mobile app which primarily runs in the background constantly keeping track of who is around us as we go about our daily lives. After gathering that data, provide the user with various viewing options so they can see the paths they’ve crossed with other people throughout the day or who spent the most time nearby, then provide more information about those people via Facebook, LinkedIn, Twitter and Foursquare. The chances are that you’ve probably crossed paths with some really interesting people but never even knew it.

Developers and Databases

Ever since my first computer I’ve always been fascinated with writing code. There is an immense feeling of enjoyment when making a computer or website offer an experience it previously didn’t through hard, logic-driven work. This work is often taken for granted by those who use it but that usually doesn’t get us down – it’s just another piece of data for how people interact and feel about what we’ve built. On a similar note, developers often lack appreciation for something vital to modern-day applications: the database. MySQL, MSSQL, Oracle and other relational database platforms contain some remarkable logic and basic infrastructure to enable your applications to efficiently read and write data in a relational manner. If you rely on databases for your work as a developer, I implore you to spend an hour researching how your database of choice works and what you can do to write better queries. Not only will you gain a higher appreciation for databases but your applications and users will likely benefit from faster, more efficient queries.