Tuesday, September 15, 2009

MonoTouch for iPhone

According to Yahoo! Tech News, Novell is bringing .NET application development to the iPhone in the form of MonoTouch. Is this blasphemy or will it bring a new slew of application developers to the iPhone?

According to Novell “MonoTouch allows developers to create C# and .NET based applications that run on the iPhone and can take advantage of the iPhone APIs…”

The advantages of a tool like this are probably obvious to ISV’s (independent software vendors) as well as IT shops that develop applications for their own internal users. Some developers have avoided entering the fray of iPhone development because the development environment is unfamiliar to them. You have to buy a Mac, learn Xcode, and learn Objective-C. Learning Objective-C may be the most onerous to IT managers who just want to get an app built without having to spin up their programmers on yet another language and development environment. Or, in some cases, hiring new developers or outsourcing to a specialized iPhone development shop.

Developing in C# in a .NET environment on the other hand is quite familiar to many organizations. In fact, many enterprises have built their own sophisticated back-ends for a wide variety of systems in the .NET environment and therefore already have those skills in house.

In addition, the .NET environment offers a very rich set of libraries, which may not even be found in Apple’s native iPhone development kit. Building your iPhone app in .NET should also foster some reuse of code you’ve already developed for other related systems.

I’m not going to argue the merits of .NET vs. Xcode/Objective-C/native code here. That’s too much of a religious battle, but there will likely be some disadvantages to the MonoTouch toolkit as compared to Apple’s way of developing apps.

For example, as new API’s and bug fixes are introduced by Apple, MonoTouch will lag behind a bit in terms of responding to those changes and implementing the appropriate bindings for those new and enhanced capabilities. If you’re at all familiar with trying to run Silverlight based web apps on Mono’s Moonlight, then you get the idea. In addition, like any software package, MonoTouch will have bugs of its own to sort out. There is also a question of how easy it will be to debug apps built using MonoTouch on either the iPhone emulator or a real device.

All in all though, MonoTouch is an interesting product on the surface and probably worth a look, unless you already have a staff of experienced iPhone developers.

If any of you are already using the MonoTouch toolkit, I’d love to read about your experiences with it.

Thursday, June 25, 2009

How to Remove a Provisioning Profile from iTunes on Windows XP

If you are developing and testing applications for the iPhone, you may occasionally need to remove an old or obsolete provisioning profile from iPhones in a test or pilot environment. While this is straightforward, the problem is that the profile is reinstalled on the iPhone the next time your users sync with iTunes. The way to work around this problem is to remove the provisioning profile from iTunes as well. While this is not difficult, there is no obvious way to do this from iTunes. Therefore, I thought I’d post some instructions on how to do just this. Here I’ll describe how to remove a provisioning profile from iTunes on a Windows XP machine, as well as how to remove it from the phone.

Step 1

Ensure that your iPhone is not connected to your PC (you’ll connect and sync later).

If iTunes is running, close it.

Step 2
Delete the provisioning profile from your PC
  1. Navigate to: C:\Documents and Settings\Application Data\Apple Computer\MobileDevice\ Note that Application Data may be a hidden folder.
  2. Delete the provisioning profile
Step 3

Remove the provisioning profile from your iPhone
  1. Go to Settings -> General we
  2. Scroll down to Profiles
  3. Tap the profile you wish to remove
  4. Tap the red Remove button, a confirmation dialog will appear
  5. Tap Remove to dismiss the dialog and remove the provisioning profile
  6. You will be returned to Settings -> General
There. You’re done and the profile is gone.

Tuesday, June 9, 2009

WWDC Day 2 Session: Integrating iPhone into the Enterprise

This session centered on deploying iPhone 3.0 into the enterprise.
It’s about 8:40AM PDT, and I’m in the Mission room waiting for the Integrating iPhone into the Enterprise session to begin. Apple is blasting Lady Gaga and Pink through the PA system. It’s kind of like a Top 40 dance club vibe, sans drinks.
This particular session, as well as some others I’ll attend later, is geared towards enterprise IT pros more so than iPhone programmers.
Following is Apple’s description of the session. “iPhone has become a leading choice for mobile professionals. Find out about configuring and deploying iPhone in your organization, learn tools and techniques for configuration and deployment of native and web-based iPhone applications, and discover how server-side technologies integrate with iPhone, all from the IT professional's perspective.”
It’s now 8:57AM PDT and Apple’s playing the Ting Tings.
There’s no window to jump out of, so I guess I’ll just tough it out.
Presenter: John Wright, Core OS Software Engineering
Apple considers the iPhone a new mobile business platform
JD Power Associates – iPhone Manufacturer Apple Ranks Highest in Business Wireless Smartphone Customer Satisfaction (old news)
Some of the New Security and Networking Oriented Features of iPhone 3.0
  • Certificate based authentication to Exchange.
  • New EAS policies (still no specific details, but I do know that Allow Camera (true/false) is one of them)
  • LDAP Support: ability to specify LDAP search paths. This allows users to query the corporate LDAP server directly through the Contacts app on the iPhone. This should be most applicable to non-Exchange environments
  • VPN On Demand.
  • Proxy support for VPNs (no specific details on this yet)
  • Wi-Fi Configuration
    • Captive network support
  • Extensions to configuration profiles
    • Should now support restrictions
    • Should now be able to prevent the end user from deleting a config profile from the phone.
  • Support for SCEP

Monday, June 8, 2009

WWDC Day 1 -- From the Keynote

Ok, so I finally made my way inside the Moscone center at just before 10:30 PDT. Unfortunately, I didn’t make it into the main hall for the Keynote, so I went to an overflow room at Russian Hill. At 10:30, Bertrand Serlet spoke about the major new applications features of Mac OS X, including Safari 4, which by the way has a pretty cool full history search feature. There are also some new features for Quicktime, including an export feature for YouTube, and iTunes, etc.
Snow Leopard will ship with built in Exchange support integrated into Mail, iCal, and Address Book. The new OS supports auto-discover for Exchange servers. I’m not sure it it’s using ActiveSync or the Exchange Web Services protocol. The new capability is only supported for Exchange 2007. Snow Leopard is available in September as an upgrade for $29.
Ok, so now onto the reason I came all the way to San Francisco.
iPhone
Scott Forstall, went on stage at 10:48 PDT and gave some statistics concerning the success of iPhone 3G and AppStore, including: 1,000,000 downloads of the iPhone SDK; 50,000 apps on the AppStore; 40,000,000 iPhones and iPod Touches sold. 1 Billion apps downloaded from the AppStore in the last 9 months.
He then showed a marketing video. It featured discussions with app developers of games, healthcare (mentioned healthcare apps integrated with notifications API, gave example of a doctor receiving a notification of important patient event), and media (MLB app) apps.
Following is a quick rundown of some of the 100 new features in iPhone OS 3.0.
  • Cut, copy, paste
    • Works across apps
    • Undo support
    • Developer APIs
  • Landscape
    • Across all key applications
  • MMS (if your service provider allows it)
    • Photos
    • Contacts
    • Videos
    • Location
  • iTunes
    • Rent and purchase movies from the phone.
    • Also, music, videos, audiobooks
    • iTunes U support (?)
  • Additional (finer grain) parental controls
  • Tethering (if your service provider allows it)
    • Internet connection sharing with Mac or PC
    • USB or Bluetooth
    • Seamless experience, just turn on tethering on your phone
  • Safari
    • Performance improvements, 3x faster JavaScript than iPhone 2.x
    • HTTP streaming audio and video
    • Auto-fill
    • HTML 5 support including audio and video tags
  • Languages
    • More languages, including right to left such as Hebrew and Arabic
  • Find My Phone
    • Funny video of Tina Fey (30 Rock Lost Phone)
    • Service available via Mobile Me (only) – log in and see your phone on a map. This is a very useful feature.
    • Can send a message to the phone that will send an audible alert whether or not the phone is in silent mode.
    • Remote wipe from Mobile Me.
    • Is there and API for this on the phone????
    • Is there a way to integrate with Mobile Me (web-service?)
  • SDK
    • 1000 new APIs
    • In app purchase, magazine subscriptions, game developers – adding levels, for paid apps only, not free apps
    • Peer to Peer connectivity
      • Over Bluetooth, no pairing needed (what are the security implications of this?)
    • Accessories
      • Allows hardware makers to build software that can talk to hardware connected to the phone. (J&J blood glucose monitor)
    • Maps
      • Embed Google maps service
    • Push notifications
      • Text alerts
      • Numerical badges
      • Custom alert sounds
    • Media player access, can access iPod features via the SDK
  • Airstrip Technologies (featured developer)
    • ISV for medical apps
    • Implements push notifications
    • Demo showed lots of patient identifiable information
    • Real-time data such as EKG
    • Lots of focus on mobilizing Doctors (anywhere, anytime access to patient data)
  • Tom Tom (featured developer)
    • Turn by turn navigation
    • Tom Tom car kit (windshield, suction)
    • Voice guided
    • Charges the phone
  • iPhone OS 3.0 GA on June 17
    • Developers can go an download the GM seed today, June 8, 2009
Forstall left, and turned it over to Philip Schiller at around 11:43
A brand new iPhone was introduced -- the iPhone 3G S
  • Apparently the “S” is for speed.
  • Schiller rattled off a list of examples where the new phone is more performant:
    • Messages
    • Games
    • Excel
    • Load NY Times (web)
    • 15 on JavaScript spider benchmark (3G 3.0 is 43)
    • 7.2 Mbps HSPDA
  • New camera – 3 megapixel, autofocus, tap-to-focus (pretty cool), better low-light sensitivity, automacro for very close up pictures
  • Video recording
    • Video capture 30fps VGA w/audio
      • Video editing
      • Share via email, MMS, Mobile Me, YouTube (cool)
    • Voice control
      • Voice dial (contacts or number)
      • iPod, play songs or playlists, supports a query such as “what’s playing now” and the phone will tell you. Integrated with Genius playlist
  • Digital compass, built in compass app, integrated w/map, Developer API
  • Accessibility (for sight, hearing)
  • Built in support for Nike+ (??)
  • Encryption in hardware!!! (I will go into a lot more detail on this in a subsequent post)
    • Instantaneous remote wipe
    • Encrypted iTunes backups
  • Priced at $199 for 16GB, $299 for 32GB
  • New price for iPhone 3G $99
  • Available June 19

Sunday, May 31, 2009

Exchange ActiveSync on the HTC Magic

Since my post on the HTC Magic yesterday, I’ve been thinking more and more about the native Exchange sync feature that HTC has built in to that phone. To my knowledge, it’s the first shipping Android phone to support Exchange ActiveSync (EAS) out of the box. I’m surprised that this isn’t being talked about more in other blogs and mobile news on the Internet. It could be that nobody yet cares. I care because I spend a lot of time, and I mean a LOT of time thinking about smartphones and Exchange ActiveSync, but I digress…
It seems that Google itself is creating some level of confusion around the EAS capabilities on this phone. You can read about that over at Engadget and over at CNET. I think it would be a pity if HTC went to all trouble of EAS enabling the Magic, and that phone, with that capability, does not make it to the US. In fact, I think it would be nonsense given the fact that Google has actually licensed the server side of the EAS protocol for use in Google Sync. I think it’s starting to become clearer that EAS is going to be the de facto standard protocol for syncing email and PIM to smart mobile devices.
Even if Google itself if being a bit schizophrenic about EAS with respect to Android, it is clear that HTC is making a smart move by building that capability itself. In fact, I would even go on to say that this is a no-brainer for HTC. Obviously Apple had the foresight to do this with iPhone OS 2.0 and HTC, which has long been a Windows Mobile shop, knows that the folks who buy their handsets want to connect them to work.
What is unclear at the moment is whether or not the versions of the Magic with EAS supports any EAS security policies, with password/PIN enforcement and remote wipe being the most critical. Details from HTC are not forthcoming, so I’ll be testing this in hopefully the not to distant future and I’ll post my results here. It’s quite possible that the phone will not support any security features in this first cut. I do however think that would be unfortunate. If the phone is connecting to corporate mail servers via EAS, then both corporate IT and the end-user need to have some confidence that the data on the device is protected in the case of theft or loss. HTC should know this given their long experience with Windows Mobile.

ShareThis