Green coding? Hmmm…

The Green movement is oh-so-popular these days. I wonder how far we can take it.

Over a great beer the other day, I was talking to a Prius-hugger about creating a smaller carbon footprint. As he droned on in his self-gratifying manner about how he was saving the planet, my mind drifted towards applying those same green principles to coding. That is, an approach to building software that is so lean & mean that it sucks up magnitudes less computer power. On the web especially, this could really have a significant effect. Imagine if every single Myspace page used half the computing power to render. On the client side, it wouldn’t do much — although if you multiply that across hundreds of millions of pageviews, then the impact would be impressive. But on the server side, I’m sure the differences would be amazing. Servers could probably even be decommissioned. Entire data centers might utilize less power based on changing a few lines of code.

Would anybody adopt this coding style? Programmers are notoriously resistant to change, especially when that change is forced upon them from management. They have to be that way to be able to meet tight timeframes. If a coder needs to make a quantum shift in thinking to simply architect a new project, that is going to slow them down unacceptably. Oh, and they’ll be cranky too.Jabba The Hutt

So maybe this green coding would be taught at the college level, making it innate for programmers. No change necessary. Professors are idealists generally and would love this sort of methodology. It hearkens back to the old days of lightweight coding when every line counted. In fact, there was a physical limit to how big your program could be. I remember hacking out entire chunks of code so that my early projects could fit on a 5 1/4″ floppy disk. The professors’ teaching assistants would assign better grades for actually using less lines (although it helped to be really wordy with your comments, so that they would have less to look over). And the professors, off on sabbatical or whatever, would smile smugly to themselves in awe of their incredible teaching skill since nobody had handed in a final project that was over one floppy disk in size.

When I learned to code, 4 megs of memory was an awe-inspiring luxury and processors crawled along at 5 Mhz. Remember the Commodore 64? The “64″ stood for 64 kilobytes of RAM! Programmers had to be very careful about resource usage otherwise the entire computer would crash. Luckily things went steadily downhill after that.

As Windows and other memory hogs came about, computers strove to keep up with the ceaseless demand for more and more power. Developers cared increasingly less about creating tight, lean code. What we have now (with Vista, Photoshop CS3, etc.) is just massive, massive code bloat. And there’s no way around it. In the rush to meet deadlines and get products to market, you can’t spend months and months optimizing code for speed. Besides, by that time, computers will probably be fast enough or memory cheap enough that the fatter application won’t matter (at least that’s what Marketing says).

Moving apps from the desktop to the “web-top” (i.e. web-based software like Photoshop Express and Google OS) seems on the surface like a reasonable solution. But that just shifts the resource usage from the client to the server. It’s the same obese app, using the same power, but now it’s running in a data center instead of on your box. But at least you’re not paying the electric bill.

Truly, the only way green computing can be accomplished is at the code level and it must be taught in universities and junior colleges. Anyway, it’s a worthy goal, for sure — one that deserves more thought from you and from me as to how it can be accomplished. By the way, this whole train of thought had the added bonus of getting me through a tremendously boring conversation with a holier-than-thou driver. But the beer was sure good (Lagunitas India Pale Ale).

Web Development in the iPhone’ed Mobile World

With great fanfare, Steve Jobs told the world the one of the biggest innovations of the iphone was bringing the “real” internet to a mobile device for the first time. No more junior, stripped down websites, with the iPhone you can view entire original websites as they were intended to be viewed.

Because the iPhone did not ship with the ability to run third party native applications, Jobs boldly told the development community they should build web 2.0 applications that would be just as good as native applications. Than Apple release development guidelines detailing how developers could build custom web applications formatted perfectly for the iPhone.

Thousands of web applications have sprung up for the iPhone, many of them very useful and well done. But these are custom applications that only run on the iPhone. What about the rest of the mobile market? What ever happened to the “real” internet? The point that you didn’t need to develop any kind of special or stripped down version of a site just to view it on a mobile phone? Apple has fallen into its own bear trap. I’m not complaining too much, being an iPhone user myself, but the rest of the mobile world is getting a little bit of a rip off with more development time being put into iphone specific web applications.

If you’re a business and you are looking to make some noise in the mobile market, should you create an iPhone custom web app? Probably, especially if you believe your target customer is likely to own an iPhone, but  don’t forget about the rest of the mobile universe. It’s still a great deal bigger than the iPhone market, at least for now.

Social Networks to Social Platforms

The hot buzzword in 2008 will be social platform. Rising social network star Facebook got the ball rolling this year when they announced their open development platform which allowed software developers to create custom applications to run inside Facebook. This has turned out to be wildly popular and other social network sites are following the leader. Myspace has been working on a platform and more recently, news that LinkedIn, the popular social network for business professionals is also creating an application platform.

Social networks will become much more than networks in 2008 as more social platforms arrive, allowing users access to more features and marketers access to more of the so-called “social graph“.

Google’s Open Social

Google has been making some big moves lately, one of which is in the social network arena. Open Social is a set of API’s (application programming interfaces) which will allow developers to create applications that will run on a variety of social networks at once. Facebook applications can only run on Facebook, but Open Social applications can run on any platform that adopts the standard. At launch, some of the important partners include, Myspace, Linked In, Salesforce.com, Ning, and NetVibes.

Facebook currently dominates the social network space, in part due to their vibrant application platform. Open Social could serve to level the playing field. It will also make things easier for developers as they will only have to write one application for distribution across many platforms. This is one to keep an eye on. Will adoption grow and how will Facebook respond?

Favicons: Small Graphic Thingys in the URL

“I want one for my website! You know that square graphic thing-a-ma-jig next to where I type my website name!”

They’re called favicons (not to be confused with decipticons) and these 16 x 16 pixel sized graphical icons in .ICO format are found in the URL of the web browser.

To create one you’ll Photoshop, a plug-in from Telegraphics, some sort of design skills and patience to work with a small palette.

To post live on your website you’ll need to upload the file to your servers root directory or wherever your website index file resides and may also need to add this line of code to your page:

<link rel=”Shortcut Icon” href=”/favicon.ico”>

Full tutorial

Favicon

Smashing Magazine: 53 CSS-Techniques You Couldn’t Live Without

Smashing magazine who recently gave me a headache from filtering through links in their article “42 Design/Tech Magazines to Read” recently published another informative list worth checking out …

53 CSS-Techniques You Couldn’t Live Without

Screengrab

Testing Webpage Message Variations - Google Website Optimizer

According to Google “Website Optimizer, Google’s free multivariate testing application, helps online marketers increase visitor conversion rates and overall visitor satisfaction by continually testing different combinations of site content (text and images).”  

So, after I looked up what the word multivariate meant I then checked out the demo.

    This free new tool comes with a Google AdWords account and lets you rotate and track ROI on webpage variations.  The example they present is scenario with three different homepages that only differ by a unique headline, photo and paragraph of copy.  These pages are then auto rotated and tracked by Google whose analytics reveal which message is the most effective.  Try it out.  

Google Website Optimizer

Budget to Small? Try Freelance, Craigs List or Overseas.

Like any web development company in the U.S. topLingo has a minimum development cost to take on any new project. Our threshold is $5000 for new clients.

Can we do it for $500? Sorry, no. But we offer three alternatives to prospects

  1. Freelancer. We have a good network of professionals who have full time jobs and are willing to work after hours and on weekends.
  2. CraigsList. Post an ad for your project and pros will answer.
  3. Outsource overseas. India is the most prominent country in the list and there are services that exist like oDesk which allow you to post a project then monitor it using webcams, activity level recording and screen-capturing technology. That’s some serious big brother stuff! And although very few Americans would work daily under those conditions and I sympathize with the developer on the other side … your project can get completed on the cheap.

Ruby on Rails Buyer Beware!

As rapid application development like Ruby On Rails increases in popularity clients with strict deadlines will be requesting more and more of this type of development. The obvious upside is meeting shorter deadlines and deliverables but don’t forget to weigh the cost of doing things quick.  Applications developed rapidly in Rails face possible expansion issues, feature limitations and because the technology is so new website owners may experience application bugs and hard to find quality developers.  Know thy risks. 

Web Tip #468: Technology Cults

If you believe or have been led to believe that your web app can only be built with some specific  technology (e.g. .NET or PHP or Javabeans), your development team is not approaching your project with the right mindset.  As smartass Americans, we certainly have a natural propensity towards soapboxes (soapboxen, for you Dane Cook fans) and moral highhorses.  We tend to think one path, the one we are on, is the sole correct way to do things.  And us geeks are probably the worst in this regard.

An single-track mindset completely handicaps projects.  If you defer to the “tech experts” and they tell you that there is only one way to do things and you blindly accept this without justification, you’re getting into an ugly & probably hostile situation.

Demand proof.  And get educated as to “why” that solution is best.  There is no excuse these days for not understanding the reasoning behind why your project’s platform is built using a certain flavor of tech.  Ask a lot of questions.  And if you’re tech team cannot break it down into layman’s terms, find another expert.  There are loads of them.

Otherwise, we’re the next set of lemmings drinking kool aid and wearing brown Nikes.

In other news … ever wonder why open source apps have such wider acceptance internationally?  A lot of non-mainstream solutions can be great.  We recently adopted an open source fax server which would normally have been glossed over because it wasn’t written in .NET.  But we created a virtual server running Linux and guess what?  This incredibly full-featured server is now running within Windows.  When you approach development with an open mind (as many international developers do, simply due to lack of $$$), alternative solutions become viable and rewarding options.  Lots of long words there, but all of them are good.

AJAX Samples

The best way to explain the benefit of AJAX on a website for an end user is to see it in action. Check out this Microsoft site with some perfect examples of AJAX in action. Click the samples on the left.

http://ajax.asp.net/ajaxtoolkit

Chase Loves Our Fax Server Solution, We Used AJAX Magic!

AJAX certainly has its appropriate uses and I’m not talking about cleaning your toilets.  Launching in a few weeks is a cool project my team has been working on for about a month for JPMorgan Chase.  It’s a web application intended to help reduce the FedEx fees (which just went up this month btw) our client incurs by mailing application forms and documents back and forth.  Simply put it’s an online application management system, not terribly exciting at first glance but enter AJAX.  

Upon launch Chase users will be able to complete their entire application process online by filling out forms and uploading their required docs like business licensees, bank statements, etc. then clicking submit.  Designed with everyone in mind topLingo accommodated even the less technical user who is unable provide their documents in a digital format by leveraging a fax solution.  

In this scenario the user clicks to download a Fax Cover sheet that contains a unique encrypted bar code faxes it to our fax server where it’s then decrypted, PDF’d and properly routed to that users queue.  It sounds technical but to the end user they simply print and fax and by the time they walk from their fax machine back to their computer a big red X denoting a missing document will have changed to a green checkmark with a link to view and download the actual fax. Actually, I wanted a happy face or thumbs up symbol but creative shot me down on that one.  

Anyway, the impressive AJAX part of my long-winded rambling is that the browser never needs to be refreshed, or more importantly no interaction from the user is required.  There are no buttons that say “Check for the Fax” the graphics magically and immediately change from missing to received.  The code is AJAX, the programming is ours and the client is happy!  Ta da!

2007 and the Technologies Our Clients Will Want this Year!

Welcome to 2007 and Happy New Year!  Lots of great opportunities in the web development world this year and just like each year before it some cool technologies and ideas will emerge and some will fade away.  And although personally I prefer to stay on the cutting edge of technology, the reality is that my business and my business clientele is about one or two steps behind.  Not a bad thing of course, in fact staying a step behind helps reduce the risk of investing into any unproven technology or concept thus wasting time and money.  So, with that in mind here are some things that we predict will be a hot topic for both our fortune 500 and small entrepreneurial clients in 2007:

Help with Code Documentation

Writing application code can be tedious, but then writing about what or how you wrote your code is even more tedious. It’s called “Documentation” and these apps can help you out:

NDOC for .NET

JavaDoc for JAVA

Client Testimonial

See what is being said about topLingo.

ZyXEL Communications

"Just a brief note to express my satisfaction with topLingo..." ZyXEL interviewed many firms when planning a complete overhaul of its large and outdated website. We've got a great many products that formerly had not been properly categorized, making visitors' searches nearly impossible.

Case Studies

A deeper look into our many successes.

  • Miles DavisMiles Davis

    0fficial website,forum, calendar and music player.

  • JP Morgan ChaseJP Morgan Chase

    Paperless web-based custom system to manage broker applications.

  • MonsterMonster

    Microsite E-commerce sales tool.

Stalk Us

Sure, we don't mind.

  • LinkedIn topLingo
  • flickr topLingo
  • twitter topLingo
  • facebook
  • YouTube topLingo
  • vimeo topLingo
  • RSS topLingo

Make Contact

Get in touch with us.

Call: 1.877.87LINGO

Email: us@topLingo.com

topLingo Location18952 MacArthur Blvd.
Suite 300
Irvine, CA 92612
Map It / Get Directions