Tuesday, August 31, 2010

Anonymous Pro

Anonymous Pro is a fixed-width font developed specifically for developers by Mark Simonson. Best of all - it's free under the Open Font License.

From it's home page:  "Characters that could be mistaken for one another (O, 0, I, l, 1, etc.) have distinct shapes to make them easier to tell apart in the context of source code."

I installed it on my Mac and set SQL Developer's default font to it, and the text is a little crisper than Courier, my previous default.

Anyone else have a favorite "coding" font?

Wednesday, August 25, 2010

Standard Screen Design Patterns

Very cool article, outlining some common & simple screen design patterns - for both web and desktop applications.  Be sure to check out the 2010 Update as well.

I always tell students in our training classes that they should not try to re-invent the design patterns used in most applications - especially since they are database developers and not graphic designers.  Users have come to expect specific things to be in specific places - login/logout in the upper left/right, a site map of sorts at the bottom of each page, tabs for navigation, etc.  Deviating from that expectation will likely create more confusion than anything else, and should be avoided at all costs.

Tuesday, August 24, 2010

OOW Advice

Jeff Smith offers up some excellent advice for those traveling to OOW 2010.

As a more-than-I-can-count-time attendee of OOW, here's a few additions to his list:

  • Don't eat dinner anywhere near Moscone.  
    Sure, it's easy, especially after a long day or sessions, but most of San Francisco's best restaurants are not adjacent to Moscone.  Head to North Beach or the Marina instead.
  • Attend a session or sessions on something that you have never heard of.
    You don't know what you don't know...
  • Talk to strangers.
    As Jeff said, this is one of the best places to network.  If you don't talk, then you may as well catch the sessions online.  No where else will there be as many people with similar technical interests than OOW.
  • Don't jaywalk.  Seriously.
    The SFPD was giving out jaywalking tickets around Moscone the last couple of years, and I know a couple people who were "lucky" enough to get them.  Not fun.
  • Come early or leave late.  
    Take a day to explore not just San Francisco, but the surrounding area.  Often, airlines will give you a better rate if you have a Saturday night stay included in your ticket.  See if your company travel policy allows for reimbursing your hotel Saturday night if you can get a fare that makes the overall cost of the trip less.
  • Download TripAdvisor or Yelp to your smartphone.
    Either of these sites offer decent opinions of local restaurants and the like, and it's handy to have when you get a recommendation from a concierge.
  • Visit the Union Square Hyatt's Grandviews Lounge
    For a drink, dinner of only for the view.  Try to get there around sunset - you won't be disappointed!

Less is More

Spent a few minutes yesterday building my schedule for OOW.  Lots of sessions, and unfortunately, some of the good ones are already booked.  That didn't matter, as there were plenty more to choose from.

There's not a whole lot of APEX sessions this year - or at least ones that I have not already seen.  Thus, I'm going to focus more on other database technologies, such as security & performance.  Lots of sessions under that category.

My only gripe is that the Schedule Builder UI needs a major overhaul.  First off, you need a 30" monitor just to view all of the content on one screen - especially when you have the Advanced Search option enabled.   Also, I kept getting a "Search Timeout" error when I tried to search for sessions.  The only way to resolve this is to log out and log back in again.  Such basic functionality for a database conference should NEVER break, at least in my opinion...

The Schedule Builder also tries to use a lot of Ajax-type controls; lots of popup boxes and asynchronous stuff going on.  Maybe it works better in IE, but in Safari, it's a bit clunky.

This is part of the danger of using jQuery or similar Ajax-based technologies - without thorough testing on multiple browsers, the user experience may vary greatly.  This can often be mitigated when building applications that are used internally, as most organizations can lock down which browsers are allowed.  However, this is obviously not the case on the public Internet.

While the Advanced Search is more sophisticated and allows you to search by day, for instance, there is no Google-like interface to search all fields for a specific string.  There are two text fields - Speaker/Company & Free Text - that each search different parts of the content.  But if you're searching for a string, the system will AND these two fields together, producing a different set of results than you may expect.

It seems like too much attention was paid to adding features vs. thinking of a logical design for this site.  Some common things - such as the aforementioned Google-like search, a weekly view of the agenda, and a map of where each session takes place - all seem to be left out.

Hopefully this tool will be enhanced for future events and be made simpler and better at the same time.

Sunday, August 15, 2010

apex.oracle.com Upgraded to 4.0.1

As per Patrick Wolf, apex.oracle.com has been upgraded to 4.0.1, fixing all of the known issues listed here.

Thus, we can conclude that it won't be long before the 4.0.1 patchset is available to the general public.

Saturday, August 14, 2010

Programmatically Reset Interactive Reports

This one may be review - and is definitely not a new feature of APEX 4.0 - but it's something that I just stumbled upon.  If you pass in "RIR" to the Clear Cache parameter of an APEX page that contains an Interactive Report, it will programmatically reset the Interactive Report on that page - the same way as if the user selected the Reset option from the IR's menu.

Best of all, you can pass both a page and the RIR directive simply by separating them with a comma.  For example, to clear the cache and reset the Interactive Report on page 10, you would pass 10,RIR to the clear cache parameter.

How APEX Parses SQL

Joel Kallman from the APEX development team has another clearly written & concise article giving us a look at the inner-workings of APEX - specifically how it uses DBMS_SYS_SQL to parse as any schema.

Friday, August 13, 2010

APEX Discussed on Reddit

This thread (language NSFW) on Reddit discusses Oracle's decision to sue Google - and APEX gets some discussion about 2-3 pages down!

Unfortunately, most of the comments are just plain wrong.  I understand that people are entitled to their opinions, but when things are misstated, that's another issue entirely.  I think this is proof that most developers - Oracle and non-Oracle - simply don't know what APEX is and what it can & can't do.

Thursday, August 12, 2010

Oracle Sues Google

This one should be all over the news by tomorrow AM: Oracle Sues Google Over Java in Android

Not a lot of details about the specifics, but it should be interesting to see how it all plays out.

Safari Extensions

For all of you Mac users out there, have a look at Safari Extensions.  I initially thought that these would be akin to Firefox Add-Ons.  However, they are a lot less and more at the same time.  Translation: they add bits & pieces of functionality that make your browsing experience better.

I started with the Google Reader extension.  Google does a lot of things well - UI, however, has not traditionally been one of them.  Apple is great at UI, but has no RSS reader aside from Mail - which doesn't sync with Google Reader.  The Google Reader extension marries the best of both worlds and provides an Apple-like UI right on top of Google Reader.

What was confusing to me at first was how to use this extension.  I struggled to look for a toolbar or menu entry.  Finally, I just navigated to reader.google.com, and there it was - a stunning new interface on top of Google's excellent RSS reader site.

Here's the before image:



And the after:


It's not a dramatic difference, but enough to add some style to an otherwise excellent RSS reader.

Anyone else have any must-have Safari extensions?  Please share them in the comments!