LurveTech Dot Com
Sharing and Caring
Sharing and Caring
Nov 21st
The first day the HTC Diamond was released it was dubbed as the “iPhone killer”. Comparing the HTC Diamond and iPhone boils down to the old age competition of PC and Mac.
Here are the stats:
o Dimensions: HTC Diamond stands at 102 x 51 x 11.5 mm while iPhone is at 115 x 611 x 11.6 mm. HTC Diamond weighs 110g while iPhone is a bit heavier at 135g.
o Display: HTC Diamond has a touch-sensitive screen display of 480 x 640, 2.8 inches TFT LCD. Though, iPhone has an impressive screen display of 480 x 320, 3.5 inches multi-touch display.
o Operating System: Even though HTC Diamond uses Windows Mobile 6.1 HTC still tried to mask it with its own software which made it a lot easier to use. Also it makes use of the TouchFLO 3D Technology. While iPhone uses Apple’s very own OS X that is only exclusive to them.
o Memory: HTC Diamond was embedded with a 4 GB of internal memory with no external memory. Also included are a 192 MB DDR SDRAM and 256 MB ROM. iPhone on the other hand offers 8 GB/16 GB flash drive and 128 MB of RAM.
o Camera: Diamond sports an impressive 3.2 MP camera with auto-focus. Like iPhone it is also equipped with an accelerometer. Accelerometer enables you to view display in landscape. Also has a camera on the front for video-calling. While iPhone only has 2 MP camera and has no auto-focus, image editing software and flash but this is not its main feature though.
o Media Player: Diamond has FM radio and speaker where in iPhone does not have both. iPhone has its iPod functionality which is to die for. It supports Protected AAC, AAC, MP3 VBR, MP3, Audible formats 1, 2, 3, AIFF, Apple Lossless and WAV. Diamond only supports AAC, AAC+, MP3, WMA, AMR-NB and WAV.
o Connectivity: Diamond is equipped with HSDPA, 384 kbps and 7.2 Mbps down-link speeds. iPhone has EDGE, Wi-Fi and Bluetooth.
o GPS: iPhone has the ever helpful Google Maps while A-GPS and GPS is embedded in Diamond.
o Battery Life: Diamond has a talk time of 270 minutes for WCDMA and on GSM networks a maximum of 330 minutes. Its standby time is 285 and 396 hours correspondingly. Video call time is up to 145 mins on WCDMA. iPhone’s talk time is up to 8 hours, maximum of 250 hours standby, internet use is 6 hours, video playback 7 hours and audio playback of up to 24 hours.
Pricing and Availability: iPhone offers an 18 months contract at £35, £45 or £55 per month plus the upfront fee.
If you are looking for the latest mobile phone deals free gifts then visit this price comparison website today. They offer great deals for the htc touch diamond contract amongst many other leading handsets. If you are looking to get the best possible mobile phone deals, then why not pay mobile deals compared a visit?
Nov 18th
The first time HTC released its TouchFlo mobile phone to the public it did not deliver well. But now HTC has made some remodeling to impress us with its second generation.
The HTC Diamond has been beautifully designed. The HTC Diamond may be small but it is packed with a whole new features. As compared to its older brother HTC Diamond is quite taller, thinner and narrower.
Unlike with Samsung F480 there is no problem viewing the HTC Diamond in direct sunlight. Even when you are wearing gloves it is still very responsive. With its VGA resolution it displays crisp images on the screen. The backlight automatically adjusts in different lighting conditions.
The keys situated at the bottom of its screen are used for navigation purposes and the like. The buttons are Back, End, Home and Send and like with other phones it has a middle button or key. You will not be disappointed with the audio quality that HTC Diamond provides because it does not distort at the maximum volume.
The TouchFLO 3D software is breathtaking. Just like the iPhone you can slide the screen to the left or right to reveal more keys. Browsing images is made easy just by flicking it up and down. The Internet does not only launch the browser but it also displays other applications like YouTube for quicker access.
Though it is designed with a glossy black it still leaves fingerprint smudges on the screen. HTC has a pouch the will be able to clean the mobile inside and out but it is not included in the package.
With the TF3D software you still need to open it by tapping the screen. When the mobile phone is opened it takes a bit long around 15 seconds to boot. HTC Diamond really puts a fight with the iPhone because it only has few mistakes but it is not major. The overall functionality, performance and look of the HTC Diamond are really impressive.
If you are looking for the latest mobile phone deals free gifts then visit this price comparison website today. They offer great deals for the htc touch diamond contract amongst many other leading handsets. If you are looking to get the best possible mobile phone deals, then why not pay mobile deals compared a visit?
Nov 17th
The Need For Speed series has been one of the most successful gaming franchises since 1994, when the original game was released. For the well respected developer Electronic Arts, known for several hit titles over the years, this accomplishment is nothing short of standard. What EA had yet to do with their long running racing franchise, however, was to take a shot at the mobile gaming industry. Need for Speed: Undercover is the first in a long list of predecessors to take this route, and the move has paid huge dividends as the reviews flood in with overwhelmingly positive feedback. Indeed, NFS’s first mobile version has been a smashing success as an app on the ever popular IPhone, a device viewed by many as lacking the quality of games that can be played on other handheld devices, such as the Sony PSP or the Nintendo DS.
Although NFS: Undercover originally launched back in November of 2008, there was a brief delay in porting the version over to the IPhone, and the app has now been active since May 5, 2009. The transition has been seamless, as the game showed no ill effects in handheld form and was quickly considered one of the best racing games available for download. With 3D graphics that are consistently regarded as top notch when compared to similar titles available from Apple and revolutionary gameplay reviewers feel gets everything out of the advanced touch controls the phone offers, NFS rushed to the top of the gaming list and should continue to stay there in the near future.
Electronic Arts is a giant in the gaming industry, having opened shop in 1982 and converted to console gaming in the early nineties. Their current most successful branch, EA Sports, has been developing the Need for Speed series for over 15 years at a pace of about one new release every year. NFS: Undercover is the 12th installment in the series, and has already been succeeded by Need for Speed: Shift in September. With the success of Undercover, it’s very likely EA will be releasing a mobile version of all future releases in the popular series as well.
Read the more in-depth review of the Need For Speed iPhone app here. For more information on popular iPhone applications or to read more app reviews visit AppCraver today. AppCraver is dedicated to iPhone apps, news, reviews and interviews with iPhone application developers.
Nov 17th
Let the analysis commence with a brief outline of the network features present in both of the devices. The user, if he goes for the Apple iPhone, will have the benefits of improved worldwide usage given by the frequencies of the 2G network and there is a total of 4 frequencies being used by this mobile phone, namely – GSM 1900, GSM 900, GSM 850 and GSM 1800. If the user chooses the HTC Touch Diamond then he is also bound to have fantastic roaming facets due to the presence of the network frequencies of the 2G network (GSM 900, GSM 1800 and GSM 1800) and those of the 3G network (HSDPA 2100 and HSDPA 900).
Multimedia is perhaps the next chapter in this analysis known as the Apple iPhone vs HTC Touch Diamond. The primary feature is of course the camera and hence, the HTC Touch Diamond has a camera of about 3.2 MP while the Apple iPhone is vested with a 2 MP camera. Resolution of the picture taken is another notable feature in both of the handsets with the Apple iPhone being capable of taking pictures with an image resolution of 1600 x 1200 pixels. The HTC Touch Diamond is a widget which is able to provide pictures which are quite good in terms of clarity due to an image resolution of 2048 x 1536 pixels.
Music is an asset present in both of the handsets with features capable of entertaining the user in the best way possible. Hence, the user can listen to some of the latest hits being played on the iPod of the Apple iPhone or he can take the feature of listening to songs in a random manner with the help of the FM radio with RDS in the HTC Touch Diamond. This radio is quite a wonderful device with the ability to give stereo quality sound and also has the feature of RDS. There is another option present in the HTC Touch Diamond in the form of an MP3 player.
The next entity which gives a further elaborate conception as to what the phrase – Apple iPhone vs HTC Touch Diamond is the ability of both of the handsets, to provide features which are helpful for navigational needs. Google maps are used in the Apple iPhone while the tool of Built-in GPS (which has an improved performance due to the usage of assisted-GPS ) is present in the HTC Touch Diamond.
The operating systems of both the handsets are quite easy to use and therefore, assist the user to access the features present in both of the handsets in a hassle free manner. Therefore, the MAC OS X v10.4.8 does the above quoted service in the Apple iPhone while the Microsoft Windows Mobile 6.1 Professional does the same in the HTC Touch Diamond.
By now, the user is able to comprehend about the wonders emerging while the analysis (Apple iPhone vs HTC Touch Diamond) is being done. The next wonderful feature is the touchscreen which is incorporated quite efficiently in both of the handsets. The touchscreen present in the HTC Touch Diamond uses the technology of TouchFLO 3D finger swipe navigation which enables the user to swipe (with a little finger) the icons representing the different features on the display screen of this mobile phone. The Apple iPhone uses the technology known as the Multi-touch input method and hence, is also quite a user amiable and a finger-friendly mobile device. Both of the mobile devices are therefore, prodigies full of brilliance and fabulous features and hence, being complete facility packages.
If you like to get the latest mobile phones and free laptop with best deals, visit our online mobile shop.
Nov 16th
The HTC diamond places touch at its forefront. Standing at 102 x 51 x 11.33 mm it makes the HTC Diamond more compact and smaller comparing it to the iPhone. Designed with a gloss black and has a 2.8” VGA touch screen and like other touch screen mobile phones today it has several keys in the front for quick access. While the iPhone has 2 MP camera the HTC Diamond has 3.2 MP camera which is not bad.
You will not be disappointed when connecting to the internet through your mobile phone because it is equipped with HSDPA 7.2 with HSUPA, Bluetooth, Wi-Fi and GPS. You can also store as many images, videos and files on its 4 GB internal memory. Though, it does not have an external memory or 3.5 mm jack for additional storage space.
Using the HTC Diamond the first time will not be that complicated because you are just like using your desktop computer with Windows Mobile installed in it. Though, there are few customizations done to the operating system.
Upon using the HTC Diamond you will get acquainted with its impressive 3D TouchFlo software. Its 3D TouchFlo software is pure graphical. Also installed in it is the Opera browser for faster browsing experience. With the use of HSDPA and Wi-Fi connecting to the internet does not disappoint. HTC Diamond gets really close to the iPhone browsing experience.
For legibility purposes, HTC Diamond automatically resizes the web pages to fit the screen. With the pages resized it still maintains its ratio and design. To zoom in and out you just simply double tap the screen. To shift the web pages around just move your finger across the screen.
While the iPhone’s QWERTY keyboard places one letter or character per key, HTC Diamond places two letters or character on one key. This design enables the QWERTY keyboard for HTC Diamond to display 12 or 20 key configuration on the screen. It was said that HTC addressed the problems that occurred on the iPhone.
The HTC Diamond may seem perfect but it still has its flaws. It has been reported that it is not that responsive though that is only with the prototype. Lacking the 3.5 mm jack may be a downer for music fans and the lack of external memory leaves the users limited to the 4 GB memory. Though, HTC reported that a 3.5 mm dongle is included in the package.
If you are looking for the latest mobile phone deals free gifts then visit this price comparison website today. They offer great deals for the htc touch diamond contract amongst many other leading handsets. If you are looking to get the best possible mobile phone deals, then why not pay mobile deals compared a visit?
Nov 15th
iPhone contains many useful features. One of them is build-in camera and Camera application system for making photos. It looks great but what about camera usage with native applications? iPhone SDK provides the capability of using camera through UIImagePickerController class. That’s great but there is a small disadvantage – you cannot create a full-screen persistent “live” camera view like the Camera application does. Instead of that you should use UIImagePickerController only in modal mode – show the pop-up modal view when you need a photo and close the view after the photo is made. You have to reopen this view again to take the next one.
Moreover, that modal view contains additional panels and controls that overlay the camera view. Another disadvantage is – you cannot take a photo in one touch; you need to touch the Shoot button to take a picture and preview it, and then you need to touch the Save button to get the photo for processing. Probably it’s the best practice but I don’t like it and I hope you think the same way.
What about using the UIImagePickerController as an ordinal non-modal view controller under the navigation controller the same way as we use the other view controllers? Try it and you will found that it works! The camera view works and looks as it should. You can assign a delegate and process UIImagePickerControllerDelegate events to get and save the photo. Ok, touch the Shoot button, touch the Save button – great, you’ve got the photo! But just look at this – the Retake and Save buttons stay above the camera view, and they don’t work now when they are touched… This is because you cannot reset the view to take another photo after taking one and touching the Save button, the view is freezed and the buttons are disabled. It seems you need to fully recreate the UIImagePickerController instance to take another photo. That’s not so simple and not so good. And you still need to use the panels and buttons that overlay the camera view…
Now I have an idea! When we touch Shoot, the view stops refreshing and displays single image from the camera; then we have to touch Retake or Save button. Can we get that image and save it without using the UIImagePickerControllerDelegate and then touch the Retake button programmatically to reset the view and get another photo? Sure we can! If you explore the camera views hierarchy after touching Shoot you will find that there is a hidden view of ImageView type. This class is not described in the SDK, but we can explore its’ methods using Objective-C capabilities. We can see that the class contains a method called imageRef. Let’s try this… Yes, it returns CGImage object! And the image size is 1200 x 1600 – it’s definitely the camera picture!
Ok, now we know we can get the photo without UIImagePickerControllerDelegate. But in what moment should we do this? Can we catch the user touches on the Shoot button to start processing? It’s possible but not so good. Do you remember our main purpose – creating the persistent full-screen camera view like system Camera application does? It’s time to do it! When we explored the views hierarchy, we’ve found that there are number of views above the camera view. We can try to hide these views and create our own button below the camera view to take the photo in one touch. But how can we force the camera view to make the photo? It’s very simple – we can get the corresponding selector from the Shoot button and call it from our action handler!
Ok, we’ve forced getting the image. But it takes us few seconds. How can we detect that the image is ready? It occurred when the Cancel and Shoot buttons are replaced by Retake and Save ones. The simplest way to detect this is starting a timer with short interval and checking the buttons. And then we can get and save the photo, using the corresponding selector from the Retake button and calling it to reset the camera view and prepare it for making a new one. Here is the code:
// Shot button on the toolbar touched. Make the photo.
- (void)shotAction:(id)sender {
[self enableInterface:NO];
// Simulate touch on the Image Picker’s Shot button
UIControl *camBtn = [self getCamShutButton];
[camBtn sendActionsForControlEvents:UIControlEventTouchUpInside];
// Set up timer to check the camera controls to detect when the image
// from the camera will be prepared.
// Image Picker’s Shot button is passed as userInfo to compare with current button.
[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(savePhotoTimerFireMethod:) userInfo:camBtn repeats:NO];
}
// Return Image Picker’s Shoot button (the button that makes the photo).
- (UIControl*) getCamShutButton {
UIView *topView = [self findCamControlsLayerView:self.view];
UIView *buttonsBar = [topView.subviews objectAtIndex:2];
UIControl *btn = [buttonsBar.subviews objectAtIndex:1];
return btn;
}
// Return Image Picker’s Retake button that appears after the user pressed Shoot.
- (UIControl*) getCamRetakeButton {
UIView *topView = [self findCamControlsLayerView:self.view];
UIView *buttonsBar = [topView.subviews objectAtIndex:2];
UIControl *btn = [buttonsBar.subviews objectAtIndex:0];
return btn;
}
// Find the view that contains the camera controls (buttons)
- (UIView*)findCamControlsLayerView:(UIView*)view {
Class cl = [view class];
NSString *desc = [cl description];
if ([desc compare:@"PLCropOverlay"] == NSOrderedSame)
return view;
for (NSUInteger i = 0; i < [view.subviews count]; i++)
{
UIView *subView = [view.subviews objectAtIndex:i];
subView = [self findCamControlsLayerView:subView];
if (subView)
return subView;
}
return nil;
}
// Called by the timer. Check the camera controls to detect that the image is ready.
- (void)savePhotoTimerFireMethod:(NSTimer*)theTimer {
// Compare current Image Picker’s Shot button with passed.
UIControl *camBtn = [self getCamShutButton];
if (camBtn != [theTimer userInfo])
{
// The button replaced by Save button – the image is ready.
[self saveImageFromImageView];
// Simulate touch on Retake button to continue working; the camera is ready to take new photo.
camBtn = [self getCamRetakeButton];
[camBtn sendActionsForControlEvents:UIControlEventTouchUpInside];
[self enableInterface:YES];
}
else
{
NSTimeInterval interval = [theTimer timeInterval];
[NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(savePhotoTimerFireMethod:) userInfo:camBtn repeats:NO];
}
}
// Save taken image from hidden image view.
- (BOOL)saveImageFromImageView {
UIView *cameraView = [self.view.subviews objectAtIndex:0];
if ([self enumSubviewsToFindImageViewAndSavePhoto:cameraView])
return YES;
return NO;
}
// Recursive enumerate subviews to find hidden image view and save photo
- (BOOL)enumSubviewsToFindImageViewAndSavePhoto:(UIView*)view {
Class cl = [view class];
NSString *desc = [cl description];
if ([desc compare:@"ImageView"] == NSOrderedSame)
return [self grabPictureFromImageView:view];
for (int i = 0; i < [view.subviews count]; i++)
{
if ([self enumSubviewsToFindImageViewAndSavePhoto:[view.subviews objectAtIndex:i]])
return YES;
}
return NO;
}
// Grab the image from hidden image view and save the photo
- (BOOL)grabPictureFromImageView:(UIView*)view {
CGImageRef img = (CGImageRef)[view imageRef];
if (img)
{
// Taken image is in UIImageOrientationRight orientation
UIImage *photo = [self correctImageOrientation:img];
UIImageWriteToSavedPhotosAlbum(photo, nil, nil, nil);
return YES;
}
return NO;
}
// Correct image orientation from UIImageOrientationRight (rotate on 90 degrees)
- (UIImage*)correctImageOrientation:(CGImageRef)image {
CGFloat width = CGImageGetWidth(image);
CGFloat height = CGImageGetHeight(image);
CGRect bounds = CGRectMake(0.0f, 0.0f, width, height);
CGFloat boundHeight = bounds.size.height;
bounds.size.height = bounds.size.width;
bounds.size.width = boundHeight;
CGAffineTransform transform = CGAffineTransformMakeTranslation(height, 0.0f);
transform = CGAffineTransformRotate(transform, M_PI / 2.0f);
UIGraphicsBeginImageContext(bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM(context, – 1.0f, 1.0f);
CGContextTranslateCTM(context, -height, 0.0f);
CGContextConcatCTM(context, transform);
CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, width, height), image);
UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return imageCopy;
}
Another important question is: in what moment can we hide the overlaying camera views and controls and create our own button? Trying the viewDidLoad… Oops… The camera view is still not created. Trying the viewWillAppear… The same thing… Trying the viewDidAppear… Yes, the views have been created and can be hidden now. Ok, we hide that and create a toolbar with our Shoot button. It works, but the screen flicks – we see how the standard views and buttons are shown and then hidden. How can we prevent this? I tried a number of ways and had found the best one: we should hide the views before they are added to the camera view (when the addSubview method of the camera view is called). It’s possible using Objective-C capability to replace the method dynamically at run-time. Ok, let’s replace the addSubview by our own method. In our method we can check that the passed view is one of the camera view subviews and set its’ “hidden” property to YES. So, we replace the addSubview in the viewWillAppear before the camera view is created. And we create our toolbar and Shoot button in the viewDidAppear after the camera view is created. Take a look at the code below:
// Replace “addSubview:” if called first time; hide camera controls otherwise.
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (toolBar != nil)
{
// The view was already appeared; we don’t need to subclass UIView
// but need to hide extra camera controls.
UIView *cameraView = [self findCamControlsLayerView:self.view];
if (cameraView)
{
cameraView = cameraView.superview;
int cnt = [cameraView.subviews count];
if (cnt >= 4)
{
for (int i = 2; i < cnt – 1; i++)
{
UIView *v = [cameraView.subviews objectAtIndex:i];
v.hidden = YES;
}
}
}
}
else
{
// Subclass UIView and replace addSubview to hide the camera view controls on fly.
[RootViewController exchangeAddSubViewFor:self.view];
}
}
// Exchange addSubview: of UIView class; set our own myAddSubview instead
+ (void)exchangeAddSubViewFor:(UIView*)view {
SEL addSubviewSel = @selector(addSubview:);
Method originalAddSubviewMethod = class_getInstanceMethod([view class], addSubviewSel);
SEL myAddSubviewSel = @selector(myAddSubview:);
Method replacedAddSubviewMethod = class_getInstanceMethod([self class], myAddSubviewSel);
method_exchangeImplementations(originalAddSubviewMethod, replacedAddSubviewMethod);
}
// Add the subview to view; “self” points to the parent view.
// Set “hidden” to YES if the subview is the camera controls view.
- (void) myAddSubview:(UIView*)view {
UIView *parent = (UIView*)self;
BOOL done = NO;
Class cl = [view class];
NSString *desc = [cl description];
if ([desc compare:@"PLCropOverlay"] == NSOrderedSame)
{
for (NSUInteger i = 0; i < [view.subviews count]; i++)
{
UIView *v = [view.subviews objectAtIndex:i];
v.hidden = YES;
}
done = YES;
}
[RootViewController exchangeAddSubViewFor:parent];
[parent addSubview:view];
if (!done)
[RootViewController exchangeAddSubViewFor:parent];
}
The technique described above was used in iUniqable application available from Apple App Store (Social Networking section). Feel free to use.
Feel free to visit the website of the developer www.enterra-inc.com
Vladimir Tarassyuk
Powered by Yahoo! Answers