Pages

Monday, February 28, 2011

PURE

I've come across an intriguing site: BeeBole. What intigues me is this blog post: "Generate HTML from a JSON Without any Template but HTML and JavaScript". I was really just searching for the way to attach a JSON file to an HTML page, but this site seems to offer so much more. They created a templating engine to turn JSON into HTML, and they call it PURE, which stands for Pure Unobtrusive Rendering Engine (check out "What is PURE & Why?").

Well, I don't have time to check this out just yet, but I'll attach the links, and look into it "soon". In the meanwhile, you might want to explore it also! If you do, let me know how it works!!
Read more!

Friday, February 25, 2011

Use Case Examples

My last blog posting introduced a video on how to create a use case diagram, and shared a link to an article that describes the process. Here, I'd like to summarize the key concepts of that article for the benefit of my teammates and me (and hopefully it will interest you too!)

First of all, what is a use case? It's not like a basket case, and it's not a type of grammatical case. What it is, we are learning, is a simple, fast means to decide and describe the purpose of a project."

As a web designer, one of the most useful skills we can learn is to create a well-designed website that meets the customer's needs, serves the client's uses, and enables the software engineer (and presumably the designer and web company owner too!) to visualize the process in a way that leads to maximal success.

How does a use case diagram do this? Use cases describe the relationships between the actors (clients, customers, software systems) that will be using or serving the website, and the goals that each of these actors pursue. A good use case study and/or diagram will show what dependencies exist between the different actors. For instance, it will remind the web engineer that the program she is creating is meant to serve the client, someone who does not have a sophisticated knowledge of web design. The bike rider, in our case, simply wants to find a group of other bikers on a given day that are going to ride together. The biker wants something simple, and preferably easy to use. They don't need lots of bells and whistles (after all, that's why they have their super-duper bikes!)

The creation of a case use study will assure the engineer that the programs she designs for the website will meet these immediate needs of the biking community. However, she must also pay attention to the fact that other actors are involved. The bike tour leader needs to be able to post the rides he wants to lead. He wants the date, time, place, and other relevant information to be easily available to other prospective riders. Why? Well, he wants to lead others in shared enjoyment of his hobby.

The needs of the biking club itself would be another example of an actor that has its own unique goals.  The biking club wants to increase it's membership, so it wants the website to allow visitors to easily download an application form.  This goal would form the basis for another use study for the software engineer. 

In these few examples, we can see the practicality of creating a use case for each actor and each purpose the website will serve.  By focusing the engineering staff (that's us, team!) on individual use cases, the probability of a successful design is greatly increased.  The use case focuses one's attention on the essential needs of the client, and ensures that lesser purposes do not distract the engineers from these purposes.  The software design group is hired, after all, by someone who wants a particular result.  And the engineers are employed by a company that wants to satisfy its customers and to increase their own business.

For our assignment, we have not been asked to draw or design a use case diagram.  However, I think the article we read and the video I've shared both help us better understand the process we will verbally describe.  The template we will use has us assign a name and an ID to each use case, to describe the actors involved, the preconditions and post-conditions, and to delineate the primary course and alternate courses, or ways, that the actors will use the website.   As you can see, a use case does not describe HOW we will achieve the effects we describe.  However, it does do a good job of summarizing WHO wants WHAT to happen and WHERE they expect the website to take them.

So - good luck, team! Let's design our use cases carefully, and hopefully the result will be a clean, functional, and fantastic website, one that meets the client's needs, and our Director's satisfaction. 
Read more!

Use Cases

Task #2 for our Final Project in COIN 71 at Foothill College is to present 3 different use cases for the website we are creating. Each team has the same general information about what the client requires. In this case, the client is a bicycle riding club that wants to attract new members, and wants to provide more services to its existing members.

Use Cases are a new concept to me, and it turns out they are quite interesting. Here's a link the the original 2005 article that we read to introduce us to the concept: http://www.alistapart.com/articles/whatstheproblem/
 
A quick Google search reveals that there are many ways to design a use case.
One of the most helpful resources I came across was the following video, which shows just how one creates a use case. The video explains how to create a UML use case diagram using Microsoft's Visio 2007. However, even if one doesn't have or doesn't want to use this software, I think the process shown is still helpful. SO - here's the video.


Read more!

Monday, February 21, 2011

jQuery is Next

I've noticed a lot of my classmates have taken advantage of learning jQuery. They seem to find that it has helped them write JavaScript functions, and perform Ajaxian interactions. As we begin work on a team project (to build a website for a biking club), I'm finally ready to consider learning jQuery.

Today I came across a website that had some video tutorials on jQuery that made a lot of sense. I need to understand the structure of something before I can start using it,  and this set of videos just fits the bill. Check it out at KillerJavaScript.com. NOW - I'm going to download jQuery, and give it a try!
Read more!

Sunday, February 20, 2011

JSON is NOT easy!

I have stumbled over COIN 71's assignment #3 -  and the stumbling block is JSON! It is reported to be a "lightweight data-interchange format", similar to XML, but for my money, you can have it.  It is SO confusing.  I wish I knew what about it is so difficult, but I just can't understand how it works.  I guess I'm not understanding the whole thing about what "objects" are, and how they differ from "tags" or "elements".  This really is a language, and somehow this one is like Greek to me!  Anyway, I'll keep plugging away at it.  In the meanwhile, I'll share a video I found on YouTube. I think I'll have to watch it many more times to truly get it. So, consider this one as archived for my future video enjoyment!

Posting
Read more!

ScanSnap SOON!

 My birthday is coming up soon, and guess what I'm getting - a scanner!  I can't believe it, but this is truly what excites me.  I saw ads for it earlier, and after using the S1500 for archiving Dad's documents, I am a believer!!  It is SO nice to get things scanned - I don't have to worry about saving every little piece of paper, and I can sort and save things easily. What my focus on now is to scan old photos, and to have something portable for our road travels.  As a family focused on preserving its historical documents, a good scanner is essential. And for the creative types - it's fun, too!

Posting
Read more!

Friday, February 11, 2011

Ajax and Egypt

While studying for my Midterm in Foothill's COIN 71 (Application Software with Ajax), I reflected upon the keynote of Ajax - asynchronous requests to the server with JavaScript.  The advantage of an asynchronous request, which uses a call to the XMLHttpRequest() object, is that the user does not have to wait for the server to respond.  Because of network latency (the time it takes the server to receive a request and return the data requested), it is far more efficient for a programmer to set these requests up asynchronously.  That is, the browser can continue to respond to the user's actions while waiting for the server's response, and the user does not need to be "interrupted" by awareness of browser blockage.  The page can be refreshed with new data without the entire page having to be reloaded.  This method is in contrast to a synchronous request, in which the browser remains inactive while awaiting the server's response.  Almost NO one likes to wait!  Hence, the advantage of using Ajax methods for web development.

What does this have to do with Egypt?  I realized the metaphoric connection this morning as I opened my Wall Street Journal.  Newspaper information is a perfect example of a SYNCHRONOUS source of information.  I read at 6am today an analysis of what happened a day ago.  Meanwhile, an entire day of new events occurred while we Californians slept.  Egypt is 10 hours ahead of us!  As I write this now, it is 11:35pm in Egypt - an entire day has passed, and I won't read about it until tomorrow! What a frustration!!  The Internet, in contrast, provides near-asynchronicity (oops - another of my non-words).  That is why the events in Egypt have been tagged Revolution 2.0 - the people's protests have utilized ALL of the beauty of the Internet, as well as the tradtional methods of political organization and representation.  I am just so proud to be living in this age of interactivity and citizen participation. I am excited to be learning new languages, such as JavaScript and XML, and to be witnessing the re-birth of old societies with modern technologies.

My hat goes off to the heroes and "non-heroes" of Egypt! You have put my studies in perspective, and you have proven the worth of educational efforts.



Read more!

FlipStory

Here's a great new item - FlipStory!  The website is in French, the video is "silent", but the photos do all the talking!  Looks like this goes on my "check it out later" list.  The way I found this website? Classmate Rosalyn says she's using PrestaShop Open-Source E-Commerce software, and FlipStory was one of the websites advertised by PrestaShop.  Guess I'll have to look into the software site also!  Here's a quick video on FlipStory:

Flipstory - create your flipbook - créez votre flipbook from FlipStory on Vimeo.

Read more!

Monday, February 7, 2011

What Skills Do I Need?

Here's a great video that interviews four computer industry experts, and asks them 4 key questions:

  • "What Do I Need to Get Hired?"
  • "What Do You Look For in a New Hire?"
  • "What Does It Take to Get Promoted?"
  • "How Has the Workplace Changed?"
The answers might surprise you!  These experts, from Apple, IBM, Google, and "a senior software engineer", all emphasize communication.  Whether one listens or talks, persuades or describes, the emphasis in today's collaborative environment is not on SKILLS, but the ability to communicate.  The movie illustrates the point well, with 4 great communicators.  Produced by a team of 4 (including COIN 71 instructor Elaine Haight), with sponsorship from Foothill College, DeAnza College, SRI International, and the National Science Foundation, this film both says and shows that technical skills may open the door, but it's one's ability to communicate and collaborate that will cinch the deal.



Read more!