Thursday, June 4, 2009

Newcastle Coders Group monthly meeting

I attended the latest monthly meeting of the Newcastle Coders Group last night (3 June 2009). On the agenda were talks discussing making application interfaces cool and using Ruby. The third item on the agenda was cancelled till next month. 'Cool’ Interface design with Luke Drumm Luke discussed the dynamics of a games engine and how it keeps a users interest by setting little tasks. Succesful completion of a task leads to the learning of skills which can be applied in future situations. This incremental skill level increase keeps the user happy and wanting to come back for more. The games paradigm is all about incentivising the user Luke compared the games interface mentality with the traditional business application approach which generally comes in one of 2 camps. Either the user is exposed to all the possible functionality and gets swamped with possibility, or the user has little exposure to functionality and at the same time is not shown how to progress. In either circumstance 95% of users use only 5% of an applications functionality. The main point that Luke put forward was that games designers treat the users like adults, with some intelligence, whereas business application designers treat users like children who need there hands to be held. (Please note that this conclusion came out in the discussion but has not been portaryed all that well in my discussion) Web Ready with Ruby with William Mason William gave a presentation about the ease of developing a website using Ruby. He was using the Ramaze framework. He built a basic food menu application and showed 4 iterations of the design. The adage that anything that can go wrong will go wrong in a presentation was very true. But he persevered and game a very quick overview of the design process. William used Netbeans as his IDE. Some useful (maybe) links that he gave are:

The thing that tied the 2 talks together for me is related to my experience with setting up a rails development environment. Luke says that people want to be treated like adults, which from his talk is based upon the premise that the user wants to investigate things for himself. There are times however when its good to be a child and being led by the hand is appreciated.

Wednesday, June 3, 2009

Microsofts New Search Engine

I have just used Microsoft's new search engine Bing and found it to be very useful. The little pop ups that appear next to the results, show additional information about the site. I used the search term "rapid evolutionary prototype webpages" and compared the results to google. The bing result returned more relevant answers to what I was wanting. Overall very impressed from first impressions.

Tuesday, June 2, 2009

Exercise 9: Second Attempt

Well it is sometimes hard to see the wood from the trees.

It also helped when I read (Ince, p129-150) where he discusses Browsers and HTML. To date I have had little to no exposure to developing web pages. Thanks to this blog I am finally getting the hang of HTML.

So back to exercise 9. As it turns out my initial thoughts in Exercise 9: First attempt were correct. This is basically a rehash of what we did in exercises 6-8.

I was getting lost in the HTML on the entry form. Thanks to (Ince) I twigged to the fact that I needed to use the SUBMIT method on the form and the GET method in the php file to retrieve the information.

So here is the input form and the HTML to create it:

and the php file that parses the submitted data and outputs it.

As you can see from the output, to answer part 3 of exercise 9 yes I can modify the script to process the form.

Having just written that, the question poses another question. What does Ken mean in step 2 when he says list the steps involved in processing the form?

What steps did he have in mind? I can see that

  1. use the get method for each parsed parameter to retrieve the value.
  2. use the value to do something

Maybe his point is that it is a relatively trivial exercise to extract the information.

References Ince, D. (2006). Developing Distributed & E-commerce Applications: Prentice-Hall, Inc. Upper Saddle River, NJ, USA.

Exercise 3: Answer

Describe the steps involved with the Rapid Evolutionary Prototyping Approach as it applies to developing a Web application. (Wikipedia) states that the process of prototyping involves the following steps

  1. Identify basic requirements
  2. Determine basic requirements including the input and output information desired. Details, such as security, can typically be ignored.
  3. Develop Initial Prototype
  4. The initial prototype is developed that includes only user interfaces.
  5. Review
  6. The customers, including end-users, examine the prototype and provide feedback on additions or changes.
  7. Revise and Enhance the Prototype
  8. Using the feedback both the specifications and the prototype can be improved. Negotiation about what is within the scope of the contract/product may be necessary. If changes are introduced then a repeat of steps #3 ands #4 may be needed.
Using the Rapid Prototyping Process as defined by (Federov) to develop a web site:
  • A designer interprets the clients' ideas for the product goals and user experience, shaving out features that don't make a real impact and focusing on the core value
  • The designer begins working immediately on Photoshop/Illustrator comps of high level pages such as Home, Registration, Account Dashboard and a set of style rules for Forms, Data Tables and Wizards
  • One approval is reached, the designer begins coding out high level pages and linking them together in XHTML/CSS.
  • All template pages are fleshed out in XHTML and can be easily modified, removed, added to or iterated upon.
  • Different states can be developed to show errors, blank states, populated states, etc.
  • Designers hand off templates to the client who then gets developers to respond visually and experientially.
References
Federov Alex. Blog: Fresh Tilled Ideas. Retrieved 3 June 2009, from http://www.freshtilledsoil.com/blog/defining-contrast-between-rapid-prototyping-traditional-development.html Wikipedia. Software prototyping. Retrieved 2 June 2009, from http://en.wikipedia.org/wiki/Software_prototyping

Monday, June 1, 2009

Observations: Topic 4

The Study guide (p28) says "[See Figure 2-4 on Web server-enabling technologies in Conallen, p.23]"

The Resources section of the Subject outline only has Conallen listed as a recommended resource. Whilst nice to have it isnt a requirement. As a result I dont have a copy.

This makes viewing this particular reference difficult. I am not sure if there are many more direct references in the study guide for this text, but if not then it would seem a little harsh to not just provide the diagram in the Study Guide.

Exercise 9: First attempt

On first look, this looked the same as what we did in exercises 6,7 and 8

Consequently I just revised my efforts from Exercise 6 and got some output on the form. Alas, the url passed to the form does not contain the required parameter string. So now I need to look at some Javascript to work out how to do this. To google we go...

Unfortunately the site that I have gone to http://javascript.internet.com/forms/ list 1420 entries for the search term "process html forms data". Narrowing this down could take a while. However on the upside there seems to be some code that deals with creation of lookups and validation. All of which are relevant to parsing form data.