Spaghetti code defined

September 20th, 2012 — 7:21am

I recently read this article with interest – What is spaghetti code?.

As the title implies, it goes into a lengthy discussion of spaghetti code. So in layman’s terms, what does it mean if your developer refers to your application code as “spaghetti“?

In the old days, coding languages used a construct called a “goto” statement. This was used as a quick fix for bad coding – you could tell the program to jump to another portion of the code if it got to that spot. So it made the code flow like a strand of spaghetti, weaving back and forth.

Modern day programming languages don’t use goto statements anymore. So today, I define spaghetti code as that which has been poorly designed, or modified significantly since it’s original design. Usually this results in code being tossed in to accomplish some new feature, but not really meshing with the overall code. Think in terms of a single family house that has been turned into multiple apartments. You end up with odd sized rooms, strange room layouts, and the outside wooden steps leading to the second floor apartment entrance. It’s functional, but obvious to anyone that it wasn’t the original design.

With code, sometimes you can hide the code issues behind a nice facade of a gui interface, but usually some oddities bleed through. For instance, one feature doesn’t quite integrate with the rest of the application as it should.

Do you need to fix spaghetti code? Not immediately, but usually major applications and websites undergo a “full rewrite” every 5-6 years. This is because the code has grown beyond the original specifications, and has become unwieldy for the coding team to keep maintaining and expanding. It’s just part of the process with large websites and applications.

Comments Off on Spaghetti code defined | Programming

Is responsive design right for your website?

September 4th, 2012 — 4:57pm

One of the new buzzwords in the web design community is “responsive design“. This refers to website design that responds gracefully to the device it is being displayed on. While on the surface this sounds like a great idea, there are some drawbacks.

  1. It’s hard to design a site that works well on a big screen, AND a small smartphone screen. Elements get re-arranged, content gets squeezed, and the user experience can suffer.
  2. It’s disorienting – users that are used to the “desktop” version of your website, can be disoriented when the site looks different on their tablet or smartphone. If they are used to panning and zooming, they may prefer the site to stay the same, and the way they are used to viewing it.
  3. Less is not more. Users on smartphones can feel like they are “missing something” if the site looks stripped down from the desktop version.

The long term solution for building websites may indeed be responsive design, but I don’t think that’s clear yet. New devices and technologies may change the landscape yet again. While you can’t ignore mobile users, going after a full re-design at this stage may be premature.

Comment » | mobile

Another big comeback for Microsoft?

July 19th, 2012 — 2:16pm

Microsoft has been the big tech company that everyone loves to hate for a long time. This probably stems from it’s early dominance of PC operating systems, when users had to endure all the shortcomings of DOS and Windows. We had no choice.

Over the years, Microsoft has adopted an interesting strategy for technology companies. Rather than innovate, and get a “first mover” advantage, Microsoft is usually late to the party. It moves slowly, but when it moves, look out. Time and again, industry observers have mistaken this “sloth” for weakness, predicting Microsoft’s decline or even demise.

Here are a few examples that I can recall of this strategy paying off for Microsoft:

  • In 1992, when I entered college, the computer labs were using WordPerfect and Lotus 123 for word processing and spreadsheets respectively. By the time I left in 1996, Microsoft Office was the standard for productivity tools – WP and Lotus were finished.
  • In the mid 1990’s, the Internet was hot. Many people gleefully chided Microsoft for “missing the Internet”. In 1995/ 96, Microsoft introduced its first version of Internet Explorer. It was buggy, and was ridiculed by the CEO of the dominant browser at the time – Netscape Navigator. In just a few years, MSIE had over 80% over the browser market, and Netscape Communications was effectively out of business.
  • In 2002, Microsoft entered the game console market. The competition was well established – Nintendo, Sega, and Sony dominated the space. Critics argued there was no room for another gaming console. Nevertheless, Microsoft muscled in, and today the xbox has over 30% market share.
  • Fast forward to the mobile space. Microsoft recently announced the “Surface” – it’s upcoming entry into the tablet market, to compete against the iPad and Android based tablets. Also Microsoft is releasing Windows 8, promising a solid platform for mobile phones. Again, critics are saying these efforts are too little, too late. But I, for one, am not counting them out. In fact, I’m sure quite a few companies in that space are very, very worried.

    Comment » | mobile

    Developing a mobile app for IOS and Android? Don’t forget about Windows!

    June 6th, 2012 — 5:12pm

    That’s right, Microsoft has a mobile OS. Don’t laugh. Remember when “Internet Explorer” was a laughing stock of web browsers? Or how the xBox would never penetrate the crowded gaming market?

    Well, IDC just predicted that the new Windows Phone will have 19% market share of mobile OS’s by 2016. Read about it here:

    http://www.wired.com/gadgetlab/2012/06/why-idc-predicts-windows-phone-will-surpass-ios-by-2016

    So if you are developing a mobile app, or thinking about it, you might want to include Windows in your platform deployment. If not, you may be adding it in another year or two. Microsoft often comes late to the party, but it brings out the big guns when it arrives, and it sticks for the long haul.

    Comment » | mobile

    It is time for your business to Pinterest?

    May 18th, 2012 — 1:15pm

    Social picture site Pinterest has been taking off recently. It’s a website where people “pin” pictures of things they like, categorize and share them. Doesn’t seem initially like this has much business potential, but take a look at this article:

    http://searchenginewatch.com/article/2175367/Why-Your-SEO-Social-Strategy-Should-Include-Pinterest

    The article writers did some SEO testing, and found some interesting results. A brand new site started ranking, and getting inbound links after pinning just 2 recipes there.

    If your business has any images – products, etc. then you should probably set up a pinterest account and start posting there.

    Comment » | E-commerce, Social Media

    Back to top