Why I won’t be keeping my Palm Pre

by Matthew Noonan 7. September 2009 17:43

Recently, I traded in my beloved HTC Touch Dual for the new and much hyped Palm Pre.

It was a really difficult decision, because I really liked my Touch. It had a Windows Mobile OS and a really inventive interface on top of it, and I was hooked almost right away. Sure, there were some quirks I didn’t like, what cell phone doesn’t have those? But my main reason was that my Touch was tied to Cincinnati Bell and therefore the Edge network. In other words, no 3G broadband. To make matters worse, CB informed me that 3G would not be around until Q4 (which really means next year), and in any case the Touch doesn’t support 3G so I would have to buy a new phone to boot.  Grrrrr…

So I decided to give Sprint a try. I had been using the Novatel MiFi 2200 card (which I absolutely love, btw) on Sprint, and I had a friend with an HTC Touch Pro, so maybe I could stay with HTC. No such luck. Sprint stopped selling the Touch Pro in advance of the upcoming HTC Touch Pro 2 (rumored around Sept. 8). Because I have had enough of CinciBell, I decided to give the Palm Pre a go, since I had 30 days to decide and I was within that window for the HTC release.

I had already seen all the commercials seemingly hyping the Pre as an “iPhone killer”. Well, it isn’t… at least not for me.

  • For starters, it’s a battery hog (so is the iPhone, but that’s another story). A day to a day and a half was about the max I got out of it. That was a big change from the 3-4 days I got from the Touch.
  • The app store… really isn’t much of one. This is understandable since the Pre is so new, but I have to believe that Apple has cornered the mind share on custom phone apps (for now). If you were going to write your own custom app right now, which platform would you target first? And since all of that work is probably throw away outside of Apple, are you going to invest in and support another proprietary code base? Probably not…
    Update (9/28/09): For a different take on this item, read this developer’s experience with trying to get his apps published to the Palm App Store.
    http://jwz.livejournal.com/1096401.html
  • While I like the touch screen overall, the ability to copy and paste seems like an afterthought. There are too many times I want to copy some text from a web page and send it via email or SMS, but you simply can’t do it with the Pre. And for the few situations where you can select text, good luck if the text sits against the left or right edge of the screen.
  • I’m sure this is the case with some of the iPhone apps as well, but why don’t all the built-in apps take advantage of the screen tilting mechanism? Email and texting seem to be  an especially odd omission for this feature. I also hoped that Tweed would take advantage, but it doesn’t. Only the web browser seems to be aware that the feature exists at all. The one nice feature I have not seen before: the screen shuts off during a call, so you don’t accidentally hit any buttons while you hold the phone to your ear. When you swing the phone away from your, say to hang up the call, the screen pops back on. Nice, but not a killer feature.
  • The keyboard is too small. I think a full keyboard spanning the length of the phone rather than the width would have been better. But I have big hands. In a way I miss the predictive typing that I had on the HTC. Sometimes its nice not to have to type the entire word.
  • Opening PDFs seems to darn near impossible. There is an app included to read PDFs, but only from the file system. You can’t open PDFs from the web, and there doesn’t seem to be any way to save the PDF from the browser to the file system. Pretty big oversight, if you ask me…
  • And will somebody please explain to me why all these next generation phones can’t display email in HTML format? I know you guys can do better than this…

When the dislikes add up to more than the likes, and in this case they do, the phone is going back. I enjoyed my time with the Pre, and it is good to get experience with different platforms so you can develop a feel for which ones you like and which ones you don’t. But my sense is that I am going to stick with the Windows Mobile platform for now.

Next up for me, a report on how much I like the HTC Touch Pro 2…

Tags:

General

Blog software updated to BlogEngine 1.5

by Matthew Noonan 31. May 2009 02:03

It has been some time since I have blogged, or indeed, payed any attention whatsoever to the EasyObjects web site. Hopefully, that is now about to change.

I have updated the blog to the latest build of BlogEngine.NET, which adds a few new features and bug fixes. Of course, one must actually post to the blog in order to make use of these enhancements…  :-)

Seriously, I know that I have been away, and it has been far too long, so rather than make a long list of promises about “what is to come” or “what changes are in store”, I’d rather just get busy and make the changes happen. Actions speak louder, eh?

I will just leave you with this thought: Just because I have been away, does not mean I haven’t been busy.

Switching to BlogEngine.NET

by Matthew Noonan 12. February 2008 22:51

I've been waiting and waiting for the DNN Blog project to get "up to speed" with some new features and functionality, and now that I have a moment to catch my breath, I realize I am done waiting. The DNN Blog is a nice, quick plug-in to the DNN web site that allowed me to setup a blog with relative ease. And time being a precious commodity for me, quick sometimes overrides better.

Well, it's time to move away from something quick and towards something better.

I had hoped that the DNN Blog project would be adding support for things like Live Writer, Pingbacks, social bookmarks and tag clouds. But alas, the project seems as mired in a slowdown as EasyObjects...  :-p

So after a brief search, and trying to decide whether I wanted to host my own (as I do currently) or move to one of the public blog hosting providers, I decided to give BlogEngine.NET a try. In addition to self hosting, I can probably migrate my existing entries without having to re-type everything, which is a plus. And it supports most of the features I was looking for. And more importantly, the project seems to be moving forward with active development. (I know, more on the EO plan in a sec!)

But this change doesn't come without cost, either, and I don't mean just setup and migration time. One key feature of the DNN Blog is the integration with the DNN Search engine. By moving to a separate engine, so too will the search capability for blog posts. No longer will you be able to use the search box on the home page to search the blogs, you will have to go to the blog page and use the search engine there.

Then there are the URL changes, but those will pass over time. I have yet to figure out how to make the new engine so that it will co-exist peacefully under the DNN EasyObjects web site, so for the time being I have placed it under a new URL and host header in IIS. There are too many httpmodules and httphandlers to figure out quickly.  :-(

Update (2/13/08): Man, Windows Live Writer makes posting soooooo much easier. I think I'm going to like this switch. All the prior posts have now been migrated, although you may notice that the HTML markup is now a part of the post. I will correct this over the next few days. Also, comments haven't been migrated yet. More changes are on the way!

Next post: The EasyObjects Road Map for 2008.

Tags:

General

New look for the website

by Matthew Noonan 9. July 2007 06:43
Check it out. It's a new update to a DotNetNuke skin by Evan O'Neil (who makes awesome skins, btw).

Tags:

General

Premature upgrades

by Matthew Noonan 20. June 2006 13:22

Well, I saw that DotNetNuke (http://www.dotnetnuke.com) had released new versions of their portal software, and since this site uses that software and I wanted to take advantage of some of the new features, I downloaded and installed the upgrade.

Unfortunately, I should have read the fine print a little more closely...

It turns out they made some major plumbing changes, in particular to the User Membership and Roles. After doing the upgrade, I suddenly lost all of my unauthorized users (people who registered for the site, but hadn't returned to input the validation code). Normally, I keep unauthorized users for 30 days, if you haven't logged in by then, I figure you moved on and so I remove the account information. But right now, if your account falls into this category, the upgrade has not so politely deleted it. So if you received a validation email, but had yet to login to the site, drop me an email using the "Contact Us" menu to the left and I will see if your account still exists. If not, you may have to re-register.

Also giving me trouble is the new Announcements module. While I agree with the new changes, the module seems to be ignoring any HTML formatting that I have applied. The instructions for downloading the source code using Subversion are now completely hosed, and I will have to work on getting that cleaned up.

If this upgrade proves to be too problematic, I can go back to the previous version using my backups, but for the moment I'm trying to move forward with this build. Please let me know if you experience any problems whatsoever, and I will do my best to make sure you are satisfied with your visit here.

I apologize for any inconvenience, in the future more steps will be taken to try and smooth out any upgrades to the web site.

MyGeneration 1.1.6 BETA now available

by Matthew Noonan 19. May 2006 02:31

If you are having trouble with generating your objects and stored procedures because of the schema bug in MyGen, you can now download the BETA of the next version that fixes this problem. I highly recommend you update, but be aware that this is beta software, so there may be other problems to iron out before a release.

My initial test shows that the schema problem has been fixed. You can download the beta here:
http://www.mygenerationsoftware.com/phpbb2/viewtopic.php?t=2039

You know it's spring when your ISP goes down

by Matthew Noonan 10. May 2006 19:16

I just love it when my ISP just goes down for no reason every spring. I gotta get me a better hosting environment...  Undecided

Tags:

General

Registration challenges

by Matthew Noonan 20. April 2006 17:40

One of the challenges of registering on this site is the verification process. You must register a valid email address in order to receive the verification code, which is required in order to gain entry to the downloads page.

Now, because this process is rooted in email, there are a number of reasons why you may not receive the verification code:

  1. The email address is invalid ('test@test.com' seems to be a common attempt).
  2. You had a typo in your email address (this happens surprisingly often).
  3. Your ISP has overly-aggressive spam filtering, and incorrectly identifies the verification email as spam.
  4. Your inbox is full, so your ISP rejects any additional emails.
  5. Your email address is valid, but my email server cannot resolve your domain.

Now, in the first two cases, we make reasonable attempts to determine if the address is bogus or just misspelled, and resend the email. If the address is totally bogus, it will automatically be deleted after 30 days (as are all unverified accounts).

Cases 3 and 4 require action on your part, and so we must rely on you to resolve the issue and then return to the site and request the password reminder, which will resend the verification code. There is nothing we can do to intervene in the process.

Case 5 is a special case, and we have a couple of users that fall into this category. When we get the email delivery failures, the first thing we do is try to send the registration email from our corporate GMail or Hotmail account, to see if those servers have the same problem. If the delivery fails from those accounts, we really have no recourse. We cannot contact the user, and they are unable to get into the site. They register, try the password reminder, re-register, etc. and they are just never able to successfully complete the process.

So our advice is this, if you are having trouble getting registered (and you never seem to get the verification or password reminder email), then odds are you fall into Case 5. The easiest way to solve this problem is to use a different email account for the registration. Go get yourself a free Hotmail, Yahoo or GMail account and use that for the registration. Additionally, you can contact us directly using the contact form on this site, and we will attempt to assist you as needed.

One final word about those emails (and giving us your email address in general), we do not and will not swamp your inbox with emails. Generally speaking, the emails we do send are limited to product release announcements and other things of a major nature (to date, I think there have been a total of 2 emails). As we ourselves conduct a great deal of business using email, we understand that you don't want to sift through a mountain of erroneous email, even if you requested it. We respect your decision to give us your email address, and we will do our best to make sure that trust is not abused.

If you have any questions, see our Privacy Statement, or contact us directly.

And the best way to keep track of EasyObjects developments is to monitor this blog using an RSS reader, a Firefox live bookmark, or if you are really adventurous, IE7 Beta 2. Everything that happens with EO is announced here first.

Now back to our regularly scheduled program...  :)

SQL Server nchar bug?

by Matthew Noonan 20. March 2006 06:05

Can anyone explain this? I Googled around but didn't find any significant answers. The following code can be run against the Northwind database in SQL Server, where the CustomerID column is defined as nchar(5).

Apparently there is a bug when performing parameterized queries on columns using the LIKE clause, as in this example:

-- Returns no rows
SELECT * FROM [dbo].[Customers] WHERE [CustomerID] LIKE @CustomerID

However, this format works correctly:

-- Returns 39 rows
SELECT * FROM [dbo].[Customers] WHERE [CustomerID] LIKE '%A%'


As further proof of the bug, the NOT LIKE clause acts badly as well:

-- Returns all 92 rows
SELECT * FROM [dbo].[Customers] WHERE [CustomerID] NOT LIKE @CustomerID
-- Returns 53 rows
SELECT * FROM [dbo].[Customers] WHERE [CustomerID] NOT LIKE '%A%'

This was originally reported to me by Yu (Bruce) Houfang as an EasyObjects bug, but in reality it seems to be SQL Server's problem. However, I have checked in a work-around to the SqlDynamicQuery class so that if a nchar column is used in a LIKE clause, the direct string value is passed instead of the parameter.

Can anybody explain this behavior?

Oracle woes

by Matthew Noonan 6. March 2006 02:58

Now, I admit up front I'm not an Oracle guy. I've spent the majority of my career working with SQL Server, but I have had occasion to work with other databases like Sybase, DB2 and of course Oracle. To me, Oracle provides the worst developer experience of all those I mentioned (my completely biased opinion).

I'm not saying Oracle is not a great database, I just think they could go a long way to helping developers do their jobs. Maybe it's just a Microsoft/Oracle thing I keep running into. Maybe not. Error messages like "Invalid number or type of parameters" don't really narrow it down for me when the stored procedure has 30 parameters. Which is it, number or type? And which one? It seems to me Oracle should be able to narrow it down for me a bit further than they do.

Anyway, ranting aside, here's my problem. Oracle also does not have a feature that directly mimics SQL Server's IDENTITY column, where if you insert a row into a table with an IDENTITY column, SQL Server will automatically generate the column value for you (this is most frequently used as a primary key for a table with no natural key).

As a workaround, EasyObjects uses the Oracle SEQUENCE objects to generate the next number in the sequence. This approach works great in the Oracle stored procedures, but is proving to be quite the challenge when generating inline SQL commands. After several iterations and confusing error messages, this is where I'm at with it and it still does not execute successfully:

DECLARE AK_CUSTOMERID NUMBER;
BEGIN
    SELECT MNOONAN.CUSTOMERSEQ.NEXTVAL INTO AK_CUSTOMERID FROM DUAL;
    INSERT INTO MNOONAN.CUSTOMERS (CUSTOMERID, CITY) VALUES (AK_CUSTOMERID, :CITY);
END;

This results in the informative "ORA-01036 Invalid variable name" error. I am left to guess that the problem is with the :CITY variable, since it's the only one. If there is a solution to this, it has avoided me so far.

Any Oracle gurus out there that can provide some insight?

Tags:

General