WebDriverJs and Chromedriver

If you’re not familiar with WebDriver, perhaps you should be (if you’re a programmer). It’s a tool used for performing user tests on websites. I’ve been working on a project for testing some websites with Chromedriver, the chrome implementation of WebDriver. Once you have the driver up and running you need a way to send it commands to get it to do user actions. Chromedriver responds to simple REST requests, which, of course can be issued through JavaScript. This leads to WebDriverJS, a simple implementation of the REST protocol for WebDriver. You can use it server side, with something like node. Or you can use it client side, within the browser.

Here’s where the plot thickened for me. Normally I used to start chromedriver directly:
https://gist.github.com/2885890.js?file=old_way.sh

Once I had the server up and running I wanted to test
https://gist.github.com/2885890.js?file=run-driver(wrong).js
with the html:
https://gist.github.com/2885890.js?file=wd_test.html

I spent several days trying to get this to work. I had no success. I searched the interwebs, and came up with nothing. The solution is simple, but was not apparent. You need to run chromedriver through the webdriver shell.

Here’s the command line:
https://gist.github.com/2885890.js?file=with_selenium.sh

You also have to modify the connection javascript, the run-driver.js should how look the following:
https://gist.github.com/2885890.js?file=run-driver.js

These pieces put together should allow you to control your chromedriver.

GoodBye GoDaddy

After the whole SOPA debacle, I decided I was done with GoDaddy. Their site has always been crap. It’s hard to use and figuring stuff out sometimes takes a call to their tech support. On top of that, they had been starting to raise their prices. They used to be one of the cheapest registrars on the internet, now they were charging significantly more than other registrars.

I have been using Dynadot for a bit as they were about a dollar cheaper than GoDaddy and The Brooks Review recommended them.

As of today it is official. All my domains are gone from GoDaddy. For various reasons that I hope to explain over the next year, I have 25 or so domains. The 21 that were at GoDaddy have now been moved to Dynadot. I’m looking forward to having an easier time administering them, and spending less on them in general.

iPhone 4S Setup, a post Steve Apple

I’m sad to say that the whole process of upgrading to an iPhone 4S (or 4 Steve as some crazy analysts have been calling it), has been more difficult than I would have expected. I’ll admit that I didn’t take the most conventional route to set this phone up, but my experience has not been pleasant. I feel this is a bad sign for a post Steve Apple.

Here’s my situation. I’ve been running an original Edge based iPhone 16 GB for the past 3+ years. I was waiting for the next new iPhone to come out so I could grab one. I was very excited for the announcement of the iPhone 4S, and unlike everyone in the media, I was not disappointed. I liked the design of the 4, and was happy that they were keeping it a little longer. I really have been wanting some more storage space. I like to have a lot of data on my phone, between my huge photo library and some videos to watch while commuting. So, all in all I was really excited about the new iPhone.

Fast forward, I decide not to rush out and grab it on day one because I wanted to make sure I could get my employee discount, seeing as I work for a company that has a close relationship with AT&T. I ordered it on Sunday. That translated to roughly a week and half delay from when they first started shipping. Still, not a huge deal. It would have been nicer to know when to expect the phone instead of having to check the AT&T website everyday to see if my items had arrived and shipped. To be fair, they sent me an email after the items shipped, but not until I had already been on their website and seen the tracking number.

So the phone arrives last night.

Since I ordered it from the AT&T store, I don’t have AppleCare+, because they didn’t have it when I ordered it. So I stopped by an Apple store on the way home, but they don’t carry +, so they advised me to call. I did, but they were closed by 8, despite the fact that a gentleman on the phone said they would be open until 9 PM PST (The representative I talked to on the phone this morning confirmed this). I tried back twice because I didn’t believe them, still closed. The guy at the store tells me that it’s not going to be an issue if I open my phone tonight, though (he was right about this part).

So I go home and unpack the phone and start setting it up. I’ve been reading on the web that there have been a few issues setting up a new phone based off an existing phones backup. To try and avoid these concerns, I initially decided to try and load my iPhone as a new device. I set it up, and got it running. Was playing around for a bit and then realized that I have tons of data on my phone, like SMS messages and other information.

I woke up early this morning and decided I’d try do it the other way. I went through the process of restoring the iPhone as my old phone. This process only took about 15 minutes and looked to be working pretty well, until I tried to use Siri to set a reminder. It said it couldn’t.

I had to call in this morning to AppleCare to get my AppleCare+ thing taken care of, so I figured I’d ask them about it. It seemed to be related to my iCloud settings. Couldn’t figure out exactly what it was, figured Apple would be a good option in finding an answer. Nope.

I first called in with my serial and before I could even say that I was calling to buy AppleCare+, the representative was on it, and said that I was eligible. I told her that was why I was calling, and she took my credit card information. I didn’t think of it until after, but she never stated how much she was going to charge me. I asked afterward, she said the product was $99, and there might be tax and it could be up to $5.25, but she didn’t think there was. She was VERY polite and kind, but not knowing what you are charging me does not seem right to me. I digress.

I told her I was having issues with iCloud. She walked me through the basic steps of setting up the backup and I kept getting an error message. She put me on hold several times throughout this process and was still unable to help me resolve my issues. Again, she was VERY polite, but did not seem to be able to help.

Finally she gives up and schedules me to talk to an iCloud specialist. Not a huge deal, but the first thing she tells me is that the specialist is going to call me, but when I ask her when, she tells me she doesn’t know. She put me on hold, again, and comes back several minutes later saying that I need to call a specialist. I say, that’s fine, what’s the number and when should I call? She puts me on hold again, only to come back and say that the system was down and she will have to call me back.

[youtube https://www.youtube.com/watch?v=8BDdcDTzXkE&w=560&h=315]

When I speak to the specialist, he was very kind, but did not seem to understand the problem I was having. We went through several phone calls, as he required me to have WiFi, but I was out and so did not have access to a WiFi connection.

In the end I spent some time debugging it. It was clear that reminders wouldn’t work if they were turned on in iCloud, but they would work just fine if iCloud sync was off. I went to go look at my calendars and that wasn’t working correctly either. When I went to my .mac account on my phone, asked me for my password. Once I entered that and turned on cloud syncing everything started working.

Also of note, Syncing with iCloud and backing up to iCloud are two very different things. Syncing means having your contacts and mail and calendar on the iCloud server. Backing up is a full device backup. A better explanation of that would have been helpful.

In the end I feel like there was just too much confusion with the setup. Most Apple products have been very plug and play. This device required some serious setup to get it the way I wanted, and it was not clear how to get there. I’m troubled because I’m pretty sure Steve would have taken some peoples jobs over how bad this process is and I’m not convinced Tim Cook has the same mentality.

Initial Kindle Experience

My family gave me a Kindle for my birthday, and while I haven’t used it too much, it is starting to become a device I use more and more.

The big problem for me is the cost of digital books. I have a huge library. I’ve spent lots of money on books over the years. Mostly tech books. These books were expensive to buy for stacks of paper, roughly $30 a piece (some more, some less). The problem is that I don’t get a digital copy of the material when I purchase the book, so if I want to read the same book on my kindle I have to buy it again (usually spending another $30).

My largest gripe at the moment is that some tech books cost more digitally then they do for physical copies mailed to my house. Here’s an example:


Other than demand setting price, I see no reason for this. How can a book cost more than $3 dollars more for the digital copy? The costs are so much cheaper with digital copy.

Physical Cost Digital Cost
Paper Formatting
Printing Network Bandwidth
Binding
Shipping
Storage

The digital costs aren’t completely invisible, but they seem to far undercut the physical costs. It makes no sense to me why the kindle edition would cost more.

My other major concern with the kindle is that I could not find any easy way to read the web content I wanted to read on my device. That was until I found the Instapaper App. Converting HTML to mobi is not the easiest thing in the world, and the kindle at the moment has a very interesting way of reading web content. Saving a link with Instapaper and transferring it to the kindle makes it incredibly readable. Problem solved.

I think the kindle has been quite successful for Amazon, and I think it is useful. I think it would be better if there was a better way to get started. Apple does this well with their products and I think Amazon is just a step behind. The Kindle has a ton of potential, but it is just shy of that stickiness factor that products like the iPad have.

Sleeping your Mac with a Microsoft Ergo 4000 Keyboard

One of my friends, who will remain nameless for the purpose of this discussion, convinced me start playing around with a Microsoft Natural Ergo Keyboard 4000. I got one at work, then I bought one for the home and I’ve been pretty happy with it. There are just a couple of things missing from my standard mac keyboard.

Firstly, on my old computer, I used to be able to hit the a keyboard combination to get my machine to sleep. I believe it was something like Cmd – Shft – Eject. Well, the Microsoft keyboard doesn’t have Eject. So I’m out of luck there. It does, however, have a set of buttons reserved for favorites. So I decided to code up a little AppleScript and bind it to one of these keys. Here’s the script, and I just saved it as an editable application. Then you can go into the preference pane for the keyboard and assign the whichever key you want to this script. Good luck.

1
2
3
tell application "finder"
   sleep
end tell

OmniFocus vs. Things (continued)

A while ago I wrote a post about my switch from OmniFocus from Omnigroup to Things by Cultured Code. Both do pretty much the same thing: allow you to make lists of tasks so you can keep track of what you need to get done. Each has their own feature sets. I originally bought OmniFocus, but after some time switched to Things. It’s a great App, and they have an iPhone version that is pretty handy. I work on a PC during the day, so it makes it a little hard to use Things as my primary means of tasks, but I use it for my secondary items.

The real motivation by this revisit is to mention how the Apps have been coming along. Things is the primary product of Cultured Code, whereas OmniFocus is one of several Apps produced by OmniGroup. This has lead to a more rapid development and, in my opinion, a more refined product. Things for iPad was released on the same day the iPad was. OmniFocus for iPad is still in developmental stages. Now, I don’t yet own an iPad, but I’ve looked at the online videos for both OmniFocus and Things and I’m a little disappointed in OmniFocus. I feel like their icons aren’t at the same quality level as Things. Their App feels less refined and it doesn’t feel like they are using all the screen space to it’s fullest ability.

As a little tangent, I’d like to mention that OmniGroup used to be my favorite company. I LOVED OmniGraffle when I was in college. I used it for most of my projects. The new version of OmniGraffle just doesn’t feel right. There are too many features and it is hard to find what I’m looking for. The interface doesn’t really make sense to me. I had this issue the other day when I was trying to set the background color of a canvas. It was not intuitive. I’m very interested to play with OmniGraffle for the iPad and see if the reduced screen and processing power has gotten the company to focus more on a core set of features, thus making the App easier to use.

In conclusion, I’m getting Things when I get my iPad, and I don’t know how much of a market OmniFocus will have.

Suggestions for Building a Successful Business Website

Per usual, I’ve been surfing the web. Here are some frustrations I have with some business sites:

  • Items Are Out of Date. Sometimes when browsing a site I will see information about events that have long since expired. This information is not pertinent, and tells the user that you don’t keep your information up to date. What does that say about your business? If you aren’t detail oriented in your website, how are you when it comes to making your products or fulfilling your services? It might also be harder to see upcoming events if there are bunch of past events in the way. I don’t care about the last six months of wine tastings, I care about the next three weeks.
  • Your site is missing information. Quick! I need your phone number! Wait, I’m driving to your office, but I forget your exact address. You’d be surprised how many times I have looked for the address of business and been unable to find on their website. Sometimes Google Maps will be able to help me, but not always. The most important and common questions should be the easiest to find. If you are a consumer facing business, you should have your address and phone number in the footer of every page on your site. You should also have a contact page, containing the same information.
  • You assume a level of interest/knowledge I don’t possess. You are most successful Fencing gym in the bay area when it comes to split match foil saber fighting. One problem, I’m new to fencing, and I just want to learn. I have no idea what split match foil saber fighting is (t’s made up for the purpose of this post). Yeah, it’s nice that you are the best at it, but what I really want to know is how to get started. What classes are appropriate for me? Your claim is a little like boasting, and not relevant to me. If you HAVE to use technical vocabulary put references to the terms so I can understand it. Along those lines:
  • Relevant information is hidden. When putting together your web site, spend some time considering the user classes that will visit your site. If you are looking for new business, listing your products and services and how people can buy them should be the first thing on your page. If you are creating a site for people that are already a part of your business, then maybe technical terms are okay. If you are trying to get both, optimize for new people coming to your business. Once people are convinced you are amazing, they will spend the time click another link to get to their content.
  • There are still pages under construction. One of my favorite companies is guilty of this. I swear by my Field Notes, but their website has a page called “The Sheet Team” which has been in a state of non-completion for as long as the site has been up. If the page isn’t ready, don’t post it. Don’t put in a place holder, don’t leave more clutter on the site. You might get one chance at your users’ attention, capitalize on it.

This isn’t the end all list to designing a business website, but is a list of some concerns I have with a lot of sites I visit. Even if you are successful with your website, you might be more successful by fixing the problems above. Remember, your competitors are always trying to improve, you should too. In this world where technology is only expanding, making sure your website is up to snuff is an important part of running a successful business.

Best Payment Form I’ve Seen

I purchased the MacHeist bundle today. If you’re not familiar with it, its a collection of Mac Apps that this group puts together and sells rediculously cheap. I spent 20 bucks, only for one app that I really wanted (Flow by Extend Mac).

Regardless, this post is not about that bundle. It’s about my checkout experience. It was amazing. Textbook UI for checkout. Here’s a screenshot of the payment section:

Lets talk about what they did right here. Firstly, they allow you to pick between Credit Card and Paypal. Note, they don’t make you select which type of credit card you are using. They only support Visa and Mastercard, and they can use the digits of the card to determine which you are using, so they don’t need you to provide that information.

Next two fields are standard, “Name on Card” is easy is enough to figure out and if you don’t you know where to find your credit card number, you’ve got bigger problems.

Next is the expiration date. Lets talk about what makes this field so great. Firstly, they list both the month number and the name. This is very clear. It shows you that you are talking about months and displays the context in relation to the month number. The key here is that they number is first. This means that if your browser supports it, you can start typing with the field selected and get straight to the month number. Also note how this field is a two digit number? Add clarity as the numbers will align in the pull down.

Next is the security code, they have a little credit card graphic to indicate where to find your code. Very helpful.

Next you move on to the address information. There is a clear separation between the Credit Card info and the address info. Breaking forms up makes them easier to parse. None of this information is overly hard, but large blocks of form fields can be intimidating.

All in all, this is the best online checkout experience I’ve had for some time.

Percentage of Mac Use by University of Virginia Students

Daring Fireball has a link to the a study of the computer statistics for the student body of the University of Virginia. You can find the article here. The most interesting chart for me is the last one about the number of Macintosh users versus Windows users. The table is interesting, but I would also like to see the percentage of user population, not just the hard numbers. So here is the same data put in percentage of user base using Mac OS and Windows.

Year Percentage Windows Percentage Mac Percentage Other
1997 92.51 6.60 0.89
1998 94.26 3.22 2.52
1999 94.96 3.51 1.53
2000 96.39 2.80 0.81
2001 96.24 2.85 0.91
2002 94.86 3.55 1.59
2003 95.68 4.03 2.90
2004 89.20 8.26 2.53
2005 86.38 12.97 0.65
2006 80.28 19.59 0.13
2007 73.05 26.66 0.29
2008 62.28 37.46 0.26

While the table is interesting its hard to really see the trends. The Bar charts at the original site are useful, but I found a line chart much more conclusive. It cleary shows the trend of macintosh percentage as it climbs. If you’re a fan of Windows, this might be a little disheartening as it very clearly demonstrates that while Macintosh use is on the rise, Windows use is on a significant downturn.

Windows and Mac Percentage at UVA