Read posts about development

September 14

On Podcaster and App Store Rejections (Martin Gordon's Blog (cptncelchu)) by Martin

Podcaster, an iPhone app that downloads podcasts over-the-air, was rejected from the App Store this past Friday on account of it "duplicating iTunes functionality." The Mac community is justifiable upset, with at least one developer refusing to develop any more apps, and others looking to coordinate some form of organized protest. I think that many are confounding two separate issues that the Podcaster rejection raises. First, that there are App Store approval guidelines that extend being what is listed in the developer agreement, and second, that Apple has seemingly decided to not allow any third party applications to compete with their own.

The first issue is not new. I wrote about it in my post about Flickup being rejected and we've seen it many times of the past couple of months. This incident just gives us yet another item to add to our unofficial approval guidelines. That these guidelines are (1) not published provided by Apple, and (2) a result of trial and error on the part of many very frustrated developers is inexcusable and irresponsible. As both Fraser Speirs and Paul Kafasis mention, development takes time, effort and money, and without a reasonable expectation that an app will be approved makes the App Store that much more unappealing to develop for, scares away developers and undermines Apple's goal of building a long-lasting ecosystem around its mobile operating system.

The solution, of course, is simple. Apple needs to release an all-inclusive set of guidelines. Knowing what is off-limits cuts developers off from the get go instead of forcing them to develop an app and spin the roulette wheel. Developers may not be happy that they can't release an app that does X, but at least they'll know before pouring weeks into development. A scary, but entirely possible situation is that Apple hasn't released such a document because even they aren't sure exactly what's in it.

The second issue is the anti-competitive nature of this specific rejection. I don't want to spend too much time extrapolating meaning from this specific rejection, particularly the common view that this rejection indicates that Apple won't allow any application into the store that competes with *any* of its products. I don't see Apple being stupid enough to actually have an explicit non-complete policy in place, so my view is that this is simply a case of a reviewer not fully understanding Apple's (currently nonpublic) approval guidelines and I fully expect Apple to correct this mistake. Until we see more cases of this anti-competitive policy being applied, I don't think we should go running for the hills just yet.

Technorati Tags: , , , , ,

Posted in: apple , applications , development , iphone , software
August 4

Crazy Easy (Martin Gordon's Blog (cptncelchu)) by Martin

Merlin Mann on iPhone development (from the SF iPhone Dev Camp):

Think about having the courageousness to make an app that is crazy easy. Instead of making a circus that’s really fun to play in, just make something that’s easy to get in and out of quickly without hassle.

Yes! This is exactly what I'm going for with Flickup. I wanted it to be dead simple to post photos to Flickr and I think I've gotten pretty close. While I don't want to add frivolous features, there are some that are reasonable to consider - uploading to a set, security settings, etc. I struggled to fit the metadata view onto one screen and now I'm faced with the challenge of adding these new features without undermining the simplicity that I was going for in 1.0.

Technorati Tags: , , , , , ,

Posted in: apple , applications , development , flickr , flickup , iphone , simplicity , software , user interface
August 2

Flickup 1.0 Is Out! (Martin Gordon's Blog (cptncelchu)) by Martin

A few hours after my post about being rejected from the App Store, Flickup was approved. If that was all there was to the story then I would have posted about it immediately. Sadly, however, it took nine days from the time Flickup was approved until the time it was actually available for sale on the App Store.

In preparing the now-defunct demo version of Flickup, I stumbled across the contracts page on iTunes Connect and realized that my Paid Applications Contract wasn't complete. I completed it on July 17th and incessantly refreshed the contracts page to see if it had been approved yet. When Flickup was finally approved hours after my last blog post, I was met with the status of "Pending Contract" and frustration returned. I would have thought that three days would have been enough time for someone to review the contract, but apparently that wasn't the case. Having given Apple some breathing room, I finally sent them an email on the 24th asking how long the process would take. Their response? Nothing.

I didn't hear anything from Apple until the contract was approval last Monday, July 28th and the status changed to "Ready For Sale." When I finally got tired of searching the App Store every few minutes to see if Flickup was listed, I sent Apple another email. Again I received no response. It wasn't until I saw a tweet from Jon that I learned that Flickup had finally been posted and that the three week ordeal was finally over.

When I first started working on Flickup I set a lifetime sales goal ("If only X number of people ever buy the app, I would be satisfied"). I'm happy to say that I reached 10% of that target in the first full day alone. Since the app went live, I've been answering support emails (already!), pushed out (well, submitted to Apple anyway) a new version with some bug fixes, and already started working on some new features.

Now go out and buy it!

Technorati Tags: , , , , ,

Posted in: apple , applications , development , flickr , flickup , iphone , software
July 22

Rejected (Twice!) From the App Store (Martin Gordon's Blog (cptncelchu)) by Martin

I am now a proud member of the elite group of developers who have had applications rejected from the iPhone App Store.

The application I have been working on since a few weeks after the SDK came out is Flickup, a simple Flickr uploader. When Apple announced the July 7th deadline, I pulled an all-nighter that day to finish it up and submitted the app to Apple around 6am in order to meet the 3pm deadline for inclusion in the App Store at launch. When the App Store is launched on Thursday/Friday, my app is nowhere to be found and the status remains "In Review". I sent an email on Saturday to Apple asking why Flickup was still in review and I received a non-response three days later telling me that "In Review" means my application is being reviewed by Apple. I responded immediately clarifying my inquiry and I finally received this response yesterday:

At this time, Flickup cannot be posted to the App Store because it does not allow the user to logout or change the Flickr account that they are using.

In order for your application to be reconsidered for the App Store, please resolve this issue and upload your new binary to iTunes Connect.

This is a perfectly valid critique, and an oversight on my part, but did it really take them two weeks to tell me about it? Would they have even told me had I not emailed them about my app's status? In any case, the time it took to get a decision on Flickup gave me time to fix some bugs, and of course add the required logout functionality.

As an aside, the Flickr Authentication API's Implementation Guidelines merely states, "Users must be provided with 'logout' functionality." The API documentation does not provide any way to revoke tokens and log users out. I had to resort to directing users to their revoke permissions page instead.

In the mean time, the App Store turned one week old and gripes about the review functionality sprouted everywhere, particularly with regard to the ability for people to review an app without actually having used it. This "feature" of the App Store prompted the cheapskates out there to use reviews as a medium to complain about price. Taking this to heart, I spent some time last week preparing a demo version of Flickup that would allow people to sample the app before dropping two Washingtons on the full version. I submitted the demo version on Friday and received a decision today:

Flickup Demo cannot be posted to the App Store because it is a beta or feature-limited version. Any reference to demo or beta needs to be removed from the binary and metadata. Free or "Lite" versions are acceptable, however the application must be a fully functional app and cannot reference features that are not implemented or up-sell to the full version.

In spite of the lightning fast turnaround time, I am still just as angry about this rejection than the last one since there was no prior warning (in program agreements or otherwise) that demo versions would not be allowed. It's hard to believe that Apple isn't aware that people are crying out for demos and trials; going as far as explicitly prohibiting them (while letting all other sorts of crap through) is nothing short of infuriating.

Technorati Tags: , , , ,

Posted in: apple , applications , development , flickr , flickup , iphone , software
March 20

iPhone App Gold Rush (Martin Gordon's Blog (cptncelchu)) by Martin

With 100,000 iPhone SDK downloads, the relative simplicity of the platform and the popularity of the iPhone, there's no doubt we'll be seeing tons of iPhone applications being released as soon as the App Store goes live. But will those apps be any good?

Brent Simmons, author of NetNewsWire, thinks we'll see a ton of to-do lists and Twitter clients. He's right: Apple has failed to provide a to-do list app for iPhone OS (or Mac OS X, for that matter) and people have complained about it since June 29, 2007. Twitter is also the love du jour of techies everywhere and an iPhone app would be much better than the web interface (look no further than Iconfactory's Twitterrific on the desktop for proof). I am personally working on an app that combines the two ;-)

Brent also thinks that the money is in the Cloud. He states that standalone iPhone apps are easy and cheap enough to write and too boring to use. The most interesting apps will be those that sync to the cloud. It's the development, maintenance and scaling of the server apps that will be expensive, and that's where he sees much of the iFund money going. Time to become an expert on NSURLConnection!

I can't help but agree. One app I'm working for will tie into a web app we've written internally - the API isn't currently there, but it will be. Blossom (as we call it) won't be the most revolutionary iPhone app out there, but it is a good testing ground for client-server iPhone apps. I've got ideas for other apps too, and the thing they have in common is that they all tie back into the Cloud. The 1st iPhone "SDK" (web apps) was far from perfect, but if it did anything, it helped developers focus their attention on where it should be - the Cloud.

Technorati Tags: , , , , , , , , , ,

Posted in: apple , applications , development , internet , iphone , software
February 12

Tab Dump - Long Overdue Edition (Martin Gordon's Blog (cptncelchu)) by Martin

Too many tabs sitting open for far too long. Here we go:

Hugh Macleod on Applying "Creativity" to Your Professional Life Etc. Some nice tips, especially for those of us just starting our professional lives. Not really much to say about this, but a lot to think about. I'll probably keep this open and glance at it every once in a while despite having linked to it. (Note: This was posted on January 9th so I've had it sitting in my browser for a month!)

Andre Torrez's first Django app is a simple random color generator that is absolutely amazing and beats any other "Hello, World" I've ever seen. I'm a Rails guy and this is so cool I might just try writing my own just for kicks.

Today Is The Day is a really weird and creepy one-post blog about a day in the life of a styrofoam man. Really can't say much else about it, but it's worth checking out.

Air Traffic Controller Don Brown on air traffic safety vs. capacity. Quite an interesting and enlightening read, though probably not the best thing to read two weeks before boarding a 17-hour flight (granted I read this before I knew I'd be going back to South Africa).

I will keep doing this periodically, but it's worth noting that I'm sharing a lot more of what I come across over on Google Reader. Check out my link blog or add me as a friend directly from Google Reader/Google Chat (martingordon at gmail).

Posted in: design , development , google , inspirational , sharing , south africa , travel
January 25

The Anti-37signals (Martin Gordon's Blog (cptncelchu)) by Martin

This Official Google Docs Blog post title ("We can't stop adding features!") struck me as the complete opposite of the 37signals/Getting Real philosophy.

Now granted, I'm sure the title was tongue-in-cheek and caters to the general populace's "more features = better" mentality, AND the three features they added are actually quite useful (Save to PDF, better printing options, and vector shapes), but the title just struck me so much that I wanted to comment on it. Still, I think it's worth mentioning that I hope they can stop adding features, lest Google Office become too much like Microsoft Office.

Technorati Tags: , , , , , ,

Posted in: development , google , microsoft , office , software
January 18

Tab Dump - Long Weekend Edition (Martin Gordon's Blog (cptncelchu)) by Martin

Can't say I want to write anything too substantive on these links, but I do want to get them out there anyway because they're cluttering up my tab bar.

Monsters of the Programming World is a neat little poster anthropomorphizing common programming errors. I've been meaning to pick this up for our office.

Jeffrey Friedl has developed a Lightroom export plugin for Flickr. I haven't had a chance to test it out yet, as I've shamefully not uploaded any pictures to Flickr this year, but it should shave off a few clicks in my workflow if it works well enough.

Ken Rockwell on How To Afford Anything. The great thing about this article is that Ken isn't a personal finance guru, he's a photographer. This article isn't coming from a "I want to be rich" perspective but more from a "I want cool cameras" perspective, which appeals to me greater than the usual run-of-the-mill personal finance article.

Fraser Speirs on his photo editing workflow. Fraser uses Aperture, so his workflow is a bit more flexible than what is allowed (or rather suggested) by Lightroom. Still, some of his ideas carry across between any such application. I particularly enjoyed his rating process, something I currently do without much thought.

I'm working on listening to all of Fred Wilson's Top 10 Albums of the Year. Music recommendations from a VC, who would have thought? Fred's musical tastes are a bit off from mine and listening to his picks is an interesting experience. I haven't gotten through the entire list, but I did grab a copy of the Kings of Leon's Because of the Times, his number one pick. There are some songs I can't stand to listen to, and although the album as a whole isn't memorable, it is very catchy. That is, I can remember parts of songs but I can't identify which song it is or if it's the same part of another song. My biggest disappointment has to be the lyrical work. There's just not a whole lot going on there unfortunately.

Technorati Tags: , , , , , , , , , , , , , ,

Posted in: development , finance , links , music , photography
January 10

AJAX Web Browser? (Martin Gordon's Blog (cptncelchu)) by Martin

When I first saw the headline that the Opera Browser is headed to the iPhone (later confirmed as false), I joking thought that Opera would be releasing a JavaScript web browser that ran in Safari. On second thought, I realized that a JavaScript browser could be used to bypass proxies by requesting pages from the server and passing them to the client via AJAX.

A quick Google search reveals one JavaScript browser called Accent JavaScript Browser, but it was released in 2001 and says it only runs in IE. A quick test of the browser in Firefox on the Mac shows that it doesn't work too well and that the buttons are only a proxy for the client-side JS functions. I also found another "browser", but I couldn't get this one to work in Safari or Firefox.

So far I'm 0/2 on working AJAX browsers. If a working one did exist, would it even be possible to use it for bypassing proxies? I have no need for this functionality, I just thought that it could be a pretty neat loophole.

Technorati Tags: , , , , ,

Posted in: ajax , development , javascript , security , thoughts
October 17

iPhone SDK Announced (Martin Gordon's Blog (cptncelchu)) by Martin

From the Apple Hot News weblog (for lack of a better term):

Let me just say it: We want native third party applications on the iPhone, and we plan to have an SDK in developers’ hands in February.

I knew this had to come eventually, it was just a matter of when. The timing of a February launch is a bit strange only because a demo of the SDK (Software Development Kit) at January's consumer-oriented Macworld is inevitable. What was Apple's reason for waiting so long?

We are working on an advanced system which will offer developers broad access to natively program the iPhone’s amazing software platform while at the same time protecting users from malicious programs.

I don't think needing to digitally sign every app is in all parties' best interests. Developers have another hurdle to cross to get apps out there, Apple needs to expend resources validating every app, and consumers lose out due to both of these additional costs. I don't see Apple blocking out unsigned apps completely, and I don't want responsibility to be placed on users to determine the safety of an app. Instead, I think we'll see Apple restricting what APIs an application has access to based on their signed status. This could be an extension of the new Sandboxing feature in Leopard:

Sandboxing
Enjoy a higher level of protection. Sandboxing prevents hackers from hijacking applications to run their own code by making sure applications only do what they’re intended to do. It restricts an application’s file access, network access, and ability to launch other applications. Many Leopard applications — such as Bonjour, Quick Look, and the Spotlight indexer — are sandboxed so hackers can’t exploit them.

The news item is short on details, so all we can do is speculate at this point. What is certain, however, is that this is undoubtedly good news, and the first good press the iPhone has gotten in a while.

Technorati Tags: , , , , ,

Posted in: apple , development , iphone , security , software
March 22

Pulling in these decentralized standards (Put together quickly (Haligan)) by michaelb

I’ve been working on my first Cocoa app off and on over the last month when I’ve had time. Basically it is a project focused Campfire, Basecamp and maybe HighRise minibrowser app using webkit. It lets a person have multiple different projects open in a toolbar with a Campfire, Basecamp and search tab below each project. After some hardware issue I lost the working copy I had, but I think I should be able to rebuild it over the next weekend or two and look forward to releasing it.

Jumping ahead a bit there are a few other things that I’ve been thinking of, working on, listening too and following have got me thinking on what my second app might be.

• When I was thinking off what to make for my first attempt at a Cocoa app I first thought of an Address Book that would support hCard (import/export) and XFN.

• The work being done with attention data (APML) is very interesting to me and I do think we should see improvements in how we work with data from both it and microformats.

• I’ve also started looking at using the hListing standard with real estate listings as I’ve been working with a MLS and IDX system.

• Last is the Hivelogic podcast with Brent Simmons and their talk on microformats and NetNewsWire.

The thing is what has really got me thinking lately is a new “data” reader to support available microformats, attention data (APML) from feeds on remote sources and feeds created from local applications. Not only would you be able to pull in contacts or reviews from any rss feed, but if local applications were to create a local one for the information they store, then that could be easily pulled into this new “data” reader. These local apps could have native support or use some type of plug-in to create the feeds, and this would open up ways to better filter the information that we come in contact with.

This centralized - decentralized (CenDecen) application would be great to personally centralize for you the stuff coming out from all of these new decentralized standards and that would be pretty exciting.

Posted in: apml , attention data , basecamp , campfire , cocoa , development , highrise , microformats

Pulling in these decentralized standards (Put together quickly (Haligan)) by michaelb

I’ve been working on my first Cocoa app off and on over the last month when I’ve had time. Basically it is a project focused Campfire, Basecamp and maybe HighRise minibrowser app using webkit. It lets a person have multiple different projects open in a toolbar with a Campfire, Basecamp and search tab below each project. After some hardware issue I lost the working copy I had, but I think I should be able to rebuild it over the next weekend or two and look forward to releasing it.

Jumping ahead a bit there are a few other things that I’ve been thinking of, working on, listening too and following have got me thinking on what my second app might be.

• When I was thinking off what to make for my first attempt at a Cocoa app I first thought of an Address Book that would support hCard (import/export) and XFN.

• The work being done with attention data (APML) is very interesting to me and I do think we should see improvements in how we work with data from both it and microformats.

• I’ve also started looking at using the hListing standard with real estate listings as I’ve been working with a MLS and IDX system.

• Last is the Hivelogic podcast with Brent Simmons and their talk on microformats and NetNewsWire.

The thing is what has really got me thinking lately is a new “data” reader to support available microformats, attention data (APML) from feeds on remote sources and feeds created from local applications. Not only would you be able to pull in contacts or reviews from any rss feed, but if local applications were to create a local one for the information they store, then that could be easily pulled into this new “data” reader. These local apps could have native support or use some type of plug-in to create the feeds, and this would open up ways to better filter the information that we come in contact with.

This centralized - decentralized (CenDecen) application would be great to personally centralize for you the stuff coming out from all of these new decentralized standards and that would be pretty exciting.

Posted in: apml , attention data , basecamp , campfire , cocoa , development , highrise , microformats

Pulling in these decentralized standards (Put together quickly (Haligan)) by michaelb

I’ve been working on my first Cocoa app off and on over the last month when I’ve had time. Basically it is a project focused Campfire, Basecamp and maybe HighRise minibrowser app using webkit. It lets a person have multiple different projects open in a toolbar with a Campfire, Basecamp and search tab below each project. After some hardware issue I lost the working copy I had, but I think I should be able to rebuild it over the next weekend or two and look forward to releasing it.

Jumping ahead a bit there are a few other things that I’ve been thinking of, working on, listening too and following have got me thinking on what my second app might be.

• When I was thinking off what to make for my first attempt at a Cocoa app I first thought of an Address Book that would support hCard (import/export) and XFN.

• The work being done with attention data (APML) is very interesting to me and I do think we should see improvements in how we work with data from both it and microformats.

• I’ve also started looking at using the hListing standard with real estate listings as I’ve been working with a MLS and IDX system.

• Last is the Hivelogic podcast with Brent Simmons and their talk on microformats and NetNewsWire.

The thing is what has really got me thinking lately is a new “data” reader to support available microformats, attention data (APML) from feeds on remote sources and feeds created from local applications. Not only would you be able to pull in contacts or reviews from any rss feed, but if local applications were to create a local one for the information they store, then that could be easily pulled into this new “data” reader. These local apps could have native support or use some type of plug-in to create the feeds, and this would open up ways to better filter the information that we come in contact with.

This centralized - decentralized (CenDecen) application would be great to personally centralize for you the stuff coming out from all of these new decentralized standards and that would be pretty exciting.

Posted in: apml , attention data , basecamp , campfire , cocoa , development , highrise , microformats
March 8

redMine - project management and issue tracking [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

redMine - project management and issue tracking

redMine is an open source project management web application. Written in Ruby, using Ruby on Rails framework, it is cross-platform (Unix / Linux, Windows) and cross-database.

Tags: , ,

Posted in: development , ruby on rails , web
February 20

Sparkle [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Sparkle

Tags: , , ,

Posted in: cocoa , development , objective-c , updates
February 19

Twitter Reciprocate (for Greasemonkey) 0.3 (Martin Gordon's Blog (cptncelchu)) by Martin

Robert asked for it, and I was bored, so here's my first attempt at a Greasemonkey script. It basically adds "[Add]" next to your followers list so you can easily add followers as friends. You can find the script here. Let me know of any suggestions/improvements in the comments:

Known issues:

  • Doesn't check to see if a follower is already a friend (could be fixed by checking /statuses/friends.xml). Nothing seems to break by adding people multiple times, however.
  • Doesn't create the link for users with default icons (because user IDs aren't exposed from followers page, but can get them from /statuses/followers.xml). I really hope that the xml returns users in the same order as the page lists them.

I discovered that after putting together this script that those two xml files linked above have the information needed to fix the two issues. I'll get this out there in case people want it ASAP, but I'll work on doing it via the API.

Also, check me out on Twitter.

Technorati Tags: , , ,

Posted in: development , firefox , javascript , plugins
February 18

Cocoa Dev Central: Learn Cocoa II [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Cocoa Dev Central: Learn Cocoa II

Tags: , ,

Posted in: cocoa , development , tutorial
February 16

OpenCode [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

OpenCode

This is OpenCode.

Tags: , , ,

Posted in: code , community , development , physical language workshop
February 7

Surfin’ Safari - Blog Archive » Stabilization Spree ‘07 [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Surfin’ Safari - Blog Archive » Stabilization Spree ‘07

The WebKit community getting serious about stabilization

Tags: ,

Posted in: development , webkit
January 31

MacZealots > Articles > Beginning Mac Development [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

MacZealots > Articles > Beginning Mac Development

Tags: , , , ,

Posted in: cocoa , development , mac , objective-c , os x
January 22

My first new Cocoa application (Put together quickly (Haligan)) by michaelb

During the last year in my spare time I’ve been trying to learn Objective-C and Cocoa, which didn’t work with the schedule I had. Now that I’m working from home and have a bit more flexibility in my schedule I’ve started working on my first Cocoa app.

There is a shareware app I use daily that I always thought could be improved a bit. This rework of the unnamed (for now) is what I’ll be starting as my first app. The basic function of the app is (I think) pretty simple and I’ll be using my ideas of how I wished it would work to improve it. Hopefully in a few weeks or more I’ll be posting a copy of it here.

I imagine I’ll be listening a lot to CocaoRadio and the Late Night Cocoa podcast while working through Cocoa Programming for Mac OS X for ideas and encouragement.

Posted in: cocoa , development

My first new Cocoa application (Put together quickly (Haligan)) by michaelb

During the last year in my spare time I’ve been trying to learn Objective-C and Cocoa, which didn’t work with the schedule I had. Now that I’m working from home and have a bit more flexibility in my schedule I’ve started working on my first Cocoa app.

There is a shareware app I use daily that I always thought could be improved a bit. This rework of the unnamed (for now) is what I’ll be starting as my first app. The basic function of the app is (I think) pretty simple and I’ll be using my ideas of how I wished it would work to improve it. Hopefully in a few weeks or more I’ll be posting a copy of it here.

I imagine I’ll be listening a lot to CocaoRadio and the Late Night Cocoa podcast while working through Cocoa Programming for Mac OS X for ideas and encouragement.

Posted in: cocoa , development
November 6

Gus Mueller's Website [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Tags: , , ,

Posted in: cocoa , development , lua , mac

Gus Mueller's Website [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Tags: , , ,

Posted in: cocoa , development , lua , mac

Rogue Amoeba - Under The Microscope [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Tags: , ,

Posted in: applications , development , mac

Rogue Amoeba - Under The Microscope [ma.gnolia] (Put together quickly (Haligan)) by MichaelBiven

Tags: , ,

Posted in: applications , development , mac
October 27

10 Days! (Martin Gordon's Blog (cptncelchu)) by Martin

It's been 10 days since I posted. Last weekend was fall break so me and my roommate, Adam, drove up to Boston for the weekend. Boston is a pain to navigate, and the recently released Google Maps for Palm OS was a real time saver — when I got cell phone service. It's astonishing how such Cingular doesn't provide adequate service in such a large metropolitan area. I get great service anywhere else I've been but Boston seems to be a black hole of Cingular coverage.

A bunch of things just bunched up on this short week, including a reaction paper to Fred Brooks' The Mythical Man-Month (which coincided almost perfectly with 37signals' release of a free online version of their software development book, Getting Real). and a bunch of group meetings. I've been re-inspired by Marc Canter's post on "the amount of automation, modernization and catch-up that the health and medical professions require," as it relates to one of my group projects related to his conclusion (which I won't disclose publicly in case we decide to take it further than just a pedagogical exercise).

Technorati Tags: , , , , , , , , , , , , , ,

Posted in: books , boston , cingular , development , google , me , technology , travel , treo
August 23

AJAX smells (MrKurt) by MrKurt

It seems the default method of doing any kind of AJAXy anything is to the HTML on the server side, and then just dump the results into some container element on the existing page.  The Rails AJAX helpers generally work this way, as does Atlas for ASP.NET.  This drives me nuts on so many levels.

Phew! The annoyance struck home today when I was putting an autocomplete text field into a particular app of mine.  Scriptaculous has a nice Ajax.Autocompleter that sounded like it could be a big help in doing such a thing.   I’d hoped to just grab a JSON object from the server, and somehow dump it to the autocompleter when appropriate, and then get a nice list of options.  Bzzt.

The problems here start all the way down in the Prototype.js library.  It doesn’t really handle JSON very well, unfortunately, so I ended up rolling my own little “hey this was an application/json response, let’s do something with it”. 

Scriptaculous continues the tradition, the Ajax.Autocompleter expects an unordered list to dump into an existing element.  Even better, you can sorta define a key and a value in each list item by wrapping things that shouldn’t be part of the value in a span tag… yuck.  There are more semantic ways of using HTML to do something like that, but that’s not entirely relevant here.

The grand prototype.js/Scriptaculous solution is to create my own Autocompleter by deriving from Autocompleter.base.

Atlas’s autocomplete stuff is a better in this regard, but the rest of the package takes the “grab some HTML, put it where it needs to go” approach that singes my nasal passage.  It does a decent job of hiding that from the developer, but bleh.

Posted in: development