Web Info & Tutorials

July 25th, 2008

FIREBUG LITE 1.2; NOW WITH IMPROVED LITE-NESS

Steve Souders gave a speech at OSCON yesterday where he demonstrated the newborn Firebug Lite 1.2.

Today Firebug Lite 1.2 was released. This newborn edition was shapely by Azer Koçulu, creator of pi.debugger. Azer connected the Firebug Working Group, morphed the interface to countenance Firebug, and additional it to the Firebug cipher base.

Firebug Lite is a subset of Firebug that crapper be utilised in IE, Opera, and Safari. The preceding edition provided console.log functionality. In Firebug Lite 1.2, Azer additional the knowledge to inspect DOM elements, road XHRs, and manoeuver HTML, CSS, and JavaScript. You crapper embed it in your pages and enable debugging. I favour creating a Firebug Lite bookmarklet that I crapper start on some scheme page. Instructions and more aggregation are acquirable on the important Firebug Lite page.

If you same a lowercase Firebug fuck when you debug non-Firefox browsers, analyse discover the rattling such reinforced version!

July 24th, 2008

OPEN WEB FOUNDATION: DAVID RECORDON AT OSCON


David Recordon has foregather started his OSCON talk, embedded above, on activity the Open Web.

He is announcing the Open Web Foundation, a newborn endeavor to hit a locate for us to incubate, license, and physique accord around specifications, protocols, and more.

I posted most this on my blog as I am an initial member:

I am agog to wager the past speech of Open Web Foundation is today discover there. I conceive that it is poised to embellish a enthusiastic newborn crossway of the Web gift us a locate for the another stuff.

Let’s verify an example. Imagine that you came up with a enthusiastic idea, something aforementioned OAuth. That enthusiastic intent gains whatever rubbing and more grouping poverty to intend involved. What do you do? People communicate most IP policy, and governance, and dead you wager yourself on the line of creating a newborn MyApiFoundation.

Wait a minute! There are plentitude of standards groups and another organizations discover there, sure you don’t hit to create MyApiFoundation?

Well, there is the W3C and OASIS, which are clear to endeavor orgs. They hit their place, but MyApi haw not sound in there. The WHATWG has become up with strange work, but the boot on IP was an supply likewise (solved by employed with the W3C).

MyApi has whatever cipher in there, so how most swing this in Apache? Athapascan is enthusiastic for code, but it doesn’t care with the another stuff, which is fine. That isn’t its mandate. Athapascan does things rattling substantially though, especially when it comes to organization and the setup process. What if we had a groundwork that had whatever of the aforementioned values around grouping involved (so anyone can, versus companies) and a multifarious accord (not foregather a some blokes from the aforementioned company).

This is ground I am anticipative for the Open Web Foundation. It is a newborn locate to countenance at if you become up with something adjuvant for the Open Web, a locate that haw correct your values.

But advise a minute, what most this “Open Web” abstract again. As I foregather said on a locate most process the term, grouping can’t concord on what the shucks abstract is! There is a aggregation of cord wager “Flash and Silverlight are not the Open Web, but GWT is!”

I conceive that the Open Web Foundation needs to be a cheater in employed this out. With poetics in place, the groundwork crapper gesture projects that foregather the requirements. When a send starts it haw not be Open Web still (e.g. binary application implementations). We requirement a locate to advise nervy and near the Web. Can’t advise to wager what happens there.

Announcing a newborn groundwork isn’t what matters. What rattling matters is what comes of it. I am agog to wager how this every evolves.

In somewhat attendant news, Google Code today supports noesis licensing to go along with your unstoppered maker project.

July 23rd, 2008

EMBEDDED OPENTYPE AND THE W3C

CSS:

  1.  
  2. @font-face {
  3.   font-family: Cambria;
  4.   font-style: normal;
  5.   font-weight: normal;
  6.   src: url(CAMBRIA2.eot);
  7. }
  8.  

We discussed the new font-face / EOT impact yesterday. Ben loves typography, thus him wanting to provide Tahoma a rest.

Then we wager Microsoft consideration in on the topic, and it prefabricated me muse the persuasion feat on.

Bill Hill has a newborn place on the IEBlog most Font Embedding on the Web.

The prototypal pair of paragraphs says a lot. First we hit the “look at the companies activity it”:

It’s Bill Hill here again, ease conflict the beatific fisticuffs to attain printing on the Web as beatific as we’re utilised to sight in print. We prefabricated momentous advancement this week, when digit of the USA’s most prestigious type companies declared its hold for the Embedded OpenType info for type embedding on the Web, and launched a newborn website to encourage another browsers to hold it in constituent to cyberspace Explorer (which has had EOT hold built-in since 1996).

And then the emotion most type linking ;)

At the aforementioned time, Ascender Corporation and its collaborators in the craft accord also warned of the jural dangers of using the Font Linking execution currently based by another browsers.

So, EOT is “in face of the W3C”. What are your thoughts?

You crapper provide Bill Hill’s impact a peak and countenance at the Assender place too.

July 22nd, 2008

DEFINING THE OPEN WEB

I heard that when asked who knew what the “Open Web” meant at a past conference, scarce anyone locate their safekeeping up. Those that ofttimes conceive that they do see it, see it at a cord level.

Brad Neuberg has been intellection most this, and wrote the following asking for our input:

What the Heck is the Open Web?

Do you throw the constituent Open Web around? Ever astonishment what the heck it means? Me too.

I’m hunting for a definition of the Open Web that:

  • Isn’t a laundry itemize of missile points
  • Is digit or digit sentences long
  • Doesn’t constrain the scheme from ontogeny in the forthcoming (i.e. that it’s cavernous sufficiency that it’s not meet defending the position quo but crapper alter to newborn innovations)

I’ve got my possess opinions on these but I’m fascinated in chance what you think. Basically, what’s the elevator pitch for the Open Web? Its cushy to speech to the Converted ™, but what most when conversation to another folks that strength not tending as such yet?

You intend incentive points if you crapper respond the following:

  • If Adobe were to unstoppered maker Flex/Flash, or Microsoft Silverlight, would that be the Open Web? If so, why? If not, ground not?
  • Why should developers tending most the Open Web? How most users?
  • How would you delimitate the scheme itself, again in a artefact that doesn’t constrain it from forthcoming ontogeny and utilization (i.e. “It’s a locate to publicize a clump of documents” doesn’t earmark shack for deploying applications, as we are sight with Ajax today).

We throw around the constituent Open Web a bunch, but I’ve never seen it succinctly defined. What is it, and ground do we hold it? I conceive its essential and worth activity but it’s every a taste hirsute correct now.

July 21st, 2008

WEBMONKEY’S FIVE BEST FIREBUG EXTENSIONS

Adam DuVander over at WebMonkey has compiled a itemize of their five selection Firebug extensions. The ever-popular YSlow tops the list, but to that they add:

  • Firecookie for cushy admittance to cake information
  • FirePHP to desegregation server-provided PHP debugging aggregation with the Firebug UI
  • Pixel Perfect for overlaying mock-ups on crowning of the actual abstract to secure you’ve got a beatific implementation
  • Rainbow for JavaScript structure highlighting

Nice list!

July 18th, 2008

FIREBUG TO GET A BOOST

Great programme for every Web developers discover there (that be you!). Firebug is feat to intend a effort in the arm. Joe Hewitt has had to andante downbound his impact on the tool, and thusly the Firebug Working Group was created, to essay to attain the agency move to thrive.

The impact has been mainly finished fresh by Evangelist J Barton of IBM, and Jan Odvarko. They module today be connected by 50% of a John Resig:

I’ve got a mini-announcement. Starting this hebdomad most half of my instance at Mozilla is feat to be spent dynamical the content of the brand-new Mozilla Firebug team. I’m, understandably, quite agog most this proposition. Like every scheme developers I’ve institute Firebug to be an valuable agency for scheme development.

We’re in a rattling primordial initiate correct today - we’re gathering at the Firefox Summit at the modify of the period and again at the first of August for the Firebug Working Group. We’ll be environment whatever field goals for post-Firebug 1.2 development. I highly venture that we’ll be doing whatever preliminary Firebug spreading utilization as well.

Also, Rob Campbell (Mozilla hacker, tester, and agency developer) module be connexion them.

This is at a instance that Firebug rattling needs this effort in the arm, so I can’t move to wager what happens next. If you hit ideas on what you poverty to see, permit them know…. they are listening.

July 18th, 2008

LIGHTWEIGHT GRID CONTROL FOR JQUERY

Developers are ever hunting for a enthusiastic installation curb that is cushy to use, customizable and, of course, feature-rich. Paulo Mariñas has created meet that for jQuery developers. Flexigrid is an extremely pliant installation curb with provides some of the features highly-desired by developers. These include:

  • Resizable columns
  • Resizable peak and width
  • Sortable article headers
  • Cool theme
  • Can add an mediocre table
  • Ability to enter to an ajax accumulation maker (XML and JSON[new])
  • Paging
  • Show/hide columns
  • Toolbar
  • Search
  • Accessible API

rb_flexigrid.gif

Version 1.0b3, which was fresh free provides:

  • Fixed paging difficulty on binary instances
  • Mootools and Prototype noConflict() sympathy problems fixed
  • New onError circumstance on ajax interaction, (it module transfer what the computer said in a uncertain titled data), allowing you to appendage computer problems
  • New $().flexAddData method, allows you to direct add newborn accumulation to the installation using your possess accumulation source.
  • New preProcess API, allows you to add or impact accumulation dispatched by computer before expiration it to Flexigrid, allowing you to ingest your possess JSON info for example.
  • Single Rows Select meet ingest { singleSelect: genuine } in the options

Get more aggregation at the Flexigrid important page.

July 18th, 2008

REDUCE, REUSE, RECYCLE…. YOUR CODE

With a teen son, I ofttimes center to the “Reduce, Reuse, Recycle” strain by Jack President for the Curious martyr movie. Edgar Hassler has condemned that expression and applied it to code.

Edgar goes into a aggregation of detail, including the mass supply that he ran into:

The difficulty I kept having was that I necessary to transfer aggregation from PHP’s surround to JavaScript imported into an XHTML document, and in that JavaScript document, I necessary to message additional resources that were qualifying to the playscript file. CSS gets this correct in that references to images in outside CSS documents are feature qualifying to the CSS essay path. JavaScript, surprise, does no much thing. Plus, whatever scripts requirement to become at destined locations in the essay (which crapper be surmounted by the circumstance arrange in IE or the circumstance line in Firefox; if you see the propose to revilement yourself, you’re doing it right.) Finally, whatever scripts staleness be included before others, but I didn’t poverty to intercommunicate errors when someone imported digit factor before another.

We shapely something titled Axon, which, for obligation of a meliorate description, allows for something same Java’s goods statements. A collection definition enter (there crapper be some sort of them) describes inventiveness obloquy same “Synapse.Forms.Validation” and maps them to required inventiveness obloquy (dependencies) and inventiveness paths related to channels. A steer was the modify inventiveness type, much as “CSS” or “JavaScript”, and mapped onto the Loader to control which things are imported. Further, Axon recursively met the dependencies to bonded things entered the surround in the comely order. Lastly, we additional a assist definition so that a inventiveness could exposit itself as providing, say, “sendEmail”, and allowed the dockhand to be queried for a service.

Axon “worked” in that it prefabricated using our messaging charabanc grouping and modify determination cipher easy. We utilised it everywhere. It unsuccessful in that we never utilised services, and no digit remembers if caching is on or off, feat comically intense situations where fault fixes don’t impact or, alternatively, action tanks. Both enthusiastic options.

and then concludes:

For PHP developers especially, attending that as we attain our cipher more message ad face, we haw be sacrificing pace on the processor but we’re gaining Brobdingnagian amounts of utilization time, fault chase instance and fees for damaged keyboards and restraining visit hearings. That’s the hornlike sell—as a developer we hit to care with costs, and as PHP developers we hit the plus of existence on an already “slow” understood module kinda than essay gathering into our C++ for speed.

By centering on reuse we acquire fund direct and indirectly, as reusable components help as a knowledge to handle a project.  We every see the requirement for it, but it’s arduous to bonded a artefact to bonded reuse. In an essay to assets up, I am suggesting requiring the mass in your possess projects:

  • Require that concerns be addressed digit field at a time, and flower those solutions as needed
  • Focus on essay semantic cipher (for which the message is manifest from its structure)
  • Document your cipher and allow warning ingest cases
  • Documentation should ever allow a statement of what you are disagreeable to attain as substantially as what you are actually achieving with your design.  Be honest
  • Use essay over inheritence when adding features to binary classes from the past, inform and forthcoming (mainly when spanning assorted codebases)
  • Allow for broad take uses via factories
  • Allow for baritone take uses via constructors and factories.
    (When PHP 5.3 lands, don’t permit your constructors be public)
  • When something module be unceasing for a daylong time, wage a locate to place that accumulation erst and reuse it, don’t obligation it apiece time
  • Talk to grouping who module be nonindustrial with this example of code, or play you are them, or actually be them and see what concerns they have
  • Imagine refactoring an senior send to ingest this code. Ask yourself what problems you forsee, and how crapper you attain organisation decisions today to preclude these problems?
  • Release your cipher to a accord that crapper ingest it (and bonded they crapper ingest it by emotional it at GPL3 or better.) Encourage feedback and participation
  • Drink a aggregation of vodka and flushed Samson and black discover when you cipher so that you crapper move it with a firm nous the mass day
  • Request comments at every stage,  investigate the notch between what they wait and what you’re thinking on building, but cut feature requests that would drive you to move soured target.  Do not essay to rank components every at once, kinda permit it be something to which you become back.  Don’t festinate it, meet permit it happen, baby
  • Do not emotion trading diminutive amounts of action for semantic structure. You’re not nonindustrial mainframes or thermonuclear stockpile simulators, you’re antiquity scheme apps in PHP and more ofttimes than not the most pricey abstract is you, so baby yourself
  • Be healthy to feature that something is not a beatific politician for re-usability.  If, over the instruction of time, you begin to attending yourself re-writing it again and again in a artefact that crapper be abstracted, then go for it, but it’s alright if not everything is conception of a library
  • Be selection to ingest (or selection to study using) existing libraries for reusable components.  It module intend you in the mindset of your accord and provides you with a clump of tools you don’t hit to physique yourself

If you do these things, you’ll intend flush hurried employed from home.  No, not really, you won’t, at small you belike won’t, because the results I’ve cited are not typical.

In fact, in the fiber of this article I wish some reverend who makes it to this saucer writes a place on their possess experience—what’s worked and what’s failed.  My knowledge abilities verify me that individual of you feature this and said “whoa, that’s a recipie for a action disaster,”  and when projects burst in popularity this critique is most sure true.  My “Highly Available Enterprise Application Architecture with PHP” place is twice as daylong and threesome nowadays as ornery.  Also it is all cursive in Tamarian symbolization regarding Darmok and Jalad.  But with Thrift, Smarty-like templates, EC2, a sharp caching strategy, APC, memcached and a lowercase reordering of resources you crapper rebound.

As he says, what are your thoughts with attitude to your code?

July 17th, 2008

RADIOHEAD + OPEN DATA = JAVASCRIPT + CANVAS VISUALIZATIONS OF THEIR WORK

I impact on Google Code. Hearing that Radiohead was feat to promulgation accumulation with proportional licensing and wanted to do so on Google Code was awesome.

Now we wager how modify it is that the accumulation is open. People same biochemist Seidelin are doing engrossing things with it.

In this case, biochemist has created awful visualizations of the accumulation using JavaScript and Canvas:

I figured it would be a pleasant lowercase research to essay visualizing this accumulation using JavaScript and Canvas so I went and did meet that. The accumulation is exclusive saucer clouds, message a full clump of points with x,y,z values (and intensity) for apiece frame. The accumulation on Google Code is most 800 MB, so apparently a taste of cut had to be done. You can’t wait 30 fps with Javascript doing with this category of data, so I’ve exclusive utilised every 5 frames gift us a framerate of 6 fps, not enthusiastic but acceptable. Then the actualised points, apiece inclose has most 12,000 points. No artefact this module intercommunicate with 6 fps in some browser, so again I’ve condemned exclusive 10% of the points. Additionally, I’ve proven to separate absent the racket around Thom Yorke’s nous since that took up a beatific care of points. The engrossing taste is him singing, anyway. In the end, we hit a dataset of most 4 MB (converted to a JS array) for the digit time instance they released.

Now the accumulation is in a more governable land and the image crapper begin. It’s not as beatific as the actual thing, obviously, but I conceive it’s ok (it’s prizewinning when you countenance at Thom in profile). The frequence instance is as customary played via SoundManager 2 which also gives us liberated timing aggregation to sync the performance to. I’ve played around and prefabricated a some assorted personalty that you crapper switch on and soured (by imperative keys 1-9). While it is activity you crapper also circumvolve around the plumb axis by agitated the pussyfoot horizontally over the video. Also essay clicking/doubleclicking.

Great message for Radiohead too. When you are prototypal to do something, that is ofttimes the case.

July 15th, 2008

PUBTOOLS SEARCH: FAST CLIENT-SIDE SEARCHING WITH GEARS

Brad Neuberg has built a rattling cushy to ingest computer lateral see agency titled PubTools Search using Gears. The send is open source and provides a enthusiastic boulevard to deal noesis on Gears itself.

To play the code, Brad wrote a detailed article:

Did you undergo that you crapper ingest Gearsto do fast, client-side intelligent of data, kindred to a client-side see engine? Gears bundles Full-Text Search (FTS) abilities correct into its local, SQLite database. MySpace, for example, uses this feature with their MySpace Mail application, downloading every of a user’s messages for fast, client-side search. Because every of the accumulation is local, you crapper do nifty things aforementioned see over the accumulation in real-time as the individual types, something that is such harder if you hit to ask over the meshwork to a computer to do the searching.

Would you aforementioned to add the aforementioned category of fast, topical intelligent to your possess scheme tender and scheme applications? This article introduces you to PubTools Search and the Gears features that noesis it, videlicet Full-Text Search and Workers. PubTools Search is an unstoppered maker JavaScript accumulation that drops a client-side see engine correct into your page. You configure it with base HTML nonnegative a itemize of URLs to index. Once loaded, a see modify that uses the topical Gears full-text see abilities module materialize in your tender to apace and locally see over the documents in actual instance as a individual types into the see field.

Brad sat downbound with me to handle the project, whatever of the prizewinning practices, and his ingest of Dojo.