Posts by ‘Brian’

The future of Flash

Written by Brian on June 17th, 2010

With the iPhone and the iPad gaining so much popularity, one has to wonder what the future of the Flash platform will be. We are used to seeing Flash animations all over the web and probably don’t even realize how much Flash content we’re actually consuming. Personally, I really like the touch that Flash adds to a website. But on the other end of the spectrum, I cringe when I see a full website done in Flash and I have to wait for a menu item to unfold before my eyes with a huge animitronic sound as it makes it’s presence on the screen. But that’s not Flash’s fault, that’s simply someone taking it too far. Overall I like the idea of Flash and the benefits it brings to us on the web.

Now, with Steve Jobs saying that the iPhone and iPad will not support the Flash player, one has to wonder what impact this has on the future of the product. Me personally, I’ve put future Flash projects on hold as I wait for the dust to settle on this one. I try to accomplish all I can with jQuery for simple animations and leave it at that.

HTML5 is very promising and it could be the white horse that comes in and levels the playing field, but I’m afraid we’re not going to see that anytime soon. IE8 doesn’t support the ever so important Canvas tag of HTML5 so we’ll have to wait at least for IE9, and then we all know how long it is taking for IE6 to go away… ugh…

Let’s hope something changes at Apple and we have our long beloved Flash player for many more years!

Thoughts on the iPad as a web developer

Written by Brian on June 2nd, 2010

I’m a technophile. I love gadgets. Anything to make my life easier or add a level of coolness to it. The iPad hits me right in that weak spot that makes me want to buy it for it’s coolness factor. The thought of reading any magazine or any internet post, accessing my email from anywhere, having all my music with me, just sounds so ideal.

But after careful thinking, I have to wonder, will this device really flounder as they predict? I haven’t bought one yet and I probably won’t. Why is that? Well, all those things I mentioned above I can do on my iPhone – albeit with a smaller screen – but the capability is there. And it fits in my pocket. PLUS, my iPhone is a phone so it fits naturally next to my head and can use the 3G network when wi-fi isn’t available. Can you picture an iPad up to someone’s ear? Maybe bluetooth headsets will make this more realistic but yet another device to carry around.

The biggest drawback I see is how to use the keyboard on the iPad. I can type away pretty quick with my thumbs, but holding the iPad in one hand and poking with my index finger on the other is less than ideal for me. And if you were to set it on your desk, your neck would constantly be in an awkward position, unlike looking at a vertically upright laptop screen.

So this gadget has a lot of glitz and glamour that still makes me want to run out and buy one. Especially when I see the beautiful screen. But I think for now, my rational mind is going to win and this web developer will be sticking to an iPhone and a laptop or at worst a netbook. Thoughts?

Fix the Windows Clock so it Syncs Properly

Written by Brian on May 14th, 2010

Ok, this is something that has plagued me for years. Have you ever had your Windows PC clock not keep time? I mean, really, in this day and age with computers measured in Giga Hertz and Tera Bytes, and our iPhone able to check email anywhere in the world, we can’t figure out how to keep a clock in sync? I’m not talking about 30 seconds here or there, I’m constantly relying on the clock only to find out it jumped an hour or two.

This month I read an article in pcworld magazine which can be found here or I’ve transcribed it below:

Windows 7 may be the best Windows yet, but it suffers from the same annoying problem that plagued Vista and even XP: Its clock doesn’t keep good time.

That’s because the default time server Windows uses to fetch the current time, well, bites. I don’t know if this is because of server overload or what (obviously there are a lot of Windows systems out there, all looking for a clock fix), but I’m tired of getting the same cryptic error when I try to sync manually.

Ah, but there’s a fix. If you’re trying to get your system to keep better time, try this:

  1. Right-click the taskbar clock and choose Adjust date/time.
  2. Click the Internet time tab, then the Change settings button. (This might be a little different in Windows XP.)
  3. Erase what’s in the Server field and replace it with pool.ntp.org.
  4. Click Update now. In a few seconds, Windows’ clock should get synchronized.
  5. Click OK, then OK again, and you’re done.

Your mileage may vary, but this time server worked like a charm for me.

Adobe Air

Written by Brian on May 4th, 2010

In my previous post, I talked about Flex, the cool new tool from Adobe that allows us programming-types to create applications in the Flash runtime for the browser. This greatly reduced our dependancy on ActiveX and Java.

But now think about the extra potential here: a Flash runtime installed on almost everybody’s computer whether PC, Mac or Linux, and great programming environment to create animations AND applications, why limit that to the web?

With Adobe AIR you can compile SWF files to run on the local computer as an application outside of the web. Isn’t that great? For those of us writing programs like these (thick-client applications we like to call them), we now have a cross platform solution supported by a large company that allows us to do so much more.

My thick-client work has been mostly in Microsoft’s Visual Studio in the past. The biggest drawback being the final result only runs on Windows computers without special software. But even with special software the results aren’t always the best.

I think we’re going to see a big increase in applications that are offered in the Adobe AIR runtime and I’m looking forward to writing a program in the environment!

Flash and Flex

Written by Brian on April 15th, 2010

If you’ve been around the web for any amount of time you’ve definitely heard of Flash.  Even if you haven’t been aware of what Flash is, you’ve surely seen it on a wide variety of websites, most commonly in the form of some catchy little advertisement or animation.  Sometimes a whole site is done in Flash where the menu structures unfold in some crazy manner revealing the site navigation.

Flash has been a great tool for animators and those creative right-brain types that I’m not one of.  I bought Flash a long time ago and always thought I’d do something cool with it but never got the inspiration for a great animation.  But what intrigued me about Flash is the cool vector graphic engine that it offers, a blank canvas for anything cool that the browser can’t do.

Enter Flex

Adobe realized the potential quickly I’m sure and released something that has me excited about programming all over again.  This framework called “FLEX” is available now and it’s the programmer’s tool for creating cool things too.

The easiest way to think about this is breaking up “Flash” into 2 parts.  1) there’s the Flash that runs in the browser which is responsible for displaying vector graphics and animations, and 2) there is the Flash development environment, the tool where the right-brainers make all their cool animations.  So the Flash tool makes .SWF files that the Flash runtime plays.

That’s where FLEX now comes in.  A programming environment where we can think in Objects and Data Structures like we’re used to and build controls that use the vector graphics of Flash.   So now Flex is our tool to create SWF files that play in the Flash runtime.

A wealth of options opens up with this new tool.  In the past, we used to resort to ActiveX controls (available in IE only), or Java applets for this type of functionality.  Both of those had it’s limitations and drawbacks, but I’m excited for the possibilities of Flex.

Web design productivity tools

Written by Brian on March 30th, 2010

Reading Jenn’s last blog posting gave me some good ideas. I’m always looking for ways to become more productive. I’m amazed at how many years I’ve been in the workforce and not to mention all those years in high school and college and I’m still struggling with maximizing my productivity. It seems that the tools in our lives are constantly changing and causing us to frequently adapt. 10 years ago I would have never guessed that email would have been such a burden and a distraction.

So in previous posts I’ve mentioned how I use MS Office and Outlook for a lot of tasks. I feel its a good suite of tools that helps me stay organized. But it falls short in one area. I think the To Do list is too rigid, and the memos are too basic. I always end up keeping my daily lists in another program.

That program for me used to be Notepad or WordPad until I found this little tool: http://www.splashdata.com/splashnotes/ SplashNotes is like a blank text document only when you hit return and then tab, it creates an outline for you. Then you can expand and collapse outline items and drag them around to reorder them. I spend a lot of time in this program.

A phone call comes in and a new project is getting started?  just enter a new line, tab under it, start typing all the details and when the phone call is over I can collapse the top level item and file it away for when I’m going to start working on it.   So nice…

THEN… the best thing about this program is it syncs with your iPhone or Palm!!  Take your lists on the road, have all your important info with you wherever you go!

And it’s not limited to just to do lists.  I keep a lot of lists for all the different areas I’m responsible for.  I have a whole outline dedicated to HTML/CSS notes.  One to WordPress, one to Magento.  I have an SEO outline and a Javascript outline.  All my references tucked away in neat little outlines.

Jpeg vs. Gif Web Images

Written by Brian on March 24th, 2010

All images for the web need to be compressed so that your internet connection doesn’t get bogged down and take 10 times as long to load a web page.  Images are always displayed on the screen in BMP format (every pixel is accounted for), but they are almost always stored and transferred in a compressed format. Now the question is which format is best?

I found this great explanation here that includes images: http://www.siriusweb.com/tutorials/gifvsjpg/ but that can be a little lengthy, so if you’re interested in the short version this is your spot!

JPEG/JPG

JPEG is short for Joint Photographic Experts Group the original name of the committee that wrote the standard.  Also seen as JPG because Widows computers often used 3 character extensions in the past even though you’re allowed more.

JPEG compresses images by finding similar colors and storing an approximation of the colors instead of the full detail. The amount of compression used can vary to produce different results.  This compression works great for pictures (that’s why your new digital camera probably stores files in this way) and for a lot of busy graphics.  However, graphics that have lines and sharp edges or lots of text don’t fair as well.  JPEG also does not allow for transparency.

GIF

An acronym for the Graphics Interchange Format.  This format is best for images with limited numbers of colors, line drawings, small text. For photos you tend to get a grainy look so JPG is almost always preferred.

GIF has 2 neat features: 1) it supports transparency (pixels are invisible so the background shows through) and 2) you can put animation in gifs!  Sure, with the right graphic design tool, you can create a little frame-by-frame animation using the GIF format.  It’s not nearly as powerful as a Flash animation but it gets the job done for little loading icons and such.

Vector vs Raster Images

Written by Brian on February 26th, 2010

Since my last post was about “pixels”, it got me thinking… a lot of people get confused about what a vector image is versus a bitmap or raster image.  Maybe I can help clear things up a bit.

First of all, computers have to save all of the information they use somewhere.  That information ultimately gets stored as a string of ones and zeros in the memory – be it the current RAM or archived on a hard disk.  But how those ones and zeros are encoded can make a big difference when storing images.

Bitmaps

Let’s start with Bitmap (or raster) images.  Picture a big piece of graph paper and let’s draw a big smiley face on it.  In each of the squares of that graph paper, you could essentially assign it a color value.  The color value would be broken up into Red, Green and Blue values each between 0 (meaning none) and 255 (meaning full color).  Sure, that’s a lot of information for a computer to store, but they’re good at that.

You could imagine that as you’re drawing your nice round smiley face that some squares will be covered up only partially.  The computer might handle that by storing a lighter shade of the color for that square, thus blurring the jagged edge a bit.   But ALL the squares are accounted for in a bitmap – no more no less.

You might also think to yourself “wow, there’s a lot of white space on this paper – do all those squares need to be stored too”?  Of course they do.  The computer can’t guess or take shortcuts so it has to store each square with a value even if it’s blank.  Now there are many compression methods like JPEG, GIF, and PNG that will take a bitmap image and reduce the redundant information drastically, but that’s a topic for a future post!

Bitmaps are great for storing pictures and other busy information.  But what about text, lines, objects that you want to be able to resize?

Vectors

Vector images are a completely different idea altogether.  The easiest way to think of vector is a set of instructions.  If I tell the computer to draw a smiley face,  I can do that with a relatively small set of instructions.  For example, to start you could tell the computer to draw a circle starting at the middle of the screen and with a radius of say 200px.  That piece of information when encoded into little ones and zeros can be extremely compact!

But efficiency isn’t the only benefit of vector graphics.  Now that I have instructions for how to create my circle, I can easily modify it as well.  I could stretch it and shrink it and all it does is change the original instructions without affecting the quality.

Imagine I have a graph paper 200 squares wide by 200 squares tall.  If I drew my smiley face on it and then saved it as a bitmap, that information is etched in stone.  Now I want to make my smiley face 400 squares by 400 squares big.  You can imagine the quality is going to degrade.  I’d have to “create” information by averaging values for all the new squares created.

But not with vectors.  If my graph paper gets bigger, I just make the definition of my circle bigger.  The magic is in the fact that the computer is constantly calculating which squares to light up depending on the definition of the object and the resolution of the “graph paper”.

Dots Per Inch Demystified

Written by Brian on February 11th, 2010

People always seem to get confused when talking about graphics for the web. How do pixels and dots-per-inch relate to each other? What should I use 72dpi or 96dpi? Hopefully I can shed some light on the subject and you can buy me a t-shirt like this…

First of all, “dots-per-inch” or DPI is really only a term that you need to know if you’re dealing with printed materials. Different printers have different capabilities and the best way to measure that is the number of dots you can fit in one inch. Although useful for the printing industry, DPI doesn’t really affect at website developer too much.

In the web world it’s easiest to think of everything in terms of Pixels. An average monitor can have a resolution of anywhere from 800px by 600px to 1600 by 1200px. Of course there are many of variations, but these are just examples. When designing web graphics, you want your website to be able to fit on the average person’s screen.  Well, it’s 2010 and 800×600 monitors are slowly becoming dinosaurs so most people have been desiging web pages to be about 900px wide. If you think about your world as 900px wide, then you are done -that’s it – no more thinking to do!

So what’s the DPI setting in my graphics program for? Really, that just affects how that program will try to print an image on the page. If I have a 900px wide image and set the resolution to 72dpi, the program is going to print the image about 12.5 inches wide (900 ÷ 72) (and it’s not going to look too hot if there’s only 72 dots in one inch)!  But if you set your program to 300dpi and try to print, the output is going to be about 3 inches (900 ÷ 300).

See how that works?  You’re not really affecting your original image at all.  You’ve always only had 900px wide to play with and stuff juicy graphics into.  If you want to print that image at 12.5 inches wide, you’re going to see a result of 72dpi.  If you want to print it at 3 inches wide, a much crisper 300dpi will result.

The reason it’s important to know this is because once you export a file as a JPG, the dpi settings are essentially lost, they were just a fancy setting in your graphics program.  All you’re left with is a JPG file measured in Pixels.  So think of your end user.  Are you making a web graphic?  Then that’s easy – 900px wide will display on 900px of the user’s monitor, doesn’t matter what size monitor they have (19″, 21″ etc).  If their monitor resolution is set to 1200px wide, you’ve got a lot of extra space.  800px wide, you’ve overshot it.

But if you’re sending a pic to Grandma to print on her new inkjet printer, and you want the absolute best clarity it can print of 1200dpi, then your 900px wide snapshot would print only 3/4″ wide (900 ÷ 1200)!  You want her to be able to print a 6″ wide image at 1200dpi, then you better be giving her a 7200px wide file (6 x 1200).

Make sense?  Figure out everything in Pixels – add dots per inch only when worrying about printing…

Outlook Shortcuts for Calendar, Contacts and Tasks

Written by Brian on February 4th, 2010

I was on such a roll with that last blog post about productivity on the computer and new ideas were flowing like crazy. But the post was quickly growing to be the size of the new health care bill so I decided to save some nuggets of wisdom for my next post!

As I mentioned, I’m kind-of an idealist when it comes to working on the computer. I like things to be super simple and quick – not the lack-of-right-mouse-button-on-a-mac kinda simple – but still very simple. I like getting an idea, and being able to convert that idea into an action as easily as possible.

I’ve gotten used to going to the taskbar for everything to manage my open documents and applications as I mentioned in my last post. My little utopia was challenged with a monstrous program like Outlook though. I’m in my inbox all day long, but I’d really like to access my calendar and contacts in their own taskbar buttons. They are – after all – each unique programs you ask me, so I’d like to treat them that way.

So, a little digging around and I found the solution!  All you gotta do is open up your Start menu folder, right-click somewhere in the blank space, and select New -> Shortcut.  When the dialog pops up, you simply paste in this line:
“C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE” /select outlook:calendar

and Bam. A shortcut to opening your calendar in a new window. You can do the same for your contacts and tasks too! Just change the last word of that shortcut to the section you want to open up “contacts” or “tasks” and you’re done!

So now, when someone asks “what are you doing Friday?”, I don’t have to hunt through my taskbar buttons to find the one name “Inbox” or “Sent Items” or whatever the last folder I was on was called… I just simply click on my start menu and launch “Calendar” and it’s there.  You can even put a link on the Quick Launch toolbar to avoid the extra click and navigate to the start menu….  ok, now we’re getting picky.