Monday, September 28, 2009

Flex Component - TimeField Update

Thanks for the comments everyone. I have made a few changes to my TimePicker component based on some of the comments. The example now has the Klok 2 skin applied to it.

You can see the updated version here.

Friday, September 25, 2009

Flex Component - TimeField - Feedback needed

While working on Klok, I have tried several different mechanisms for entering the start time or end time of an entry. Having looked at a bunch of examples such as the Yahoo Astra one, this one, this one and this one I started to see a pattern. Most of the examples are "stepper" based controls. What this means is that to get from one time to a different time it involves a varying number of clicks depending on the times. For example, if the control's current time was 3:35 AM and you need to change it to 12:19 PM, it requires a whole bunch of steps to get there.

What I really wanted was a way to pick the time in the fewest number of clicks and allow for just typing in the time directly if you happen to prefer that. The result is a true time "picker" control that is loosely based on the way a DateField works. There is still some work to be done on the skin but I think I am on the right path.



To use, just click the icon and pick the time. Or, just enter the time directly. The following formats are accepted:
  • 1:49 PM
  • 1P (Shortcut for entering 1:00 PM)
  • 13:49

This control is my proposed solution to be used in Klok 2.

Please give it a try and see if it works for you. (Please try to break it if possible.) Whether you like it or not, please leave some comments so I can improve upon it.

UPDATE - I made some changes based on the comments and updated the demo. Which now has the Klok 2 skin applied to it.

Tuesday, September 22, 2009

Introducing KlokWork and Klok 2.0 Beta Programs

I know it has been quite some time since I put out an update for Klok. In that time, I have been working on it... I promise. We have made the decision to go right to version 2.0. This is mainly because of the required changes to the way data was being stored in 1.x. Version 2 stores data in two ways. The standalone version stores its data in a local SQLite database. The version with KlokWork embedded, connects to an external system to store its data. This will be able to connect to external systems such as FreshBooks and Harvest as well as home grown systems that can expose an AMF based API.

So we are getting ready to have a select few users and small teams try out some of the new functionality. For more information on this program visit the Klok Beta Program page.

Wednesday, September 16, 2009

FlashBuilder 4 silently fails while launching

Imagine this... You double click the icon to launch FlashBuilder and see the splash screen show up. Then you glance away from the screen and when you look back, FlashBuilder isn't running. No error Alert. No phantom process running in task manager... just nothing at all.

This happened a few times because I started to think I was imagining the part where I clicked the icon and saw the splash screen. So I would try to launch it again. It turns out that I am not going mad. FlashBuilder was really failing silently and just failing to launch. I tried deleting my workspace and launching again, but every time I did that it would recreate the workspace directory automatically and then fail to start.

Searching Google for "FlashBuilder won't start" yielded only one promising result but >the link was to a Jira defect that I can't see. I was about to call the professionals at ITFixed to have someone perform CPR on my machine when I figured I would try one last thing. Since FlashBuilder is basically Eclipse, I tried the old -clean command and like magic it came back to life.

Just open a command prompt to the directory where FlashBuilder is installed (On Vista: C:\Program Files (x86)\Adobe\Flash Builder Beta2) and execute the magic command:
Gumbo.exe -clean

I'm not quite sure what caused the problem in the first place. I had gotten a few out of memory errors (even though my machine has 4GB or RAM) but I can't say for sure that the problems are related.

Friday, September 11, 2009

LiveCycle Data Services 3 - Pricing

I was poking around the Adobe Labs site and came across the Model Driven Development Getting Started Guide. This looks really, really cool. However, I couldn't find any information regarding which version of LiveCycle DS it will be part of. Given the hype about the new capabilities of Flash Building and LiveCycle, I'm sure there are many developers getting very excited about using it in real world projects. It definitely seems like it can save a lot of time.

I am anxious to download it and try it out, but before I put the time and effort into it, I would like to know if it is really feasible for the types of projects I work on and the budgets I need to work within. If there is going to be a $5000 per CPU type price tag on it, I will have a hard time justifying it to my clients.

To put my conspiracy theorist hat on for a moment, I wonder if Adobe is withholding the price until we all get "hooked." Once hooked, we may never want to go back to writing server side code which would allow them to charge us an arm and a leg.


Wednesday, August 26, 2009

Adobe InContext Editing problem with SIFR

I recently had an opportunity to try out InContext Editing on a client project. Of course, 5 minutes after hooking it up I ran into a problem. If you happen to be using sIFR to add nice typography to your site, you will notice two problems.
  1. First, the sIFR Flash content appears to be in front of the InContext Editing interface;
  2. Second, the sIFR replaced text is not editable. If you make an editable region around sIFR replaced text, you get an error when you edit the page.
Luckily, there is a simple solution to the problem. If you open up the sifr.js file you will immediately notice that the Javascript is compressed in such way that it is pretty unfriendly. However, since luck is on our side, the only line you need to edit is human-readable. Scroll to the bottom of the file and you will see a line that looks like this:

if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac && (!sIFR.UA.bIsWebKit || sIFR.UA.nWebKitVersion >= 100)) {

That IF statement checks to make sure sIFR is ready to be setup. In our case what we want to do is make sure that that condition checks to see if you are in InContext Editing. We can tell by looking at the top.document.location to see if the page that is currently in the location bar is the ice/ide.html page. Changing the condition above to:

if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac && (!sIFR.UA.bIsWebKit || sIFR.UA.nWebKitVersion >= 100) && top.document.location.toString().indexOf("ice/ide.html") <= 0){

Doing so will cause sIFR to be enabled unless you are in the InContext Editor...problem solved.


Monday, August 24, 2009

Vista 64 bit and Type 1 fonts

I came across a weird problem today where after installing a Type 1 font, it was still not available in Illustrator or Photoshop but was available in MS Word. It turns out that you need to install it in the normal fonts folder and put it in C:\Program Files (x86)\Common Files\Adobe\Fonts as well.

I don't know if this violates any font licenses so you should verify that you are allowed to have two copies installed this way.