Wednesday, August 25, 2010

Access to Google App Inventor

I received access to Google App Inventor today. Stay tuned for a basic run down of features over the weekend.

Sunday, August 15, 2010

Google's Don't Do Evil and a slippery slope (Part 1)

I remember my first interaction with Google. At this time it was still at google.stanford.edu. Slashdot was abuzz with praise and I started using it in conjunction with Altavista. 
The market was flooded with search engines: WebCrawler, Altavista, Excite & Yahoo just to name a few but Google had that scrappy feeling that big kids lacked. Clean user interface, no obvious in your face advertising and frankly a better page ranking algorithm even back then. But this post isn't about the free market and the formation of natural monopolies. 


Fast forward 3 years and everyone is using Google, still its clean... no annoying in your face ads etc. Then comes AdWords. It was revolutionary and didn't have flashy banners breaking up the clean lines of the the interface. 
So I didn't mind it, it wasn't intrusive to the experience and frankly they had to figure out a way to create revenue from their popularity. It was targeted on your query back then and maybe even a little helpful. Don't do evil was still the name of the game.


The problem is the vast array of data that Google has aggregated on everyone of its users. Their retention policy right now states: "We believe anonymizing IP addresses after 9 months and cookies in our search engine logs after 18 months strikes the right balance." I would imagine a psychologist given access to Google information could create a frighteningly realistic profile of almost anyone at this point. Also do they really anonymize your personal search results, or just their search logs? Google's Search logs would be a social science statisticians dream.


But hey there is always "Don't be Evil" right? I'm not so confident anymore. 


Google Advertising has now become intrusive with their retargeting abilities via Double Click and their own network. Retargeting is great for advertisers and a number of people I have spoken with swear by it for marketing purposes. The moral here is just because it works doesn't mean it's a good thing.


To me it highlights a very important need for any professional: browser and profile separation. 


I run Google Chrome for my normal day to day business activity, Firefox for my personal browsing logged into a different profile and another instance of Firefox for customer engagements and presentations.


There are several reason to do this:

  1. You don't want your professional and personal profile linked on the Internet at all. Engines such as Pipl do a great job at looking up your information based on your email and your client really doesn't need to know that your music tastes include Xzibit, Eminem, Phil Collins and David Hasselhoff does he?
  2. You want relevant ads to pop up to the mode your brain is it. When you are researching a new software option for a consulting customer you don't want an ad to pop up about this nifty new gadget you've been looking at for your kitchen. Limited time offer? Must click!
  3. You are doing opposition research and are looking at your competitors website. The retargeting cookie is set in your browser.
    The next day, you are working with a client discussing some of his options with them and want to show of this great new blog post someone wrote about your product/company/work. Nothing builds confidence like an endorsement, right?
    You go to the blog which uses Google AdWords and Double Click to monetize its userbase.  There is a retargeting ad above the post and in conjunction with yesterdays cookie and the blog being on the related subject matter it shows an ad for your competitor. At best I would consider this bad form, at worst it might make my customer aware of an 'limited time offer' I'd probably end up having to match.
  4. Even worse, imagine if a personal cookie of yours causes an ad to show in the exact same scenario for something personal. It could be a political campaign  or a store for model trains or whatever. None of your customers business right? Could this cost you your customers cost business? You bet!


Is this three browser infrastructure the optimum solution? If you want profile separation, yeah.

If you just want to avoid scenario 4 a quicker way would be enabling an Ad Blocker before you go to your client. I can definitely get behind that idea. I don't support constant use of Ad Blockers. The vast majority of Internet content is financed by advertising. The constant use of an Ad Blocker would be a form of stealing from the creators of the content you enjoy. Tread softly, or we will all be faced with a million pay walls in 3 years.

AdBlock for Chrome

and 


AdBlock Plus for FireFox

Friday, August 13, 2010

New Android Voicesearch

Google has premiered a new VoiceSearch application. It expands the capability of Voicesearch by a significant margin.
With this update Google has eliminated the Android platform market for Vlingo, Vlingo sells for $9.99 on the Android Market a pretty good app actually but essentially its capability is now a standard Android feature. Is this going to be a trend? Will Google adopt popular features that expand Android into its general product offering? As a consumer I'd love that but looking at it from a developer point of view it would scare the heck out of me.

New features include:



  • send text to [contact] [message]
  • listen to [artist/song/album]
  • call [business]
  • send email to [contact] [message]
  • go to [website]
  • note to self [note]
Full feature listing is here on the Google Mobile blog. 

As of right now if you are using CyanogenMod on your Android phone, you will have to do a little hackery to get this to work due to an apk signature issue that is being addressed. The walk through on how to it go work is here at the Cyanogen Forum.


Update: CyanogenMod 6 has updated to Release Candidate 3. This includes the new voice features. Get it here

Links in post:

Air Travel

Quick fact: I have spend at least two solid months of my life in an airplane at this point. 

Quick Fact 2: An updated Dante's Inferno would definitely include airplanes without air conditioning as a punishment

Wednesday, August 4, 2010

Where to host your site

After being a happy A2 hosting customer for a number of websites I maintain I've decided to see if the grass was really greener. The site I am working on promises to be the most resource intense site I've ever put together. Even with caching etc. there will be a fair amount of CPU intense operations. No bandwidth concerns but processor and memory requirements seemed higher.

So I started a FatCow account after reading some reviews on the net. I put my mock up site on a private domain on my server and started working on the site this way rather than using my trusty old (and I mean old) intranet server. It was slow, dynamic tasks crawled and the bandwidth wasn't great. Googling 'Drupal Fatcow slow' gave me a little bit more insight into what was going on here. FatCow simply didn't lend itself for Drupal. I'm not making any judgements on its ability to do anything else, but for Drupal I would definitely not recommend it. Their no-bull money back guarantee turns out to be full of bull and I received a partial refund. 

At this point I contacted my customer and asked him what type of budget was in the realm of the possible for the hosting part of it. Looking at their cost benefit matrix loosing even 1 customer per month to CPU or memory allotment issues wasn't an option. I spend the next couple of hours researching hosting. We didn't need a dedicated co-located box but a VPS seemed like the perfect solution. Now VPS servers can range from from as little as $10 per month for 128megs of ram to $800ish for around 15gb of ram. Thankfully due to a misspent youth and career using Linux for everything from file servers, pbx's, terminals to webhosts I felt like I really didn't need the hand holding a lot of the hosting companies give you. I'd rather have fewer safety wheels and more memory.

This left me with Slicehost which is owned by the famous RackSpace and Linode both of which allow you to install a Linux  flavor of your choice and leave you to your own devices after that.
Their entry level, which is all I required, offerings compare on 4 basis options: memory, hd space, bandwidth and our course price. 

Both entry packages cost ~$20 but Linode offers more paper bang for the buck 512m ram vs 256, 16gb of space vs 10gb, 200gb of bandwidth vs 100gb. So I ended up going with Linode and I really enjoyed the process, setup was quick, configuration was quick and after that it was just a matter of setting up the right repositories and some quick command line to get everything ready to go. Installing certificate based SSH authentication should enable me to avoid brute force annoyances, even though I may have to add some auto ip ban triggers soon. 

How does it compare to shared hosting? Well, obviously its more expensive but by the price of a lunch per month yet the speed improvements are amazing. Fast, responsive, complete control and most importantly if my customer where to outgrow this the upgrade path is very quick. Worst case scenario, we get another node and move the DB server to it. That should allow us to be one step ahead of our user base at all times.

I like it

Drupal Corporate Site from Scratch with all the helpings

In the last two months I have spend a fair amount of time looking at CMS solutions for a corporate/ecommerce websites. My old go to program was Joomla that I had used for two corporate websites in the past but had a love hate relationship with. 

The site had to be able to do the following:
  • CMS Functions
  • Blog Function
  • eCommerce w/ affiliate & coupon functions
  • newsletter sign up
  • trouble ticket management 

As I've said in a previous post I had looked at the following
  • Joomla
  • Drupal
  • SilverStripe CMS
  • ModX
when I was asked to create a web presence for a start up from scratch. I actually ended up theming/coding/whateveryouwanttocallit a full mock up template/theme for each of these and then went on to fiddle with the backend.

Against my expectation Drupal came out the winner in my very limited testing. In hindsight that was an excellent choice. The user base is massive and that really helps with module availability. Sometimes there are six modules that claim to do the same thing and that can become annoying. Especially when you pick one and then find another module later in process you need for another task but it requires another module for the first task. Luckily, I've dodge most of these issues and trust me, its been purely luck.

Once the CMS is picked you get to do the fun part. Which is step away from the computer, or go to your favorite mindmap program and map out:
  • Your basic page infrastructure. What are the top line pages/categories
  • Which pages do you need to tell your story?
  • Do you need career, investor relations etc etc etc
Then you go on to wireframe the first page of the site. This is where I pretty much pride myself of my work. I consider myself very user-centric in my layouts and designs. Pretty and user-friendly can co-exist. Once you get this together, do your mock up. I'd recommend using the Fusion starter theme as a beginning point. This allows you to do most of your work in CSS and makes changes easy to implement if you know what you are doing. 

Now before you show this to your client, you probably want to have a couple of friends take a look and critique it. More eyeballs is good in this situation. By the time your client sees the first functional mock up all menus, login etc. should be working and have lorem ipsum place holder text. Now you can do a very productive back and forth with the client and implement their changes while slowly enabling modules you may need for functions. 


Technology and Context

cross-posted on medium and LinkedIn    This blog post will be the first installment of a multi-part series on technology, data, self-optimiz...