Archive for category Google

HTML5 Site – Waterford Family Bowl (Part 3 of n)

This icon, known as the "feed icon" ...
Image via Wikipedia

(Back to beginning of series)

Part 3: Site Architecture Design

Now that I had the majority of the HTML and CSS down, I had more to figure out about how to implement the various features (like image gallery, news,and mailing list). Should I write my own, or should I use existing tools? What language should I use? What database system? Which pages should be static, which dynamic? The process of building he site was all about efficiency: getting the most done, using the best tools, in the least amount of time. That would allow me to focus as much time as possible in my before my deadline towards the things that will make a difference: site design, usability, and the the use of the features on the site.

I came with the conclusion that I could, and should, develop most of the data management using external tools. Spending time re-inventing the wheel and rebuilding tools that already have dedicated teams would be wasteful, especially when they all had some sort of hook (mostly RSS feeds) that I could just pull into the site. I was familiar with all the 3rd party tools I needed, so I was already comfortable with using them and knew they had the features that I needed. I came up with:

  • Google Apps for email and calendar
    • Here’s a good tutorial. It was a little messy at first, but it gives you an iframe (the only standards-breaking thing on the site… thanks, Goog) that you can just drop in.
  • Picasa for photo gallery
    • I chose Picasa for a few reasons, the largest of which was the integration of the Google Apps account. While there’s no “Picasa” section of Google Apps, I could use the account I set up to minimize the logins I’m using, now that I’m using four tools. I used the RSS feed to export to the image gallery and to make an image gallery  RSS link on the home page.
  • WordPress for dynamic pages and news
    • The reason I used WordPress, and I didn’t just slap together my own editor, was the WCM Page Feeder plugin. It allows you to serve individual WordPress pages as an RSS feed. This means that I could use WP’s superior news-serving tools along with their page editing tools with very simple integration. I also added an RSS link to the home page, for news.
  • Pommo for mailing list management
    • I tried out a few tools, and found this to be the easiest to set up. Makes adding an email form pretty simple, manages everything for me. Another several hours saved to these guys. Here’s some credit :D

I also used a couple 3rd party PHP Libraries so that I could hook all of this lovliness together:

  • Simplepie RSS Reader
    • Note: I had to switch my WordPress RSS feeds over to Atom, even though SP claims it can read the RSS 2.0 standard. This was a simple checkbox in the “Writing” section of the WordPress settings.
  • phpmailer for mail functions
    • A little messy to set up to go through Google Apps mail. I had to set these settings in class.phpmailer.php in order to connect without errors. Once you have this part right, though, you’re good to go. I’ll go into more detail about this in the next article.

Once all of these tools were in place, it was a simple matter of dumping their content, using Simplepie, into my template. I’ll talk about the actual hooking up of everything, and setting up the custom code I did write, in the next article.

Reblog this post [with Zemanta]

Tags: , , , , , , ,

A Switch to Chrome (Mostly): A Followup

performance-google
Image by nDevilTV via Flickr

A follow-up to my original post from July, a mere 6 months ago.

I have, now, totally switched to Chrome. And yes, it was exactly for the reason I fully expected to: extensions came out. Sort of like Google’s this big Overmind that watches all…

Then again, I guess it is, isn’t it.

Anyway, the performance difference between FireFox and Chrome is clear. In direct contrast to one comment left on my original post, I have as many extensions in Chrome as I do in FireFox, performing the same activities (with one caveat)- and it is noticeably faster. I load up FF when I do IE: to test the differences in rendering engines across browsers, so that I can fix the CSS and Javascript bugs. To be fair, FF has the best debugging (that version of FireBug is far superior to anything I’ve seen yet), which makes testing so much easier. But, FF is on my machine only for that. For debugging. Not for browsing.

Honestly, I see absolutely no compelling reasons to use anything but Chrome; it’s what I install on all of my relative’s computers, and it’s what I use every day at work and home.

All hail the Overmind!

Reblog this post [with Zemanta]

Tags: ,

Google PageSpeed, a Beautiful Thing

Image representing Google as depicted in Crunc...
Image via CrunchBase

More Google loving! This time, it’s a plugin for Firebug (the best tool in the world for developers- get it now) that Google created, called Page Speed. Here’s the breakdown, and here’s why it rocks.
Page Speed analyzes your code, running the same checks that Google uses for their own sites- checking for things like unoptimized images, un-gzipped code, slow CSS, uncompressed Javascript, and more; and then it delivers you a neat little report, which you can then use as a checklist of things to fix. Page Speed allowed me to cut over half a meg from the page requests from one of the projects I was working on; kind of a big deal. Even if you think your application is amazing, there’s a small chance that a quick 20-second test can tell you something that’ll save you bandwidth, and by extension, money. Saving money is good, and saving your visitors time and bandwidth is great.
Check it out, and revel in the awesomeness.

Reblog this post [with Zemanta]

Tags: ,

Tracking AJAX in ASP.NET with Google Analytics

Google analytics for recruitment
Image by carveconsulting via Flickr

(skip down a little further if you don’t need an introduction to Google Analytics.)

I love Google Analytics. In fact, I’m a big fan of Google as a whole, and I do the majority of my work using Google Docs, Calendar, and Gmail (online collaboration! oh, and free) and Google Analytics is a beautiful tool for businesses, whether their website‘s primary focus is online sales or just a small info-about-my-business site. If you don’t have some kind of tracking, you’re missing out on very important information; GA is a good place to start. Anybody can put GA into their website, and everybody should put something in.

The way GA works is by dropping a snippet of Javascript into your page; this javascript runs a series of tests against the visitor’s browser, checking screen resolution, flash capabilities, seeing if the user is unique, watching the user’s path through the website, checking the user’s location, and much, much more (all collected anonymously). This is all put into an interface where you can see the data collected and organized. However, AJAX applications don’t function as normal websites- you don’t get a new page hit every time you fire off an UpdatePanel, because it’s not a full page refresh. So, we need to do a little trickery to get things to work the way we want them to.

(you can start reading again if you skipped earlier.)

If you have the Google Analytics in the host page (whether the aspx page, or more likely, the master page), then you have to register a client script block that calls the trackpageview method. If you use jQuery, it’ll look something like:

ScriptManager.RegisterClientScriptBlock(UpdatePanelID, typeof(UpdatePanel), "uniqueIdentifierString", "$(document).ready(function(){ pageTracker._trackPageview('/pagename'); });", true);

If you’re not using jQuery, you’ll have to do a little more work to attach to the window’s onload event, but it’s pretty similar.
What you’re doing is registering a script block to execute when the UpdatePanel updates (because it won’t execute JS returned in the text), and using the pageTracker object (that the GA code you copied when you first set up GA on your site created) to force a pageview for a page you define. For my applications, I generally use something like “/dataentry/guestbook/edit” or “/dataentry/guestbook/delete” so that I can easily track guestbook views, as well as edits / deletes. It’s both a way to track controls you load via AJAX, and a cheap shot at logging (not perfect data, though, so you’re still best off doing all of your own logging on events, of course.)

The official Google help doc on the subject is also here: http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55519

Reblog this post [with Zemanta]

Tags: , , , , ,

A Switch to Chrome (Mostly)

Google Chrome
Image by Matrixizationized via Flickr

I’ve almost totally exclusively switched to Chrome, kind of.

It’s so much better than FireFox. Don’t get me wrong- FireFox is great- but it’s just not Chrome.  I recently caught myself in the act of groaning when I had to open up FireFox just so that I could run (the absolutely FANTASTIC) FireBug, the same way that a year ago I groaned when I had to open up IE for testing. It just takes so long to boot, and in those eight seconds, I could have opened Chrome a dozen times. I’m writing this post in FireFox because it has Zemanta, not because I want to.

It’s strange when a browser that I fought against, and then fought for, fell so quickly when Google threw it’s weight into the arena. I was crazy about FireFox; every day I extolled its merits to coworkers, to family, to strangers who happened to glance my way. I do the same thing now, but haltingly, with a line like  “but if you really want to see something fast check this out,” as I load up Chrome.

Oh, come quickly, Chrome extensions, and may I banish FireFox to the realm of “browsers to load when testing”. FireFox, it was great while it lasted. Maybe someday.

Reblog this post [with Zemanta]

Tags: