Thursday, November 19, 2009

Java

This past week in both my classes we discussed and/or used Java. I was very nervous going into this because I have not used Java since finishing my introductory classes about 4 months ago. And in the course of my work day, I don't have the opportunity to use any programming language other than HTML. But to my surprise, I was familiar with just about everything that was discussed. This is a big deal because for everything else we have done this semester, I am the one that has brought up the tail end (basically I have been clueless). But I on this I think I know what is going on!

Another interesting thing I learned about this past week is Google Wave. Right now it is by invitation only and I sure wish I would be invited. Google Wave is "an online tool for real-time communication and collaboration." Some of the suggested uses of Wave include; organizing events, group projects, photo sharing, meeting notes, brainstorming, and interactive games. Basically, it is an online realtime product to be used any time you need to collaborate or communicate with someone whether they are in the next cube or across the country. Several of my classmates were invited to "join the Wave" and we had a brief demonstration. To me it was similar to a webinar but more interactive. I really like this product from Wave, and as I said before, I can't wait to use it!

Thursday, November 12, 2009

Net Neutrality

I had not given the concept of net neutrality much thought, only giving it a minimum of consideration because of possible Congressional intervention in the internet. Don't get me wrong I am all for everyone having the same opportunity and access to the internet. However, I am very much against the enactment of laws with the creation of agencies to give everyone the same internet access. The proponents of such legislation argue that without laws the internet providers will increase the costs to use the internet based on your usages. I don't find this to be a big deal. Right now I pay for electricity, water, and natural gas the same way. I don't expect to be given something without me having to do something is return, in this case pay a fee. If I can't pay, I won't use it.

Another thing I am concerned about is how and who will pay for the oversight required for net neutrality. I don't think the people in Washington have given this aspect of et neutrality. Ultimately, the people will be the ones footing the bill for this through increase in taxes, or if internet providers are required to provide access to everyone then the costs of this will be passed on to the customers. Either way we pay.

Bottom line, I don't like government intervention into more of my private life. With net neutrality, the government could monitor my internet usage and at the same time read my emails and see what sites I am looking at. It scares me because this is what happened in the old Soviet Union, government monitoring and intervention. Don't get me wrong, I don't have anything to hide and if you ask me I will tell you what I do. But don't snoop, just ask.

Wednesday, November 4, 2009

iPhone Development

In this assignment we are to look for sites that discuss the best practices for developing Web sites for viewing on an iPhone. This sounds easy enough until you begin the search. The most obvious and one of the better sites for this is the iPhone Dev Center. I realize this is sort of cheating but when looking for best practices why not go to the source. And in the process I discovered that the Apple Developer site is a really good site. It has information on working with viewport (what is viewable on the iPhone screen), CSS for good iPhone pages, Webkit and iUI. And the surprising thing is that Apple, more times than not, will give you the code to use to make your web site viewable on the iPhone. But using only Apple for iphone development best practices is probably not the smartest thing because it is only one view of how things should be, admittedly, it is one of the most important sites but it shouldn't be the only site to use.

Viewport is not specific to iPhone development although I thought it was when we first started working with it. Basically it is a tool to be used to mimic the viewable screen to display for whatever you are developing and it is used in many other types of software, i.e. CAD. I couldn't find a site I thought was useful other than the Apple site for working with viewport. I am still new to coding so I have yet to learn which sites are reliable and which sites are full of baloney.

I was successful in finding a blog about CSS for good iPhone web pages, www. cssdiscussion.com. The information is interesting but dated (last updated in 2007) and this may be due to the amount of information available at the Apple site basically for free. And there were several sites that proffered CSS design tips and best practices but you have to pay for their services, not something I want to do.

One of the interesting things I was able to find was that several search categories in Google combines CSS, WebKit and iUI into one search. WebKit is the development tool you use for iphones. iUI is short for the iPhone User Interface. Most of the sites I found were fee based sites and I didn't bother to look at most of them because I was able to find the information I want on the iPhone Dev site. And I realize I am beginning to sound like a broken record but if it's not broken don't fix it.

There are so very many sites available for iPhone development, some good, some great, and some you are better off not paying any attention to. The trouble comes when trying to determine which is which. Once of our first assignments in our Internet Technology class was to sign up and participate in a news aggregation site. I chose Google Reader and then by some stroke of luck I added a site to my subscription called 'iPhone Development Tutorials'. This is one of the best sites for learning what others have done with iPhone development, what worked and what didn't. To me, this is a great beginning point for new developers to learn about best practices.

Findability

Findability-defined by Peter Morville in 2005 as the ability of users to identify an appropriate website and navigate the pages of the web site to locate what the user is looking for. Basically, knowing what you want to find and then finding it. Simple enough of a concept but putting this concept into use is a bit trickier.

Search engine optimization (SEO) works to position a web site at the top of search results in a search engine request, and being positioned as high in the search engine results is the goal of SEO.
The higher a web site is listed in the search results the higher the probability a user will go to the site. Going back to the definition of findability, a web site has to anticipate the words and phrases a user will use to search and then incorporate these words/phrases into the web site (search engine optimization), simply said SEO enhances findability. This works only is the user knows what they are looking for on the internet.

How does a web designer, developer or writer determine what does or does not enhance findability? This involves several interrelated things. The site has to be designed to be useful, usable, accessible, and credible. All these add to the findability of a site. And findability is not static, because users are not static. This means that a web site must not remain static. This means that the developers and designers have to continue to monitor the web site through testing any proposed changes to see if the changes increase or decrease the findability.

Search Engine Optimization

The assignment for our midterm paper required us to research and write about search engine optimization and search engine marketing (SEM). So for the most part, our class has a basic understanding of what these terms mean but having the opportunity to talk with someone who does this every day is invaluable. And last Thursday we had this opportunity when we had a guest speaker come talk with us who has several years of experience in using search engine optimization (SEO). Not only is David knowledgeable but he was willing to share tips, insights and best practices for us to use when designing web sites so that they are positioned as high as possible in search engines, i.e., Google, Bing, etc.

Without going into much detail, SEO uses keywords and images on web pages so that search engines will list the site at or near the top in search results. I always thought that SEO and SEM where opposites when dealing with web site. However, as David pointed out search engine marketing is a broader term that encompasses search engine optimization and pay per click (PPC). Search engine optimization is called "organic" because it uses the keywords and tags on the web site for placement in the search results, where pay per click (PPC) is just that, the web site owner pays for placement on a search engine page and the cost is based on the number of times the web site link is selected (clicked).

There were three things that stand out from listening to David and his wealth of knowledge; (1) when deciding what keywords or tags to use, if at all possible, run a comparison between possible choices to see which one will work the best for you (or your client's) website; (2) be very specific in choosing keywords, often times a plural of a word will cause the web site to be placed lower in the search results; and (3) to have more specific search results use quotes ("") around the search phrase. These three things all seem to be "no brainers" to veteran web designers but to me they are a big deal and probably I would not have thought of them on my own.

I wanted to be part of the current MIT class to learn how to manage internet technology projects and programmers. However, the more I learn about the internet and how it works the more excited I become. I want to be part of this technology, hands on, not just an a manager. The guest speakers we have heard in our classes have been awesome! I still have such a long learning curve ahead of me especially in the coding side of this program but I am definitely up for the challenge.