Skip navigation.

Other

The worst database developers in the world?

DBMS2 - Wed, 2014-04-16 00:45

If the makers of MMO RPGs (Massive Multi-Player Online Role-Playing Games) aren’t quite the worst database application developers in the world, they’re at least on the short list for consideration. The makers of Guild Wars didn’t even try to have decent database functionality. A decade later, when they introduced Guild Wars 2, the database-oriented functionality (auction house, real-money store, etc.) would crash for days at a time. Lord of the Rings Online evidently had multiple issues with database functionality. Now I’m playing Elder Scrolls Online, which on the whole is a great game, but which may have the most database screw-ups of all.

ESO has been live for less than 3 weeks, and in that time:

1. There’s been a major bug in which players’ “banks” shrank, losing items and so on. Days later, the data still hasn’t been recovered. After a patch, the problem if anything worsened.

2. Guild functionality has at times been taken down while the rest of the game functioned.

3. Those problems aside, bank and guild bank functionality are broken, via what might be considered performance bugs. Problems I repeatedly encounter include:

  • If you deposit a few items, the bank soon goes into a wait state where you can’t use it for a minute or more.
  • Similarly, when you try to access a guild — i.e. group — bank, you often find it in an unresponsive state.
  • If you make a series of updates a second apart, the game tells you you’re doing things too quickly, and insists that you slow down a lot.
  • Items that are supposed to “stack” appear in 2 or more stacks; i.e., a very simple kind of aggregation is failing. There are also several other related recurring errors, which I conjecture have the same underlying cause.

In general, it seems like that what should be a collection of database records is really just a list, parsed each time an update occurs, periodically flushed in its entirety to disk, with all the performance problems you’d expect from that kind of choice.

4. Even stupider are the in-game stores, where fictional items are sold for fictional money. They have an e-commerce interface that is literally 15+ years out of date — items are listed with VERY few filtering options, and there is no way to change the sort. But even that super-primitive interface doesn’t work; in particular, filter queries frequently return incorrect empty-set responses.

5. Much as in other games, over 10 minutes of state changes can be lost.

Except perhaps for #5, these are all functions that surely are only loosely coupled to the rest of the game. Hence the other difficulties of game scaling and performance should have no bearing on them. Hence there’s no excuse for doing such a terrible job of development on large portions of gameplay functionality.

Based on job listings, ESO developer Zenimax doesn’t see database functionality as a major area to fix. This makes me sad.

Categories: Other

Collaborate 14: Taking the WebCenter Portal User Experience to the Next Level!

Come join me and Ted Zwieg at Collaborate14 on our presentation Taking UX and development to the next level.
Fri, Apr 11, 2014 (09:45 AM – 10:45 AM) : Level 3, San Polo 3501A. 

Here is our session overview -

Taking the WebCenter Portal User Experience to the Next Level!

Abstract

Learn techniques to create unique, award winning portals that not only supports todays need for Mobile responsive and adaptive content but take the next steps towards innovative design – enhancing both the user journey and experience for creating todays modern portal and the way in which developers  can expand the reach and potential of the portal with these new modern techniques.
Attendees will not only learn about new approaches but will be shown live portals using these techniques today to create a modern experience. Learn how to develop your portal for future and enable marketing/design teams to react and generate interactive content fast with no ADF knowledge.

 

Target Audience

Designed for users wanting to learn the art of the possible and discover what is achievable with WebCenter Portal and ADF – creating compelling user experiences and keeping up to date with modern techniques and design approaches that can be combined to create a faster more interactive ways of navigating through portlets and the Portal.

 

Executive Summary

This session will demonstrate a couple award winnings examples of live clients who have taken their ADF WebCenter Portal environment to the next level – showing how by combining HTML5 techniques, third party libraries and responsive/adaptive design with ADF; when used in the correct way can not only improve the performance but the way in which users and developers can interact with portal using modern web design techniques.

 

Learner will be able to:

  • Identify art of the possible with ADF. (everything is achievable…)
  • Discuss achievable concepts and methods to enhancing the ways in which users can interact with Portal.
  • Improved understanding of Responsive and Adaptive techniques – not only targeted for Mobile devices
  • Understand how to structure the portal for faster response times with new frontend techniques
  • Integrate with Non ADF third party components for a more dynamic experience
  • Developers will learn new methods to manage and maintain key core components

The post Collaborate 14: Taking the WebCenter Portal User Experience to the Next Level! appeared first on C4 Blog by Fishbowl Solutions.

Categories: Fusion Middleware, Other

How to get Google Glass, Cordova, HTML5 APIs Working (WebRTC, WebSockets).

One of the challenges I’ve noticed when developing with Cordova hybrid apps is the lack of support for the HTML5 APIs that work on desktop devices but not the default Android browser (Ice cream sandwich, Jelly bean) like webSockets and WebRTC.

Now, Google Glass currently runs on Android 4.0.3 Ice cream sandwich  and from the rumours circulating around the next update fingers crossed will put us onto 4.4 KitKat. (Can’t Wait!!)

The problem with Android 4.0.3 is that its running an old edition of WebKit customised to support Google Glass and added gesture support. Unfortunately if you’re developing rich internet applications with Cordova and want to use the latest support HTML5 techniques supported by desktop browser today – you just can’t as Cordova uses the default browser that is part of android..

Read on to find out how to get HTML5 APIs working with Cordova.

There are plugins out there ie here’s one for WebSockets.

Now for those looking purely for WebRTC support you could setup appRTC but I’ve seen a lot of bugs and issues reported with using this on glass. Another option would be to look at Addlive and try out their SDK which you can see working here with Google Glass.

A third option which I’ve gone for is to package Chromium with Cordova and use it as the default browser as it supports the majority of HTML5 APIs (ie – WebSockets, WebRTC and more..).

To do this there is a project called Crosswalk that’s designed for HTML5 mobile apps to bring in support for chromium with the blink engine on Android 4.x+.

I’ve used this with 3 custom apps I’ve built and it works great with Glass and cordova! Now when Glass KitKat arrives you should have the use of the Chromium browser as the default browser with cordova without the need to package Crosswalk. Although this does have the added benefit of blink and if you are like me and have created a single Android app to support 4.x+ devices I feel it just makes sense to spend that extra time to get Crosswalk packaged in with your app.

Here’s a quick simple example of getting your webcam from either your phone or glass to stream into the app/browser viewport.

<!DOCTYPE html>
<html>
<head>
	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1">

	<title>Video Cam Display</title>
</head>
<body>

	<video />

<script src='js/lib/adapter.js'></script>
<script>
	var constraints = {
		video : true
	};

	function successCallback(stream) {
		window.stream = stream;
		// stream available to console
		var video = document.querySelector("video");
		video.src = window.URL.createObjectURL(stream);
		video.play();
	}

	function errorCallback(error) {
		console.log("getUserMedia error: ", error);
	}

	getUserMedia(constraints, successCallback, errorCallback);
</script>

</body>
</html>

You can grab the adapter js file -from https://code.google.com/p/webrtc/source/browse/stable/samples/js/base/adapter.js
This provides additional browser support for WebRTC.

Tip
For those using Glass make sure to update the constraints to prevent overheating and lag by reducing frame-rate and camera size.

You can play around with constraints by editing the values from here:  http://src.chromium.org/svn/trunk/src/chrome/test/data/webrtc/manual/constraints.html

 

 

 

 

 

 

The post How to get Google Glass, Cordova, HTML5 APIs Working (WebRTC, WebSockets). appeared first on C4 Blog by Fishbowl Solutions.

Categories: Fusion Middleware, Other

My Experience Developing for Google Glass using Cordova

I managed to get my hands on a Google Glass Explorer kit R2 last week!

Last week in the post – all the way from Minneapolis Fishbowl HQ arrived my Google Glass Kit. I’ve been fortunate and had the opportunity to play around and try these out thanks to the Oracle AppsLab Team sporting theirs at many of the Oracle events; but never the opportunity to write an app.

So as you can imagine ideas began forming – what could I develop with these?

Read on to find out some of my first experiences developing for Google Glass using Cordova.


So the first thing – why not push Fishbowl Connect (Fishbowl Solutions Hybrid Cordova based Android App) onto Google Glass and see what happens.. “Gulp”!

Plugged in Google Glass installed the drivers -

Android SDK Manager

 Checked to see if Glass was detected -

adb devices

Then side loaded Fishbowl Connect into the Google Glass.

adb install fishbowlConnect.apk

The app installed successfully but unfortunately nothing displayed under the installed app list.

Next step update the Cordova app with Google Glass plugin -https://github.com/aphex/cordova-glass-core

Provided by the clever guys at Sencha.

cordova plugin add https://github.com/aphex/cordova-glass-core

Updated the {app}/platforms/android/res/values/glass.xml

<string name="app_launch_voice_trigger">Launch Fishbowl Connect</string>

Package and side load the app in!

Using the voice command -

“OK Glass, Launch Fishbowl Connect”

Wow, it works!.. Well, when I say works – the voice command “Launch Fishbowl Connect” is recognised and it displays the first screen of Fishbowl Connect (Win!) but the problem is that there’s no screen touch support with glass. (don’t try it! you might poke your eye out).

With Glass you just get the following inputs voice commands and gesture support via the touch pad (tap, longpress, swipeup, swipeleft, swiperight, twotap, twolongpress, twoswipeup, twoswipedown, twoswipeleft, twoswiperight, threetap, threelongpress).

Luckily with adaptive design it was possible to extend the app and supply a new set of templates targeted and loaded for Glass to allow you swipe through the Fishbowl Connect options.

It’s still early days for Fishbowl Connect and Google Glass but its a great start. And as ADF-Mobile is cordova based it should be possible to install it onto Google Glass unfortunately the AMX view don’t support the gestures but I wouldn’t be surprised if Oracle have been working on that behind the scenes just waiting to release a wearables interface for ADF-Mobile.. Not only for Google Glass but other wearable devices smart watches etc…

Conclusion

If your familiar with developing apps for Android when you jump over to Glass, well at least for me the experience of writing/migrating an existing app was very very easy!.

 

 

The post My Experience Developing for Google Glass using Cordova appeared first on C4 Blog by Fishbowl Solutions.

Categories: Fusion Middleware, Other

Collaborate 14 Preview: Oracle WebCenter 11g Upgrades – What You Need to Know

Title: #996 – A Successful Oracle WebCenter Upgrade: What You Need to Know

Date: Monday, April 7th
Time: 9:00 am to 3:00 pm
Location: Level 3, San Polo 3405

Upgrading to the next major release of software can sometimes be a complex and arduous task for organizations. In determining the how and when to perform the upgrade, organizations typically go through an evaluation process that includes new feature/function analysis, new technology and architecture analysis, and the overall time they expect the upgrade to take. This is especially the case for software upgrades that add a new layer of complexity and technology architecture that organizations have to plan and adapt for. Such is the case with Oracle WebCenter, as it added WebLogic Server as the application server from 10g to 11g. This addition, although beneficial in many areas, came with a set of new technologies and complexities that organizations with little to no exposure to had to first understand, perhaps get trained on, procure the necessary hardware to run, and in many cases deploy a separate team to manage. In considering all of these steps to perform the upgrade, organizations have undoubtedly gone through the process of “trade-off” analysis, where they weigh the pros and cons of performing the upgrade immediately versus putting it off until, for example, support for their current version runs out. This “trade-off” analysis describes many WebCenter customers as a great number have still not upgraded to 11g.

If this sounds like your organization, then make plans now to attend this session to receive overviews, examples, and actionable tasks that can be used when planning and performing your WebCenter upgrade.

Fishbowl Solutions is happy to be joined by WebCenter customers Ryan Companies, Cascade, Aleris International and AAM as they share their stories on upgrading to Oracle WebCenter 11g. Join us and hear directly from these customers to learn the tips, tricks and best practices for a successful WebCenter upgrade. Here is the tentative schedule for the presentation:

More information on this presentation, as well as all of Fishbowl’s activities at Collaborate, can be found here.

We hope to see you at Collaborate 14!

The post Collaborate 14 Preview: Oracle WebCenter 11g Upgrades – What You Need to Know appeared first on C4 Blog by Fishbowl Solutions.

Categories: Fusion Middleware, Other

Node.js running on Oracle ADF-Mobile!

I recently came across this project – http://nodyn.io/ which provides the ability to run node.js on a JVM – got me thinking – “Hey wait a sec ADF-Mobile has a JVM” true not latest and greatest but I’m sure its only a matter of time before Oracle upgrade ADF-Mobiles JVM.

For those new to the node.js framework – it basically allows you to write JavaScript server/device side built on top of Google Chrome’s Javascript Runtime aka the V8 JS Engine. Its event-driven, non-blocking I/O model that makes it lightweight and very efficient it’s success has grown and grown within the community and the big players like LinkedIn, Microsoft, Walmart, paypal, Ebay, Yahoo.. etc. – More here

Nodyn, a project sponsored by Red Hat via its Project:Odd team, works by leveraging two other projects: the DynJS project, which provides the actual JavaScript runtime (ECMAScript, actually) for the JVM, and the Vert.x application platform/event bus system.

So your probably all reading this going.. and.. .. why would I want to write JS on the device and not through the webview whats the point??

It’s not for the novelty of writing server/device side JS (although I personally really like this idea) or even importing prebuilt node.js packages onto the device; its about allowing node.js apps to work directly with existing Java apps or even apps that may also be running on the JVM.

Now, before you all get your hopes up if you write node.js packages you need to be aware that it isn’t a direct port of node.js not everything works; but I feel it is a step forward in the right direction with the backing of Redhat.

This might be a pipe dream of mine at the moment but the hope is in the next year or so we may be able to use node.js on ADF-Mobile.. It may even be possible to run it now although doubtful with the current JVM release running on ADF-Mobile.

 

 

The post Node.js running on Oracle ADF-Mobile! appeared first on C4 Blog by Fishbowl Solutions.

Categories: Fusion Middleware, Other

Android – Bridging the Gap Between Native and HTML5 Mobile Apps (ADF-Mobile And Cordova)

At Fishbowl Solutions; we’ve been looking at ways to enhance and bring the Android experience closer to that native experience that every user wants: – here are some solutions that we are using today to help bridge the Android <4.4 gap and also bring in the latest web technology like WebSocket and WebRTC support not available with either cordova or ADF Mobile today..

When it comes to mobile development with ADF-Mobile or Cordova (HTML5) you will notice that there’s a significant difference in performance and support with the HTML5, CSS3 standards between Android and IOS when building HTML5 hybrid mobile apps.

Today; IOS is closer at bridging the gap – giving it a near to native experience in IOS7; – however with Android if your running a device lower than KitKat OS you will still notice a big hit with performance – this is due to ADF-Mobile and Cordova surfacing the standard webview with an old WebKit engine using the default browser with android and not the chromium browser (now part of KitKat).

 

With those developing ADF-Mobile be aware of the following -

- An old version of jquery (1.7.1) is used with the AMX views (1.7.1 was not designed for mobile) – hopefully Oracle will be upgrading this to the latest supported jquery release targeted for mobile or alternatively swap to mobile jquery syntaxed framework like Zepto.js.

- You can push the updates in manually – this will improve response times and animations;  however be aware that some jquery methods may of been depreciated and may cause you some issues – although I have not come across anything major when manually enhancing ADF Mobile.

There is also a bug with the initial load times of apps in ADF Mobile (Android) – I believe Oracle are working to fix this with the next ADF-Mobile update – this is outside of Cordova or the webview issue and I believe to be more related to the JVM setup. (Correct me if I’m wrong – anyone…)

Cordova 2.2.0 is also used on ADF Mobile (the currently cordova release is 3.4.0) – I’m hoping in the future that Oracle will make it easier for us to upgrade the Cordova Release and supply better release notes on ADF Mobile compatibility with Cordova.
i.e. 2.x is supported in the current release 3.x to be supported on the roadmap – 9 months time, etc.

- If you run into any issues with ADF Mobile; its worth taking a look to see what issues/bugs were in Cordova 2.2.0 release and follow up with Oracle Support to supply an fix for the issue or risk patching the framework yourself.

 

Creating that Native UX with Android (Cordova and potentially ADF-Mobile)

At Fishbowl Solutions we split our Apps to a Single Page App view outside of AMX Business component view for content management – this allows our clients web and marketing teams to quickly enhance content and brand mobile apps; without the need to learn ADF-Mobile using best practices for developing hybrid html5 mobile applications. This approach allows us to deploy our core apps to Cordova or lifecycle management systems like IBM-Worklight when clients do not need the power of ADF-Mobile and JAVA support to integrate with other Oracle systems.

Suggested Frontend JS Libraries (Cordova)
After working with Phonegap/Cordova for the last 4 years these are my recommendation of libraries to use for mobile app development outside of ADF-Mobile AMX views.


Rethinking Best Practices

1. ReactJS developed by Facebook/Instagram is a perfect open sourced library for developing Single Page Apps optimised for mobile development with its virtualised DOM and JS Engine makes animations and transitions effortless – If you are new to ReactJS you need to watch Rethinking Best Practices to give you an underlining understanding and appreciation of why virtualisation of DOM makes complete sense – when developing mobile apps – no need for acceleration on your browser to create clean transition touch events. Alternatively you could take a look at AngularJS by Google; but in terms of performance for mobile I personally believe ReactJS is the way to go even though its still fairly new to the industry – it will provide a closer native experience if used correctly.

2. Director part of the Flatiron framework is a great match for Reactjs – it’s a great URL Router to handle page history and template requests for single paged mobile apps.

3. RequireJS library – is a module loader that will improve the speed and quality of your code; compressing both CSS files and JS libraries into a single compressed file.

4. i18next translation library is a great solution for marketing teams to manage internationalisation string for your apps.

5. jQuery 2.1.0 the latest release is now optimised for mobile development a year or so ago I would of recommended Zepto.js but today jQuerys latest release is just as good for mobile development.

Getting Rid of Androids Old WebKit Browser and enhancing with Chromium and Blink!!

So this is where things get interesting!…

I’ve been working with the Crosswalk-Project runtime this last month upgrading Fishbowl Solutions Mobile Cordova Apps – which in effect has given me the OOTB power and experience achieved with IOS7 Cordova apps and more!

CrossWalk Overview

At the heart of Crosswalk is the Blink rendering and layout engine – this provides the same HTML5 features and capabilities you would expect to find in any modern web brower ie webSocket webRTC etc..

Building on Blink, Crosswalk uses the Chromium Content module to provide a multi-process architecture, designed for security and performance.

For anyone developing Cordova or hybrid apps I’d recommend taking a look at this project and incorporating the runtime if you are working on Android Mobile apps.. This month we’ll be looking at the potential to incorporate this runtime with ADF-Mobile – we’ll let you know how we get on.

 

 

The post Android – Bridging the Gap Between Native and HTML5 Mobile Apps (ADF-Mobile And Cordova) appeared first on C4 Blog by Fishbowl Solutions.

Categories: Fusion Middleware, Other