Category Archives: Web

Things we rebuild constantly

There are a lot of great frameworks out there that automate the things we end up building over and over again.  They call this “scaffolding.”  With Symfony, for example, you can generate the Admin Console of your website by reverse-engineering the database.

We recently launched Image Monkey (imgmky.com) which automates the processing of images.   This has been a huge time saver for our prototyping.  Instead of writing image code, we can just send our source images through Image Monkey.

What are some other tasks that we, developers, are constantly redoing?  Here’s my list…

User Registration

I’m so tired of this.  User signs up, they click on a confirmation link and have a valid account with an encrypted password in the database.  Drupal does a great job of creating a starter registration framework, but unfortunately Drupal is a nightmare all its own.

Wouldn’t it be great if you could define a registration form in a remote server and import the form through Javascript?  Never worry about registration again.  It just might work.  We’ll see.  Or maybe a better solution is to just build a Symfony user-registration module that can plug into any project.

Profiles, etc

This sorta goes hand-in-hand with registration.  Once a site has account management, you know somebody in the offices upstairs is gonna want the ability to have social media profiles.

 

 


DOM Manipulation with JQuery

If you’re using manual Javascript to manipulate the DOM elements in your webpage, well you’re just…DOM.  What can I say?  JQuery makes life so easy it’s insane.

JQuery is browser-safe and has an incredibly simple interface for accessing elements by id, name, or through a filtered search.

Suppose you wanted to show an alert box that says “Under Construction” whenever somebody hits a button.  An incredibly impractical feature, I know, but the old way was to do the following:

<input id=button type=button onclick=”alert(‘Under Construction’)” >

This is fine on one element, but soon it becomes a real maintenance nightmare.  You’ve got markup and scripts colliding all over the place.  Let’s extend the concept, let’s say I want to change the content of my header to say “Under Construction” when somebody presses my magic button.

The old way:

<h1 id=title>Here is my great website</h1>

<input id=button type=button onclick="document.getElementById('title').innerHTML = 'Under Construction" >

As you can see, this is starting to get messy.

Now enter JQuery.  Take the example above, I’ll separate my JavaScript behavior from the layout.

<h1 id=title>Here is my great website</h1>

<input type=button id='button'>

and I’ll add a separate <script> tag to process the button click…


$('#button').click( function() {// Adds a click listener event
  // here is my logic once the button is pressed
  $('#title').val( "Under Construction" );
});

And there you have it!


Introducing Image Monkey

Have you ever been mid-way into a web app and then thought…ah, I gotta download, configure, and remember how to use Image Magick or some other image framework?  Well, worry no more friends, because Image Monkey (imgmky.com) is here to save the day.

Image Monkey is a web-based interface into image manipulation and caching.  Simply request a URL from Image Monkey and it will handle resizing, caching, and serving up an image.

Say I have an image like this

http://www.gravatar.com/avatar/60a65ef5ca5d0a6f056586bfffd4d98a

If I want a 50×50 version of this image, I can just ask Image Monkey for it and that crazy monkey will make sure it gets done in the most efficient, speediest way possible.

<img src=”http://imgmky.com/gen?key=MYKEY&url=http%3A%2F%2Fwww.gravatar.com%2Favatar%2F60a65ef5ca5d0a6f056586bfffd4d98a&size=50×50″ />

For more info, checkout http://imgmky.com to see how easy it is to resize, cache, and serve images for your webapp. Oh yeah, ImgMky is FREE and open-source! So have a blast.

Image Monkey Homepage and GitHub
~ Sap


FREE Image placeholders speed up your web development

Here’s something kinda fun I found the other day.  If you’re a fan of Blueprint CSS you know that the best way to design a web site is to lay out the content first and not worry about things like colors, graphics, and logos.

To take the concept even further, I discovered a collection of image placeholders created by Gareth Saunders.  This has everything: grids, banners, logos, badges, and more.  Don’t worry about finding the best logo for “Download as PDF” when you’re in the Prototyping Stage (I will write a blog on this soon), identify the approximate size of the logo and use an image placeholder.  They look like this:

Isn’t that great?  Your first prototype should be FILLED with these image placeholders.  You will save a TON of money in buying icon packages from sites like iStockPhoto.com if you WAIT until the site look is finished.

I speak from personal experience here.  Sadly, I have probably wasted hundreds of dollars on clip art and icons that I never ended up using.

Download the whole library here FREE:

http://www.garethjmsaunders.co.uk/blueprint/placeholders


New Firefox, me likey

I just downloaded the newest version of Firefox(7.0.1).  For over a year I’ve been using Google Chrome exclusively because it’s lightweight and starts blazing fast.

For some time, it seemed, each release of Firefox was making the renegade browser slower and slower.  I love Firebug and the Web Developer tools suite, but using a browser as memory intensive as Firefox eventually got to me.  During my hiatus, I discovered that Safari actually had a nice set of development tools including a device simulator.  On a recent call, a client wondered what his site looked like on an iPad and neither of us had the magic device in our pocket so I simply used the Safari simulator to render the site using the iPad view.

Not too bad, Safari.

But the new Firefox has apparently taken a page of Chrome’s playbook.  They’ve reduced the size of the toolbar, cut the fat, and even taken the trouble of upgrading all my plug-ins (Firebug, Charles, etc).

So I’ve set my default browser BACK to Firefox.

 


Gushing over Web Frameworks

I’ve worked with a LOT of different web technologies out there.  In fact, I think I’ve probably touched just about everything in my 12 year career.  From the early days of web development using Classic ASP (barf!), moaning through the growing pains of web advancement as Java Servlets were en vogue, total misfires like .NET (Visual Basic and C#) and Coldfusion until finally settling into a PHP/Perl/Rails/Python world.

I’m sort of “known” for my diversity, in fact, a colleague of mine groaned to me about my web agnosticism the other day, “Robby, you just need to pick something and stick with it.”

Ha.

OK, if I had to choose right now.  Robby, you get to work with one web framework for the rest of your life, what would it be?

Now, there are great things in all the latter technologies I mentioned above. Settling on a single a framework, no doubt, means sacrifice.  But I still feel confident in my answer.

The ultimate web framework is….PHP SYMFONY

And here’s why:

  • Scaffolding, auto-generation is possibly on-par, if only mildly inferior to Rails (much of Symfony is based on Rails)
  • Great IDE support in NetBeans (including xdebug)
  • Great sandbox, dev and testing environment
  • Components!  Partials!  So many goodies to choose from
  • It’s 1000x simpler than Zend or other crazy frameworks
  • It’s incredibly organized
  • PHP is a widely known language and requires less ramp-up than Ruby
What do you think?

 


I love Groupon

The title says it all.  And I’m not talking about the savings from their daily giveaways, vacations, or the cool look of their website.  I’ll say it again: I LOVE GROUPON.

Groupon, in this Blogger’s opinion, is the ultimate Deals Brand.  Once you’ve heard the name you never forget it.  I recently went on a Groupon-promoted fishing trip.  The boat was packed, we all looked at each other and chuckled, “Groupon?  Yep.”

My parents know what Groupon is.

I know there are a lot of superior deal algorithms and business models, but you have to understand what I’m saying…Groupon is the ultimate Deals Brand.  They certainly have some streamlining to do to run their business to reduce the necessary overhead: too many sales people, too much spent on marketing, etc, but that’s just the preliminary growing pains of a powerhouse that, I believe, is here to stay.

Microsoft?  Are you listening.  Swoop this company up now and figure out how to make Groupon Deals a billion dollar business.

I’m excited about the Groupon IPO.  I haven’t participated in one in some time and I’m looking forward to placing my bet that Groupon is going to be here for a very long time.

Some of my colleagues–who know much more about this kind of thing than I do–say I’m crazy.  But I just have a feeling about Groupon.  Even if the company were to collapse and be sold for scrap, I think that Groupon banner will fly high for some time.


Google+, the Facebook killer?

I always think it’s funny when a competitor to a popular device or website comes out and the media races to identify it as a whatever killer.  HP released their own tablet last year to much fanfare which forced inevitable headlines that read Is this the iPad Killer?.  

I love the question mark, by the way.  It sort of allows you to make an outlandish statement without actually siding either way.  Is my blog going to become the most read website on the Internet?  

I got my invite to Google+ a few weeks ago.  The design is straight-forward, you’re immediately introduced to the concept of a Circle (groups of people you can share things with).  Honestly, Google+ is more like Twitter than Facebook.

Google and Mr. October

Google is an interesting company.  They swing a lot…and the law of averages states that the more you swing the more you will miss.  Hall of Famer Reggie Jackson blasted 563 home runs in his 20 year career in the Bigs.  But few know that Jackson also amassed a record 2,597 strikeouts during that stretch as well.  Of course, people don’t remember him for his failures.  Reggie Jackson is Mr. October.

The same is true of Google.  They swing and miss a lot.  Google Buzz, Google X, Froogle, Google Video, Orkut, and Google Checkout to name a few.  They have all the technical savvy in the world, but lack the ability to sustain the good feelings.

I think Google+ is a technical achievement.  It fixes what Twitter lacks, injects some coolness into social networking that Facebook has been missing for a couple years, and has a strong tech community creating original content.

Social users are fickle.  MySpace, our beloved grandparent who introduced us to the world of cyber stalking, how quickly we abandoned thee.  (confession: I like to check out MySpace from time to time to see what my friends were doing in 2007)

I think it’s boring to read a blog where the writer tries to play both sides of the fence when reviewing something.  State your opinion!  So here’s mine:

Google+ will not destroy Facebook.

Ghost town

If it wasn’t for Bill Gross and Leo Laporte, my Google+ feed would be pretty barren. If I post a witty comment, I don’t get the +1′s, pithy discussions, or the reposts I get on Twitter and Facebook.  The community just isn’t there.  The site is not open to the public and I’m already getting bored.

What Facebook did that was so brilliant was starting out with a user base BEFORE getting into “what crazy techy things can we do with this?”  Google+ is trying the opposite approach: we build a cool site with tons of cool ideas (sparks?!) and people will flock to us!

I’ve done this before

A few years ago I was fortunate enough to work on a very cool social networking site called Lymabean.  There are some demos and reviews floating out on the Internet still.  It was Flash-based, had more bells and whistles than Facebook, and had a rich user interface.  But in the end, Facebook was just too much of a behemoth.  All the cool stuff we put into Lymabean couldn’t compete with the hundreds of millions of users on Facebook.

Moving forward

I do like Google+ though, I use it as the primary networking tool for my blog.  I think it could become a great incubator for tech folks.  Add me to your Circle and let’s keep this discussion going.

 


Follow

Get every new post delivered to your Inbox.