Posts Tagged ‘ASP.NET’

Resources for ASP.NET MVC and IronRuby

Wednesday, April 8th, 2009

I put off studying ASP.NET MVC during pre-release, and now that it's out, it's really really time to catch up.

There are a bunch of nice tutorials out there, and I'd like to compile them here:

I'm also checking out IronRuby, especially with respect to integration with ASP.NET MVC:

I will try to conjure a talk out of these in a little over a month's time, wish me luck. :)

Enriching ASP.NET applications with jQuery — Slides and Code

Sunday, January 25th, 2009

I'd like to thank everyone who attended the MSDN Session I conducted a week and a half ago, entitled Enriching ASP.NET applications with jQuery. Again I'd like to apologize that I wasn't able to show a genuine DB-backed app to them ('coz my SQL Server installation got fried for some reason) and my backup plan of showing off StackOverflow.com's jQuery goodness was a fail owing to a lousy internet connection (my fault, not Microsoft's). I still hope, however, that those who attended learned something and enjoyed the demos nonetheless.

You could download the presentation and code here:

As such, this talk was based mainly on Stephen Walthef's talk at the Microsoft PDC 2008. If you'd like to check his presentation out as well, you can find it here: jQuery and ASP.NET AJAX Demo Code.

Unsolicited advice for improving Cebu Pacific’s Sky Sales system

Tuesday, April 29th, 2008

One of the main points of criticism against my rather controversial, death-threat worthy posts regarding Cebu Pacific's dismal service and the involvement of software development company Navitaire was that they found my posts too negativist and tried to bully me into suggested that I criticize more constructively.

In that case, I do hope Navitaire employees, both former and current, do open their minds and keep themselves from wanting to kill me while I attempt to provide some unsolicited advice, which I hope moves towards a more "positive" and "constructive" analysis of the system at hand.

First I want to acknowledge that some of the errors, particularly, some stray footers, have been fixed and have ceased to be an unsightly annoyance, and let it be known that the fact that errors are being mitigated is something deeply appreciated.

Second, I want to clarify a bit about my background as a software developer. I have been writing software in .NET's Microsoft technologies in both Windows forms (desktop applications) and ASP.NET (browser-based/web applications) for almost five years now. I have also dabbled in some minor web design, and have been practicing quite a bit of CSS for the past few years. These technologies are (apparently) precisely what Navitaire's Sky Sales system is made of (as evidenced by the ASP.NET/C# job postings they have in Jobstreet, and the .aspx file extension of the web pages of Sky Sales).

Let it also be clear that I am quite lazy in fixing WordPress templates and do not really care if they are XHTML compliant, as one of the commenters enjoyed the Phyrric victory of pointing out in one of the posts.

Thus I am awfully familiar with the pain of having a consistent look and feel across various browsers, and various versions of those browsers in major platforms. I too dread Internet Explorer 6.0 and its freakishly difficult quirks mode of CSS rendering. I too know that what looks good in Firefox might appear in an entirely different manner when viewed on a Mac's Safari browser. It's a gargantuan task and I recognize that.

Unfortunately someone has to do it.

A friend, who works for a major online computer retail store in the US, has seven to nine virtual machines on his workstation, each running a different type of browser, just to be able to check consistency of his work in the sites he works on.

So, while it is immensely difficult to obtain a consistent look and feel and to make sure div tags don't end up all around the page, neither is it impossible, and is achievable through some considerable effort on the part of the software developer.

However, if you really, really can't make the site work on all versions of all browsers, at least inform the customers on which browsers the site would work best. JobsDB.com did this by outright locking out people from using any browser other than Internet Explorer for their site. A javascript popup informing the user that they may experience inconsistencies in user experience with the browser they are using and it is best to use this application in Browser X version Y will at least let the customers know to expect problems and ignore them. This is called the Principle of Least Astonishment.

On the other hand, I will stand by my opinion that the disambiguation between the status of payment and reservation is utterly confusing to customers and that Navitaire will be better off simplifying this system. Sure, Navitaire software developers will accuse me of "not having common sense", but the truth is probably 90% of the users who will use the system also won't have any common sense just like me. They do not know that processing foreign credit cards, for example, takes time and is one of the reasons payment should have to be confirmed. They will not understand why you can confirm the reservation but not confirm the payment when they've already provided all necessary credit card details and requirements.

Likewise, it would totally blow up on their face if their payments are still unconfirmed on the day of their flight, as what several disgruntled passengers attested in the blog comments. If Cebu Pacific and Navitaire do not see this as a catastrophic failure, then I don't know what would qualify as failure for them.

For the record, based on comments, it is the Treasury Department of Cebu Pacific that is messing up in this part -- they are the ones approving payments for all the reservations. Why it appears that the process is manual in a supposedly automated process is beyond me.

Finally, though this should come from Cebu Pacific -- it should inform users that they are undergoing system changes at the moment and they are working on it and they are sorry. A simple, sincere apology is deeply appreciated by consumers.

In the end it's all about genuine concern for customers. My pointing out errors on Navitaire's system shouldn't be a big enough deal to merit a death threat because users see those issues every single day anyway. It wasn't as if I logged in to the system specifically to find those errors. The errors I found are horrible user experiences my non-techie wife took while trying to do her everyday work as a travel agent.

A commenter told us that Cebu Pacific will be able to finish ironing out all the issues by the end of May. I wish they do finish by that time, and maybe things will be better.

Cebu Pacific’s monumental failure: A new online reservation system

Sunday, April 20th, 2008

Cross posted from Ang Kape ni LaTtEX.

UPDATE: I posted a second installment to this saga, "Cebu Pacific's failure isn't in the software, it's on the phone".

Melynn, who operates I-NAV Travel & Tours, got pissed yesterday. She arrived at the Cebu Pacific ticketing office at 10 in the morning. By the time she was done, it was already 3 in the afternoon. The office was simply overwhelmingly jampacked.

Nope, there was no Piso Fare promo going on. Everyone was doing their transactions manually because Cebu Pacific just changed their perfectly fine online reservation system with a massively confusing online facility made by Navitaire.

I don't know precisely why Cebu Pacific replaced their previous online system. It was working fine last time. But a few weeks ago they changed it and it is now what it is.

At first the bugs seem to be really simple, and as a web developer myself I understand how bugs such as this could happen:

Bad rendering of div blocks in Cebu Pacific site via IE7

That's a screen shot of the online reservation system jumbling its div tags in Internet Explorer 7.0.

Cebu Pacific doesn’t work with Firefox 2.0

And the online reservation system absolutely doesn't work in Firefox 2.0. Or at least doesn't go beyond the flight search page. Which renders it useless for FF users. I wonder how it is in Safari.

However, the above are simple bugs really. It's easy (at least for me) to excuse these kinds of errors.

But along the way they also changed things that shouldn't be changed. A guy named Phen commented this on a previous thread about Cebu Pacific's service:

I used to fly Cebu Pacific for my personal trips, the reason being cheap. However with what happened to me last April 4, 2008 for my Davao-Cebu flight, I will never be on this carriage again. I was supposed to fly to Cebu at 6.30 am, I was there at Davao airport 5am. Upon checking in, I was told that I couldn’t take the flight because my ticket wasn’t confirmed! I purchased it online with confirmed status clearly indicated in my print-out. The not-so-customer-oriented staff pointed out that the status for payment was pending, which was written at the bottom part of the ticket. Who on earth would think that you were not able to pay when you got a confirmation?! And worst, nobody from Cebu Pacific thought of calling me to let me know. I was denied right on the spot, and when I asked for their assistance to at least get me in, the lady in the check in counter just instructed me to go to the ticketing office.

Here comes the worst part, no one from the ticketing office had the consideration to prioritize me or give me a confirmed reservation for the next flight at the least. The ticketing staff, Mr. Jonathan Leonor, just told me to wait so that they could check. I was waiting already for an hour, and got the same response when I asked for a reservation. He had even the gut to go out for a cigarette break, what kind of staff are these? [Is Cebu Pacific hoodwinking its passengers into empty flights?]

I verified the above with my wife, and she said it was true. Their e-tickets now have two statuses that you have to check: reserved and paid, and instantly confusion is introduced into the system. Let me illustrate:

  • Reservation is pending and payment is pending. Can you board the plane? No.
  • Reservation is confirmed and payment is pending. Can you board the plane? No.
  • Reservation is pending and payment is confirmed. Can you board the plane? No.
  • Reservation is confirmed and payment is confirmed. Can you board the plane? Yes.

There is exactly one and only one set of conditions where you can board the plane, and that is when both reservation and payment are confirmed. Why did they have to break the two down and confuse the passengers? This disambiguation which instead of making things clear has led to utter confusion is an act of monumental stupidity on the part of both Cebu Pacific and the software developer Navitaire.

Passengers do not care if either their reservation or their payment is confirmed or not. Passengers only care if they can board the plane or not. This is the question that needs to be answered, and clearly Cebu Pacific does not answer this question clearly in their system, and the result is pissed, inconvenienced passengers who have suffer the hassle of being turned back and made to cancel their travel plans because Cebu Pacific did not make things clear to them.

Yes it sounds cliche, but I really have to say it here: if it ain't broke, don't fix it. Cebu Pacific should not have changed their previous online system. Or at least Navitaire should've entered a more intensive QA phase wherein they hallway-tested the results of their system where it would be revealed that their e-tickets are absolutely confusing.

So for the record: Avoid Cebu Pacific at all costs. At least for the next few months -- until they fix their system, or bring the old one back.

Thanks to all who attended the MSDN Session: What’s new in Web Development Visual Studio 2008

Thursday, April 17th, 2008

Jonjon at the MSDN Session

I'd like to thank everyone who went to the MSDN Session: What's new in Web Development Visual Studio 2008 last night!

Makati MSDN Session: What’s New in Web Development for Visual Studio 2008

Thursday, April 3rd, 2008

I'll be conducting the Makati MSDN Session: What's New in Web Development for Visual Studio 2008 on Wednesday, April 16, 2008, 6-8 PM at the offices of Microsoft Philippines in 6750 Ayala Ave.

In it I'll be discussing more about the new features of Visual Studio 2008, particularly, its enhanced editor functionality, improved JavaScript support, new web controls, WCF, and framework multi-targeting.

This comes at the heels of the Launch {2008} : Heroes Happen Here event.

UPDATE: Register online for What's New in Web Development for Visual Studio 2008 by clicking on the link. Hope to see you there.

PHINUG March Technical Sharing

Thursday, February 14th, 2008

The Philippine .NET Users Group will be holding yet another Technical Sharing session next month.

Andre John Cruz, aka cruizer, an MVP for Visual C#, will be discussing about one of Microsoft's latest projects for the ASP.NET web development platform, ASP.NET MVC.

The PHINUG March Technical Sharing session will be held on Tuesday, 11 Mar 2008, 6pm, at the Microsoft Philippines Offices at 6750 Ayala Ave., Makati City.

It’s possible to use Google Maps API on ASP.NET

Tuesday, July 17th, 2007

I'm thinking of finally putting up a legit .com website for my wife's travel agency business, and as any tech-savvy guy goes I want the site that I'll make for her to have a somewhat unique interface that will make it easier for potential clients to find hotels and resorts and so on.

Of course the Google Maps API came to mind, but my initial apprehension was that you needed to know PHP to develop apps with it. That wasn't an option since I haven't touched PHP since my first job four years ago.

So it was a pleasant surprise when I found out that you can make ASP.NET apps using the Google Maps API when I saw this article.

Unfortunately that means I no longer have an excuse to not put up that website for the missus. :p

IIS Gotcha: Don’t forget to enable ASP.NET thru Web Service Extensions

Wednesday, January 31st, 2007

A few months back when I was helping set up the test web server for our project (IIS 6.0 on Windows Server 2003), I couldn't figure out why I couldn't make any ASP.NET application run. ASPX files that are in their proper place but even if I type in the full url, the dreaded 404 error still appears:

HTTP Error 404 - File or directory not found.
Internet Information Services (IIS)

I put an ordinary HTML file there and accessed it directly, and it worked fine.

After a few more days of toiling over and a dozen futile Google searches, I finally noticed the very last folder in IIS Management Studio under the node of the Machine name:

  • Web Service Extensions

I opened up the folder and found that the ASP.NET 2.0.5727 web service extensions were set to Prohibited. After slapping my forehead (or rather, whacking it), I set it to Allowed and everything finally worked.

Executing SSIS Packages with File System Tasks from ASP.NET

Saturday, January 13th, 2007

I recently ran across a problem in SQL Server Integration Services wherein packages that contain File System Tasks (e.g., creating or copying folders and writing or modifying files) started but appeared to end abruptly. That was the only common denominator among the packages that didn't work -- packages without file system tasks worked fine. So it was easy to assume that it was a simple user permissions issue.

But it was more than just that.

(more...)