The Future of LiveCycle

| No Comments

Adobe has posted the following blog regarding the future of LiveCycle. It indicates a promising future for the product:

http://blogs.adobe.com/ADEP/2012/01/the-future-of-livecycle.html

 

 

 

Header subform appearing on previous page

| No Comments

Depending on your renderer version you might run into an issue where a page header is being bumped back to the bottom of the previous page. This is a known issue with version 2.6 of the XFA specification which was fixed in version 2.7. The tricky part is there's no Target Version for version 2.7. If you aren't familiar with Target Version, click on File then open Form Properties and check the Defaults tab.

The easiest solution is simply setting your Target Version to Acro/Reader 9.0 (which uses XFA version 2.8), but this will cause problems for people still running Reader 8.

We did some digging and found an easy way to trick the form into using XFA 2.7 to render the form. Open the XML view of the document and find the following line:

<?originalXFAVersion http://www.xfa.org/schema/xfa-template/2.6/?>

And change it to this:

<?originalXFAVersion http://www.xfa.org/schema/xfa-template/2.6/ v2.7-layout:0?>

After that you'll want to make sure Keep With is set to Next in the headers pagination settings.

Microsoft Office Rights Management plugin

| No Comments

If you're currently having difficulties running Office after installing the Rights Management plugin there's a very good chance you also have the Microsoft Office Live plugin installed as well.

These two plugins simply do not work together and you'll need to remove one of them until either Microsoft or Adobe fix the conflict.

Rich text formatting lost when bound to a floating field

| No Comments

We recently encountered an issue when merging XML data into a form.  Specifically, rich text was being properly displayed in the form fields, but we noticed that any floating fields placed in those text fields displayed their value in plain text.

This can be resolved by manually changing the embedMode tag in the forms XML. Click on the object containing the floating field then open the XML Source view. Inside the object you'll be looking for this:

We recently encountered an issue when merging XML data into a form.  Specifically, rich text was being properly displayed in the form fields, but we noticed that any floating fields placed in those text fields displayed their value in plain text.

This can be resolved by manually changing the embedMode tag in the forms XML. Click on the object containing the floating field then open the XML Source view. Inside the object you'll be looking for this:

xfa:embedMode="raw"

You'll want to change it to:

xfa:embedMode="formatted"

As always, if you run into any problems be sure to give us a call!

Moved. Call me The Builder!

| No Comments
I've decided to move my blogs due to a campaign / work persona I decided to start up. I am now The Builder of Tomorrow! And can be found at builderoftomorrow.com and @buildrof2morrow on the Twitter. Follow me there! 

Custom tabbing on large forms

| No Comments

A common issue when designing large forms is getting the Custom Tab Order tool to behave properly. There comes a point where it becomes completely unusable.

My recommended workaround is to redesign the form for use with Automatic Tabbing. Take the following example:

View image

Automatic tabbing always goes top/down, left/right. So in order to get the tabbing to work its way down each client section, we just need to wrap them inside their own subforms:

View image

When the Automatic tabbing system encounters a subform it will resolve all items in that subform before continuing.

Now this works for most forms, but what if you wanted the tabbing to go from Client1 to Client3? The answer is more subforms ! Selecting the subforms for Client1 and Client3 I wrap them both into yet another subform, I then wrap Client2 and Client4 into their own subform. The result is this:

View image

If you've done all this and you notice your tabbing is still acting oddly, the most common pitfall is accidently wrapping a cosmetic item (line, rectangle, etc) into one of your field subforms. This can be resolved by placing any cosmetic items into their own subform.


If you have any questions be sure to give us a call or drop us an e-mail !

Multi-threaded conversions with PDF Generator ES2

| No Comments

 We've dealt with a variety of issues relating to multi-threaded conversions and the root cause always seems to be the same: the users were added through the configuration manager. A bug has been logged with Adobe, so this should be gone by the time ADEP releases later this year.

In the meantime we have a simple workaround: add your users through the adminUI instead (http://help.adobe.com/en_US/livecycle/9.0/adminHelp/admin.htm?content=000159.html)

Reader e-mail submit not working with Outlook 2010 64bit

| No Comments

We've received a few reports of Reader not being able to submit e-mail requests to the new Outlook2010 64bit. We did some research and found that this is a known with Microsoft that is affecting any application that makes 32bit MAPI requests to the suite.

There is no word on a fix yet, but we do have a workaround you can use in the meantime. It tricks Outlook into using the 32bit MAPI driver already included with the software:

  1. Browse to [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail]
  2. Create a new key called Outlook64Bridge
  3. Right-click Outlook64Bridge and create two keys under it: DLLPath and DLLPathEx
  4. Find the 32 bit version of the file MAPI32.dll and assign the whole qualified pathname to each key, mine were:
    HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Outlook64Bridge\DLLPath - "D:\WINDOWS\system32\mapi32.dll"
    HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Outlook64Bridge\DLLPathEx - "D:\WINDOWS\system32\mapi32.dll"
  5. Lastly, return to [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail] and change the (Default) value to "Outlook64Bridge" (this sets the default mail client).
  6. Reboot and you're done!
As always, if you have any questions or need help be sure to give us a call or drop us an e-mail !

Taylor's Software and UX Design Lexicon, Volume I

| No Comments
When communicating complex information, simple metaphors can go a long way.

This past week, my lovely wife pointed out that when I talk about complex subjects, I often resort to metaphors and analogies from unrelated areas of life. She said that it serves me well as a communicator because it can simplify otherwise difficult concepts ...and since she is my wife, I must of course agree.

The way I see it, when dealing with a sometimes obscure or confusing subject like software design and development, appealing to abstract, common sense ideas helps highlight the important bits while avoiding getting bogged down in details. There's no reason why I shouldn't be able to explain key software concepts to competent, non-technical people. They might be bored to tears but they should at least be able to understand what I'm talking about. In fact, as a consultant, I consider it a fundamental skill of the trade: if I can't explain to people (i.e. clients) what they're paying for, then why on earth should they be buying it in the first place?

What follows is a very incomplete list of some of the homegrown expressions I use most often when discussing software design. I've long been planning on writing entire articles for some of these (and most likely will at some point) but with my work schedule being as full as it is, here they are for now in a more concise form:


Form Conversion at Off-Shore Rates

| No Comments
It's been a busy couple of weeks at 4Point with the launch of a new offshoot company, FormDriven. We decided to launch FormDriven to handle the quality conversion of forms for our customers at a really competitive rate. 

Off-shore form conversion has often won the day with the customers, with reason. Many of our customers can have thousands of forms to convert and the process is daunting enough without adding the cost of conversion into the mix. Paying our expert consultants to convert forms doesn't make sense. 

Not to mention that our experts are form experts. We need them to be working on complex forms, dynamic and interactive, that require scripting and back-end integration. Not on basic form conversion. 

But our experience (and by extension our customer's experience) with off-shore conversion has not been smooth. Time lags and language barriers are only part of the problem. The other problem is that when converting forms you can run into "line crossing" moments. Where a form may or may not cross the line into complex. Experience and best practices matter at those moments.

As well, forms have to be built with the big picture in mind. What are they being used for? Are they going to be passed over the wall for further integration to a company like 4Point that will be posting them online or adding additional functionality? In those cases a form needs to be built with a big picture vision. Again, something that experience and best practices can give.

To address these issues and ensure the smooth conversion and long-term functionality of our customer's forms we've introduced FormDriven. It'll handle the the basic form conversion under the watchful eye of 4Point experts. If they hit a wall, have a question, or need some insight into best practices, the 4Point team is but a phone call away. 

Our goal is to give our customer's a great experience. And we believe that FormDriven will help with that. Our customer's can get great rates for form conversion confident that it's all taking place under the umbrella of the 4Point team. 

Check out the FormDriven site to get a sense of the company and what forms they will be converting. We're proud of our "little sister" company. Welcome FormDriven! 

New Name for Adobe LiveCycle Enterprise Software and CRX

| No Comments

Adobe LiveCycle and CRX's name will be changed to Adobe Digital Enterprise Platform for the next release of the product. 

More here: http://www.adobe.com/solutions/customer-experience/enterprise-platform.html

The following is an FAQ that may have some answers to your questions: http://www.adobe.com/products/livecycle.html

The Science of New Marketing - Really

| No Comments
I wrote a new blog posting. I did. But it was "stolen" by an Adobe gremlin and posted on their site. So here's the link: The Science of New Marketing. Enjoy.


Configuring Acrobat, after PDF Generator is installed

| No Comments

If you have PDF Generator already installed without Acrobat, and you decide to install Acrobat at a later date, you will need to install Acrobat on the LiveCycle server, and then run the following steps in order to configure it to run with PDF Generator:

 

1.  Run the PDFG configuration utility that comes with the LiveCycle installation. You'll find it at:

 [LC Install Folder]\pdfg_config\Acrobat_for_PDFG_Configuration.bat
2.  Double check to see if the Acrobat Environment variable were actually added (the batch file should have added them).
3.  Once all of this was done re-run the config manager, but only select the option to configure the installed LiveCycle components and you would not select Content Services if you do not wish to have it on there.

 

At this point Acrobat should be fully configured with PDF Generator.

Cold Marketing has a certain allure, but.....

| No Comments
Your customers want you to turn up the heat. 

What is "cold marketing"? That's the new fixation on analytics and targeted marketing. Not that there's anything wrong with that. It's great to be able to pull analytics, review what your customers are looking at, what they've bought, what they're interested in. And then use that to offer up dynamic and targeted messages. I personally love analytics and have a slight addiction to tracking pages, content, time on the site, etc. So I'm all about that. BUT....

We can't forget the beauty and joy behind basic human interactions and finding something unexpected and new. And as marketers we have to remember to offer these things to our customers as well. We have to remember to do warm marketing....

LiveCycle ES2 Performance Tuning Guide

| No Comments
Tuning the performance of Adobe LiveCycle can be a daunting task. Adobe's Joel Lucuik has published a guide here.

Delays when retrieving documents or opening rights enabled documents

| No Comments

There are of course many things that could cause this issue, but I would like to bring up an interesting case I encountered. The system was running ES2 on Jboss/MySQL. The issue presented itself as rights enabled documents taking 30-40 seconds to open. Upon examining the logs we found several recurring errors, the following being the most noteworthy:

WARN  [org.jboss.resource.connectionmanager.TxConnectionManager] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@178c7cf[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@1b9c3be handles=0 .....

The last packet successfully received from the server was XXXXX milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.

...

When we restarted the server, the logs were clean for 10 minutes or so when connection errors started appearing at increasing rates. This of course pointed to a database connectivity issue, but the connectors appeared to be in good order, and more importantly, we were able to login to the adminUI with no delays. We then disabled security software, reviewed permissions and redeployed all components to Jboss yet the issue persisted.

Upon closer inspection of the clients MySQL installation I found that several .ini files were missing.  How these files went missing aside, my expectation is that MySQL would fail to start in such a scenario (which would have generated very different errors). Based on this, it would be safe to assume that this error could also be caused by damaged/corrupted .ini files.

From there it was just a matter of backing up the clients tables through the command prompt, reinstalling, and then restoring the tables.

Workbench unable to open XDC files

| No Comments
We recently discovered that Workbench 9.5 was shipped with a faulty XDC editor. The issue has been addressed and a hotfix is now available for Workbench.

If you're experiencing this issue and on 4Point Support be sure to give us a call and we'll make the hotfix available to you.

We have a new hotfix available from Adobe. This one addresses an issue when running a query against a database using the JDBC component in Workbench/Livecycle 9.5. If any of the returned values are null the component will return a null pointer exception  (java.lang.NullPointerException) instead of simply returning blank values. The hotfix installs easily into Workbench 9.5.

If you're currently experiencing this issue (and on a maintenance and support plan) just give us a call and we'll make the hotfix available to you.

Unable to add PDFG user accounts

| No Comments

Problem: 
When attempting to add a new user in :  adminui -> services -> LiveCycle PDF Generator ES2 -> User Accounts, it results in the following error:

ALC-PDG-030-003-User account information for user pdfg1 is not valid for the machine......

 The system.log shows this:

ERROR [STDERROR] sudo

ERROR [STDERROR] : sorry, you must have a TTY to run sudo

Reason:
The reason for this is an update along the way with sudo locked it down further by adding the below line to /etc/sudoers configuration file:

1 Defaults requiretty

Solution:
To allow a remote script to login and run a command via sudo simply comment out that line as shown below:

1 # Commented out so remote script can login and run a command without a tty
2 # Defaults requiretty

1. Create a new keystore using the same name and password as the existing one running on the system (note: CN, the user's first and last name, must be the URL for which the keystore is being created):

 

keytool -genkey -keyalg RSA -alias tomcat -keystore <keystore_name>.keystore

 

2. Create a certificate request (CSR):

 

keytool -certreq -alias tomcat -keyalg RSA -file <cert_request_name>.csr -keystore <keystore_name>.keystore

 

3. Send the CSR to a CA and in return you will receive the CA's root cert path and the cert for your URL.

 

4. Import into the keystore the CA's root cert (for the certification path):

 

keytool -import -file <CA_cert>.crt -keystore <keystore_name>.keystore

 

5. Import into the keystore the cert that the CA generated in response to the CSR:

 

keytool -import -alias tomcat -trustcacerts -file <new_cert_from_CA>.crt -keystore <keystore_name>.keystore

 

6. Copy the resulting keystore into jboss/server/all/conf

 

7. Modify the server.xml by adding the name of and password for the keystore.   In your server.xml file, the keystore and keystorePass should look something like the following:

 

keystoreFile="${jboss.server.home.dir}/conf/lces-ssl.jks"      keystorePass="password"

 

 

8. Restart JBoss.

Adobe has announced that effective November 30th 2011 they will be discontinuing the free migration that enables Adobe Central Pro Output Server clients (the product was formerly called JetForm Central Pro) to migrate their licenses to Adobe LiveCycle Output ES2.

Clients using Central Pro should contact us at support@4point.com if they have any questions about the migration.  There are also lots of resources on the web that discuss the migration, including;

Social Media is Not a New Form of Marketing Collateral

| No Comments
Just finished reading some articles on Rocketfish's recent Liminal report. I'm about to read through the report itself (and I'm sure I'll have something to say about that too), but for now, I've got something to say about the coverage and a long-standing opinion of mine. 

In particular, MediaPost's article entitled: "Razorfish: Facebook, Twitter Don't Make Customers Feel Valued" starts off with the sentence: "While marketers have flocked to social platforms like Facebook and Twitter, consumers still don't view them as important ways to engage with the brand...." and goes on to state that most people still prefer to engage via email, word-of-mouth, or websites. Stating that the reason for that is because that's where the value is.

Great. I agree. Customers want value. So what's the big irritation for me? That we're surprised (as marketers, as businesses) when we treat social media as a big piece of collateral and then don't get results. Hello? When has yet another piece of collateral ever delivered results? That social media EVER was seen as a piece of marketing collateral is frustrating but perhaps not so surprising. 

Collateral has become king in organizations as a way of communicating what a company offers, static websites continued this trend as they are also just one big brochure.

But social media and online interactions have changed the game. And we've taken an old response (marketing collateral) and used it to address a new medium (it worked for websites....so....).  


But, as Ben Watson's post "Consumers don't want to engage with brands on Facebook and Twitter" points out: 
My take on this is that social media engagement itself has to have a reason....
No kidding. It's not a touchpoint in a campaign, it is not another piece of collateral. Watson goes on to state:

Treating it as an experiment or side project makes it even harder to integrate down the road. We need to accept and embrace that we live in a multi-channel world and a multi-screen universe and that each one has strengths and weaknesses, but more importantly that each one needs to be able to 'see' the other.

Yeah Watson! Exactly again. We've got options here: interactivity, multi-channel chaos. It's fun. Finally being online is not a static store front...now it's the body and soul of your store. This is good news. Embrace it. 

Social media is part of who you are as a business. It is a way for your customers to know you and you to help them when and if they need it. It is no different from a customer opening up your door and walking in to your bricks and mortar store. You say hello. You ask them how you can help. Do they want information? Find it for them (and please let it be as clear and simple as possible). Do they need help? Help them. If they say they're just looking. You let them look. AND you let them leave when they want. You never just shove marketing collateral at them over and over again. Over time you'll get to know the regulars, what they like, what they need. You'll reward your loyal customers. Maybe kick a couple to the curb. That's business.

We've let marketing collateral and a static relationship become how online businesses communicate with customers. But times have changed. It's no longer a face-less static relationship. Technology has opened the door. 

We're back to the beginnings. Where people walked into our stores and talked to us. We've got to stop being afraid of talking back.

Override Submit Buttons In LC Workspace

| No Comments
Let's say you have a PDF form in LC ES2 Workspace that is part of some process. When opening the form in Workspace, there is automatic scripting in the form (FormBridge) that places the Submit buttons inside the wrapper of the form and outside of your forms control. Now let's say you wanted to have control over these buttons? 


Sony Hearts Robots, Boosts Android

| No Comments
If software makes a platform, Sony has just raised the fortunes of Android with the announcement of the PlayStation Suite.

SonyPlusGoogle3.png
The internet is abuzz over Sony's announcement that they are bringing a whole new PlayStation-branded gaming store to the Android platform. This new functionality will be branded the "Playstation Suite" and will be available to phones running Android 2.3 (aka "Gingerbread"). The Suite will include emulated PlayStation One games to start and will eventually feature new titles built expressly for the platform.

As you may be aware, recently, the hype meter has been cranked up to overload over the anticipated release of the PlayStation phone, this unforeseen announcement is arguably even bigger news than expected. While Sony-Ericsson will indeed be launching an Experia-branded "gaming" Android phone that includes a D-pad, etc., thanks to the PS Suite, every Android 2.3 phone can now in effect be considered a "PlayStation Phone".

Now that's news.


What about us "serious" developers?

Before I answer that question, let's take a little history lesson.

Why We Do The Things We Do

| No Comments
Clients commonly ask support why they need to confirm things like their application version or a wide variety of other environmental details whenever  case is opened.  I can understand why someone might be frustrated when they open a case with support and are requested to provide information that they had provided just a few weeks before when opening their last case, so why do we ask?

There is a very straightforward reason we ask for this information each time someone opens a case, and that is to ensure everyone is on the same page.  A great deal can change in a few weeks, or even a few days, and heading down the wrong path because a support consultant is out of sync with a client's environment is in nobody's best interest.  We want to ensure that when a support case is opened it is resolved as quickly as possible.  Making sure that everyone has a clear understanding of the application and environment is an important first step.
This week we ran into an issue with a client who is using Safari on a MAC running OS X 10.6 as his desktop client when accessing Adobe LiveCycle.  This particular issue resulted in the client not being able to properly render dynamic interactive forms as part of a process. 

As it turns out there are some limitations when using either Adobe LiveCycle ES or ES2 in Safari.  In particular you must run Safari 3.x or 4.x in 32-bit mode when using LiveCycle WorkSpace.  To change Safari to 32-bit mode perform the following steps;
  1. Open the application folder
  2. Select the 'Safari' icon
  3. Select 'Get Info'
  4. Check 'Open in 32-bit mode'

Get App-ing with Google App Inventor

| No Comments
Finally! Google opened up the AppInventor to the general public.Armaghan Chaudhary-Google Ap Invetor.jpg
 Fresh off from Google Labs, the App Inventor lets a user create an Android App pronto! Think of it as the Form Designer of Android. It lets you create your own apps and saves the files online. Its a drag and drop interface with custom properties for each item displayed in a separate view. The components available for the apps include social, media, animation, maps and sensor widgets etc.  Once your app has been created, you are able to download it to your phone for a final round of testing. Thats it! Its that easy!

Here are a few links to get your hands dirty:

  • Get your own account today: Link
  • Quick intro on App Inventor : Link 
  • Learn what you can do with Google App Inventor: Link
The App Inventor comes with a tons of online tutorials and instructional videos on how to use it correctly. Its a Beta release at the moment and all you need is a Google account, some coffee and a Google phone ( it comes with an emulator in case you don't have one).

What are you waiting for ? Get App-ing! 
Even your 2 year old can make Google Apps now :)


The latest version of Google Chrome (8.0.552.215) includes an in-browser PDF reader (in addition to other features such as support for the upcoming Chrome Web Store). This new PDF reader is enabled by default and, while it is a competent viewer of PDFs, lacks the functionality of the Adobe Reader plug-in with regard to reader extended features and so forth. To re-enable the Adobe Reader plugin within Chrome, go to Options, click the Under the Hood Tab, click content settings, select plugins, click the disable individual plugins link, and click enable under the Adobe Reader Plugin (which will be disabled). This should successfully restore the Reader Functionality when viewing PDFs within Chrome.
There has been a great deal of discussion (at least around here) about what is actually encompassed by LiveCycle ES2.5, specificially regarding the software versions of each component.  Logicially, since LiveCycle ES2 is essentially version 9.0, it is expected that LiveCycle ES2.5 would be version 9.5.  Of course the complete answer is a little bit more complicated than that. 

For most of the components of LiveCycle ES2.5 the actual version of the components is 9.0.0.2, which is essentially LiveCycle ES2 updated to Service Pack 2.   LiveCycle Workbench and LiveCycle Mosaic should both be at version 9.5 and LiveCycle Data Services should be at version 3.1.  

The actual process of updating to LiveCycle ES2.5 basicially involves applying service pack 2 on the server and then installing LiveCycle Workbench 9.5 on developers desktops.

Additional information regarding LiveCycle ES2.5 is available from the Adobe website at http://help.adobe.com/en_US/livecycle/9.0/overview.pdf 
(Disclaimer.. My personal journey = my personal comments, I don't want you to whine about how Apple is evil and Google stands for all the good stuff...it's my personal story)

So...when I was given the choice between an Apple (iPhone4) and an Android phone (HTC Desire), the choice for me was obvious. Being a hardcore Google user (Gmail, Google Maps, Google Docs to name a few), I was extremely pumped to get my hands on a Google Phone. 

Finally the day came when my shiny brand new HTC arrived at my desk. After asking me to enter my Google ID , my journey started with complete awe at what Google had done. It had brought together the great hardware of HTC and the flashy awesomeness of the Google software. The phone had great features; free apps, Google Navigation ( bye bye TomTom) a great camera and ofcourse my favorite Google resources...Gmail and Google docs. All of my contacts came seamlessly into the phone as well and I didn't have to sync anything to get me going . I was able to download and run multilple apps at the same time in the background without any issues. Overall it was a great experience.

HTC_Desire10-420-90.jpg
By the time I got home, an email had arrived from my work that I had to answer right away. For the love of God, I was not able to make the screen go horizontal on me. The only way for me to write the long email was to hold it vertically and write the email. On top of that, it seemed like I had forgotten how to type as I was making spelling mistakes as I have never made before in my life. After all was said and done, I sang great tales of the phone to my wife and told her that the phone might be broken since it doesn't switch its view when its moved horizontally. It was at that time when my wife asked "Did you try it the other way"? That got me thinking. I, being left handed, was turning the phone to the right as any normal left handed person would do since they would be holding the phone in their right hand and naturally would turn the phone to their right. As soon as I turned the phone to the left, the view on the screen flipped and I was able to read stuff in the horizontal direction. Bottom line...the HTC was not designed for left handed ppl ( It got fixed when the Froyo update was released later on in the month). That kinda ticked me off. Oh well, I was sure it would be fixed in the next release of the OS which turned out to be true ( a bit too late for me ).
One of the most popular apps out there is Jutin.tv. My brother (in Scotland) and I decided to check it out and within 3 mins of its use, I felt the phone heating up at the bottom. I didn't pay any attention to it but after 13 mins, I was having a hard time even holding it . That rang all kinds of alarm bells in my head since the phone`s battery is no where close to the part that was heating up. I noticed the same issue when I was using the Google Navigation application and after a few mins, I was unable to hold the phone in my hand anymore. Now picture an app like that running in the background while the phone is in your pocket ...your manhood can be fried after prolonged exposure...I'm just saying...it's not going to happen..I hope...
So with all it's perfection, the heating issue killed it for me. I spoke to a friend of mine at RIM about it and he mentioned that it might be the antenna generating the heat (Radiation therapy anyone ?). I also noticed that with the passage of time, the battery life of the HTC kept going down. Possible reason: all those back-end services running quietly do take their toll on the battery life of the phone. 
I decided to look at the iPhone as a replacement for the HTC. Keeping my basic requirements in mind, I started reading up on the iPhone. Even though Gmail and Google docs are available on the iPhone, the docs can only be opened up in read only mode. That was a point of concern for me until Gavin shared a link with me which outlined that doc editing was coming soon to the iPhone. Since I have never heard of any heating issues with the iPhone, I decided to take a leap of faith ( Sarah had a part in this with the peer pressure).


iphone-4-uk-price6.jpg
Finally, I got my iPhone yesterday.After carefully setting it up, I decided to send a test
email.To my surprise, I had NOT lost my typing skills at all; they apparently came back with the iPhone4 as I was not making any typing mistakes using the soft keyboard of the iPhone at all. With a phenomenal keyboard and no heating issues during my preliminary testing (not to mention the awesome sleek design and the UI of the iPhone), my leap of faith was turning out to be a great choice. I tried the Justin.tv application on the iPhone as a test and I had no issues what so ever. I tried running multiple applications at the same time and did not see any issues ( partly because Apple handles the way applications run differently than the HTC... I can write a whole blog entry about that ).  

Bottom line, my journey from the good to the dark side has been awesome. Even though some people will still hold a grudge against the new iPhone, I absolutely love it and will not recommend an HTC phone to anyone.