Aug 7 2009

CSS Image Rollover

The CSS method uses what is known as an image sprite to load all the rollover effects as a single image and we then use CSS to do the transition. To create the image sprite just create a single image containing all of the individual transitions.  Once you have your image sprite you just need the HTML and CSS code:

CSS Code:
a.grnBTN
{
display: block;
width: 200px;
height: 45px;
text-decoration: none;
background: url(“greenBTN.png”);
background-position: 200px;
}

a.grnBTN:hover {
background-position: 0 0;
}

.displace {
position: absolute;
left: -5000px;
}

HTML Code:

<a href="#" class="grnBTN" title="Image Title">
<span class="displace">Alternative Text</span>
</a>

  • The width and height values in a.rollover are the size of the original image.
  • The value of background-position is that of the original image width – since we are literally moving from one part of the image sprite to another.
  • The <span> tag was included with a text alternative to the image and displaced it off the side of the visible screen so that screen readers will read it and in the event of no CSS support a text link will be shown instead.

Working Example:

Alternative Text


Aug 5 2009

IE Specific Stylesheets

ie-only-css

Internet Explorer has it’s problems with CSS (OK, it’s pretty much awful) but if you are worth your salt as a CSS coder, you should be able to deal with it. I am of the opinion that you can handle anything IE can throw at you without a ton of hacks and without having alternate stylesheets. But if you (or your client) really wants to get pixel-perfect results cross-browser, you may need to specifiy alternate stylesheets for different browsers, especially Internet Explorer.

Here is the basic technique for an IE-Only stylesheet:

<!--[if IE]>
	<link rel="stylesheet" type="text/css" href="ie-only.css" />
<![endif]-->

The opposite technique, targeting only NON-IE browsers:

<!--[if !IE]>
	<link rel="stylesheet" type="text/css" href="not-ie.css" />
<![endif]-->

If you need to get down and dirty with specific versions of IE, here are a few examples.

IE 7 ONLY:

<!--[if IE 7]>
	<link href="IE-7-SPECIFIC.css" rel="stylesheet" type="text/css">

<![endif]-->

IE 6 ONLY:

<!--[if IE 6]>
	<link rel="stylesheet" type="text/css" href="IE-6-SPECIFIC.css" />
<![endif]-->

IE 5 ONLY:

<!--[if IE 5]>
	<link rel="stylesheet" type="text/css" href="IE-5-SPECIFIC.css" />

<![endif]-->

IE 5.5 ONLY:

<!--[if IE 5.5000]>
<link rel="stylesheet" type="text/css" href="IE-55-SPECIFIC.css" />
<![endif]-->

VERSION OF IE VERSION 6 OR LOWER: (I find this one pretty handy)

<!--[if lt IE 7]>
	<link rel="stylesheet" type="text/css" href="IE-6-OR-LOWER-SPECIFIC.css" />

<![endif]-->

Why would you want to use these conditional stylesheets?

  • It’s more future-proof than hacks. A new browser or a new version of a browser may come along one day that wrecks up interprets your hacks in a strange way and will mess up your styling. That’s no good! For example, there is a really effective min-height hack out there right now, but who is to say that will work forever? The solution here would be to declare a min-height like normal in your real stylesheet, then declare a height (the workaround) in an IE-6-and-Lower stylesheet.
  • It keeps your CSS clean. And valid! If having CS code that passes W3C snuff is important to you, this is the way to go
  • Expandability. If a new browser comes along that you want to also support, you can create a conditional statement and stylesheet for that and you are all set, instead of re-tweaking your exisiting stuff.

If you think it is overkill for you to have IE-Specific stylesheets, you can use hacks to make things happen. Again, I don’t really recommend this, but this is how it’s done.

IE-7 ONLY:

* html #div {
    height: 300px;
}

NON IE-7 ONLY:

#div {
   _height: 300px;
}

HIDE FROM IE 6 AND LOWER:

#div {
   height/**/: 300px;
}

HIDE FROM IE 6 AND LOWER: (another way)

html > body #div {
      height: 300px;
}

Aug 5 2009

Installing Eclipse with the Palm WebOSdev SDK

Installing Eclipse and the Plug-Ins

This section describes how to install and update Eclipse.

Note: If you are using an earlier version of Eclipse, you must upgrade to Eclipse 3.4 to get the new plug-ins for Palm® webOS™ development.

To install Eclipse

  1. Download Eclipse 3.4.2, also called Ganymede.
  2. Start Eclipse.
  3. When prompted for a workspace location, accept the default (/home/YOUR_USER_NAME/workspace).Note: The workspace location must be an absolute path with no spaces.

To find and install updates

  1. On the Help menu, select Software Updates and open the Available Software tab.
  2. Click Add Site.
  3. In the Location field, type  https://cdn.downloads.palm.com/sdkdownloads/1.1/eclipse-plugin/eclipse-3.4/site.xml  and click OK.
  4. Open the site in the list, expand the Palm Mojo SDK category and check Palm Mojo SDK.
  5. Click Install and accept the license agreements.
  6. Restart Eclipse when prompted.

Aptana

To improve the development experience, Palm recommends installing the Aptana Studio plugins. Instructions for installing Aptana are available at www.aptana.com as well.

  1. On the Help menu, select Software Updates and open the Available Software tab.
  2. Click Add Site.
  3. In the Location field, type http://update.aptana.com/update/studio/3.4/ and click OK.
  4. Open the site in the list and check Aptana Studio Installer for Eclipse 3.4.
  5. Click Install and accept the license agreements.
  6. Restart Eclipse when prompted.

Using Eclipse with the Plug-Ins

This section describes how to run Eclipse and use the debug launch configuration.

Running Eclipse

  • Mac: In the Eclipse folder (inside the Applications folder), double-click Eclipse.
  • Windows: Find and run eclipse.exe (its location depends on where you installed Eclipse).
  • Linux: At the command line, type: eclipse

Selecting the webOS Perspective

  1. Select Window > Open Perspective… > Other…
  2. Select webOS from the Open Perspective dialog.
  3. Click OK.

Generating a webOS Application

From the New Project menu:

  1. Select File > New Mojo Application.
  2. On the next screen, type a name in the Project Name field.
  3. Enter your application info:
    • Title
    • Vendor
    • ID
    • Version
  4. Click Finish.

From the New App toolbar menu:

  1. In the Eclipse toolbar, click the Mojo Wizard icon and select New App from the drop down menu.
  2. On the New Project Wizard screen, type a name in the Project Name field.
  3. Enter your application info:
    • Title
    • Vendor
    • ID
    • Version
  4. Click Finish.

Adding a scene to your webOS Application

From the New Project Menu:

  1. Select File > New > Mojo Scene.
  2. On the New Mojo Scene Screen, make sure the correct project is selected.
  3. Enter a name for your scene and click Finish.

From the New Scene toolbar menu:

  1. In the eclipse toolbar, click the Mojo Wizard icon and select New Scene from the drop down menu.
  2. On the New Mojo Scene Screen, make sure the correct project is selected.
  3. Enter a name for your scene and click Finish.

Running a webOS Application

  1. Select Run > Run Configurations…
  2. Select Palm Application and click the New Configuration icon to create a new launch configuration.
  3. Change the name.
  4. Select your project from the drop-down list.
  5. Select the Target:
    • Palm Emulator if you are using the emulator.
    • Palm Device if you are using a device (make sure your device is in Developer Mode).
  6. Click Run to install and run the application.

A launch shortcut is also available: In the Projects view, select the project and choose Run > Run As > Mojo Application. If you previously created a launch configuration, that target will be used. Otherwise, a dialog will pop up so you can select a target.

Debugging a webOS Application

  1. Select Run > Debug Configurations…
  2. Select Palm Application and click the New Configuration icon to create a new launch configuration.
  3. Change the name.
  4. Select your project from the drop-down list.
  5. Select the Target:
    • Palm Emulator if you are using the emulator.
    • Palm Device if you are using a device.
    • Under “Debug Options”, choose debugging options as follows:
    • Inspectable: Makes the application’s DOM available to the Palm Inspector. Equivalent to the following command:
      palm-launch -i <appid>
    • Mojo debugging: Enables debug logging in the mojo framework. Equivalent to the following command:
      palm-launch -p "{mojoConfig:true, debuggingEnabled:true}" <appid>
  6. Click Debug to install and run the application.

A launch shortcut is also available: In the Projects view, select the project and choose Run > Debug As > Mojo Application. If you previously created a launch configuration, that target will be used. Otherwise, a dialog will pop up so you can select a target.

Stay Updated

When new Eclipse plugins are available (currently you are notified through email), you can install them through the Eclipse Update Manager.

  1. On the Help menu, select Software Updates and open the Installed Software tab.
  2. Select Palm Development Tools and click Update.
  3. Click Install and accept the license agreements.
  4. Restart Eclipse when prompted.

Enabling Developer Mode

To install and test applications on a webOS device, you’ll need to enable

Developer Mode on the device.

  1. In card view or in the Launcher application, type the following:
  2. upupdowndownleftrightleftrightbastart
    
     
    
  3. Tap the resulting Developer Mode Enabler icon to launch the application.
  4. In the application, move the Developer Mode slider to the On position.
  5. Tap Reset the Device. When reset is complete, Developer Mode is enabled.

Jul 17 2009

IE on Ubuntu

Are you a web developer like myself needing to test crossplatform and would really prefer do it all on 1 OS (not Windows) well I have the solution IEs4Linux

Type this in a Linux command terminal:
===================================================================
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux

===================================================================

ie6


Jul 9 2008

IE6 and IE7 Running on a Single Machine

Many of you have asked how to run IE6 and IE7 in a side by side environment. As Chris Wilson blogged about early this year, it’s unfortunately not so easy to do. There are workarounds, but they are unsupported and don’t necessarily work the same way as IE6 or IE7 would work when installed properly. As Chris said, the best way to use multiple versions of IE on one machine is via virtualization. Microsoft has recently made Virtual PC 2007 a free download; we’ve taken advantage of that by releasing a VPC virtual machine image containing a pre-activated Windows XP SP2, IE6 and the IE7 Readiness Toolkit to help facilitate your testing and development. The image is time bombed and will no longer function after Early September, 2008. We hope to continue to provide these images in the future as a service to web developers.

Now you can install IE7 on your main machine for development, and get all the advantages of IE7, like the RSS platform, native XMLHTTP stack, and improved security, while still running IE6 simultaneously in the VPC on the same computer. Most importantly, you don’t even have to buy an additional Windows license. The VPC image runs in a virtual machine that offers all of the functionality of a full IE6 installation without giving it any access to its host machine’s hard drive, registry, etc. You can make as many modifications as you want to the virtual machine without affecting your host installation at all.

This download page contains four separate VPC images, depending on what you want to test.

  • IE6-XPSP2_VPC.exe contains a Windows XP SP2 with IE6 VHD file
  • IE7-XPSP2_VPC.exe contains a Windows XP SP2 with IE7 VHD file
  • IE8B1-XPSP2_VPC.exe contains a Windows XP SP2 with IE8 Beta 1 VHD file
  • IE7-VIS1.exe+IE7-VIS2.rar+IE7-VIS3.rar contain a Vista Image with IE7 VHD file.

System Requirements for VPC 2007

CPU Speed: An x64-based or an x86-based computer with a 400 MHz or faster (1 GHz recommended) processor with L2 cache

  • Supported Operating Systems: Windows Server 2003 x64 editions; Windows Server 2003, Standard Edition (32-bit x86); Windows Vista 64-bit Editions Service Pack 1; Windows Vista Business; Windows Vista Business 64-bit edition; Windows Vista Enterprise; Windows Vista Enterprise 64-bit edition; Windows Vista Service Pack 1; Windows Vista Ultimate; Windows Vista Ultimate 64-bit edition; Windows XP Service Pack 2; Windows XP Service Pack 3
  • Processor: AMD Athlon/Duron, Intel Celeron, Intel Pentium II, Intel Pentium III, Intel Pentium 4, Intel Core Duo, and Intel Core2 Duo
  • RAM: Add the RAM requirement for the host operating system that you will be using to the requirement for the guest operating system that you will be using. If you will be using multiple guest operating systems simultaneously, total the requirements for all the guest operating systems that you need to run simultaneously.
  • Available disk space: To determine the hard disk space required, add the requirement for each guest operating system that will be installed.

Get more information on Virtual PC 2007
Download Virtual PC 2007
Download the Internet Explorer 6 Testing VPC Image