Patricio del Sol's COGSCI 121

Human Computer Interaction Programming

Thursday, April 27, 2006

W4: Project

Group Members of The Mashdowns
  • Sarah Nakao
  • Dan Amelang
  • Patricio del Sol
  • James Conners
Overview

Our project is to integrate into Goolge calendar the ability to find the
best time for a meeting between a group of people given that each person
provides a list of times they are available to meet.

Feature Break Down
  • Initiate a meeting to ocurr in a time span of a week with a specified meeting time length.
  • Notify guests of potential meeting and request all available times during span.
  • Using google calendar guests select available times.
  • Notify members of meeting selected time.
Milestones
  • Figure out how to use Google Calendar API
  • Check out greasemonkey and integrate into google calendar.
  • Set up a server which would hold a database of user times.
Personal Thoughts

I think the project is going to work, its a good idea, and a good team. I would be happy to see people on the internet using it. I am looking foward to start coding and make it happen.

Friday, April 21, 2006

W3: Readings

A (Re)-Introduction to JavaScript

Interesting to know that JavaScript can be found not only on a web-browsers web-page but also on Adobe PDF and Adobe Photoshop documents.
I liked the guide very much because it explained everything clearly and simple: straight to the point.
I found JavaScript a simple programming language, and as another programming language, I picked it up easily.
This guide is perfect to have printed close as a reference manual when coding some JavaScripts.

Some parts that I didn't understand quite well are:

The && and || operators use short-circuit logic, which means they will execute their second operand dependant on the first. This is useful for checking for null objects before accessing their attributes:

var name = o && o.getName();

Or for setting default values:

var name = otherName || "default";

JavaScript has a tertiary operator for one-line conditional statements:

var allowed = (age > 18) ? "yes" : "no";

Some other stuff that wasn't trivial are: "functions are objects too" (apply), the "property called arguments.callee" and memory leaks

I am impressed on how powerfull the language turned out to be after finishing reading the guide. JavaScript is way more than a simple scripting language.

A (Re)-Introduction to JavaScript (Flickr)

Nice presentation, same content as the guide above.

Tuesday, April 18, 2006

W2: Project

I've got a group. Our wiki is here.

Tuesday, April 11, 2006

W2: Class, Readings and more.

I read the Wikipedia entries for HTML and CSS on the weekend, some comments follow.

HyperText Markup Language (HTML): I learned what HTML 4.0 and XHTML were, didn't know this. Learned about the structure of HTML and its markup element types: structural, presentation, and hypertext. After seeing this structure I saw how content (in HTML) can be separated from the style (in CSS) and that HTML 4.x and XHTML are strict about this. I also read the Wikipedia entry on Separation of style and content learning about the benefits of this approach.

Cascading Style Sheets (CSS). I saw concretely how one can modify the style HTML tags on the CSS. This was interesting because I had never understand it before, but know I see how simple it is. I also learned how CSS can be inside the HTML or in a separate CSS file. The examples and its explanations help me see it in action. CSS can get complex if you want to, and there is a lot of freedom on it. It suprised me to read that no browser has completly implemented CSS, so the newer versions of CSS had to remove features. I played around with the simple examples; I saw CSS working.

I also installed the Firefox Web Developer Extension. No problems with it, its working. I played with the options, disabling and enabling the CSS and Images, Outlining the webpage design. I can see why we need this extension.

Monday, April 10, 2006

New Links

Added some useful hyperlinks to the Link section on the right side of this blog.
Done editing the blogger template CSS.

Sunday, April 09, 2006

W1: Project

On the first week I had an overview on the tecnologies we will be using for the class project, such as Java Script, CSS, XML and AJAX.
I had the chance too look at the existing web applications available, identifying some I knew, some I use, and some I didn't know.
Meebo.com cought particular attention on a web application I haven't seen working that well. Kiko.com was another one that had a great user interface.
The most usefull (and my choice because of their UI) web applications for me are google.com, gmail.com and mapquest.com.

I currently don't have any concrete ideas on what I want for the project. I am thinking of something usefull and that hasn't been done. I am also aware that most usefull stuff may have been done, so I should start thinking in something simple like backpackit.com which is very usefull but not escentiall.
I could also try to directly improve a web application user interface. I can try to find a service with lack of user interface, and copy it with better UI, simplifying and making it more intuitive.

I also took the class by myself so it is a urgent priority for me to find a group by the end of week 2.

W1: What I learned

Class

As a computer science major, I was familiar with most of the history of the "www". The last part about Web 2.0 was particularly interesting to me, because it defined the latest trends of web applications a lot of us use every day. I have been hearing about Web 2.0 but I didn't know what it meant.
I knew some of the web services shown in class, but not all. I liked meebo.com a lot. Very nice user interface, simple page log in, and it just worked. I am impressed by the quality and how well it looks and responds to the user; so fast and smooth.
Other services I saw didn't caught so much my attention, maybe because I have seen many sites try to do an online IM application but meebo finally did it right and precisely because of the user interface.
AJAX is another fresh technology I have been hearing about and I didn't know what it meant. I learned that it means Asynchronous JavaScript And XML.

About the weeks readings:

As We May Think: Interesting point. I agree on that there should be more effort on building technologies to support our knowledge. I never thought of this, he has a good point, as the editor says "For years inventions have extended man's physical powers rather than the powers of his mind." It would be useful to store all the scientific conclusions that we rely on to derive new ones. We clearly can't remember everything. This technologies to support knowledge are not trivial, we need to store data, but more we need to be able to access it, to find it, and to display it adequately. The article even goes further than just proposing to archive knowledge but describes concrete ways of doing it, what to store, from where, etc. It tells us how humans work, and how we should build this system. It goes technical on describing the system and its design and how it relates to reality, I truly appreciate this and admire the author. Great article.


A Little History of the World Wide Web: I found amusing that the first development of the www browser started on NeXT machines (core technology of MacOSX now). The graph of the rapid growth of the internet (once established) impressed me too.

Berners-Lee's Original Proposal: Describes the original CERN design proposal of the www, describing its challenges, problems and its solution, in particular hypertext. It described its requirements and the state of the art in hypermedia. The article then exposes the client/server model for a distributed hypertext system and how it accesses existing data. It concludes
further steps to continue to develop a better solution for CERN. I think the article was interesting because it showed old sketches of what the www is today. They came out with the basic ideas and design. It was cool to read the original document.


How It All Started: This presentation re-tells us the story of the www with pictures of its main characters. Not too interesting too me.

What Is Web 2.0 by Tim O'Reilly: The author tell us how the term Web 2.0 was born, and how rapidly it expanded trough the internet. He tells us about the first Web 2.0 conference where they described their sense of what was the Web 2.0 as the web as a platform for applications, people controlling their own data, and services instead of packaged software. It describes important companies such as Google being the standard of Web 2.0 as opposed to Netscape being the one for Web 1.0. The article goes further describing the next software development cycle for this new type of software, in where a lot of stuff in the process changes, including a more active participation of the user. The author then describes lightweight programming models, placing software above the level of a single device, and concludes with the requirement of rich user experience, referring to the user interface, and putting AJAX as the key component of Web 2.0. I thing this is a very good defining with analogies of the past, present and future of the web. It certainly puts everything on its place differentiating what is the Web 2.0 compared to the past web and common packaged software.

Ajax: A New Approach to Web Applications: The author starts by saying that web applications envy richness and responsiveness of desktop applications. It describes AJAX as a collection of technologies working together to deliver richness and responsiveness on the web page. The technologies are: standards-based presentation using XHTML and CSS, dynamic display and interaction using the Document Object Model, data interchange and manipulation using XML and XSLT, asynchronous data retrieval using XMLHttpRequest, and JavaScript binding everything together. The author successfully compares the flow of AJAX compared to the normal web page, pointing out how it archives the asynchronous pattern of an AJAX application, to deliver the rich user experience. It shows how AJAX is different and who is using AJAX pointing out the great development effort by google on its successful web applications such as gmail. At the end the author encourage web designers and developers to forget about the old limitations of the old web, and to begin to imagine a wide range of possibilities.

Conclusions

After reading the articles I surely learned and had more depth of knowledge on the topics shown in class.

This May Help Your Firefox Memory Leak

I just found an article with guide on how to optimize ram on Firefox. From digg.com
Lower Firefox's Ram Usage With This Simple Hack

This Firefox 'hack' brings the ram usage to less than 10MB whenever you minimize Firefox. IE7 and Opera both have this implemented by default and so should Firefox.

The full article and instructions can be found here.

Thursday, April 06, 2006

test

first post ! test !