Top 10 Things That Suck About the iPhone 3G

6:32 PM EDT Wednesday, July 23 2008

Top Ten Things That Suck About the iPhone 3G

For the most part I'm pretty happy with my new iPhone 3G, so this is meant to be constructive criticism. I don't even compare my iPhone to the simple run-of-the-mill phone I was using before. That was a true cell phone, this is a handle-held computer that you can make phone calls with.

10. No Internet Connection Sharing

It would be nice to be able to connect to the internet on a Macbook that has an iPhone connected to it.

9. No Finder

The standard web file upload capability is disabled. It would be nice if there were an iPhone Finder app, that let you browse through a hierarchy of all files saved on the iPhone, including photos, mp3s, apps, mail attachments, etc. Also maybe have some way of transferring documents like PDFs to the iPhone, and some way of viewing them as well as being able to upload them to websites.

8. Video Recording

It would be really nice to be able to record and upload videos, even have live video chat, but I'm sure that's a hardware/bandwidth limitation for now.

7. Lack of Openness

The iPhone SDK NDA has some pretty silly restrictions in it, as you can see from Prag Dave's recent fiasco. Also, to distribute apps on the App Store, you must pay $99 for a developer's license, even if you plan to give away your app for free. The fact is the Apple often behaves in the same monopolistic ways the Microsoft does, but we generally give them a pass on it because they make great products. It's like the typical story of the young upstart revolutionist gaining the support of the people to overthrow the evil dictator, only to become the next evil dictator himself. Expect the anit-mac fanboy, free as in speech, Slashdot crew to jump all over this once the Android project gets some traction.

6. Stability

Apps crash with some regularity and the whole OS will crash and restart as well sometimes. The iPhone needs less crashes and when it does crash, crashing a little more gracefully would be nice.

5. Flash

If you could install Flash, you could watch embedded videos from Vimeo, Blip.TV, ESPN Videos, etc. Also, if you could install Silverlight, you could watch MLB.TV, but that one is MLB.TV's fault, they should have a native iPhone App. 3G probably doesn't give you enough bandwidth, but it would still be nice to watch live baseball games when connected to WiFi.

4. Real GPS

I don't know if it's a technical limitation or not, but we need a TomTom/Garmin/VZ Navigator quality turn-by-turn, voice narrated GPS directions app. My crappy samsung phone had that:

3. AT&T

I switched to the iPhone from Verizon. Quality of service is much worse, I barely get a signal in my own house, which is a mile from downtown Baltimore. So much for more bars in more places.

2. Copy & Paste

The biggest reason I need copy & paste is for passwords. For password management, I use Password Gorilla, which totally sucks, but runs on Windows and Mac. A password manager is a trivial app to write, so I would create one myself, but without cut & paste, there's no way to make it work. Even if you had cut & paste, you would need the next item.

1. No Multitasking

For example, I want to have Pandora running in the background while I check my email. I want to be logged into AIM so people can IM me while I'm doing something else. I want to be notified when I have new mail. I want the Twittervision and NetNewsWire icons to update to show me there are unread items, but they can't until you can run more than one app at the same time.

What I want is Command+Tab. You know how in Safari you press the bottom right button and you can see all your pages, switch from one to the next? That's what you need for the whole OS. You press the home button (the actual only real button, is that called the home button?) and instead of closing the app you are running and taking you back to the home screen, it gives you the Command+Tab/Safari like view of all running apps. You slide from one app to the next and pick which one to bring to the foreground. You press the home button again, then it takes you home. Combine that with Cut & Paste and the result would be a serious workflow/usability improvement.

I realize this means the OS needs better memory management and the hardware needs more RAM, but I confident Apple can make that happen.

Posted in  | Tags iPhone | 0 Comments

Stripes Book from the Pragmatic Programmers

12:17 PM EDT Wednesday, July 23 2008

It's really good to see a book being published by the Pragmatic Programmers on the Stripes, even if it is too little, too late. I wrote an article on Stripes a few years ago, and actually, I still like how Stripes handles mapping request parameters to an object graph, but since then I have discovered the benefits of dynamic languages like Ruby, so I would never consider using a framework like Stripes, just because it means programming in Java. When I was doing Java, I felt that Stripes was a much better framework than WebWork/Struts, but for some reason flew under the radar. In fact, this blog is built using Stripes. Stripes' creator Tim Fennell always did an excellent job answering questions on the mailing list and deserved more recognition from the Java community as a whole.

It's surprising to see this book coming out now. Frankly, straight Java as a web development language is yesterday's technology, the Cobol of our generation. The JVM is still alive an well, with many great options, such as JRuby, Groovy, Scala and the best of them all, Clojure. I would love to see a Pragmatic Programmer book on Clojure, just to give some more attention to Clojure, because it is such a great language. Anyway, congrats to Tim Fennell, Frederic Daoud and the Stripes team on finally getting some acknowledgment for building a great framework and a great community.

Posted in  | Tags Clojure, Java, Stripes | 0 Comments

The Trendy World of Ruby

11:33 PM EDT Sunday, July 13 2008

Just in case your having as hard a time keeping up as I am:

Old and Busted The New Hotness
MRI Rubinius
Rails Merb
ActiveRecord DataMapper
Prototype/Scriptaculous jQuery
Plugins Gems
test/unit Rspec
ERB HAML
Ferret Sphinx
Apache Nginx
Mongrel Thin
Capistrano Vlad
SVN Git
Twitter FriendFeed

Did I leave anything out?

Posted in  | Tags Ruby | 2 Comments

Interactive Development with Clojure

9:46 PM EDT Friday, July 11 2008

A screencast on interactive development with Clojure.

Download original 18MB quicktime file

Posted in  | Tags Clojure, lisp | 0 Comments

Getting Started with Clojure and Aquamacs

6:34 PM EDT Wednesday, July 2 2008

I just posted a short screencast on how to get started with Clojure and Aquamacs:

One of the fun features of Clojure, or any Lisp I suppose, is the interactive development workflow. As you can see in the video, you write code by creating expressions that define functions and then you evaluate those functions in the REPL (Read-Eval-Print-Loop). You can redefine a function at any time. You can imagine that if you had a production system running, you could connect to it via a REPL or something like that, evaluate some expressions that redefine functions that contain bugs, and the system would be fixed with no downtime.

Here's the contents of the ~/bin/clj script:

#!/bin/bash 

SRC_DIR=/Users/pbarry/src

CLOJURE_JAR=$SRC_DIR/clojure/clojure.jar
JLINE_JAR=$SRC_DIR/jline/jline-0.9.94.jar

if [ -z "$1" ]; then 
    java -cp $JLINE_JAR:$CLOJURE_JAR jline.ConsoleRunner clojure.lang.Repl    
else
    java -cp $CLOJURE_JAR clojure.lang.Script $1
fi

Posted in  | Tags Clojure, Emacs, lisp, Aquamacs | 1 Comments

   Next Page >>