Search This Blog

Saturday, February 27, 2010

Tablet Computing and the Paperless Office

The new generation of tablet computers seem to be solely marketed towards individual consumers for personal computing tasks and this, to me, seems like a massive missed opportunity for where these sorts of devices could really hold some true value.

I work in Software Design for a company that uses a proprietary build of an off-the-shelf product where the UI is browser-based. All of our documentation is kept either on SharePoint style document sharing sites or are stored on personal network drives to make them accessible from home. Yet, the amount of paper we use in our office is overwhelming.

We are always hearing about the cost of that paper, too. And the cost of the ink for the printers. And the cost for the recycling and destruction of confidential printed docs. And the space needed to store printed documentation for the required 7 years by SOX rules. So why do we do it? We have to. Some times and with some things we just need to have printed documents. Until we began storing test bills on PDF, it was necessary to construct and store huge binders of printed bills for every round of testing. That sucks.

Okay, cool. So now everyone from Apple to Acer are marketing touchscreen web tablets. They desperately want to convince people of their need for these things (partly because people demanded them but...) but can't seem to come up with a good argument besides "you can surf the internets". Okay, so they can do more than that and the marketing is better than that but, come on, e-reader? Emailer? Web surfer? Sounds like a laptop that isn't as useful.

I guess what I'm getting at is that, for most of us, a laptop or desktop at home is too powerful but a tablet is too weak. But in the workplace, our computers don't need to be powerful, our networks do. Picture this, your desktop machine at work is a tablet on a dock. It powers on almost instantly (compared to the 20+ not exaggerating minutes it takes for my bottom-of-the-line Dell desktop to power up), is plenty powerful enough to run browser-based apps, can run an office suite (as has been proven by the iPad coming with iWork but oddly not iHome), and maybe most importantly, is portable. Once your tablet is powered on you could grab it right off the dock and take it to a meeting. In the meeting and need to share a doc? Email it right to their tablets or plug your tablet into the projector or just tell everyone where it is on the SharePoint. Make live updates to the doc based on the meeting discussion. Take your tablet to a colleagues desk for a discussion and use it to take notes. Take it outside and spend time coding in the park on a sunny day.

Could a large corporation, like the one I work for, really implement this kind of system? Probably not. I doubt the idea would make it past IT security and even though it would surely be less expensive than replacing 20,000+ Dell desktops and laptops, I doubt the company would go for that either. But a small start-up could really run with the idea and, if implemented from the beginning, could set a new standard in not only the paperless workplace but in work/life flexibility.

Life Has A Funny Way Of Making Me Look Like A Chump

So, following my little parts rant yesterday regarding how long it takes for parts to be delivered from Hong Kong, I went to the SparkFun website to order another USB cable so I could at least program my Arduino. While I was there I decided to order a Polulu switch (a device the will allow my box to power itself down between uses) and the servo needed to dispense the gift card through the front of the box.

While there I decided that I might as well accept the fact that the parts I'd ordered from SeeedStudio Depot might never arrive and it might behoove me to go ahead and order more buttons as well. Sure, they wouldn't be the shiny silver buttons I'd originally wanted but they'd be buttons. SparkFun had an assortment of colored plastic buttons of the same size and shape I'd wanted. They had six colors and I ordered one of each color, thinking that the red button would turn the box on and the other buttons would be multi-colored and fun looking. Unfortunately, they'd also make Jenn and Brian think a color puzzle of some kind was involved. Hmmm... not ideal but whatever.

Anyway, I ordered all of these parts which did assuage some of the panic of a project missing its deadline, even though I hadn't set any benchmarks or deadlines. This morning, upon returning from brunch with Rachel and her cousin, Elena, I found a little box on my porch... from Hong Kong! Yay! On one hand, I feel like a chump for ordering those extra buttons yesterday. On the other hand, I'm super stoked to have the shiny buttons I'd imagined for the project. It's also great that I've now ordered all of the main components of the project and can begin prototyping on a breadboard. I'll also be able to use the colored buttons for another project (maybe some kind of Mastermind box!) and can even use the red botton as the power button for this project, if I choose. I don't think I will, though. I want this box to look super sophisticated and a plastic red button doesn't speak to that ideal.

I'm totally stoked and can't wait to get started on the hard work of this project!

Thursday, February 25, 2010

Hong Kong = Far Away

I've been really wanting to post a parts list and a build beginning on this blog. Unfortunately, I didn't realize that some of the parts I ordered were coming from Hong Kong. They aren't here yet. There is also the distinct possibility that they were delivered and promptly stolen off of my porch. This has happened a couple of times recently and is kind of maddening. I mean, I don't know if the parts were not shipped or lost in transit or if they're just down at the Ashby Flea Market on some crackhead's table. Still, I don't want to order new parts if I can have the parts I ordered. The worst part is, one of the parts was the cable I need to program the Arduino. Stupid. It costs $2.50 but I think I ordered it from HK to save a couple of nickels. I have buttons in my parts bin but not fancy shiny silvery buttons of wonder. I guess as long as I had that cable I could start to prototype. Off to the internets to order another cable!

Monday, February 8, 2010

Soft Hardware - LilyPad Arduino

When I was initially becoming interested in creating with Arduino, one of the main obstacles for my mind to get motivated was being able to convince myself that I could overcome a complete lack of technical knowledge in regards to circuits and electronics. I was fairly sure I could write some cool code but wasn't sure I'd know what wire to solder to which contact and how to run power through the whole shebang. It turned out that Arduino makes that part as easy as possible too, and isn't nearly as daunting as it seems at first glance.

Reading up on Arduino, I repeatedly came across references to LilyPad Arduino and soft circuitry. I'd tried a soft circuitry project before but I gave up pretty quickly, more due to a lack of continued interest than anything else.

This was my first project:
http://www.etsy.com/view_listing.php?listing_id=34063023

I'd made LED throwies for a number of purposes from lighting up my bicycle to lighting up jack-o-lanterns. Making a simple bracelet seemed like a nice next step and it was, sort of. And it would have worked, in theory, if I'd finished it, which I didn't.

What appeals to me about LilyPad, other than the wear-ability of the projects was the modular design of the components. Sure, you could wire all kinds of sensors and outputs to the adorable LilyPad but you could also just stick to the sensors and outputs designed to go with the board (It's not really a board, per se. It's a felt pad.).

My mind thrills at the potential for projects using these items. Just check out all of the LilyPad stuff available from SparkFun:
LilyPad Arduino on SparkFun

Also check out these links:
LilyPad specs (pretty much the same as Duemilanove or other Arduinos)

Leah Buechley is the creator of LilyPad and just watching a video of one of her projects totally lit a fire under my brain:
Turn Signal Bike Jacket

As someone who really loves riding his bike but is definitely concerned that a human operating a large machine might accidentally (or intentionally!) harm me, this project appealed to me. But one thought led to another and in no time I was envisioning everything from Iron Man Halloween costumes to totally creepily interactive plush dolls. How cool would it be to gut a teddy bear from the store and turn it into a vocalizing, flashing red-eyed, buzzing and shaking, twitter-activated monstrosity? Answer: Very Cool.

Troubleshooting, Problem Solving, Thinking Out Loud

I've been a little disappointed in myself. I'd intended this blog to be a lot more active than it has been so far. I was thinking to myself, "I just haven't had any ideas or thoughts or updates worth posting," which isn't entirely true.

I've been devoting as much brainpower as I can muster to working on the Arduino coding for the 5x5 box. I think I've worked out ways around most of my problems, which are numerous:
  • One problem I've been trying to work out is how to get the system to assign a random number value from 1-5 to each of the buttons as an indicator of a correct press. That is to say, how do I tell the system that I want it to track the order the buttons are pressed and that I want it to determine if that order is correct and that I want that order to be different each time the game is played. I think I've worked my way around this problem. I can't decide if posting a block of Arduino code here is at all interesting to anyone, especially pulled from the larger block of code, thereby losing some context. Basically, what I decided to do was to have the code generate a random number from 1-5 for each variable that I am referring to as "random1-5". Then I've told the code to check that each "random" variable was unique to itself, not having a matching number assigned to another "random". If at least two of the "random"s match, I've told the system to try again. This could work really well or it could have the little microprocessor generating random numbers until it becomes self-aware and really pissed off at my messy coding. I think that what I really need to do is to have it generate a random value for the first "random", generate a random value for the second "random", compare the two and, if they match, have the system try again before moving on. That way it is not asked to generate a whole set of random values that don't match each other by sheer dumb luck.
  • Another problem I'm having is being completely unable to test any of my code on my actual Arduino or any kind of a breadboard rigged prototype. I hate waiting for parts in the mail. Honestly, I have just about all of the parts I need to rig this all up (not the parts I'd want to use in the final product but they'll work) except the USB cable I need to upload the Arduino code to the Arduino board. Frustrating. Note to future self: Seeedstudio is in China. Ordering parts from China takes a long time. I'm itching to post a parts list but I haven't even ordered all of the parts! I'd better get moving on that.
Really, not having the USB cable is my main problem because it keeps me from identifying defects in the system, be they soft or hardware related. I won't know until I tinker and I can't tinker effectively until I get that cable. With my luck lately, it will be delivered and left on my porch and immediately stolen by neighborhood kids (or adults or a kleptomaniac squirrel or a tiny black hole or something). I bet it's something I can by from the Radio Shack down the street and all my waiting for a $2.50 cable is probably not worth my time.