Blog

July 2011 Macbook Air is $949 and iMac is $899

Jul1511Jul 15, 11


Through some crafty google searching, I just happened on this particularly interesting result:


Does this mean we're going to see a price drop for both these computers?  If so, I'm going to be out a ton of cash this month!

What is a Top Tweet?

Apr0111Apr 01, 11



I posted an article to the amoebaOS Twitter account today, and I noticed later that it had been marked as a "Top Tweet".  It left me wondering what exactly constitutes a "Top Tweet", given that the only re-tweets were from my other accounts (come on, everyone does it).

Does anyone have a theory?  Or is this another mysterious algorithm to lump in with Google Search?

The FSF is Out of Control

Apr0111Apr 01, 11


I understand the need for open-source software.  Especially when it comes to re-usable code libraries.  But seriously? Asking a client-side application to "open up" just proves they don't have sufficient skill available to assess JavaScript-based applications.  It would take a very naive developer to assert that the bulk of Gmail's functionality lies within its JavaScript front-end, considering it is not a thick-client (aka thin server) application.

The article to which I am referring is here:

Honestly, every time I see a statement from the FSF regarding JavaScript (or any other browser tech), it just deteriorates my opinion of the organisation further.

Delete HTML5 Web SQL Databases

Mar3111Mar 31, 11


I've been spending a lot of time in Chrome's new "Clear Browsing Data" UI, and I wanted to make sure other people don't fall into the same trap.

While window.openDatabase and friends are fast and efficient for client-side storage, the API is underwhelming.  For all the complexity of SQL, something like deleting a created database is still not possible.  That sucks, and I would certainly consider it an oversight in the API design, not a feature as SQLite fans tend to portray it.

The only way to really delete a Web SQL Database (in Chrome, at least), is to clear all client-side storage mechanisms through the Clear Browsing Data interface (Command+Shift+Delete).  

The main problem with this limitation is that it's possible (and very easy) to screw up Web SQL DBs.  For example, calling openDatabase numerous times on a single page results in this lovely mess in Web Inspector:

How useful is that?  Oh and if you were wondering, all those identically named databases also contain tables named "undefined" with no results that fail to open.

Not that I fault Chrome - it's obviously a very early stage in the development of this API, and they are taking a risk in order to push the web forward faster than the W3C can be bothered to make simple decisions (are they making any these days?).

I'm putting out a call for solutions here - can anyone come up with a way to actually delete (drop?) a WebkitSQLite database in Chrome?

Undeniably Awesome: The .app TLD

Feb0911Feb 09, 11

Why don't we already have this? 

It's the most obvious TLD I can think of, and an excellent way to differentiate between websites and webapps!  Apparently there are 125 TLDs on the suggestion list for when the process is formalized in a month or two, perhaps someone has already suggested it (not that I'm aware, but it's possible).

Can you picture the simplicity?  Imagine telling your users "Just type minipng.app into your browser"...

Webapp Or Website? Does Anyone Care?

Feb0911Feb 09, 11

In case you hate reading, the answer is yes.  Users care because they want everything to happen as fast as possible.

I think the world needs to better understand what differentiates a webapp from a website, because internet users are directly affected by that difference every single day.  Is Twitter.com a web app? Yes.  Is this website a web app?  No.  Is Gmail a web app? That one is debatable, but yes.  


What even defines an online resource as being an "app" instead of a "site"?  I think the most definitive answer is that web apps transfer presentation separately from data, and do not employ a strict request- response technique for doing so.

Your users called, they want their time back.

Users care about speed, functionality (therein usefulness) and ease-of use.  As developers, we can draw rather direct parallels to the technical aspects of web development from these general requirements.  For speed, and since this is the web, we're talking almost exclusively about speed of data transfer (requests take much longer to transfer than to execute on the server).  Functionality is created by selecting the most effective set of features for an application (more is not always better).  Ease-of-use is important in webapps because we are still collectively helping computer users to adopt a new way of thinking about applications - if a user's first web-based application experience is horrible, they will most likely avoid using web-based software in the future.

So.. why classify "apps" and "sites" based on what the data looks like?

Users care about speed, and we know speed is most affected by data transfer time, so that's where we can draw a clear line between the "old" and "new" approaches.  A website transfers data and formatting via a single request, which is optimal when loading new pages is the primary means of retrieving new data.  A webapp transfers formatting and presentation information as part of an initial download process, much like downloading a desktop application.  Once this information has been stored, data is then downloaded in a serialized format - optimized for speed in a situation where page loads don't occur. Examining the data being transfered makes it easy to determine which paradigm something is optimized for. Simply look to sites like Facebook and Twitter, where you can see an evolution in the direction of "webapp" for no reason other than to provide a better experience to users.

Doesn't that mean everything should be an app?

You're not getting the point - that would be premature optimization at its finest.  If you are establishing a web presence for a business, where your needs are little more than an online business card or simple e-commerce site, don't build an app.  Your time would be better spent working with the client to optimize their site for Search Engines or creating PPC landing pages.  However, it would certainly be beneficial to apply lessons learned from the world of webapps to your website - things like HTML5's ApplicationCache and AJAX history can go a long way to improve user experience.  A general rule-of-thumb is this:  if your project is web-based, data- driven and is its own product, a webapp would be a wise choice.

So, there you have it.  Apps, both web and native, have an initial download followed by speedy data transfer.  Sites throw everything into a pile and download formatting intermixed with data.


Terry Fox Run 2010 Sep2010Sep 20, 10
Introducing Widgeted Sep1510Sep 15, 10
GIMP Easter Egg Feb2610Feb 26, 10
A Note to Readers Sep2209Sep 22, 09
Donations Appreciated Sep1709Sep 17, 09
The Death of Favicon.ico Jul2909Jul 29, 09
Twitter has a New Look! Jul2909Jul 29, 09
New amoebaOS Logo Concept Jul2109Jul 21, 09
Why I Love TextLinkAds Jul1609Jul 16, 09
Twittering Coffee Machine Jul1509Jul 15, 09
Opera Unite JavaScript API Jul1509Jul 15, 09
Changes to JMDWiki Comments Jun2509Jun 25, 09
Move to Antarctica Jun1809Jun 18, 09
Did you Mean 'No'? Jun1809Jun 18, 09
How to Ruin Twitter Jun0509Jun 05, 09
Error in Home: 13 Millions Jun0509Jun 05, 09
Why I Don't Use Flash Apr3009Apr 30, 09
A Fresh New Look Apr1309Apr 13, 09
Interesting URL Shortener Mar0709Mar 07, 09
Alexa Breaks up with Yahoo Mar0709Mar 07, 09
New Google Icon Jan0909Jan 09, 09
Wishlist: A Twitter Widget Nov2608Nov 26, 08
Monetizing Your Website Oct3108Oct 31, 08
Geek Score Jun2608Jun 26, 08
Little Bobby Tables Mar1708Mar 17, 08
Anniversary Dinner Jan0708Jan 07, 08
Old Robotics Videos Jan0408Jan 04, 08
Gourmet Foods Nov0607Nov 06, 07
A Bird Called Elton Oct3007Oct 30, 07
Skittles Berry Sexplosion Oct0107Oct 01, 07
A Clean Apartment Sep2507Sep 25, 07
Cause for Celebration Aug2907Aug 29, 07
JavaScript Fun Aug1307Aug 13, 07
New Scripts Ready! Aug1307Aug 13, 07
Palm Pre webOS Jan0809Jan 08, 09
Free WIFI at Peets Jan0609Jan 06, 09
Alexa Rank Mixup Dec1708Dec 17, 08
Good mroing, chrilden Dec0508Dec 05, 08
Finally, Gmail Themes Nov2708Nov 27, 08
The Ressurection! Nov1908Nov 19, 08
Discovering Podcasts! Sep3008Sep 30, 08