Friday 4 February 2011

Is Apex heading in the right direction?

Ever since reading the Oracle Application Express Statement of Direction for 4.1, I've had it in mind to share some thoughts on this forum. So why not now when the water's settled, it's a new year after all and apparently we can look forward to 4.1 goodness in 2011.
  1. Development for Mobile Applications - any product, software, company, fish in the ocean with a vision of the future should be considering mobile applications. The word "applications" can have multiple contexts here, but I must say even for websites - it really grinds my gears when I encounter what I'm sure is a new website that doesn't appear nicely on my mobile phone browser. Good on Oracle for bearing this in mind.
  2. Charting - "without using Flash", obviously the iPhone is being considered here, but considering the CPU drain with Flash I think it's great that other charting options are being developed.
  3. Error Handling - I'm forever updating the (ugly!) Error Page Template with some sexy scripting here, so I'm glad that the Apex team are starting to tidy some of the looser ends of the product.
  4. Interactive Reporting - Not so sure about multiple reports per page, unless perhaps they are little ones on a very dynamic page; but supporting newer database features like pivot queries is great to see.
  5. Tabular forms - Multiple on one page? I avoid them like the plague myself, but more functionality with validation would be good - wasn't that impressed with the 4.0 improvements.
  6. Mater-Detail-Detail - makes sense.
  7. Dynamic Actions - never has a declarative feature offered so much potential and provided flexible options, I'm glad this feature is being developed further.
  8. Plug-Ins - The community has really embraced plug-ins, you'd be mad not to extend it.
  9. Use of ROWID - this has been on my wishlist for a while, it irks me this facility wasn't in a much earlier release.
  10. Modal Dialogue - I can only imagine this is a JQuery dialogue, something I advocate and have used a number of times to help ensure the end-user takes notice of pop-up messages, instead of blindly clicking.
  11. Websheets - do people really use this?! Please tell me the initial Apex4 release wasn't due to dusting off websheets...
  12. Data Upload - if this is what I think it is, I can see many applications for it and I think it will help developers the world over from reinventing another wheel. Perhaps an adjustment of the Data Load facility in Apex utilities?
  13. Accessibility - I'm finding more clients ask that this is considered in the requirements, good on you, Oracle.
  14. Numerous functional and performance improvements - I'm sure in this random bucket of goodies there will be the odd pearl. I remember re-writing our Oracle Apex training application from 3.x to 4.0, and it really was the little things that made me happy - unnamed improvements that made my task easier.
As for wishlist features, I'm the sort of bloke that grumbles at Apex every now and then, but do you think I can collate my whims on demand? Hardly...
  • Column reordering - one of the most frustrating but regular tasks in development, aiming for that little arrow to re-order fields. Perhaps a drag and drop mechanism?
  • Handling CSVs - depending on what that data upload improvement entails, I think it would be great to offer a black box that facilitates uploading a CSV file into an Apex collection
  • Validation that communicates - it would be wonderful to construct validation dependencies, enough said.
  • ROWID - I'll mention it down here too, handing DML by ROWID in lieu of primary keys is overdue.
And to top it all off, if Apex 4.1 is shipped with Oracle 11g XE, that would be super.

So is Oracle Apex heading in the right direction? You bet. All these focuses show that the Oracle team really are listening to the heartbeat of the development community - and of the web world at large, in my humble opinion anyway.



Dimitri Gielis said...

Very nice post Scott.

One thing I would add, and is on my wish list, is to make the first steps into supporting HTML5. Have a template that supports this new way of doing things natively would be awesome. E.g. drag-drop would come with it automatically, support for the new tags etc.

Having Pivot in the Interactive Report would be another thing many "Power Users" are asking for (one of the things they still need to use Excel for).

But I think we can be happy to work with APEX and as you said we are all treated very well over the last years with new features and the help of the developers.


Patrick Wolf said...

Hi Scott,

about "Column reordering". If you use the tree view mode in the APEX Builder you can already do drag and drop reordering for page items and report columns. Or do you mean something different?


Learco Brizzi said...
This comment has been removed by the author.
Learco Brizzi said...

Hi Scott,

Your conclussion is the same as mine!


Stew said...

Sounds like it's going in the right direction for me. I'm certainly willing to go along for the ride! :-)

A lot of these look like nice improvements, making us even more productive.

Scott Wesley said...

@dimitri - the Apex development team certainly look after the developers - so many features coming out are there to benefit the developer - features that don't necessarily trickle out to benefit the end user. I'm happy with that, and I think the reciprocation Oracle gets when it comes to beta testing shows the shared love ;-)

@patrick - you know, after being immersed in two Apex3.x project recently, I forgot about that drag-drop in the tree view. However I do tend to generally spend more time in the Report Attributes "tab", which for me is still a one-stop shop for editing your report. Maybe I'll do it for everything but clicking those little arrows to re-order!

@learco - I went looking for Apex4.1 reviews while I wrote this, but didn't stumble across yours. How about that!

@stew - more productive, or more time for the beach? ;-)

Stew said...

@Scott - Definitely more productive, so we can quickly create Apex apps so we don't get assigned to build boring non-Apex apps! ;-)