Wednesday, December 20, 2006

Configuration Files

With the seductive nature of configuration files amplified by our broadband abilities as led to some very poor decision. I cannot find anyone to tell me why someone would think that a 251 kb xml config file that the video application relies on is a good idea. In fact, most people found it to be rather retarded. Have we lost site of what a kb is? or 251 kb. If you were to open your favorite text editor, with normal fonts, 251 kb would amount to 61 pages. How can this be a good idea? How could someone think that this is smart?

This further illustrates the fact that there is no debate of ideas, we take the path of least resistance without any look to the future. There for a brief time we were thinking about future compatibility, but that buzz word was replaced by "an organic aggregate site dynamically generate to deliver rich streaming content to our guests. "

Does anyone know what this means? Please, someone explain it to me. Actually I want several people tell me what they think it means and then we will see who is all on the same page.

Here is a new buzz word, "Build monitors in your flash stupid."

...

Bigger than expected

I wonder how people view the site, not our guests but the people working on it. Everyone seems to caught up in their own little piece of the picture nobody (except the creative director) has come to the realization that the site is very extremely huge.

Do the people know about how big everything is. We think in terms of gigabytes and see little difference between 4 gigabytes and 8 gigabytes. This tainted lens prevents us from seeing the big picture, how all this is supposed to fit together. There is no debate on issues we surrender to group think. Nobody really thinks anything through and if they do, they don't ask the right questions.

In the holy trinity Greek philosopher you can see the subtle an of growing an idea.

Socrates asked the right questions, didn't have all the answers but he got people thinking. Freud and to some extent Einstein have both had many of their key theories disproven. So where they wrong? Not at all, they were merely asking questions, they gave people a new way of thinking about things, a different perspective. There were the questions seekers.

Plato sought the right answers. He know that he didn't have them but firmly believe that the truth is out their if only the right questions were asked. Fortunately for him Socrates was his teacher so asking the right questions was a bit more intuitive for him. He saw methods in which to discerns the truth and develop ways to ascertain the truth. The truth of the world of Plato is different than the truth of modern day America so we don't look to Plato for the answers but to process of finding the right answers.

Aristotle did practical implementation. (Alexander the Great)

Thursday, July 28, 2005

For the love of god

Someone explain this to me. I am using IE7 Beta and I noticed that the url is at the top and the file edit view ... is at the bottom. WTF? What fucking dipshit thought of this one. I know there was serious discussion. People mulled and debated and did studies and found that fliping the order of something that has been around for almost a decade was good idea. Seriously, you can't be serious. The begining of the end. USE FIREFOX VIVA LE REVOLUTIONI

Sunday, July 03, 2005

Registration I

Sorry for not paying more attention to this blog. I have been devoting all my time to the registration issue we have at work. Basically I am trying to get anywhere from 50 to 100 registration sites all on the same page. We did a good job at seperating the logic from the Presentation. We will be introducing the scripting section this week. Tea is a difficult language to work with. It is fine for certain things, but creating reusable web pages is not one of them. Mainly because you are trying to put together a registation site and you can't create methods. That would be ok if I was doing one site, but dozens. I am impleneting my create tags method. This enables one tea page to output a specific form field with the appropriate div structure.
*div-Container
**Error Hash
**Div-Span-required:Span-text (First Name)
**Div-Input field
****Input field
The nameing convention takes the form field that the logic wants and uses that in the archetecture for that element.
Varaible "firstName"
firstName_container
firstName_error
firstName_text
firstName_required
firstName_span
firstName_input
firstName (input field)

Error Hash


*First Name:





This may seem like a lot to display * FirstName:
But this allows me to make the text configurable. Each element can be adjusted. It can appear above or beside the text. Very solid.


With this certain combination the fields can be placed effortlessly at any portion of the page.

Thursday, May 12, 2005

.CEN Framework

Nope that isn't the real name either. It has come to my attention that their is no framework in place at the company that I work for, which is odd since a site with over 200 areas to it should have some sort of framework. So this is what I proposed for our registration and will propose for the site in general. Not sure how it will be excepted, but I already have people adopting the concepts that make up the Framework.
It goes like this. When dealing with the presentation layer (What the guest sees) there are four key components. I will deal with how Flash and other plug ins later.

* Mark up
* Style
* Scripting
* Logic (Not always the case since not all sites or pages have a back end)

Mark up and style will often be refereed to as the presentation.
Mark up
At this point you should be using XHTML Strict. This is a very structured mark up language and when done properly adheres to a very strict architecture. Now when you declare the doc-type and your page is not up to code, most of the time it might work, but you will most likely get plagued with unknown breaks in your page on the Gecko browsers. Mark up should only be used for structure, never style. Get rid of all your font, center, bold, and italic tags. Now when dealing with bold and italic you might see an increase of code, however to ensure that your site can be read by a screen reader use STRONG, italics, hey W3C.org says it is deprecated, so remove them. Trust me on this one. Strong is the only exception, we need that to put emphasis on words. But I digress. Structure, that is all mark up should be used for. Tables should only be used for tabular data. You can use div and style to simulate the affect that tables give with a lot less spacer gifs and confusing layout. Remember you want your pages to be easy to update and not to be rebuilt every time someone wants to make a change to it. Again, trust me.
Every element on your page should have a class or at least an id associated with it. These are two key attributes to your elements. Plus it will make getting rid of document.write's much easier. Yes, we see to stop using document.writes, but that is another entry. Remember the goals of this framework. To make your site flexible and easy to modify. Also this will allow your site to be parsed through an XML parser in the event that you want to syndicate your pages. Your page without style should be plain, void of any style, except of course for strong. Screen readers don't care how the page looks, it just wants access to your content.
Style
If you don't know what CSS (Cascading Style Sheets) are perhaps it is time for you to find a new line of work. If you know what they are but don't know how to use them then get a book, read some sites and learn it. You are useless to us if you don't.

Style (CSS) is what you use to make your site look pretty. This is how you should add font color, type, size, background, positioning, layout. You can use CSS to give you the same affect that many people use tables for. ESPN is a good example of a site that has abandoned tables except for when, you guessed it, they use tabular data. For most of us, use the float option in CSS. You will be amazed on the power of style. Putting all that crap in the body tag, nope use the body {} class. Now the fun part is to add IDs (remember we use id's on everything but head, body, html) to your CSS include. [style] what does this do? This allows you to use JavaScript to change your CSS. Yes, you can change the whole look and feel of your site by altering the CSS. Hmm, how can we use this? When you want to make a page for printing. You can turn off your chrome, your ad's (unless you want them printed too) center the page, change the font size, you name it. Also if you want to start supporting handheld devices or console browsing, adjustments need to be made. Do it this way. And again, trust me on this one.

Scripting
First you need to develop an API for your site. Now you can't standardize all of the JavaScript, some is tailored for that site only. That shouldn't stop you from centralizing one area and one standard for scripts. All functions appear in the head of the document. Now developers will tell you it makes it easier for them to remove that chunk of code in which it is associated with. Hmm. Nope, take you an extra 30 seconds to remove it from the head. Not going to fly. Plus in my vision, people would alphabetize there functions. Just makes it easier to find stuff. Remember, the goal of this is to build a healthy site that can grow and evolve over time. Can't do that if you are painting yourself in the corner by bringing bad practices and ideas to your page. Separate the script from the structure. Now the API concept is that you have set of standard functions that can span over many sites. One file, one format, one interface that will allow for the functionality will grow.
An example would be our detection. You draw in the script. Call CreateInterface() you can put an optional argument in there to override the default landing page. And you have DetectFlash(). simple. Well what if the person doesn't want to redirect the page, they just want to see if you have flash or not. Simple, tell the function that if the first argument is true return a boolean and don't redirect. foo=DetectFlash(true) What if you want to detect for 7 not 6. The default is 6, by having a default, when the site upgrades it will cover a majority of the pages. foo=DetectFlash(true,"7"). I will go into the flashwriter some other time. For now you get the idea. I can modify and even rewrite the script from the ground up and as long as I have a function called CreateInterface with the argument and DetectFlash with the arguments then I can do what ever I want with the script. A standard implementation with a standard API golden. You will also want to invest in an API to handle style adjustments until all browsers get on the same page.
Logic
This is your server side functionality. JSP PHP ASP all work on the back end. We will get more in depth later on how to properly use serverside technology. This is where the most development is. Which is odd sense they put some much time in pushing that off to the client. The server side code should be extracted from your structure. They should be made into components and your finished product should be a group of modular pieces that fit nicely together.

Going to San Francisco tomorrow so I will cover more later.

Wednesday, May 11, 2005

How it all works (NOT)

You are so faded, that goes to Yannie and Hugh.

Seriously, this web was not built right. Yes they have introduced amazing backend technology, and with Flash you get these outstanding animations, amazing scripting power, streaming audio, streaming video, but when it comes to the backbone of the web, where it all lives, the basic page, the thought and process in which your guest tansverses through your site in search of information it all get mucked up. When building most of these sites there was no centeral idea of what needed to be built. Things were never broken down into components, building blocks that work well as you expand them. They just hack the code and push it together and make it good for now, until they can pull some of the resources from marketing into the actual stability of the product we are all screwed.

Even standards fail us. Yes it is the best way to go, but it in and of itself has a long way to go. Even the webstandards are debatable. Look. We need to make all this shit the same, all get on the same page. That is what I want to do. I want to get everyone on the same page and going forward we can make this happen. Lets do it. I am not saying adopt my standard, what I am saying is help me find one and then we can adopt that.

I have strung 100's of sites together through a single point of detection, across domains and brands the code works for 99% of what we need it to do. I did this in less than two years, mind you I had other things that needed to get done. Like wiring in the 1,000's of sites with a single bit of code that interfaces with our tracking script so we can filter out what we need from it. I have exploited this script to pull me specific information about the browsers and plugins required to make the web work. I can tell you the % of people that are on Flash 7 than Macromedia can. I can tell you the percentage of people using Flash 6.49 versus seven for non-active x browsers. I can let you know the top 100 user agent strings for Mac operating systems. I have created a network of scripts and mark up that transverses through the most diverse site on the web. So the question is do I know what I am talking about? Yes I do. Now lets see if there is anything that I can do about it.

Sunday, March 20, 2005

The task at hand

Being the first blog, it is fitting to declare what this blog is about. I can't, shouldn't or won't reveal the name of the company I work for, for now we will call it SML. Why sml, don't know, just easy to write. SOL is a division of a larger company, and was for a time, a struggling component of this empire. We will call that S. I long thought of it as a cooperate dot com. It is the most trafficked online site for children.

I have been working for sml for the past 5 years. I will be five years full time in July. I started out as an integrator. Built the first version of our subscription product from scratch. I have created an application in Flash to send animated greeting cards where people can place characters on the screen where ever they like. That idea never really took off, too ahead of its time. I wish they would give me another crack at it. Building the base for our sub products, I architect the site, built all the Flash interface, worked with engineering to get a content management system working to dynamically updated site. I constructed the HTML and JavaScript for the site from scratch. A blank index file and a base flash file called stage_6. This was based on the sandwich style I invented for the animated cards. I built an online shop where kids can use their points to buy digital prized. That project was a nightmare. Shortly after that I had broken up with my girlfriend and that started a downward spiral which ended in my being diagnosed as bipolar and needed to take some time off.

I then moved to the Application Technology team due to a decree from the production operation Vice President. I spent a lot of time messing around. They didn't know what to do with me. I worked on getting our cgi templates into our publishing system and some minor work for other teams. I then got detection thrown in my lap. It took a year and a half to get the detection to where it is today. It detects browser, OS, and plug-ins. Pretty proud of the work. It is being used on 75% of our sites and hope to have it expanded across all sites. I also developed code to be inserted into every page of SOL for tracking reasons. This is a monstrous task.

I have long advocated that SOL needs to be rebuilt with a global and standard architecture. I am on the cuff of making this happen. I lead a team that will define and implement these standards. This will include all server side pages, registration, HTML and XHTML standards, CSS, and DOM (DHTML). I make arguments for removing browsers from the supported list and ensure that our sites will be compatible with future technologies. I believe that the sites should be developed with Web Standards, and SOL standards in the construction of Flash movies and all the components that make up the presentation layer. I have convinced the executives that this is what needs to be done, and needs to be done soon. Wish me luck.