usable in any place a human can be used

Showing posts with label google. Show all posts
Showing posts with label google. Show all posts

20100317

let me google that for you

[caption id="attachment_805" align="alignleft" width="300" caption="I wonder what Google\'s legal team thinks of this website"]let me google that for you[/caption]

I was recently given the task of writing a Windows Service in Managed C++ (or C++/CLI I can't quite figure out what it's actually called). Having had 3.5 years of C++ experience from college and basic literacy I started clicking around in Visual Studio like a blind man searching for a nickle. Everything was going great until I got to the code it generated... there were ^'s and gcnew's and all kinds of craziness. It looked like the Standard Template Library and C# had gotten together with a bottle of tequila, the next day C++ was knocked up and throwing up carets all over the place. This was not the C++ I had learned back in college on our quaint little Unix box editing code in pico, this was some new monster that vaguely resembled an old friend. Undaunted I clicked this link and began the journey on the road of enlightenment. Right now I have a Windows Service that builds and hopefully over the next few days I can confirm that it actually works.


This got me to thinking about the vast wealth of information sitting literally at our fingertips. I recalled the phone call I had with my mom over the weekend that went something like this.



Mom: They asked me at work to archive some files by burning them to a CD.
Me: Oh, how'd that go?
Mom: Well I had to use a Mac, and I don't know those so I asked for help.
Me: Makes sense.
Mom: The only person who knew how to do it said to use Toast, but that wasn't installed. :(
Me: What did you do?
Mom: Well I thought, how hard can this be, googled it, and followed the tutorial, it was really simple.
Me: You've just taken your first step on the road to geekdom, congratulations.

The dirty little secret is that for anyone that's good with computers, unless you ask them a question directly in their area of expertise, they might have some vague notion but will more than likely just end up Googling it. "My computer crashed and the BSOD said STOP CODE 0xA70000084, what does that mean?" What you will hear on the other end of the phone is me biding my time while I type "STOP CODE 0xA70000084" into Google and look for the answer. Because, and this may surprise everyone who is not a computer person, having a CS or MSI degree does not mean that you programmed Windows. There is a world of stuff for us programmers to try to hold in our brains, and every error code shooting out of Redmond is low on the totem poll.


If all us nerds are just Googling things, then why don't normal people do it. We know that everyone Googles stuff: "Naked ladies", "Hot naked ladies", "Other naked ladies I haven't already seen", "How to erase your browsing history", etc. Why don't non-technical people think about typing that perfectly searchable error code into that happy little textbox? There are a litany of reasons from laziness to sloth, but I think the one that most people fall into is intimidation.


Google is power!!! You ask it a question and you get a list of a gajillion results. Don't believe me, I'm going to search for blue screen of death and it returns 9,710,000 results in less than half a second. If you are a non-technical person that is a sea of information, its even worse for technical problems, as the most relevant links are normally some discussion board with a thread 900 replies deep, the solution normally some incantation you chant over the motherboard while spraying the monitor with goat's blood. For the technical doing things like digging around in the System32 directory and clicking around is everyday no big deal stuff. For the non-technical, who normally have the "I hid this for your protection, don't touch these files or your computer will explode" screens still on, it can be a terrifying leap of faith.


[caption id="attachment_806" align="alignleft" width="300" caption="for a normal user this is like a grizzly bear with chainsaw arms"]system32 scare screen[/caption]

The thing that we can do to encourage our non-technical friends and families is to teach them to fish. Normally we just want to give them a fish and get on with our lives. When you take the time to explain how resilient a computer is and how easy it is to find the information, after a while they will come around to solving their own problems. And it's like sweet sexy meth when they do. Try to remember what it was like to have that thrill for the first time of being able to command the computer to do your bidding, once they get a taste they will want more, which may actually end up being more work for you, but it's the good kind of work that furthers another's understanding of the world.


Drop some lmgtfy love on your loved ones, help them help themselves, introduce them to the intoxication of solving their own technical problems. Once people realize that computers do what we tell them and not the other way around, the world will be a much better place.

20091201

riding the wave

[caption id="attachment_299" align="alignright" width="300" caption="wave"]wave[/caption]

Yesterday's post seemed to strike a nerve within the programming community, it was encouraging to see that I was not alone. I want to thank everyone that provided great commentary both here and in the Hacker News entry. I will probably touch upon the topic again, unlike a sitcom the issue of professional burnout isn't solved in a half-hour, but not today. Today I want to talk about Google Wave!


I previously wrote about Google Wave in you can't understand google wave which had such gems as



The problem with people waxing inanely about what Google Wave will be is that they have their heads up their asses. They don’t know, because they can’t know.

I wrote that post a long time ago during the hype and the hyperbole about Wave being the savior of the world or the misstep that will sink Google. I also wrote that post from the outside looking in, not being lucky enough to have a wave invite, I could just read the whitepapers and wonder. Yesterday though the worm turned and my dear friend Jeremiah Peschka sent me a coveted invite. After the Google gears churned away I got the email later that night, the velvet rope had swung open, I would be able to ride the wave! I fired up firefox and clicked the link, my hands trembling with the joy of new technology. I was whisked off to the interface I had come to expect in screencasts and diagrams.


I then had A Universally Confusing Initial User Experience, and tried furiously to remember Mark Essel's Aha Moment. Once I typed "with:public" and then variations on that theme "with:public haskell" or "with:public erlang" I was off and running in the world of wave. I'd like to jot down my first impressions



  1. There is a lot of stuff out there - so many you often see listings like "51 - 76 of lots" which is the cute way Google Wave tells you there is a ton of stuff.

  2. There are other languages - I'm looking at Korean, Cyrillic, Chinese, and Spanish, all in one little window. Very rarely in my day to day surfing on the old internet do I see anything but English, on wave you see everything.

  3. Gadgets == slow - Maybe it was just a bad first experience, but Gadgets seem to bog down the wave a ton. This coupled with the fact that the few I saw seem absolutely pointless made me despise that little puzzle piece

  4. Wave == slow? - I have a fairly beefy home computer with the top tier internet connection Time Warner Cable provides, but wave felt sluggish. Things worked, but the wait times were on the high end. I thought at one point I should try it in Chrome, but that didn't seem to make anything better.

  5. I don't know what I'm doing - This is the big sticking point so far, I have no idea how to use this thing

  6. It pushes the boundaries - Often as a web developer we get too used to the standard paradigms, we also get stuck in a mental model that is concerned (rightly or overly) about bounce rates and conversions. Wave pushes these boundaries, Google has enough muscle to say, this is important, it doesn't matter if people don't "get it" right away, they will. It's big enough and important enough that people can bounce, they will end up back at Wave before long. This is what Apple does, and it's why people love (and loathe) Apple products.

  7. Scrollbars - I read an article about the Google Wave scrollbars a week or two ago and couldn't make up my mind. After using them I will say you get used to it quite quickly, but I'm still not sure why they felt it necessary to re-engineer this feature. I'm thinking the biggest reason is the on-demand nature of Wave makes it so that even Wave doesn't know how many more items are in a list, making traditional scrollbars difficult


At this point I still need to play around with Wave quite a bit before I get the hang of it. I'm going to attempt to avoid making any statements predicting into the future, because I can't. I'm glad Google is pushing the boundaries, wave could surge or crash, either way I think its impact will be positive. Google is saying in a very public way that it is ok to think outside the box, reinvent scrollbars, change the way we view a web application, and that will have results.


People are going to debate the merits of all the parts of Wave, and that debate has definite value. The ideas that will come forth from that debate will have impact on usability, communication protocols, general design, and so much more. Pushing the community forward is never a bad thing, and so in that respect Google Wave is already a success.