Monday, September 27, 2010

Promote JS!

If you care about being able to find good documentation for JavaScript, you should check out Mozilla's Promote JS campaign.

As Chris Heilman points out in his article highlighting why being able to find good documentation for JavaScript is so important, W3Schools usually makes it to the top of the list. Which is great for W3Schools, and they do provide a decent reference for the already initiated. But for those of us that are looking for a slightly better outline of what an object does or how to use it, real world examples from actual users is a delightful resource that is much better from a user contributed source like Mozilla Developer Center (MDC). And that is where we need to concentrate our efforts, supporting the foundation that helps us. So, visit Promote JS, and help build a better community for javascript documentation.

JavaScript JS Documentation: JS Function arguments, JavaScript Function arguments, JS Function .arguments, JavaScript Function .arguments

Friday, September 10, 2010

Sony should be leveraging their hardware to deliver their media

Since I have been ranting recently, I thought I would keep up the trend by sharing my thoughts on what I think is the biggest failing to capitalize on existing market share in recent history, namely Sony.

Sony is in to everything, and I mean everything. They make a list of consumer electronic devices longer than my arm. Everything from TVs, to video disc players (Blu-Ray and DVD), music players (does anyone else remember when ALL portable music players were called "Walkmans", way before the iPod), phones, video game systems, computers, e-book devices, cameras, video and still, the list is exhausting. Sony also produces movies, television programs, and music. I probably don't even know half the different content production environments they have their fingers in. So, why are they not leveraging the hardware to distribute their content?

Okay, I know they had the now defunct Sony Connect for a while, and it never took off, but let's face it. Sony killed Connect because of their fear that it would eat into CD sales. Look how that has worked out for them. Now they have BD Live, but again, it's just another example of a venture setup to fail by it's over-lording siblings. Sad really.

If Sony was really interested they could create a system like Apple has in about a year. If they created an iTunes competitor for centrally distributing all of their media content (music, movies, television, etc), they would start off with a HUGE selection of content. I don't know how the other music and movie studios would respond to such a move, but they are old stick-in-the-muds anyway. Next they would create a consistent UI for accessing this content on each of their devices, not just a few here and there, they would have a way to download songs to every phone, mp3 player, or stereo receiver they make without using a computer. Then they would add an interface for accessing movies and television from every TV, disc player, or computer that they make. The consumer would use the same account for downloading their content on any of their Sony-made devices. Sony would control the production, distribution, and consumption of its media empire through its electronics empire.

That scares me a little as a consumer, but I have so little faith in their ability to actually manifest such a media coupe, that I can honestly say that I would like to see them at least try, in a meaningful way, without handicapping the system from the start. By the time they actually realize that their old way of selling content is disappearing too fast for them to replace the revenue streams with new ones, they will probably be so far behind companies like Apple and Amazon that they will have to subject themselves to the terms set by the retailers, instead of setting the terms themselves like they have done for so long.

Whither big media, you deserve to die a slow agonizing death.

Wednesday, September 8, 2010

Big ISPs can offer services that protect net neutrality and the bottom line

I read an article a while back, before Google and Verizon actually announced their psuedo net neutrality plan, about what Google and Verizon might be cooking up that didn't violate net neutrality "technically," but still allowed Google to reach users faster. In the article, the author theorizes that Google maybe trying to reach a deal to get their self-contained data centers closer to Verizon customers by placing the shipping containers that Google uses at the Verizon data centers. Thus, creating a shorter distance between Google's servers and the search user, and because it doesn't "technically" violate pure net neutrality standards of each packet being treated equally, it's a WIN/WIN for all parties involved. Google wins by lowering data transfer costs and speeding search results to the user, Verizon wins by collecting additional fees for providing the power and connection to their network, and the Verizon customers win because they get their search results and YouTube videos faster without paying more for the service.

I personally think that this is an awesome idea, and I can not hardly believe that the big ISPs haven't thought of this before. I think that the big ISPs, or any ISP for that matter, should start setting up Amazon CloudFront style systems straight away. Can you imagine how much better watching a Netflix streaming video would be if there were only a few hops in the network between you and the server, instead of 18? Comcast, Verizon, Time Warner, and all the other big players should be doing this as fast as they can. They already have to maintain huge data centers with network switching hubs, why wouldn't they want to make some extra money off leasing space on their hardware to content providers?

These big ISPs should take it even further, they could provide a regionally-based DNS service for redirecting domains to the closest data center that served files for that domain. And further still, they could offer a regionally based Amazon EC2-esque system of cloud computing services at these regional data centers. I mean why haven't they jumped on the cloud computing bandwagon? They are in the best position possible for leveraging existing hardware and customer connectivity for providing the most efficient possible connection with potential consumers of ANY given internet product.

While these guys argue over whether or not net neutrality will stifle or enhance innovation in the world of internet connections, they are missing what could potentially be the next big money maker for their industry, and a product line that benefits everyone in line from the provider, to the business consumer, on down to us lowly individual customers. Maybe some big company like Amazon will catch on and make some sort of deal with the big ISPs that will allow them to fill the gap where the ISPs are failing.

Monday, September 6, 2010

CSS Transform Functions Need More Work

I wonder how many people writing CSS look at the transforms spec and wonder why it doesn't have an long-hand property names like "transform-scale" or "transform-rotate". It really reminds me of the old Microsoft specs for their Visual Filters. Is Apple really the new Microsoft? When did the W3C start changing the property arguments convention?

Don't get me wrong, I think the short-hand version is great and easy to use, but can we developers/designers get a little bit more control? So that we can override certain properties without having to redefine the entire transform? It's like having to redeclare the border-bottom-width in order to change the border-left-style.

Furthermore, why can't it support multiple origins for seperate functions? Why can't I declare "transform-rotate-origin: 0 0" and "transform-scale-origin: bottom right"? Is that too much to ask? I realize that at least in the WebKit version all the functions are combined into a single matrix, which probably creates quite the huge math headache for accomplishing multiple origin points on a transformation. But I am pretty confident that it could still be accomplished by not combining them all into a single matrix, but instead applying them sequentially. Though admittedly that may have some unexpected results on the transformation, so novices might wanted to avoid such an operation.

This all just might be my own little pet-peeves, but I pretty much feel the same way about the W3C Gradients spec too. I don't have any really good suggestions on how to fix this one, but it seems overly complicated to make changes to the gradient being used. Maybe they could try something like "background-image: linear-gradient()", then the designer/developer could define the properties of the gradient as CSS properties like "gradient-start: 0% red; gradient-end: 100% blue;" It's not a perfect solution I know, but it would be much easier to create subsequent gradients with small changes that don't require a redefinition of the entire gradient. Why would I want to do something like that you might ask? Maybe I have a list of items and I want to use a different color gradient on some of them, instead of redefining the entire gradient I would be able to update only a portion of the gradient.

Being a big fan of telling other people "It's open source, contribute!" I have looked around at Gecko and WebKit source code for how I could create a patch and submit it for adoption in the respective rendering engines, hoping to get my contribution accepted by all. But I must admit to being quite lost in such a large code base as Firefox and thoroughly confused by how to add it into WebKit as well. So if anyone wants to help me figure that out, or if you think it's a great idea and decide to take up my cause, I would greatly appreciate your generosity.