RSS JoeHewitt.com

http://www.joehewitt.com/

Monday June 11th, 2007

5.2

Ajax on the iPhone

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

I've never seen so many developers not getting it in the wake of a major technological announcement. I nearly wet my pants with excitement when I heard that the iPhone's Safari browser will indeed run full powered JavaScript (aka Ajax) web applications. I expected the reaction across the web to be a resounding cheer, and so I was stunned to find so many people writing this off as a disappointment.

Hello, people! This is HUGE! I mean, when I first heard about the iPhone's browser I assumed it would be hobbled somehow, with limited JavaScript and probably no XMLHttpRequest. The demos on Apple's site always showed the New York Times, which is a static website if ever there was one. To hear that Apple is positioning the iPhone browser not just as a web reader, but as a platform for applications, means that the mobile web can finally start to come to life.

I know, many people had been hoping for an iPhone SDK which would give access to Cocoa and Core Animation and all those other OS X goodies, but let's be realistic. This is 2007, and we've all seen how advanced web applications can be. Amazingly, some web applications have managed to be successful even without the use of Core Animation! Besides, Safari is more than capable of doing some amazingly slick things - I've been using 3.0 this afternoon and it is blazing. Look at how smooth the animations are here. Safari even supports SVG now, in addition to the canvas tag, so while you may not have pixel shaders, you should still be able to do visually impressive things. At the end of the day, none of that really matters - what matters most are the applications that connect you with people and information, and web applications do that better than native applications.

I predict that years from now, people will look back and realize what fools they were to underestimate the importance of this announcement. iPhone users, and users of other phones that copy Apple, will have access to a world of extremely useful mobile content like never before. It will dwarf whatever could have been possible with an "iPhone SDK".

Wednesday May 23rd, 2007

5.2

Money for Nothing

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

I was surprised to see that, of all people, Michael Arrington of TechCrunch has started a discussion about the dark side of the boom that is descending (again) on Silicon Valley. What disappoints me as I read the many responses is that nobody dares to offer an explanation that cuts to the root of the problem. In my view, the tide of greed that washes over the Valley once per decade is not a force of nature, it is the hand of US government policy.

Arrington's rant is some of the best evidence you can have of the damaging effect that the American monetary system has on a society of honest, industrious, caring people. I live and work in Silicon Valley because the culture here reminds me of what my country is supposed to be about. There are so many people here who understand that work is not about money, but the vitality one feels from creating things that people want. Unfortunately, the Fed and its printing press have a policy of cheating the people that do honest work by flooding the economy with money that can be had by people who do nothing to earn it. This might sound like fiction, but it has been a fact for almost a century. I can't recommend enough that you learn about the Federal Reserve and the pros and cons of its inflationary policies.

It is difficult to explain the harmful effects of deliberate inflation to the average person, but it really hits home for anyone that has observed what Arrington is describing. Since the Fed came to be in 1914, more and more businesses have been able to succeed financially while providing little or no benefit to society. Too many Americans take jobs at these companies and look the other way. Too many people trying to do things honestly are drowned out, and find themselves unable to survive without playing the game. It doesn't have to be this way, unless we continue to blame the random winds of fate for this cycle instead of identifying the institutions that cause it intentionally.

What scares me the most about all the ignorance about inflation is that when the next bust/recession/depression happens, people will be angry and looking for a scapegoat, but they won't be looking for it in the right place. The Fed has already survived through too many crises that it created on the world's stage, only because people don't understand how money works, and we tend to try and legislate our way out of a crisis instead. Silicon Valley should be smart enough to see through that.

Saturday January 27th, 2007

6.0

Of iPhones and Socialists

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

Hugo Chavez, the president of Venezuela, comes off as a quack, but sometimes he says things that could have easily been said by an American politician:

"The one who will pay is the one who fills up the BMW," Chavez said of the gasoline tax.

Socialist reformers are so obsessed with promoting equality that they completely overlook the need to promote creativity. Imagine that you work for an automobile company and you have a dream for an innovative new car. How would it make you feel to know that your government would punish people who purchase your vehicle because it would allow them to drive a higher quality car than some others? In a country like that, people don't even bother to dream of new things.

There is a cultural undercurrent here in America that mocks consumerism. It is frustrating to see that attitude flirt its way into legislation, because to a creative person, there are few things as meaningful as having your creations enjoyed by as many people as possible. This is what drives us, even though it is the long process of creation that brings the most joy, not the ephemeral act of consumption.

This is why the iPhone story has brought me such happiness these last few weeks. It's not just the knowledge that in six months I will finally own a phone that doesn't suck, it's because of all the public adulation that has been focused on the creative spirit of Steve Jobs and Apple. While the iPhone itself will soon be taken for granted, scores of people around the globe have been kicked into action by Apple, inspired to create the next beautiful new thing. We Americans are fortunate to have a culture where that impulse is still encouraged, not smited by men like Chavez.

Tuesday January 2nd, 2007

3.0

Cursed Happiness

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

Today is my 7th New Year's Day as a citizen of the Golden State, and I revisited a tradition that began when I awoke to gray skies and a downtrodden heart on January 1st, 2002. That day I got in my car and drove aimlessly down Highway 1, blindly drawn to the fog of the Monterey Bay. I veered randomly at the exit for Rio del Mar Boulevard and found myself standing on a gloomy slice of the Aptos shoreline. That day stands out vividly in my memory for the way my sullen mood fit perfectly with the puddly sand, misty air, and the decaying cement ship silently enduring wave after battering wave.

Today's visit to Aptos was different. The skies were a crisp azure that mirrored my chipper mood (greatly upgraded 5 years later) and somehow the beach was far less beautiful for it. The newfound sun highlighted sludge and bird droppings. There was no mist to obscure the picnic tables, barbeques and asphalt pathways that shattered all intimacy with nature. I no longer felt empathy for the plight of the abandoned ship; it just looked like an ugly relect of industrial excess.

If I'm lucky, maybe next New Year's Day the Earth and I will be depressed again so that we can enjoy this place the proper way.

Monday December 18th, 2006

5.1

Death, Taxes and Laundry

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

My parents' home is a warm escape from the frigid isolation of apartment living. Of all the perks of being home for the holidays, none are as sweet as having complete, unadultered access to a free washer and dryer. It's not that I have a problem with paying to do my laundry, it's that the communal laundry room turns me into a bitter, vengeful person.

Here's the thing - I'm forgetful. Half the time I do laundry, I forget to check on it for hours. If I do this at home, I am likely to find that my mother has already taken my clothes out, lovingly ironed and folded them. If I do this in California, I am likely to return to a wet pile of clothes strewn atop one of the vacant machines. This discovery always infuriates me. What is wrong with our country, I wonder, when we don't have the time to wait for a free washer, or the courtesy to move our neighbor's clothes into the dryer for them. One evening, I must confess, my anger led to a regretful incident of "laundry rage". Noticing that my adversary's clothes were still in the dryer, I casually opened the door on my way out to stop it from running. That evening they too got to know what it feels like to have a stranger trespass on their socks. I felt like a real jerk afterwards.

Since that incident, there have been many times where I'm on the other end and somebody else's laundry loiters all afternoon while I wait. I find myself reaching for the machine to move their stuff, but I just can't do it. The voice in my head says, "What's the rush? Let them take their time." I don't want to be the ugly American who is always trampling people in the neverending rat race.

Anyway, I'd better wrap this up, my laundry is ready.

Tuesday December 12th, 2006

Computers Anonymous

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

Last night I flew into New Jersey to spend the holidays with my family. As I was boarding the plane, I was overcome with horror when I realized I had forgotten to pack the power cord for my MacBook Pro. An eternal optimist, I calmed myself down and then spent the flight thinking of all the fun non-computer related things I would do with my time once the battery died.

The next morning after breakfast, halfway through reading my emails and sorting through feedback from Firebug users, my laptop took its last breath of lithium and passed out. My reaction - I immediately stole my Mom's car and drove to the nearest Apple Store to buy a new cord.

So much for curbing that addiction.

Monday December 4th, 2006

Firebug News

JoeHewitt.com From JoeHewitt.com, 1 year ago, 0 comments Comment

Over on getfirebug.com/blog I have just posted some important news about Firebug 1.0 (the public beta is ready).

If you have subscribed to this blog just for Firebug news, I would recommend you subscribe over there instead. I plan to turn this back into my personal blog and post all Firebug news on getfirebug.com from now on.

Wednesday November 15th, 2006

Introducing Firebug 1.0

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

Everyone who releases a software product wishes they could have users as smart and enthusiastic as Firebug's. Since I put Firebug out there 10 months ago, hundreds of you have taken the time to share your wishes and ideas for the future of web debugging, and I've done my best to listen.

The only down side to Firebug is that it is not my full-time job; it's something I work on when I can find some spare time. When you're one half of an ambitious two-person startup, there isn't a lot of spare time to be found, so unfortunately I've had to neglect Firebug for long periods. However, the responsibility I feel towards Firebug's users has compelled me to try something different.

In early October, I decided to take as much time as needed to re-design Firebug from the ground up and make it into the product that everyone wants it to be. I wanted to make Firebug into a high quality product with a company behind it and the full-time attention of at least one engineer. When so many people depend on a product every day to do their jobs, then it deserves to be more than just one guy's hobby.

Since I made that decision, I've lived and breathed Firebug every day. The result is Firebug 1.0, and I hope it will help lots of people code happier. Some of the highlights include CSS editing, network load timing, box model visualization, JavaScript profiling, command line autocomplete, HTML change highlighting, debugger watch lists, DOM editing, separate window support, and per-site blacklists.

For a sneak preview head on over to the new Firebug website. It has a fully illustrated tour of the new product, and will soon contain a library of documentation that helps you get the most out of Firebug.

http://www.getfirebug.com

Today is the day that I am starting a small beta cycle for Firebug 1.0. At first I'll be sharing the beta with a small group, but as the builds get more stable I will expand the circle.

There is one important side-effect of this step in the maturity of Firebug. If Firebug is going to continue to grow, remain stable, and be attentive to your needs as a user, then the project needs to be financially self-sustaining. I would love to be able to hire one or two engineers who love toolmaking as much as I do, and can dedicate themselves to Firebug full-time while I focus on my other project.

To achieve that, I am considering transitioning Firebug from being a free product to being an inexpensive product. My goal is to set the cost of Firebug at a level that is low enough for everyone to afford, but high enough that it can pay the bills. I would really appreciate it if all of you out there could help me make the right decision here. After reading about Firebug 1.0 and all of its abilities, would you consider paying something in the range of $15-$25 for it?

Thanks again to everyone who has voiced their support of Firebug, and especially those who have donated. I hope you love Firebug 1.0 and we can continue to work together to build products that make web development fun.

Update: Firebug 1.0 beta has been released. It will remain free and open source after all. Read more here.

Wednesday November 8th, 2006

Adobe donates to Mozilla... Why?

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

I'm thrilled over the news that Adobe is open-sourcing its high-performance JavaScript VM and donating it to Mozilla. Still, I'm scratching my head a bit. What's in it for Adobe?

For many developers, the choice between Flash or HTML+Ajax is an either-or decision. By improving the performance of JavaScript in Firefox, they're giving us more reason to choose Ajax instead of Flash. That leaves me no choice but to assume that this is an anti-Microsoft strategy for Adobe.

Microsoft clearly intends to position its up-and-coming Windows Presentation Framework (WPF) as a replacement for both HTML and Flash. Not only would WPF take over inside the browser, but Microsoft is developing WPF tools for graphic designers (such as Expression and Sparkle) which would compete with many of Adobe's creative tools like GoLive, Illustrator, and even Photoshop.

Clearly, Adobe would prefer a future in which Flash and HTML+Ajax compete than one in which Microsoft nukes their entire business. If that's the case, I'd love to see Adobe donate some of its graphics brainpower to Mozilla as well, or WPF's special effects are going to make Firefox-rendered pages look pre-historic in a couple years.


Saturday October 14th, 2006

Boxely is finally available

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

Woke this morning to great news from Corey. AOL has finally made Boxely, my long lost friend, available to the public.

You can download it and learn more here: http://dev.aol.com/boxely_api/

Second Update: AOL has put Boxely back online. Looks like they just took it down to clarify some licensing issues. Thank you, AOL, for doing the right thing.

Update: Well, that was fun while it lasted. AOL has taken down the site already. Apparently not all executives in the company were aware of the release, and ordered it removed when they caught wind.

Friday October 13th, 2006

FireBug and Firefox 2

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

I've just pushed a new build of FireBug (version 0.4.1) which is compatible with Firefox 2. This build also fixes a bug that was biting Mac users, disabling the keyboard shortcut for toggling between windows.

Don't get too cozy with version 0.4.1, because the next major version of FireBug is coming very soon, and it's going to change the way you create the web.

You can wait for addons.mozilla.org to approve 0.4.1, or install it here.

Tuesday August 29th, 2006

next FireBug

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

Since FireBug 0.4 shipped at the end of May, I haven't written a line of new code for the project. I wish I could have found more time for it, but it was a busy summer for my other projects.

During that time, I've gotten to actually use FireBug quite a bit, and made a long list of things that tick me off. Plenty of users have sent in bug reports and feature ideas in that time, as well, so I'm sorting through them all now and plan to spend some time knocking off as many as I can.

If you're a FireBug user, and there is any particular feature that you're wishing for, now would be a good time to let me know in the comments, and maybe it will get bumped up the todo list.

Some other good news... over the summer, Gijs Kruitbosch dedicated his Google Summer of Code sponsorship to working on FireBug. He contributed some wonderful features, including watch lists for the debugger, the ability to clear all breakpoints, and to change the scope of the console. He also fixed a bunch of bugs. I'll be including Gijs' contributions in the 0.5 release along with the stuff I'm about to work on. Thanks Gijs!

Tuesday August 1st, 2006

The Visual Identity of a Language

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

Tara Hunt recently remarked that she can instantly recognize a website that has been built with Ruby on Rails. This got me thinking...

In just about every successful programming language or UI framework, all the apps tend to look the same, and yet, there is no reason why they have to. Most Cocoa apps look the same. Most Java apps look the same. Most C# apps look the same. Most Perl web apps look as hideous as the rest.

This makes me think that a language needs a strong visual identity before it can become mainstream. Perhaps this is why Python has yet to take off as a web development language. Quick - what does a Python app look like? Who knows - there is no equivalent of 37Signals for Python. If there were, most Python web app developers would happily copy the look and feel of that company's products, just as most Rails developers copy the style of Basecamp.

So, if you're one of the 5,000 people who are developing an Ajax framework, I would advise that you spend less time worrying about what your code looks like, and more time worrying about what apps built with your framework will look like. Focus less on flexibility, and more on a common identity.

Saturday July 29th, 2006

SVG and XHTML: Like Oil and Water

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

For the last few days I have been experimenting with SVG in Firefox. I would like to start using SVG on my blog, both for decorative and functional purposes, so my experiments revolved around ways to mix SVG with XHTML. Unfortunately, what I've learned is very disappointing.

After a couple days of working with SVG, I have the feeling that nobody on the SVG working group gave any thought to how vector graphics could make interactive web GUIs better. It seems they were more concerned with lions, and tigers, and bars (oh my). In other words, SVG was designed to be primarily an image file format; a vector alternative to PNGs and JPGs.

That's a shame, because SVG could be perfect as a means of escaping the rectangular tyranny of HTML and CSS. Think of the fun of being able to tilt photographs, fill text with gradients, or create circular buttons. Unfortunately, if you try to achieve these effects using SVG and XHTML together, you won't be having any fun. You will be too busy doing geometry calculations by hand (which the SVG engine should be doing for you).

All Your Vector Are Belong To Us

The first frustration I experienced with SVG is that it forces me to place all vector elements inside of an <svg> element. You cannot, for example, freely mix an <svg:circle> with HTML tags.

Why does this restriction exist? My guess is because SVG's creators were overly concerned with the need for custom coordinate systems. The <svg> element can be used to declare a new coordinate system in which 1 unit of SVG length may be different from 1 pixel. That's a neat feature, but if SVG is going to play nice with XHTML, then it needs to adapt to the XHTML/CSS coordinate system, not insist on having its own.

Go Against the Flow

In GUI languages (like HTML, XUL, XAML, or Laszlo) we have these things called layout algorithms, which take care of measuring things, figuring how how much space they consume, and automatically flowing the surrounding elements to fit. In SVG, there is no such layout intelligence.

If you want to embed SVG in the flow of HTML, have a #2 pencil and paper ready, because you're going to need to crunch a lot of geometry first. SVG expects you to manually position and size everything. As a result, mixing SVG with XHTML is extremely tedious.

Here is an example of simple markup that I thought I would be able to write:

<html:p>Look how lovely and round: <svg:circle r="40px" fill="blue"/></html:p>

You would expect this source to produce the result you see to your right. Unfortunately, this is not a legal use of SVG. The circle must be contained within an <svg> element. Let's try that:

<html:p>Look how lovely and round:
       <svg:svg>
      <svg:circle r="40px" fill="blue"/>
       </svg:svg>
</html:p>

That's legal, but look what it renders - only a quarter of the circle, and the HTML text is missing. SVG isn't thoughtful enough to measure that circle for you and flow it with the text. It insists that you declare the size of the SVG viewport, and then it expects you to explicitly position the circle within that space, like so:

<html:p>Look how lovely and round: 
  <svg:svg width="80" height="80">
    <svg:circle r="40" cx="40" cy="40" fill="blue"/>
  </svg:svg>
</html:p>

This code produces the expected result, but... but.... yuck. Look how much more complicated that is than my intuitive first attempt.

Look but Don't Touch

Another major problem with the <svg> element is that it eats mouse events for breakfast.

If you have an <svg> graphic overlapping some XHTML, odds are that there will be a lot of empty space not occupied by vectors. Imagine that your graphic overlaps some HTML text, and you wanted to select some text that is clearly visible under the empty space in the graphic. As they say back in Jersey, fuggedaboutit. The <svg> element will be the target of all mouse events and nothing will happen when you try to click on the text.

If SVG elements could be freely mixed with XHTML like I described above, this would not be a problem.

Robots Love It

So, it seems that SVG suffers from the same disease as Microsoft's XAML - it is not meant to be typed in by humans. It is meant to be created by visual tools and scripts. This is too bad, because an awful lot of people still write GUI code by hand. The end result is that you won't see SVG doing much to help authors of themes (like Firefox's own), web widgets, or Ajax applications any time soon.

Sunday May 28th, 2006

FireBug ScreenCast

JoeHewitt.com From JoeHewitt.com, over 2 years ago, 0 comments Comment

Though I haven't had the occasion to write much documentation for FireBug, I'm thrilled to see that some of FireBug's users are picking up the slack. Jim Rutherford has put together an excellent screencast demonstrating how to use FireBug's JavaScript debugging features. If you'd prefer the written word, Justin Palmer has a nice overview complete with lots of pictures. Thanks, guys!

« older items