July 31st, 2009 by s

So I’ve been trying out an Android phone for a couple of weeks now (ADP1), and it’s not a bad device. I’d heard grumbling about it, so I was pleasantly surprised. I like the physical keyboard much better than the Palm Pre’s or the Nokia E75’s.
My biggest complaint is a software one, and a UI one at that. I don’t like the standard Tabs. I’ve seen other rants about the Tabs on Android, but I don’t really mind the huge, blocky, drab look. It kind of goes along with the clunk Android buttons and fits the whole utilitarian, unapologetically, non-sexy Android vibe.
I don’t like the placement of the built-in Android tabs, specifically how they’re on the top of the screen. Sure you can roll your own, but a lot of apps use the standard tabs.
Even Androids Get the Blues
It’s not like I have sausage fingers either. I have fairly large hands, but it’s still a cumbersome move to reach a top left tab with my thumb when operating the phone one-handed. Maybe the Android team has freakish, Uma Thurman-like thumbs. When using an app with tabs on top, I usually end up switching to holding the phone in my left hand and using my right index finger.

I definitely lean toward tabs on the bottom of the screen (as well as on-screen buttons). It puts most of the primary actions close to the physical buttons (menu, home, back, etc.) Plus it keeps your thumb from blocking you from seeing things happening on the screen.
The HTC Hero got many things right. One thing I especially like is how they do their tabs.
So when it came time to do the UI for an Android app that I’m working on (Practice Speaking English, below right), I decided to screw the standard tabs and emulate the HTC tabs (below left). (as well as iPhone tabs too)

Posted in Android |
No Comments »
July 16th, 2009 by s
Woohoo! The Palm Pre SDK is officially released.
Mojo SDK Released
Posted in Palm Pre |
No Comments »
July 15th, 2009 by s
I missed these the last time I posted about events. Here are a few more mobile/geo events around Silicon Valley this summer.
July 21
Web Map Social Mountain View, 7pm
NASA WorldWind, Brightkite, WeoGeo + networking
July 22
Silicon Valley Android Developers Palo Alto, 6:30pm
App demos and how to program in Android
July 27
iPhone Business Meetup Santa Clara, 6pm
Challenges and Opportunities for iPhone in Enterprises
July 28
Verizon Developer Conference San Jose, CA
July 28
Palm Pre, Mojo, and webOS Meetup Sunnyvale, 7pm
August 7
GTUG Campout Mountain View
Weekend Hackathon on Google Technologies
Posted in Android, Mobile, Palm Pre, events, iphone |
No Comments »
July 9th, 2009 by s
Cool, I just was that there’s going to be a Google Wave Hackathon coming up on July 20.
Google Wave Hackathon and Federation Day
Posted in Wave |
No Comments »
July 6th, 2009 by s
So I finally got tired of struggling with Instruments trying to find memory leaks. I first read about Clang a while ago , but just filed it away to check out later.
But Instruments proved too frustrating, so I downloaded Clang from here. It was a little tricky to install, but after a few hurdles, I found 20 memory leaks in my app. If you’re developing iPhone apps, you really need to check out Clang if you haven’t already.
Two things tripped me up in the installation process.
1. Could not find clang-cc line
The solution for this was at cramfighter.com. Basically I need to change some projects settings.
2. syntax error before ‘AT_NAME’ token
This was tricker to figure out because there errors weren’t in my files and looks like the problem started with the 3.0 SDK. I ended up going with this solution as a temporary workaround. This involved commenting out the UILocalizedIndexedCollation.h import in UIKit.h.
As is often the case, after I got things up and running, I found a great page with an intro to Clang at fruitstandsoftware.com.
Posted in iphone |
No Comments »
July 3rd, 2009 by s
So I’ve been working on an iPhone app that uploads a file to a website through a POST request. At first I just used a standard Activity Indicator during the upload, but every time I would test out the app out around town, it made for a terrible user experience because uploading an image can take a while.
I’d tried a few times to get a nice Progress Bar showing how many bytes have been uploaded, but gave up because I could never get it to work. Then today I noticed the didSendBodyData delegate method for NSURLConnection. I don’t know how I missed this before, but I feel like an idiot.
NSURLConnection Class Reference
connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:
Sent as the body (message data) of a request is transmitted (such as in an http POST request).
- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSINteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
Parameters
connection
The connection sending the message.
bytesWritten
The number of bytes written in the latest write.
totalBytesWritten
The total number of bytes written for this connection.
totalBytesExpectedToWrite
The number of bytes the connection expects to write.
Discussion
This method provides an estimate of the progress of a URL upload.
The value of totalBytesExpectedToWrite may change during the upload if the request needs to be retransmitted due to a lost connection or an authentication challenge from the server.
Posted in iphone |
1 Comment »
July 2nd, 2009 by s
May and June has a lot of great events. These look promising for July and August.
July 14 San Francisco Android Users Group, San Francisco
July 20-24 OSCON 2009, San Jose
July 31-Aug 2 iPhone Dev Camp 3, Sunnyvale
[Probably Delayed] Pre Dev Camp, San Francisco
Aug 12-13 Open Source World/Foss Dev Camp, San Francisco
Posted in Android, events, iphone |
No Comments »