Wayne Pan

tech | js | ui | ajax | life | mobile

Archive for September, 2007...

Filed under:

css_sprites.png
CSS Sprite Generator

A very useful tool has just been released by the guys at website-performance.org. It’s web app that generates a png and CSS rules for easy CSS sprites. What’s a CSS sprite? Best explained below.

CSS sprites are a way to reduce the number of HTTP requests made for image resources referenced by your site. Images are combined into one larger image at defined X and Y coorindates. Having assigned this generated image to relevant page elements the background-position CSS property can then be used to shift the visible area to the required component image.

In other words, take all those small icons on your website that are individual files, zip them up, use CSS Sprite Generator, download 1 .png and apply some CSS rules. This reduces the amount of requests to your server.

Comments (0) Posted by Wayne on Friday, September 28th, 2007

Filed under:

I switched the a MacBook Pro a recently and overall the machine is 10x better than any Windows laptop I’ve ever owned. (Sleep/hibernating a Windows machine is like playing russian roulette except all the chambers are full.)

However, the single most annoying bug in OS X is that every week when I’m working and I hit command-tab, the GUI freezes. The mouse still works, iTunes still plays, Apache is still running, sshing into the box and killing processes off one by one does not recover OS X.

Normally, it costs me about 20 mins of productivity except today I had an unsaved scratch pad open in TextMate. Now it’s lost, forever. I did some research and it seems like the problem dates back at least a year and it’s hard to believe that Apple doesn’t know about. From what I can gather nobody knows for sure what the cause of it is, except that it’s triggered by command-tab switching applications.

Theories like replace the switcher with LiteSwitch X, not using an external display, and don’t use 3rd party apps all seem to have some holes in them according to the threads I’m following.

I’m going to run the trial version of LiteSwitchX and see if it keeps happening although I think it’s a ludicrous idea.

Update:
Engadget reporting that Apple at least acknowledges the issue for iMacs. Hopefully the fix will apply to MacBook Pros. Everything seems to be pointing to the ATI video drivers. (crosses fingers)

Comments (4) Posted by Wayne on Tuesday, September 25th, 2007

Filed under: ,

gphone.png
*Obviously not an official logo

Donnie Flood posted 5 reasons why everyone wants a Gphone and I was thinking to myself if I would get one. Based on all the available info, the answer right now is no. (Now I think we all agree that no official information has been released, not to mention this is all based off non-confirmed rumors and what not, therefore such as.)

  1. Heavily tied to Google services
    I’m sorry, but I don’t use Gmail or Calendar or most other Google services for that matter. I prefer Yahoo! Mail over Gmail and I already get faux-push of Y! Mail to my Blackberry. Google Calendar just doesn’t work that well for me or maybe I just don’t need a scheduling tool. The only 2 Google services I use regularly are Search and Maps, and I can already get both on whichever phone I already have. In fact you can already get most of Google’s services mobily.
  2. Google makes software not hardware
    This will be Google’s first foray into consumer electronics. I don’t care how many PhDs they have working at the plex, confidence is not high in Google making a kick-ass cellphone.The latest rumors have Google partnering with HTC as the handset manufacturer. I’ve never liked any of the HTC products which includes the T-Mobile Dash and the AT&T 8525.

    htc8525.png
    Sexy is not thy name, 8525 is.

    None of those phones particularly excite me from a design perspective. Wonder why the iPhone has been getting all this attention from people that don’t even know care to know OS X from Vista? It’s all about aesthetics and the currently HTC line up falls short in that department.

  3. Tin-foil hat factor
    Not that I’m paranoid or overly concerned with privacy or anything (heck, you are on waynepan.com) but Google already handles all of my search and knows exactly where I’ve needed directions to lately. Imagine if they can track your every movement on the grid in combination with your emails, scheduling/calendaring, and search! It’s a bit scary if you ask me.

Who knows, I may eat crow when Google finally announces something. It could be the best phone since …. since …. the iPhone! I am a geek after all. :)

Comments (0) Posted by Wayne on Monday, September 24th, 2007

Filed under:

tpb.jpg

I’ve been following this story as of late and it’s now boiled over into actual legal action by The Pirate Bay against Big Media.

The charges are infrastructural sabotage, denial of service attacks, hacking and spamming, all of these on a commercial level.

The companies that are being reported are the following:

* Twentieth Century Fox, Sweden AB
* Emi Music Sweden AB
* Universal Music Group Sweden AB
* Universal Pictures Nordic AB
* Paramount Home Entertainment (Sweden) AB
* Atari Nordic AB
* Activision Nordic Filial Till Activision (Uk) Ltd
* Ubisoft Sweden AB
* Sony Bmg Music Entertainment (Sweden) AB
* Sony Pictures Home Entertainment Nordic AB

How did it get to this point? MediaDefender is a company out of LA which specializes in guerrilla tactics to thwart piracy on the Internet. The most common method is poisoning BitTorrent trackers or other P2P networks with fake files of movies, games, and music. Their client list includes Fox, Universal, HBO, EMI, etc…

They also launched a video sharing site called miivi.com whose sole purpose is to catch people uploading copyright material. The site was exposed for what it really is by almost immediately and has since been taken down. (TorrentFreak story)

Recently, on Sept 14th, almost all of the company’s internal emails were leaked on torrent sites. You can read them all at MediaDefender-Defenders.com. The emails included server logins, tactics, projects, basically everything the company has been doing for the past year.

On Sept 20th, all the source code for the company’s software used against P2P networks where also released. Programs with names such as BTInflationDest, KazaaSwarmerDistributedSource, and PioletPoisoner. It was obvious that the company was using illegal tactics in their fight against piracy.

Today, TPB filed legal action against the companies listed above. Even though The Pirate Bay has been found to be operating within Swedish law, I can’t say there isn’t a more clear cut case of the pot calling the kettle black.

Comments (1) Posted by Wayne on Friday, September 21st, 2007

Filed under:

Google launched their AdSense for Mobile to the public recently. The implementation of the AdSense Mobile code in PHP looks something like this:

< ?php
$GLOBALS['google']['ad_type']='text';
$GLOBALS['google']['channel']='';
$GLOBALS['google']['client']='pub-00000000000000;
$GLOBALS['google']['format']='mobile_single';
$GLOBALS['google']['https']=$_SERVER['HTTPS'];
$GLOBALS['google']['host']=$_SERVER['HTTP_HOST'];
$GLOBALS['google']['ip']=$_SERVER['REMOTE_ADDR'];
$GLOBALS['google']['markup']='xhtml';
$GLOBALS['google']['output']='xhtml';
$GLOBALS['google']['ref']=$_SERVER['HTTP_REFERER'];
$GLOBALS['google']['url']=$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$GLOBALS['google']['useragent']=$_SERVER['HTTP_USER_AGENT'];

require(’http://pagead2.googlesyndication.com/pagead/show_ads.php’);
?>

As you can see, this is a server side include that executes a remote php script on a Google servers. This differs from regular AdSense code (which is simple javascript that dynamically generates iframes client side) because mobile browsers generally don’t handle javascript.

In general, there’s usually no issue with this except for adding a small amount of processing and latency per request on the publisher’s side. However, there’s a problem with their PHP implementation. If a hacker were ever to trick the requesting server into thinking pagead2.googlesyndication.com was actually say hacker.com then the foreign php script can be remotely executed. (See DNS Cache Poisoning.)

At this point, it’s a free-for-all. Once I can execute php code on your server, all bets are off. Hopefully, Google will change their implementation to be similar to the other site install code they offer in the other languages.

Comments (0) Posted by Wayne on Thursday, September 20th, 2007

Filed under:

Mint.com just won the TechCrunch2040. But the bigger news is that they’re out of private beta now! So sign up and start saving money. I hope they throw a fat open bar party with their winnings because they certainly don’t need it.

Comments (0) Posted by Wayne on Wednesday, September 19th, 2007

Filed under: ,

picture-3.pngYesterday, the jQuery team released their jQuery UI library which brings much needed UI components to an already stellar AJAX framework. Many developers love jQuery because of it’s simplicity and ability to get shit done quickly. It’s not an overly bloated library (read: Dojo 0.4) and it’s wick fast. So why would you want to use jQuery UI over say other frameworks like Ext JS or script.aculo.us? Well here’s my top 5 reasons to use this new framework, plus 3 reasons to avoid it.

5 Reasons to Use jQuery UI

  1. Stick with One Library
    The obvious reason for using jQuery UI is that you’re already using jQuery. Now you won’t have to bring in another library to satisfy your UI needs. You can take advantage of all the widgets and interaction tools that jQuery UI supports without having to maintain and learn another library. Not that mixing libraries is a bad thing, you can definitely use multiple libraries in one project and cherry picking the best components out of each.
  2. Excellent Documentation
    I’ve always liked jQuery for the excellent documentation they provide. Not only is it up to date but it’s also cleanly organized. Each function/component has a full explanation and an example + source code. The most frustrating thing when using a library is not being able to find information. The whole point to use a library is to make development easier and good documentation definitely helps.

    Just compare the jQuery docs to Dojo docs (which is actually down as of this writing) to script.aculo.us docs to mootools to mochikit. (Don’t look at YUI or Ext JS, their docs are great!)

  3. Magnifier
    picture-4.png
    Not a new effect, but definitely the easiest way to get this effect on your page. See the example here. In one line of javascript you have your very own OS X dock widget!
  4. Selectables
    selectables.png
    I haven’t used them all, but I’ve seen very few libraries that have a component that lets you select items like this in javascript. Check out the demo here. Draw a box around the list items to select them. Now more impressively hit control and select items while skipping others. Awesome.
  5. Themes
    One part of AJAX is beautifying the web and with the upcoming themes competition for jQuery, there should be plenty of themes available. My one knock against most libraries is that there’s not enough variation in the way the widgets look so one Dojo or Ext JS site starts looks like every other. Redoing themes requires a lot of resources (and talents that AJAX developers usually do not have) so most developers end up picking one of the existing themes.

3 Reasons to Avoid jQuery UI

  1. Doesn’t Support All Browsers Yet
    Granted this is a brand new project and they warn you ahead of time in their launch announcement, but so far I’ve tested Safari, IE6, IE7, and Konquerer. There are various bug in each and on different components. For example the gallery demo doesn’t render properly in Safari or Konquerer.

    The Shadow demo fails in IE6. There have been reported issues with the tablesorter in IE7. The point of using an AJAX library is to abstract the browser layer, but if certain components don’t work on certain browsers, there’s a problem.

  2. Missing Widgets, Ranged Calendar Date Picker
    I know I’m being picky, but the calendar widget doesn’t do date ranges. You can get around this, but at first glance I don’t see an option where I can set a min/max date. Compared to the YUI calendar widget, the options are sparse here. If you’ve ever done any decent amount of web work, you’ll know that a good calendaring widget is essential.

    Update: Okay, I missed the plethora of options available in the Calendaring widget. Thanks to Marc Grabanski, calendaring widget developer, for pointing me to a more robust demo which shows that it’s configurable than I had first thought. It definitely does do date ranges.

    My original point was that jQuery is still missing a few UI widgets; common ones such as a tree widget and a menu widget and lesser used ones such as a WYSIWYG or autocomplete. I don’t doubt that these things will come as the library matures but they’re not in the current release.

  3. Inconsistency in the API
    jQuery was done by a team of contributors, each doing their own components and it shows. For example, the accordion control is essentially the same thing functionally to the tab control. Yet the activate a tab programmatically the call is tabsClick() while the accordion control is activate(). The tab control also has many more hooks such as disable, remove, add, etc… the accordion control has none of this functionality.

The jQuery UI library definitely has some high points, but I think it was launched a bit too early. The depth of existing AJAX frameworks simply outshines it. However, as it matures, I’m positive the team will keep up the high quality that has made jQuery massively popular.

Comments (9) Posted by Wayne on Wednesday, September 19th, 2007

Filed under:

zimbra_logo.gif
A big one at that, $350 million for the 2 year old MS Exchange replacement. I remember being wowed by their Zimlets framework when they launched it 2006. Congrats to Satish and team!

TC is writing Yahoo! should turn their attention to Zoho to complete their web office offering. May I suggest SugarCRM? Not that I have a bias or anything. :)

Comments (0) Posted by Wayne on Monday, September 17th, 2007

Filed under:

Paul Boutin claims to have seen the TechCrunch 40 list. Taking place Sept 17-18 in SF, the TechCrunch 40 is supposed to showcase 40 up and coming startups.
Here’s the list, with a small note about what they do…

  • Clickable - provides a control panel to easily manager ad networks, Google AdWords, Yahoo Search Marketing, and MS AdCenter.
  • Flock - They’re still alive? Social browser that integrates blogging, flickr, some other fluff.
  • Ceedo - Software that allows you to bring your software with you with say on a thumbdrive.
  • Cake Financial - page is behind a login now, but from Google Cache…. Cake Financial lets you check out the actual portfolios, watchlists and real-time trades of everyone from proven top investors to your trusted family and friends. Plus you can see how you’re doing across all of your brokerage accounts and how you stack up against others.
  • DocStoc - a free online document exchange database and social networking site that allows users to store, search, and share virtually any type of document (word, excel, powerpoint, pdf, illustrator, etc…). Looks similar to already successful scribd.com
  • CastTV - video search, I don’t know what kind of tech they have but unless technology that scans videos and translates the objects and audio into searchable meta data then I don’t know how successful they’ll be. (The folks at Rexee are working on this type of tech.)
  • Cubic Telecom - looks like another voip company? Google Cache
  • CrowdSpirit - interesting idea, using the wisdom of crowds, they want to create a consumer product based on ideas the community selects. Members can invest in the product, submit ideas for specs/features, and share in the revenue. Kind of like RnD by committee. If you see all the ideas that people have about what the iPhone should do you’ll understand why I’m highly skeptical.
  • Cognitive Code - Cross platform product that can understand human conversations. Their website provides some cryptic language about what they do. Someone get these guys a VP of Marketing.
  • Mint - Quicken/MS Money for the web with much much more. I’m in the beta, but I can’t blog about it…
  • MusicShake - a Korean company that provides a downloadable product, that looks like it organizes your music plus some social aspects. English About Page
  • Ponoko - Have an idea? Ponoko will turn it into a product. Unclear as to what kind of products though (websites? food? electronics?)
  • PowerSet - natural language search, supposed Google killer. They can even understand Miss South Carolina’s rant about US Americans and the Iraqs.
  • PubMatic - advertising space, optimize your earnings from AdSense, Y! Pub Network, etc…
  • Teach the People - Social Network for learning… members can make a public space to share knowledge and then put up a separate private one and start charging.
  • 8020 Publishing - takes a lot of online content and puts in print mag format.
  • Faroo - P2P search engine, each searcher also gets a crawler, indexer, ranking engine on their machine to contribute back to the search engine. Why do they think this is a good idea? Their reasoning on the front page says that search engines require 450,000 servers and 2 billion dollars. Consumers DO NOT care about that, they just want good search results. Unless the results beat another search engine nobody will use it.
  • GotStatus - no info, but they’ll be live tomorrow at the conference.
  • FlowPlay - social casual gamer site aimed at teens.
  • LoudTalks - no info
  • Kerpoof - from here - Kerpoof is a new Boulder company that recently launched a neat new product that lets kids create, color, print, and share within a browser, and it’s very cool.
  • MetaPlace - no info
  • mEgo - no info
  • Orgoo - meebo + all your emails + sms
  • StoryBlender - Collaborative video production, half their website is in korean, half in english.
  • Spottt - free link exchanging, ahh bringing back the days of when every website had a link exchange page.
  • TruTap - something in the mobile space, no info
  • Tripit - share, search, and find trip planning info from plane tickets, hotel, itinerary, etc
  • Viewdle - video search, see CastTV above.
  • Zivity - adult/erotic social network
  • Wixi - store all your media in one place, and play it back where ever. Unclear if you need to download software to upload the data. To play your files they have a universal flash player.
  • Xobni - Taking email back, I don’t get it. They will launch a facebook app that allows you to email people instead of sending a message. This can’t be the whole product can it?
  • ZocDoc - Tagline is Dentist and Doctor Appointments instantly.
  • eXtreme Reality
  • WC
  • AppYou
  • WooMe
  • Yap

Comments (3) Posted by Wayne on Monday, September 17th, 2007

Filed under:

picture-5.png
Click for this player

I’m sure this is older news, but there are a few videos on youtube that use this new player. The major improvements are the ability to jump to any point in the video even though it hasn’t loaded yet. Also you can jump and scroll to different parts of the video more precisely, where as the older player wasn’t very accurate. I’m guessing they’re not using this new player for all videos because they’re not encoded properly. Sad because this should be the default player!

Comments (0) Posted by Wayne on Saturday, September 15th, 2007