All Thumbs and No Fingers A bucket for all things

17Feb/100

Integration – how to plan for the unknown

No one has ever said integration of one system with another is straight forward. But does it always need to be a surprise a minute roller coaster ride? In a recent and slightly challenging (read evolving) integration projects I devised a simple set of rules:

Action Plan:

  1. Identify the unknowns
    How? Start simply with broad questions. Don't be too quick to get into the detail as this will be the natural tendency. At this stage understand nothing about the detail but fully comprehending the end user environment or capabilities will give you a greater barometer for detecting where the unknowns are essential or not.
  2. Questions everything, assume nothing
    I've tripped over this many times, combined with one this is probably the largest probably when scoping, initiating or specify an integration piece of work. I find Excel is my friend in this situation, I can capture questions and responses as the knowledge flows
  3. Seek documentation but don't rely on it.
    Documentation in what ever form is usually well intentioned, but out of date, inaccurate or just plain wrong. Typically the documentation will look grand 'Technical Specification for X.Y.Z version 1.2' however what tends to happen is that was written at the outset before a line of code had been written - ask yourself when you last went back and updated a specification at the end of project, yet you want to make key integration decisions based on it?
  4. Get a setup of the system as close as possible to the real environment for use during development, verification testing and UAT
  5. Commit, integrate and test regularly. Really if your not doing this forget it
  6. Use real data not 'lorem ipsum' or 'test account 1'
    Demand this especially if you have translation or localisation considerations to consider.
  7. Allow your/encourage your client to come and inspect your work - they may see things your developer mind over looked.
    Coming from a developer mind I'm always surprised how easy it is to be lulled by our perspective on systems.
  8. Testing
    Even with all the automated testing, eyeballs and code reviews I'm still amazed by how often I come across developers who see it as acceptable to ship code from their development computer to a production environment without any testing.

Have I overlooked anything you find works best for you? Let me have your comments and I'll add them in.

29Nov/090

Six thinking hats designing and scoping solutions

hatI've been contemplating this for some time. In fact it dates back to my first trip with my Dad to the local library in North Walsham where I found a copy of Dr Edward De Bono's: Six thinking hats.

Six Thinking Hats is the concept that innovation, judgement and thought can be better managed and facilitated within a group if the group organises their collective thinking processes around a set of specific areas.

Each hat represents a specific area of consideration or thought and for simplicities sake you often see them represented with different colours. I've used this personally over many years and found that with time a. you can become faster but b. it takes time to perfect. The tools are useful for innovation but they can equally be applied to strategy enabling you to flesh out and balance a strategy considering the full range of inputs and therefore logical outputs.

During a recent workshop I attempted to use this model for technical innovation, scoping and design. Much of the work I'm interested in is understanding the real business requirements and desires such that I can translate this into a process and therefore into a software solution. I stress real business requirements because in my experience what I'm presented with at the start often differs from the final needs. In effect there is a part for me to facilitate the discussion and also capturing it as it comes to light.

With any task these days time is money and being swift, focus and accurate are critical during this stage. So using the six thinking hats should work...

Hat 1:

Is concerned with questions and facts. Well that was excellent we started the discussion collecting together the initial facts/needs we had about the solution. The white board was our friend and having allowed our self with 20 minutes we finished feeling like a second pass was necessary but that we'd made a start. The nice experience was the shared concentration, each time something not to do with Hat1 surfaced it was immediately parked.

Hat 2:

Is concerned with the emotional, irrational aspects. This is not so easy simply because of the lack of time we've had to work together (kick off meeting) and that its not immediately obvious that this should have a relevance on our task. However after a short pause we did gather to gather our emotions and it was pleasant to find them largely similar. In this case around the desire for success, daunting hill to climb and concerns over failure to bring the essential elements out.

Hat 3:

Is concerned with judgments. Beneficial but challenging was the outcome here. The problem with this stage is that you need to criticise the solution, need, business case to unpick where there may be logical arguments which challenge the need for it. Our discussion unearthed a number of things which in Prince 2 might go onto a risk register. In our case we decided once again to not try to judge the arguments, if we felt they were valid then onto the whiteboard with the desire to return to each and ensure we had a mitigation in place at some stage during the spec phase.

Hat 4:

Is a pleasant stage where we all dust ourselves off from the previous stage and now focus on the positive points. In effect the positive points indicated a range of needs which weren't focused on in the RFP, some of the more softer aspects such as the user experience, information architecture. As with most software RFP there is typically a lot of focus on the scope of the works with some explanation of the strategy. However its then important to tease out the needs in respect of the structure, and the representation it will take on screen.

Hat 5:

Is concerned with creativity, new thoughts and investigations. In effect this just happens as a outcome from doing each of the other hats. We confirmed in this section that the questions area of the whiteboard captured the unknowns at this point in time and quickly moved on.

Hat 6:

Is concerned with the holistic view. A moment to step back and recheck that the process followed has struct the correct chords and we are moving in the correct direction. Actually it identified that this may well be iterative. With the discussion so far the high-level areas have been considered but there remain holes to fill. Which gave us the drive to create the now and next actions plan. This gave each of us a collection of tasks to go away with and further enable us to cover off some of the more mundane aspects like who is taking on what. Probably not so 'big picture' as is intended but given the discussions to date have always been seeking for the big picture this was seen as no bad thing.

Conclusion:

Does it help, yes is the simple answer. More so for it being a new group of people working together and the need to channel constructive energy in a meeting to leverage a brief. However there are pitfalls and gap in terms of facilitating this as a process. Tangents appear which with excited minds can lead to new tunnels being explored which digress from the intention of this structure approach. Would I use it again - definitely given the right group and challenge.

7Oct/090

Top 5 things I’ve seen before I was 30

Here is my top 5 places I've seen, this is not easy you have to leave out so many amazing sights

  • Visited the Louvre to see the Mona Lisa
  • Visited Luxor to see the Karnak Temples
  • Visited Mauritius to see the Black River Gorges
  • Visited Rome to see the remains of the Roman Empire
  • Visited Venice to get engaged
17Aug/091

Words really are important

At last I've found the correction for the Mehrabian Myth

16Aug/090

quiet afternoon – try this…

Felt like a little distraction and a link to this popped up on twitter so I just couldn't resist having a play909

Try it for yourself over at http://www.themaninblue.com/experiment/JS-909/

26Jul/090

How do I ask Apple to fix this?

Rough Cut: Should I create a song perhaps?

Oh OK perhaps not, since I have absolutely nothing to complain about really. But I would add that perhaps it would be very nice if someone in Apple could try using this interface to traverse massive playlists? With all that spare space around the panel surely it would be trivial to make the selection window bigger?

ITunes - Add Music to iPod/iPhone interface

Just a thought?

18Jul/090

Rails – if I new when I started what I know now?

How would you answer this question?

I've been using rails for development of applications for what feels like a long time. I wasn't in the pre 1.0 crowd but I did spend many days hacking around in cgi scripts to make the website run in apache so I do feel like I've been here a while.

As brackground I came up through C++ operating systems development (loved it), delphi (blah blah), then on to Java (which I never liked) and into web technologies and scripted languages.

My day job doesn't allow more than 10-20% of development anymore (by choice). So although I'm still keen the time is not usually available. Interesting this has quite an impact on way you program.

For one thing change is an issue, changing technology requires great investment just to achieve the simplest of tasks. Something I can not afford.

Rails has always been for me about using a good language to enjoy my craft. For a variety of reasons enjoyment does enable better results. Further the rails stack goes all the way through the systems I need to utilise - database, ORM, MVC, and client side (javascript + tempaltes). By understanding one language and leveraging the well written information on Rails I avoid needing to care about most other areas.

However the trade off is that sometimes it just can't do what you need so some custom javascript or SQL query is required. I've never been particularly strong at either. So that usually gets less of my attention. I break the rules at this point and do what needs to be done to get the job done. Many in the community would disagree with this approach. And I applaude them, they are correct but realities/needs/timescales differ. As yet I've never had a hard time sleeping at night!

In many cases the Agile method of working is excellent. I was slow to value the testing framework built into the system. For a while I played with Selenium (amazing solution) but I have a regularly changing interface and could never get beyond the issue that tests broke because they were out of date (not the application was broken). Shoulda on the other hand has been very helpful as has rcov.

Of course the testing approach when time constrained is brief in some aspects. And not by design. Its just their is no documentation on how to achieve certain things - e.g. validate a upload dialog can import, parse and process an zip file + manifest. Of course this is domain specific but validation of file uploads is not, and as yet I've not found anything on this.

Google is a strong friend when there is trouble. I've found many articles and blogs to guide me. Although sometimes in the wrong direction - engines. There coming back and I'm scared I found them confused and difficult the first time around so I wonder (without a name change) who will be listening?

Would I do it all again: yes. In fact I'd do more. Its a fantastic stable platform which has I believe shaken up the entire 'intelligent' web development community along with its cousins DJango I'm looking at you. I'm sure that even in these difficult times we'll continue to see this is a fertile ground with many innovations and improvements yet to come.

Looking to the future I'm very aware of the tiny amount of knowledge I have. I've spoken to many in the community who are streets ahead. I wonder if I'll ever get to where they are? Do I need to perhaps not, if anything I can say that even with a small amount of knowledge and clear understanding of the principles (which you can pick up very quickly) creating the next application is available to almost any developer.

If only rails could create cross platform desktop applications?


Tagged as: No Comments
12Jul/090

learning in the 21st century

Zaid's excellent summary of the change taking place in online collaborative learning which is being revolutionised by the proliferation of web2.0. In this slideshare he collects together a diverse range of online tools which can make you a better life student.
Elearning is moving towards 'my-learning' and allowing me to take control of the information I'd like to gather, research, share and take advantage of.
Perhaps we will finally move towards an open learning platform which seamlessly combines the restricted corporate (mandated) learning I must do with the knowledge I want to share/learn from in the online community?
Using e-Learning To Facilitate 21st Century Learning
View more documents from zaid.
11Jul/090

Wordle for Redjamjar

The myriad of content I go on about

The myriad of content I go on about

Filed under: thoughts No Comments
11Jul/091

Does accessible flash truly exist?

For a designer or software developer the appeal of flash content is compelling. It provides a strong interactive capability to deliver engaging media over the internet consistently across all browsers which have the flash player plugin installed. The speed and visual nature of the authoring tools make is quick and easy to work with. However the same problems crops up time and time again: that of your client wishing to provide accessibility, for me this usually entails complying with the W3C AA guidelines.

If we consider the accessibility specifications and tools available it is quickly apparent that flash is lacking in this regard. Understood the paper work is in order from both Adobe, the browser manufacturers and main assistive software providers. But have you actually tried it?

In this 2 part series I will comment on first hand experience developing solutions to provide accessible flash and contrast this against the information available from webAim who have taken great care to survey validated users on their use of flash websites.

Finally I will provide some bold recommendations on how to navigate this difficult field to improve the user experience for all concerned. Please don't take my approach as correct it stems from years putting large amounts of content together and trying to meet clients opposing requirements.

Screen Design & Presentation

Lets start by considering the quick, obvious and beneficial to all wins: Organise your screen design so that the layout is easy on the eye, visual ques and information is well positioned, logical and correctly marked up.

Flash: Strong Support

How: By organising the materials on screen in a clear, consistent and meaningful way is easy in even the oldest of flash players. Careful selection of colour palettes is essential and avoiding the use of text on graduated backgrounds is good practice. Other requirements including ensuring that any content presented to users is not time bound, this ensures that those who need longer to read are not disadvantage.

Oh and please please no blinking, moving, animated text.

Scaling

With more recent version of flash comes the introduction of scalable vectors graphics support. This allows content to be scaled to any size without loss of any quality. For those requiring accessibility options taking advantage of this feature is desirable. Unlike providing text only resizing controls the entire flash content is resized. This approach ensures that the use of scroll bars, text overruns, pagination are avoided.

The Timeline

Flash operates very differently to traditional web development. HTML is largely static and has no support without complex programming to support a timeline. A timeline allows content, actions and experiences to be triggered in response to a time event occurring.

As a result this can provide engaging content however it can also severely limit the accessibility capability.

So what to do...

Consider the impact your timeline events will have on users who may need longer to take in the content. Perhaps the use of a pause, rewind/replay controls will provide all that is required to ensure that the widest range of users can access the content.

In the next session I'll continue the discussion and look at keyboard accessibility, closing down of the 'open web', navigation and interactions. Also included will be the use of video and audio and how to handle screen readers and where there may be the case for alternative formats such as separate accessible formats such as a essay document.


Pages

Amazon Favs:

new posts

My Photos

IMG_0719

IMG_0706

IMG_0703

IMG_0700

More Photos

tag cloud

accessibility apple astronomy navigation observatory british beck bug council design development dunning kruger psychology elearning facebook flash flickr browsing web photos pictures general i8n induction wordpress opensource resuse iphone itunes javascript languages learning localisation localise mehrabian motorcycle music myth my_learning parking plan programing proxy rails rest socks software ssh star synth tech iphone travel theme threshold money value spending tips health weight obesity advice welcome words

categories

Blogroll

Life is too short

Friends