Review: HTC Inspire 4G

Over the past couple of months, I’ve had a new toy to play with: a new phone from AT&T, the HTC Inspire 4G.  This is one of AT&T’s first 4G phones, although their network doesn’t fully support 4G speeds yet.  Using the HSUPA+ speeds for now, it is one of the fastest devices AT&T offers.

Design:
Boasting a brilliant 4.3″ WVGA screen with a 480×800 screen resolution, there is plenty of screen to view everything you could imagine on a smartphone.  It’s your typical candybar  type phone, however is much thinner than most phones I’ve seen.

HTC Inspire 4G screen

HTC Inspire 4G screen

HTC Inspire 4G thickness

HTC Inspire 4G thickness

Performance:
Boasting a 1GHz processor, the HTC Inspire 4G seems to be plenty fast.  With the 2.2 Froyo operating system, the Inspire 4G multitasks much nicer than the iPhone 4.  It has 768MB of RAM, which is more than most phones available from retailers.

Hardware:
The Inspire 4G is pretty tricked out with faster hardware than most other devices available on the market.  As mentioned previously, it has a 1GHz processor, 786MB RAM and 4GB ROM.

Battery:
This is my favorite part of the phone.  The battery life is amazing.  With the Froyo update, I can easily leave WiFi, Bluetooth and GPS on all day and still have approximately 70% battery remaining by 5pm.  By listening to internet radio on WiFi, I can usually have 50% remaining at the end of the day.  Texting, surfing and calls are kept to a minimum, which I usually send/receive a few text messages, receive 30 emails and talk for approximately 5 – 10 minutes each day.  I can comfortably stay unplugged for 12 – 15 hours.

Pictures:
Coming from an iPhone 4 and being used to a phone with a 5MP camera, I figured this camera would be much nicer, seeing how it boasts an 8MP camera.  It has two built-in LED flash strobes which are surprisingly bright.  During the day, the pictures come out pretty crisp and clear, as seen below:

HTC Inspire 4G picture, in daylight

HTC Inspire 4G picture, in daylight

In dimly lit conditions, the camera begins to lack, as seen here:

HTC Inspire 4G picture in dim light

HTC Inspire 4G picture in dim light

The camera has a built in auto-focus feature, where you can tap anywhere on the screen and set the auto focus point.  This works very well, yet it can still be difficult to get a crisp picture.

Video:
Video playback is smooth.  YouTube videos and other web videos appear sharp and load quickly, whether on WiFi or  on HSUPA+.  The YouTube app launches quickly, whether surfing the web, or from another app such as Facebook.

Audio:
The back of the phone says it has Dolby Mobile audio, yet it sounds like any other phone.  I’ve found it a bit difficult to hear the phone when it’s in my jacket pocket, or when I’m driving in the car with the sunroof open.  Other than that, in most situations, it’s easy to hear and plenty loud.  The speaker in which one listens to voice calls could definitely use a volume tweak — I’m constantly finding myself wanting to turn it up louder.

Dual LED flashes and Dolby Mobile audio

Dual LED flashes and Dolby Mobile audio

Apps:
Being an Android phone, there is a large amount of apps available on the App Market.  You can find an app for anything, and now that mobile app development has taken off, it’s easy to find an app for just about anything.

Conclusion:
Of the phones that AT&T now offers, I think this is by far the best Android phone.  I’ve had experience with the HTC Aria, but liked this phone much more.  I’m now used to the massive 4.3″ screen and am getting used to it, although I would prefer to have something a bit smaller.  Since the phone is so thin, it does not take up much space in a pocket, however, it does tend to slide out of jacket pockets easily.  The case seems to be durable, however it is a bit slick and can slide out of your hand easily.

Overall, I’m happy with the phone and the features it offers.  HTC has done a magnificent job bringing this to AT&T.  Let’s just hope AT&T releases their 4G network soon, and that it’s reliable.




Using PHP to Connect to a Microsoft Access Database

Recently, I had an opportunity to try something I hadn’t done in a while: develop a dynamic website in PHP.  Using .NET 95% of the time, I jumped on the opportunity.

The project was simple: simple data I/O, quick search and a dictionary of items in the database.  It’s a pretty straight forward project, so I took my laptop to the nearest Starbucks and got to work.  I had no idea what I was getting myself into.  I was given a database file that had been created in Microsoft Access.  I didn’t think too much, as I could upload it to a private server I manage and pull from it.  After an hour of searching on the Internet, I realized it wasn’t going to be as simple as I had thought.

So, to save everyone a bit of time, here’s a brief tutorial as to how to use PHP to connect to an Access database and return records.


< ?php

// list most recent beer here
$sql = "SELECT TOP 5 TableId,RowName FROM TableName ORDER BY TableId DESC";

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\\to\\your\\database.mdb";

$conn->Open($connString);

$rs = $conn->Execute($sql);

while (!$rs->EOF)
{
$fv1 = $rs->Fields("TableId");
$fv2 = $rs->Fields("RowName");
echo  "<li><a href='/results.php?page_id=$fv1'>" . "$fv2</a></li>";
$rs->MoveNext();
}

$rs->Close();

?>

So there you have it.  Each time you want to ping the database, you cannot simply include a connection file at the top of each page, then close it at the bottom, but rather, you must open the connection, declare the data source, then close the connection each time.  This presents a bit more work and a bigger hassle, I think, but it can be done.

Have you ever needed to use PHP to connect to an Access database?  If so, maybe this will help.  I’m open to suggestions, so if you have any tips or recommendations, please inform me!




Indianapolis Ice Storms 2011

Most of us have experienced an ice storm at least once in ours lives.  I’ve lived through three now, one when I was a kid, one when I was at Purdue, and most recently, over my birthday this year.

When I was young, it was great — schools everywhere were canceled, allowing everyone to go outside, build snow forts, castles and tunnels.  It was fantastic, playing outside with my dad, snowball fights and ice skating.

Purdue was great, because classes were actually canceled for two days.  This was great, since students everywhere were taking trays from the dining halls and doing what every other college-aged student would do — go sledding.  It all seemed great, but unfortunately, I decided to get sick, so I wasn’t able to get out in it and partake in the festive events, which had only occurred once or twice in all of Purdue’s history.

This year, however, things changed.  Living on the north side of Indianapolis, it’s interesting to see the drastic changes in weather, in comparison to the East side.  We got an inch of ice, then about two inches of snow, then another two inches of ice, all within a 48-hour window.  Thankfully, I was able to work from home for a couple of days, so it was nice to be “off” on my birthday, even though I was actually a good employee, and did work.  (I launched a new, global site search for the Helen Wells Agency website.)

I took some pictures, this year, of my car, just to show how much ice was actually on my car.  Keep in mind, it took me over an hour to get my car de-iced and thawed out.  Then, once it was out, it was a bit of a challenge getting over the small mound of ice, which was conveniently placed at the end of all parking spots, thanks to the snow plows.  All said and done, it took 90 minutes to get my car out, and to Meijer.

Anyway, enough chatting, here are some pictures, for your viewing pleasure.

As you can see, it was pretty well frozen shut.  Now that the weather has broken, I’m able to get out and drive around, despite the enormous piles of snow/ice, at the sides of roads.  If we can just get rid of the cold weather, we’ll all be set!




There’s No ‘UI’ in Command Line

Recently, a friend and I were having a discussion as to how beneficial a GUI is, as compared to a command line interface.  Just as a warning, I’m a graphics person and use Mac for everything, BUT, I will attempt to make the most unbiased comparison of having a GUI for tasks, and using a command line interface.

The GUI:
GUI is short for Graphical User Interface.  It’s what you look at when you’re using a computer.  Xerox first developed the concept of a GUI in the early 1980s and called it PARC.  Shortly after, Apple release Lisa, the company’s first GUI-based operating system.  Microsoft followed, and we now have the modern GUI.

Command Line:
Command line was the first type of input for computers.  It required the user to enter a series of commands, in order to tell the computer what to do.  It is still widely used in the Linux operating system and is implemented in each operating system.

Personally, I prefer a GUI for simple tasks.  Although I can use both, I like the “look and feel” of the modern GUI.  The command line does make some tasks simpler, however.  For instance, on a Windows machine, Command Line is the best way I’ve found to determine your IPv4 settings on your local machine.

On OS X, however, it is a bit simpler.  By opening up the Network Activity application, you’re presented with many bit of information.

So, let’s ask this.  What do you prefer to use?  What OS do you primarily use?  What do you use Command Prompt for, as opposed to a GUI?




HTML5, Web Video and VideoJS

Now that the new year is here, I’ve decided to make a few resolutions — resolutions not only for my personal satisfaction, but also some of my programming abilities. One of these is I would like to dive head-first into the world of HTML5 and CSS3. I’ve been approached several times about my knowledge on these topics and unfortunately, have had to turn away. Not anymore.

Enter VideoJS.  VideoJS is an outstanding player that’ll not only play the videos in the standard HTML5 formats (OGG, OGV, MP4, WebM), but if the browser doesn’t support HTML5, it will automatically change to a Flash embedded video.  This is an outstanding plugin, and my hat goes off to the developers.

Enough talk, let’s see this thing in action.


Take note as to how the video is rendered.  If you’re in Firefox, Safari, Opera or Internet Explorer, it should render as a Flash video.  If you’re on an iPad or iPhone, it should play, using the MP4/H.264 codec.  If you’re using Chrome, it should play as an HTML5 video, since it uses the HTML5 <video> tag.  If, for some reason you do not see this video, please let me know so I can look into why it is not working properly.

I have noticed a few problems with this new way of handling videos online. First, the new file formats drastically increase the file size. The files of these videos are ranging from 13MB for the MP4 and an outrageous 43MB for the OGV file. Because of this, the files take a fair amount of time to play. Granted, I may not be using the best encoders to convert my videos, and this video was shot in 720p. The fact that still remains is the files are huge.

This all brings up a big question.  What is the best browser that’ll support all of this?  I suppose the answer is Chrome, seeing how it displays much of the new HTML5/CSS3 standards pretty well.  I’m a die-hard Firefox fan, so I won’t be changing any time soon.  HTML5 will be around for a while and still hasn’t caught up to the popularity of Flash-based video.. yet.  I think there’s great potential in Firefox4, but without having tested it out, I’m not sure of it’s capabilities as of yet.

I’m not an expert at any of this by any means, these are just my opinions and I’m still learning. Feel free to leave some comments and/or insights on this topic. I’m hoping to generate a little bit of feedback, in order to learn more.