Tech Notes

This is a quick commentary on why some of those programming tasks that seem “easy” are never quite what they seem, especially in new, more object-oriented programming packages like Flash.  I hope this helps some of you out there plan better when you are trying to budget projects.

First, its important to understand how most OO programming works.  These days, most web code is done in “snippets” meaning bits of code that are attached to an object.  This is great in that it creates more efficient code, that is easier to read when you open the object, and when it runs, the only code executed is the necessary objects.  All makes sense, right?

But what happens when you go to edit such a file without knowing the “object-model” – that is the way the objects are put together?  It used to be, with procedural code, you could open the top-level file, look at the files it includes, open them, and then search through all the files to find functions you had to edit.

Now, with OO coding, if you don’t know how the objects are put together, say in a Flash file that has 150+ objects, some executing code, some not, then you have to sort out which one is connected to what, how they are named, what their instances are, where the code lives and what objects it activates when.

Sound complicated?  It is.  And its why some of those changes that seem “simple” like “just adding a few animated graphics to a file” can actually be hard and time consuming.  Adding those graphics means finding the right layers in the file where the graphics belong, locating the objects that are animating the graphics, sorting through the code for those objects, finding the arrays that are animating the graphics, and then adding the appropriate details and linking in the graphics properly.

So, when you are trying to budget your web development projects, consult with a pro.  Certainly, you could be a “pro” – if you know the complexity of the object model for your source files.  But if you’ve no idea what I’m talking about, chat up a pro about how hard it is to do something.  Give them a detailed description of what you want to do, as detailed as possible, and let them look at the files.  In some cases, they might need some consulting time to properly gather requirements.

What are requirements?  I’ll talk about that next time.  Check back in a week or so…

Google’s changes are an issue, but not for the reason originally reported.  Consolidating and using web history is an issue if you don’t want them to do it, so here:

http://www.digitaljournal.com/article/320137

That is how you remove your web history from your Google account.  Do it before March 1 (so in the next 4 hours).  Disappointing when a company that speaks rhetoric about freedom violates it.  Very.

Here’s a video:

http://www.youtube.com/watch?v=omIyTNB8UNY&feature=related

 

I was talking to an associate who expressed concern about the new Google Service Agreement and I wanted to post.  He was concerned that the new agreement could be read as Google taking license with people’s stuff…not so.

The part that seems to cause everyone heartache on the Google agreement is this:

“When you upload or otherwise submit content to our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content.”

Various lobbying organizations and elected representatives keep trying to make technology providers who offers tools like Google Docs, Google+, Facebook, Twitter, Gmail and any other web organization that offers software on-line legally accountable for the content they transmit.  So, if JimTechBoy posts copyrighted material on Facebook, or YouTube, instead of you being responsible, Facebook and YouTube is responsible.

This is an awkward, monolithic way to try and handle piracy.  The violation of sharing copyrighted material was by JimTechBoy when he copied the material and posted it, but Jim’s hard to find, he doesn’t have as much money as Google, so the lobbyists and legislators are trying to find ways to make the carriers responsible.

Problem is, doing so would end those carriers abilities to pass on content.  The new Google agreement clarifies language and makes Google more protected against such issues.  The license you give by posting your content is necessary, if you don’t grant Google a license, they cannot share your content in any way…

Free distribution of information is imperative to our global culture, and even our local relationships now.  Trying to restrict it because a few people break the law will further damage our economy, our ability to relate to the world and one-another and negatively impact all my clients.

So, I’m in favor of companies like Google protecting themselves carefully.  Does not mean they are going to suddenly start stealing anything.

Well, well.  I was checking my news feeds this AM and I see this post about project Spartan.

http://techcrunch.com/2011/06/15/facebook-project-spartan/

Seems that there’s a top-secret project at Facebook to implement an app delivery service on Safari to target the iPhone and iPad.  It also seems that the social media giant is working on a major update to their photo apps:

http://techcrunch.com/2011/06/15/facebook-photo-sharing-app/

I know many small business contacts who still shy away from Facebook not sure how to leverage their time there.

What this means to you, if you are a small business client, or just someone who follows our blog for tech advice and strategy is that if you haven’t figured out how to use Facebook to connect, network, and grow your business yet, you need to do that.  LinkedIn is a great business, professional networking site, but at this point it should be pretty clear to most of us that the mobile world is going to be very important to our future in business communication and networking.  Already, we use our phones constantly, most calls are mobile-to-mobile these days, and we use email, messaging, and more constantly.  Its only natural that social media would make that migration too.

And Facebook is putting resources and effort into being a major mobile social media player.  It will help you if you are comfortable using it.  As usual, if you want help, we’re happy to provide consulting and assistance.

So get in there!

I don’t often do this, write a recommendation to avoid someone’s hosting services, however, this example of incompetence is so strong that I feel I need to say something.

I was helping a client migrate from shared hosting (as in shared with other unconnected businesses) on 1&1 to their own  hosting solution.  We moved the domain to the new solution, leaving name service pointed to the 1&1 hosting, to protect the clients active email boxes, until we could make a careful planned migration of the email, hoping to avoid interruption.

A few weeks in, 1&1 deleted the remaining hosting account.  Yep.

They just deleted their customers digital property, without asking, checking anything, or keeping a back-up.  Worse, they defended the action by saying we should not have moved the name registration, which demonstrates a complete failure to understand basic concepts about how name registration works.  What we did, was basically the same as having a domain registered with Godaddy and hosting it somewhere else.  Millions of accounts are set-up that way.

So, my client lost email service in the middle of the business day, for a whole day while we moved DNS, and lost correspondence.

All 1&1 had to do was check their logs, or name service, to see live data in the account.

Deleting your customer’s property, without contacting anyone or checking anything, then telling the customer they are in the wrong, is just horrible customer care.

I am sorry to have to say; Don’ t host with 1&1, just don’t do it.  Their disrespect for this customer was frightening.

A technical recommendation; a long-time client just lost several months of medical data from a crashed hard-drive and has to re-enter it from printout.  It will cost them $1000’s.  I hate to see that.

If you are *not* running a web-driven backup solution then go set one up now; they are reasonably priced, effective and protect from exactly this problem. Here’s my favorite.  I am paying about $17 a month for over 350gb of backup and online storage.  There are plenty of other services, I researched quite a few, and in my assessment, this one was the best.

Live-Drive is cost-effective, easy to set-up, works on both mac and pc, and allows web-based access to files.

http://www.livedrive.com/?tid=3XJRWCF7

Live Drive offers Back-ups and BriefcaseOnce installed, it has a pretty easy to use control panel with two major services:

The briefcase service maps a web-folder to your computer as a network drive, works with mac or pc…or even FTP, so if you use Linux (like I sometimes do), you can set up a script to ftp to it as well.

Plus, there is a web interface on livedrive.com that will allow you to access, download or even view some files on-line.  So, if you are ever at a client’s site, or friends, and forgot something, its there if you can get to an internet connection.

We are most interested in the back-up services.  They are pretty easy to configure.  At install, a wizard will walk you through set-up, and if you ever need to change settings you can open the “live drivecontrol panel” from your start menu and modify the backup settings in the services tab.

Select files from the tree.Click the “manage backup settings” you will get a file tree.  To make sure that you get proper back-ups, you need to know where your various software stores the information you want to back-up.  In current windows software most information is stored under the user directory under “appdata” but some older programs (like the medical billing program this client uses) store data in directories off the C: drive or elsewhere.  You can usually find out where data is stored by looking in the software’s preferences or settings.  If you have trouble, contact the vendor, or let someone like me know, who can probably find it by remote desktop if needed.

The first back-up may take several days to run, so just leave the computer on, after that, it runs small changes and goes much more quickly.

If you don’t like LiveDrive, use something, just make sure you back-up your work.

I’ve been dealing with a hard-drive crash in my Dell laptop the past couple of days and its opened my eyes to what I consider to be a serious issue in the technical industry.  The tech industry has become central to our culture, part of our identity in modern times.  So what happened to the customer service?

For example, in the past 2 weeks for my Dell Inspiron 1545 I needed a new keyboard, hard-drive and restore disk.  So, what do I do?  Go to my account on support.dell.com, login and start digging around…when I cannot find anywhere to download the operating system software, and no replacement parts link, I try to open a chat window.

They want me to pay for out-of-warranty chat (oh and don’t try this in IE 8, all the dell support links break the 2nd level in).  I try to call support; they transfer me 3 times taking up 40 minutes until I get to a guy that says he can only help me if I give him a credit card and approve a $35 fee.  Finally, in frustration, I hang up on everyone and call in to Dell sales.  They give me the Dell replacement parts line.  This fella wants to know the part number off my keyboard to send a replacement, and I have to pay for the operating system disk to restore my machine.

Uncle.  You win Dell, you’ve got great hardware, good prices, but I don’t ever want to have to talk to you again.  Ever.  I’ll have to, I’m sure, but you wasted enough of my time giving me the run-around when I was just trying to buy stuff from you to keep my machine working.

My dell is now using a $62 after-market SATA drive that I bought at Software & More around the corner from here (great guys, if you need computer stuff in Salt Lake City, go to them, they are honest, forth-coming and respectful) and its running Ubuntu 10.10 while I try to figure out what to do about the Windows 7 license printed on the bottom of the machine that ought to give me license to an operating system nobody will give me…

Granted, there’s no chat or phone support for Ubuntu (unless I pay for it) but there are literally 100’s of forums full of people eager to help me with anything…the big computer companies don’t even have community pages.

There’s something very wrong here.  In an industry that is leading our culture, talking to a major player, I couldn’t in 2 hours of time get a sales rep to help me.  What does that say about where we are headed?  That a major industry player cannot even successfully sell me a component I need to keep my machine running without putting me off to 3 different team-members, in 2 countries, over the course of 2-3 hours?

Dell, Gateway, Microsoft and any other big boys listening, you gotta wake up.  I think it was Heinlein that said, “You can tell the decline of a civilization by the ways its people treat each other…”

Doesn’t bode well folks.

Then again, Software & More, the neighborhood store…the sales rep said to me, “Hey, if you have any trouble, call us back and come back in, we’ve a tech right here…I’m sure he’ll talk to you about any issues you’ve got.”

Next laptop I buy will probably come from those guys, even if its a bit more money.

Maybe its just the big boys with the cultural issues around customer service…that would probably be ok with me.

There are so many Open Source systems for websites out there, that I thought I would take a moment to explain a bit about when to pick each one, they all have their strengths and weaknesses, pros and cons.  There isn’t one “solves it all” type system, so if someone is telling you that, its because they would rather work with what they know, than what you need…

We’ll talk about a few of the big boys here (WordPress, Joomla and Drupal being the most obvious), and a few of the up-and-coming (ModX and Concrete5) here.  Basically, when selecting an open source system to run your website there are several things to take into consideration:

  1. What does your site need to do for visitors?  What features do you need, like a store, or login system?
  2. Who will manage the site?  How much will ease of use impact them?
  3. What growth can you anticipate?  What features might you want down the road?
  4. How important is custom design and layout?

If you want a site that primarily communicates to visitors, provides information, you are not too concerned with additional features, like a web store, mailing lists, forums or providing custom information to a selected group, then that’s one set of requirements, if you need a site that provides login, user accounts and gives people information customized just for them (like a site that looks up account information for them), that’s a whole other set of needs.  Throw design and layout control into it, and it can be hard to pick the right system.

Picking the wrong system can hamstring your web site functionality, cost you $1000’s and delay you significant calendar time.  As with most of our posts, if you would like some help, just contact us.  We do requirements gathering and analysis, and can help make sure you pick the right system.

Here’s our take on a few different systems – don’t get caught listening to a technophile who loves one particular system and thinks it can be used to solve every problem.  That’s not reality.

WordPress: Fantastic blogging system that’s got a bit of content management to it and literally thousands upon thousands of plugins, themes and extensions that allow it to do more.  At its core, WordPress is designed to do one thing and to do it very well, manage a blog.  Its concepts and design from the ground up is focused on managing posts and communicating about posts.  It does that exceptionally well, and if that’s the core of what you want, posting information in a blog structure, WordPress is your platform, hands down.  If you want something else, like control over page organization, user control to limit access to areas by group, changes in how information is presented, or a site that’s not generally “blog-feeling” then using WordPress to do it can get complicated and feel like a hack.  For ease-of-use in setup, WordPress is a good pick.  They’ve made plugin management and site management simple enough for a novice, but with that ease of use, comes limitations; its very hard to make WordPress do stuff differently.  If you expect to run a site that communicates information, where posts can serve as news updates, you don’t mind that information model, and ease-of-use is a factor, go with WordPress.

Drupal: This is a *great* content management system and its track record is undeniable.  Large scale sites like whitehouse.gov (yep, them), economist.com (yes that one) and fastcompany.com (no?  Ok, so you’re not a business geek) run Drupal.  It performs well, has an excellent cache system that sustains performance on large scale sites, has against 1000’s of extensions and has user-access control that can be find-tuned to allow person A to edit this set of pages, and person B to edit those without touching each other’s work.  But the interface is confusing, the information model is challenging, and you need to understand code and website basics to install themes and extensions.  In short, its a professional’s CMS.  You can have someone set it up for you, but unless you know what model-view-controller (MVC) is and know how to link a CSS file to a PHP template file, you’re likely going to have trouble upgrading, extending or re-skinning it.  Its a favorite or us freelancers who set sites up for clients, because content entry can be easy enough, and its very flexible, powerful and robust.  If you expect to run a large-scale community site, need customizations, user access control, a powerful system that can handle large-scale sites, and you anticipate having good tech skills, go with Drupal.

Joomla: For a long time, Joomla was our “favorite” content management system at Techivity/VorpalJack and with good reason.  Joomla bridges ease-of-use between Drupal and WordPress, provides good site control over things like menus and objects on a page.  The template system is easier to customize than WordPress, the administration interface is more intelligible than Drupal, and there are again 1000’s of extensions and templates out there.  Again, it does have weaknesses.  It has a limited user-access model, so its very hard to control access to content items or other resources on a user or group basis.  The plugin and extension management system, while easier than the one in Drupal, is much harder than the one in WordPress.  Performance-wise it does well enough, but its not tested on the large-scale sites the way Drupal is – but ease-of-use…well, I’ve had clients whose computer skills were very limited managing their sites in Joomla.  If you need a content management system that provides more customized ways to organize and present information that WordPress, is easy enough for the uninitiated, and you are not concerned about controlling information by user, Joomla is a great choice.

Here are a few of the up-and-coming cms and website systems.  As a whole, the issue with this group is that there’s not enough community support yet to have the quality and breadth of extensions:

ModX: A great content-management system with really health engineering design, careful management, and next-gen tools, ModX is a bit confusing (like Drupal) on the admin side unless you code websites, then its a dream come true.  Uses Smarty for its template system, so if you don’t know what that is, you won’t be skinning it.  ModX is a good choice if you’re hacking together a website for a client that is a basic site, but has to be custom organized, and its a great choice as a foundation for acustom system.

Concrete5: Much like ModX but a bit easier to use, Concrete5 is a wonderful cross between open source and commercial.  The core system is free, but you can buy extensions right in the admin interface.  Its easier to use than ModX and Drupal, maybe even easier than Joomla, but its speed and performance comes into question on sites with higher traffic, so be wary of choosing it for a major site.  Again, a great system to hash something together for a client.

Ok, there’s a perspective.  Come talk to us if you want advice.


This post is about getting set up with two incredibly useful tools; Google Calendar, Google Docs and gmail.

Google Calendar allows you to have a calendar that syncs with most mobile phones, can subscribe and share event information with other calendars, sends reminders and notices and is completely free.

Google Docs allows you to create and manage documents online, including spreadsheets and forms, you can share them with others and it keeps a complete revision history.  Again all free.

GMail is old-hat these days, but when combined with these other two, it allows you to connect contacts to appointments, sync contacts to your android phone and desktop automagically, and Google has been adding new features.

The first step is to create a google account to use calendar, docs, etc…this also has the benefit of giving you access to google analytics (as discussed in our getting started with Google Analytics article).

Here’s what you can do with a Google Account:

  • Access free Google products (i.e.  iGoogle, Picasa Web Albums, Blogger, orkut, Google Groups, and so much more)
  • Add a Gmail address to your Google Account (does not affect your existing account but adds features)
  • Use Google AdWords and Google Checkout

This doesn’t have to be a gmail account, but those are free, easy to forward to another box, and make a few things easier, so the instructions on those are below as well.  The link to create a new google account is:

https://www.google.com/accounts/NewAccount?continue=http://www.google.com/&hl=en

That form is pretty straight-forward.  You do not need a gmail account to create a google account, you can use your current email.  Fill in the form, you’ll get an activation email sent to the email address used.

Once you get the activation email, and click the link in it, you’ll be able to add your mobile number if you like – that’s useful especially if you have a Droid phone!  Either click “Manage my account settings.” on that validation page, or just go to https://www.google.com/accounts/Login to sign in to your account with your email address and password.

You will see the Google account services window:

Google Account Interface

We are going to set-up Google Calendar and GMail first – remember that although you already have an email account, having GMail will allow you to use GMail contacts, which will sync with your android phone automatically (as will calendar).

Google Calendar

Click on the link on the bottom that says “More” – that will take you to the huge list of free Google Apps you just got for yourself.  On the right-hand side there is an area entitled “Communicate, Show & Share”

Google Apps List

We will talk more about all of these tools, because they are incredibly useful, but for now, on the right hand side, click “Calendar” which will lead you to the first of the Calendar set-up pages:

Google Calendar CreationFill in your name fields, location, and DO select the right time zone, that’s important for getting appointments right and sharing across calendars.  The next screen you see will be your calendar.  We will do a separate post on using Google Calendar to highlight some of the features and settings, for now, you are set-up.  Try clicking on a date and time – that will let you create your first event.

Configuring GMail for Contact Use

Ok, now lets get GMail set up for contact use, so you can add contacts and link them to appointments.  To keep this simple, click on the word “Mail” on the upper left:

Click on "Mail" to get to GMail

Which will take you to the GMail setup screen.  Again, its a form, pretty straightforward – but here, I highly suggest you click the “Check Availability” button to save yourself some time.  You’re going to have to pick something that is unique.  For example, “techivity@gmail.com” is already taken.

Click "Check Availability" when signing up with GMail.

The password field should be filled in with the Google Account password you just set-up.  The next step is an account verification step where you can get a phone call or a text message to verify.  Email allows too much fraud on free accounts, so tolerate this with some pride knowing Google’s at least trying to provide good anti-fraud practices.

Oh, and you will have to enter the verification code they give you, so if you pick phone call, grab a pad and pen.

Once you enter the verification code, you will see an entry-way page to your new GMail account.  You can spend some time with those videos and instructions, or just click “Show me my account” and get going.

Now, as promised, here is a quick note on how to forward GMail to your original address, so you can just use contacts and don’t have to check GMail separately.

  1. On the upper right side, click on “Settings” to open the settings window
  2. Towards the center, in the first yellow/orange area, click on “Forwarding and POP/IMAP”
  3. Click the button that says “Add a forwarding address”
  4. Enter your original address into the pop-up field and click “Next”
  5. You will get a confirmation email, go click on that link
  6. Go back to the settings page and reload it
  7. Now you will see your forwarding email
  8. Check the box that says “Forward a copy of incoming mail to” and tell gmail whether you want it to keep a copy or not
  9. Click “Save Changes” down at the bottom

Ok, now anything that goes to your new GMail account will forward to the original email, you don’t have to check both accounts.  To be sure you got it right, send the GMail box an email from your other account and see if it comes back to you, if it does, you got it, if it doesn’t, go back in and try again, or give us a call and we’ll help.

We will get more into using and configuring Google Apps in future posts, because its a lot of great and free functionality for small businesses and non-profits!

So I promised a post that would summarize the past few months of marketing strategy, Facebook pages and analytics. This is that post; it will give an overview and link to the other posts.  As usual, if you want help with any of this stuff, just contact us – we work in small, reasonable chunks of consulting and development.

Web Marketing Strategy

The point of the few posts on this are to devise a relatively high-level strategy to get folks started on good marketing. The point of good marketing is communicating clearly and effectively. That’s it. Good marketing isn’t to trick people into anything, its to help them understand what you offer. So, here’s what you should make clear:

  1. What problem you solve
  2. How you solve it
  3. What is special about the way your solve it

You also want to make sure that you understand your audience and what appeals to them.  In many cases this means designing your website to speak specifically to types of people or market segments.  For more information, stay tuned, and check out the posts tagged as Web Marketing.

Analytics & Tracking

The really key thing for analytics and tracking is to make sure that you are running a package that tells you:

  1. Who referred people to your site.
  2. How many of them came.
  3. What they did on your site.

From those 3 things you can tell what interests people have, what sites and phrases are bringing them to your site, and what they are trying to find when they are there.  Google analytics does this perfectly – for more information check out the posts tagged Web Analytics.

Facebook Pages and Social Media

You can (and should) set up a Facebook Page for your business to keep it separate from your personal profile.  You should be conscientious about what you put in the public arena (you are what you publish) – you wouldn’t expect to run around naked in public without consequences, and you shouldn’t run around the web that way either.  For more information about setting up a Facebook page and connecting  a blog toFacebook and  Twitter, or on social media strategy.  Check out those posts tagged Social Media.

Ok so there’s the over-view.  We will get back into using analytics, technical tricks, great open-source packages and more in the future.