Archive for the ‘Apple’ Category:

Mobile: Native or Web App?

November 6th, 2012

Before trying to build a mobile app, this should be the first question you should ask yourself.  And by native, I mean an app that runs on Android, iPhone, iPad, Windows Mobile, or Blackberry. And by web app, i mean something that runs in a mobile browser.

Short answer:  If you got deep pockets and lots of developers (like Facebook), and you want features HTML5 can not provide, go native.  But really it depends on what you’re trying to do and what resources you have.

The right answer only happens after goals have been identified, both short term and long term. This blog post will not cover all the details needed to answer the question, instead it will provide a few links that cover the details.  Note there is also a third option of building a hybrid apps (native apps that get the latest content from the web).


Trend towards HTML5 (aka web apps)

Still want native

Option 3: Hybrid

HTML5 Facebook Announcement, Sept 2012

For techies: The details

I hope the links above helped. Remember not to confuse whats best for your app with what other apps do or how they do it.  If you’re still not sure, one approach is to design a web app first, and if it doesn’t meet your needs (which should be fleshed out during the design phase), then go native.


Switched from iPhone to Andriod Bionic

June 4th, 2012

After 3.5 years with the iPhone, last September I decided to give the Android a go. Apple was good to me in the beginning, offering a major life improvement when i switched from a standard cell phone. I loved having maps, my personal calendar, email, and music with me all the time. Huge improvement. But ever since my wife got the HTC Incredible (an android phone) in the summer of 2010 I was jealous. Her phone was faster in most ways compared to mine, which had poor reception at home and work, where i spent most of my time. The wife would consistantly leave me in the dust on roadtrips as well.  She also had Verizon, and I had AT&T, so I was eager to switch carriers. Last fall after losing my iPhone i looked into the android options and decided it was time.

At first the main reason I wanted Android was control. I love Apple, they design better than anyone, but at the end of the day I was tired of always doing things the apple way – I wanted more control on how to manage things that are as personal as your mobile device. In other words, I don’t care how awesome your hammer is, everything is not a nail. I prefer a swiss army knife.

After about 9 months, I have mixed feelings on the switch, so I’d thought I’d list my pro’s and cons

Droid Bionic Pros:

  • Bionic
    • 4.3 inch screen is bigger than 3.5 of iPhone.  I prefer bigger screen when using the touchscreen or watching videos/pics.  It still slides easily into my pocket, too.
    • Supposedly faster with Dual Core.  Having a dual core means if some app messes up, even if its in the background, it won’t bring your phone to a grinding halt. In practice it doesn’t seem faster, and several times a week it is dramatically slower (unlocking can take several seconds, oh the horror).
  • Android Hardware
    • I love having a back button.  I hate that Apple doesn’t have that – only has the “home” button.
    • I also love the menu button.  Apps take advantage of that better providing a better and faster way to get what i need.
  • Android Software
    • Notifications bar.  New email, text, voicemail, app msg, whatever.  You’re always 2 secs away from getting what you need.
    • I have not rooted my phone yet, but plan to.  That opens up even more possibilities.  Not so much on Apple.
  • Pro – Google.
    • I am more like google than apple.  That is, I rather have more data and more features available to me then have that one button positioned just right.
    • Google Account integration.  If you’re a google user, with gmail, google docs, maps, etc, then this is for you.  Integration is so natural it blows me away.  Especially contacts – facebook and gmail merged is so sweet.
  • Syncing
    • I love that i can sync my mac with my bionic without using wires.  However, i’m still not excited about the delay it takes to go from my computer to google then to my phone.
  • Camera
    • Although both iPhone and Bionic suck when your photo needs a flash, The droid has 8 MP and a nice video camera – a step up from iPhone.
  • Storage
    • More storage. Bionic has internal card and removable SD card.

Droid Bionic Cons:

  • Bionic has Bugs
    • Sometimes I must reboot to get data connection to work over phone network (when not on wifi).  This is better than it used to be, but still buggy.
    • Google calendar interface is jumpy – When looking at agenda view, it will jump backwards a week or more.  Just annoying.
    • Freezes for a few secs sometimes, while i’m typing (which screws up your flow) or during a transition or animation (like unlocking phone).  This happened alot on iPhone, too.
  • No screen capture by default
    • On iPhone, you can take a photo of any screen by pushing power and home button.  Nothing like that for Android, making it hard to share cool stuff with friends or debug.
    • Note: The maxthon browser lets you capture the screen of a webpage with this addon.
  • Video Player not good
  • I miss Apple’s Music/iTunes sync
    • I got used to iTunes, and once i setup sync with my iPhone, I loved just plugging in my iPhone and having things just sync. I could easily organize music and podcasts (i get news and stuff daily) on my computer, then in a few mins my updated playlists are sync’d.
  • I miss Apple’s intuitive interface.
    • Basic things apple does really well, like size of buttons, how much info to display on a page,

Iphone OS 3.0 Beta

March 18th, 2009

iPhone 3G

I’m totally excited. Yesterday Apple announced the newest version of the iPhone OS, 3.0, to be available in June 2009 to both iPhones (original and 3G), and iPod Touch (1st and 2nd generation).  For those building iPhone apps, the beta version of 3.0 SDK is available now.  That means developers can actually start playing with 3.0 TODAY.

Here’s my favs from what’s new in 3.0

  • Cut, Copy, and Paste (finally)
  • Send photos, contacts, audio files, and location via MMS (iPhone 3G only)
  • Push Notification Service
  • In App Purchase Support
  • Peer to Peer Support
  • Maps API
  • Audio and Video Enhancements

I’m glad to see cut’n’paste is gonna finally work.  So many times I want to copy a URL from a text or email to Safari, or copy an address to google maps.  However, I’m really pissed that MMS (send a picture message) is only for iPhone 3G.  Back in 2005 I was using my cell phone to send pictures AND VIDEO to my friends phones.  2 years later I bought the iPhone, and now I still can’t do it.  As a phone, iPhone kinda sux.  But as the most awesome portable touchscreen internet customizable high quality audio and video playback device, iPhone rules.

I like the “Push Notification Service” because it allows custom iPhone apps to do receive messages from the internet even if they are not running.  For example, when you get a SMS Text message, an alert pops up on the iPhone with the text message, which you can close or reply, launching the Text Messaging app.  Similarly, the new push service allows an alert to pop up for a custom app.   However, if user hits close the alert goes away and the app is not run.   That means that background processing is still not allowed.  Another way to view it is:  Internet –>  iphone –> Human –> iphone app.  I much prefer this view:  Internet –>  iphone –> iphone app.  Skip that human interactive component and let the app process a notification as it sees fit.   NOTE: originally I thought 3.0 would allow background processing, but 3.0 beta SDK corrected me.

If you want to make money, the “In App Purchase Support” is huge.  You can make an app cost $0.99 in iTunes, offering some basic functionality at a low price point for mass adoption.  Then offer premium services for an additional $1.99 (or whatever) right there in the app – it does not get easier.  Perfect for games (download the next 10 levels for $1.99) or for monthly services ($5.99 for next months premium financial or sports information).

Peer to Peer Support is cool because it makes it easier for iPhones to talk to each other (or other devices that support apple’s bonjour protocol).  Examples include games (just like online multiplayer playstation games), exchanging virtual business cards, or sharing documents.

Maps API has a lot of potential, especially since its closely intergrated with Google Maps API (terms).  Combined with location aware (GPS or cell tower triangulation) phones, this makes it much easier for apps to have custom annotations displayed near the user’s location.  You can also do some of this in safari, skipping the iPhone app and just makeing a website page specific for iPhones (the new safari in 3.0 allows javascript to know users location).

Audio and Video have also been updated.  With iPod Library Access, an app can play any song on the phone. One example would be a game tied to a specific playlist, where each game event (begin, score, foul, goodbye) is mapped to a song, allowing users to customize the audio themselves.  Video Streaming is improved – now you can playback video streamed from a standard HTTP (Web) Server.  Expect more websites to have a feed made for mobile devices. Core Audio and Audio Recording got newer engines under the hood, including support for more codecs and software decoding.

Leopard Upgrade

December 17th, 2008

Leopard OS X

Yesterday I upgraded my macbook pro to Leopard, the latest OS X operating system, over a year after Apple released it.  Whew.  It took me 4 days to organize, clean and backup my stuff (over 200GB), about a day to figure out how to install leopard without a bootable DVD (see leopard dmg install), and less than an hour to do the actual install.  Why now?  Not because of all the new features, but because I wanted to develop an iPhone app. Stay tuned for more on that.  Yay.

After a fresh install, here’s what I add/customize:

  • Firefox 3 [Free] – fast, but I love that it remembers all URLS and you just type any part of the URL or Page Title and it shows you dropdown of possible matches.  Also love these firefox add-ons/plugins: greasemonkey, web developer, firebug, live HTTP Headers, more.
  • iLife ’08 [$$] – new iTunes (love the Genius), new iPhoto (love the auto-grouping of events), and more.
  • Adobe CS4 [$$] – gotta have Photoshop, Acrobat, Indesign, etc.
  • VLC [Free] – best media player out there – avi, mpg, mp3, mov, wav, etc – i love “hot keys” -† its FREE
  • Xee [Free] – Excellent gif/jpg viewer (don’t *need* this in leopard)
  • iSquint [Free] – convert digital camera movies from big file sizes to smaller for upload, sharing, ipod, or iphone.
  • Transmission [Free] – bit torrent client, so you can download movies, tv, games
  • Handbrake [Free] – Rip DVDs – in one-step, create .avi movies for ipod, iphone, etc.
  • iStumbler [Free] – helps you find a good wifi signal when you’re not home or office.
  • SuperDuper [Free] – easy way to back up your entire laptop to external drive or network.
  • Chicken of the VNC [Free] – if you have a windows or linux box, put vnc server on it, then install this vnc client on your mac, and now you can control your windows from mac!

Leopard .dmg Install

December 17th, 2008

How to install Leopard from a .dmg file – My Constraints:

  • Leopard not on DVD, only 7GB .dmg file
  • Tiger is available on bootable DVD
  • Cannot boot on USB or Firewire drive

I am providing this because some of the more popular methods did not work for me.  If the following does not make sense, read this original guide and the digg comments on it.  Here’s an overview followed by notes:

  1. Prepare.  Backup all your important files, docs, iTunes library (split itunes library), iPhoto library (split iPhoto library), etc on an external drive or network drive. Make sure you 7GB leopard install .dmg is handy (on your backup drive is fine).
  2. Create a 2nd partition, 8GB or larger, where we’ll put the leopard install .dmg, then we’ll boot from that and install leopard onto big partition, see NOTE below.
  3. Prepare 2nd partition as a bootable Leopard Install option, see NOTE below.
  4. Reboot, hold down ALT, pick leopard install boot option, Install leopard on 1st partition – I recommend erase and install, but you can also upgrade.
  5. Optional: Merge 2 partitions together – Caveat: I have not done this – delete 2nd partition then resize partition.

NOTE: Creating 2nd Partition in Tiger

Tiger’s “Disk Utility” application creates Apple Partition when I re-partitioned it, with no option for creating a GUID partition.  On Intel mac’s, you need GUID partition in order to boot the drive and to install tiger. However, said to “erase” partition and it would be given GUID paritition – This also did not work.  What did work is using the command line program diskutil, which you can run from the terminal application.  Example of what I did

% diskutil partitionDisk disk0 2 GPTFormat HFS+ Big_Daddy 224GB HFS+ leopard_install 8GB

NOTE: Preparing 2nd Partition

Many web pages said to use “Disk Utility” to restore .dmg as source and the newly created 2nd partition as destination.  This did not work for me, and as apple support states, sometimes disks cannot be dragged to destination in “Disk Utility” from Tiger DVD.  So I installed tiger on the first partition (erasing it first) in order to get a working “Disk Utility”.  Now dragging disks worked but whenever I clicked on “restore”, “Disk Utility” gave error 2, 16, or some other number. What did work is mounting .dmg file (use hdiutil or just double click it), then using the command line program “asr” from terminal.  Example:

sudo hdiutil attach leopard_install.dmg
sudo asr restore --source "/Volumes/Mac OS X Install DVD" --target /dev/disk0s3 --erase

In hindsight, this should all work from terminal app from Tiger DVD right at boot – you should not need to reinstall tiger.