Engage: Code entry screen

Jess Mitchell jessmitchell at gmail.com
Tue Feb 2 22:33:27 UTC 2010


Always a great conclusion to come to!

Best,
Jess


On Feb 2, 2010, at 5:22 PM, Svetoslav Nedkov wrote:

> 
> Hi Jess,
> 
> This was actually a bug that I was able to detect with some unit tests and it is now fixed. So the conclusion is that unit tests are a good thing. :)
> 
> 
> Svetoslav
> 
> Jess Mitchell wrote:
>> Not sure if this has already been fixed, but if I type one number and then click on the back or delete button nothing happens.  I actually have to click a second time for it to delete the number.
>> 
>> Jess
>> 
>> On Feb 1, 2010, at 8:26 AM, Svetoslav Nedkov wrote:
>> 
>>   
>> 
>>> Hi Colin,
>>> 
>>> Thank you for you quick reply. I have made the first set of changes and committed them to scratchpad.
>>> 
>>> I have written some comments inline:
>>> 
>>> 
>>> 
>>> Colin Clark wrote:
>>>     
>>> 
>>>> Before Merge
>>>> ------------------
>>>> 
>>>> * Use the fluid.engage namespace for your code. We've recently been tidying this up in all of our components.
>>>> * Why do you use fluid.invokeGlobalFunction() in your init block rather than just calling fluid.codeEntry()?
>>>> * The number pad images are a bit pixellated. I've attached PNGs of the number pad sourced directly from the wirefreames to this JIRA: 
>>>> http://issues.fluidproject.org/browse/ENGAGE-305
>>>> 
>>>>  
>>>>       
>>>> 
>>> We are now using the new images, one thing I wondered about was that there was a transparent margin around each of them, so the obvious way to lay them out was to put a negative margin in the css to compensate those gaps. I reckon that this could be totally wrong.
>>>     
>>> 
>>>> * I think the user experience would be improved if we wait a brief moment before redirecting to the ArtifactView page. At the moment, the user can't see the second digit before the page starts to reload. James, what do you think?
>>>>  
>>>>       
>>>> 
>>> I have added a delay of one second in the component options.
>>>     
>>> 
>>>> * Is there a reason why you're making a synchronous Ajax request in checkCode()?Your code looks like it's built to support asynchronicity (which is great), so why not use it?
>>>> * There's a funny block of duplicate code in your setup() function. Create a selector that matches all buttons in DOM order, and then this will be the sort of job that the for loop or each() function were made for. ;)
>>>>  
>>>>       
>>>> 
>>> We now have a fancy selector replacing this code and -20 lines. :)
>>>     
>>> 
>>>> Before Release
>>>> ---------------------
>>>> 
>>>> * We probably have some accessibility work to do on this page. I did some quick testing with the iPhone Accessibility Inspector, but there's more testing to be done. Off the top of my head, I think we should:
>>>> 	- Make each number button a real button, or, if all else fails, give each number an ARIA button role
>>>>        - Improve the code display area--it might make sense as HTML input elements, or perhaps a live region? The core problem at the moment is that a non-sigted user will be unaware of the code display area when no digits have been entered.
>>>>  
>>>>       
>>>> 
>>> About the code display area Justin mentioned that we don't want the iPhone native keyboard to pop-up when on the code entry screen.
>>> I will do more tests and will make sure that those problems are resolved.
>>>     
>>> 
>>>> * I know that our URL space is pretty weedy at the moment, but let's try to tidy it up a bit by mounting the service and the template within the artifacts/ resource like this:
>>>> 	
>>>> http://server.org/artifacts/objectCode.html/.json
>>>> 
>>>> 
>>>> Down the Road
>>>> ---------------------
>>>> 
>>>> * We should use real HTML buttons and CSS styling instead of images for the number pad
>>>> * I think event delegation might make sense for the number pad--attaching a single handler to the container of all the buttons and then determining the action based on the target of the event.
>>>> * We might consider giving this component a real public API. Something along the lines of:
>>>> 	deleteLastDigit()
>>>> 	enterCode(fullCode)
>>>> 	enterDigit(digit)
>>>> 	getArtifactURLForCode(fullCode)
>>>> * It occurs to me that it might make sense to actually include Object Code Entry as a subcomponent of ArtifactView. That way, we can actually move from one screen to another with the minimum of extra server round trips and better responsiveness.
>>>> 
>>>> I hope this helps,
>>>> 
>>>> Colin
>>>> 
>>>> ---
>>>> Colin Clark
>>>> Technical Lead, Fluid Project
>>>> 
>>>> http://fluidproject.org
>>>> 
>>>> 
>>>>  
>>>>       
>>>> 
>>> _______________________________________________________
>>> fluid-work mailing list - 
>>> fluid-work at fluidproject.org
>>> 
>>> To unsubscribe, change settings or access archives,
>>> see 
>>> http://fluidproject.org/mailman/listinfo/fluid-work
>>> 
>>>     
>>> 
>> 
>>   
>> 
> 




More information about the fluid-work mailing list