110% DX ? DXTREME


Before everyone starts messaging me and telling me 110% is not possible, just listen !

For weeks I’ve been watching the countdown over at DevExpress promising to announce something cool.

Well tonight 6pm AEST all was revealed – DXTREME

In a nutshell, 3 tools in 1 – developing rich cross platform applications, and it looks amazing. Simplified codebase, clever wizards, deployment via QRCode (for testing)

There is no way I can do justice to what is being shown, so instead, head over to DXTREME and watch the announcement video.

I can’t wait to get my hands on the product to use a single environment to create my next iPad project that compliments my 100% DX WinForm app !

Image

Relevance people !?


Ok, I understand there is money in advertising, I’m ok that some sites are funded purely by these funds. But shouldn’t they be relevant ?

On a recent visit to VB.Net Forums, I was greeted by some “older woman” in a skimpy black top, breasts prominent, pained look on her face with a caption “Meet older woman for dating”, ignoring the grammatical issues, I found it difficult to see the relevance of the advert on a tech site, I mean, “hmmm.. I have a coding issue, so lets go ask for help, oh, and whilst I’m there why not see if I can find a love interest as well.”

I think it would be much more appealing to see ads targeting the specific audience, tool vendors, training courses, gadgets and such. Since the site is aimed at developers, I’m pretty sure we all know how to use Google to find dating sites if we wanted to !

Relevance people !?

100% DX – SearchLookUpEdit, did YOU know it existed ?


Normally when I need to present a complex lookup I would spawn a new form have the user select a row from a carefully crafted UI and return the single value result back to a combo style element on my main form. When less complicated lookup’s are required a drop down list with concatenated fields may have sufficed, but not anymore…

In the midst of a recent sprint I found myself needing a little more. The task at hand was to provide an easy way to select a job from a collection (currently around 2000 entries and growing), the problem was not everyone would want to use a single field, they may not know the job name. Some users would be more comfortable with the claim number, or the client name. Enter the XtraEditors.SearchLookupEdit control.

I almost tripped over this control whilst trolling through the extensive collection of items in my toolbox. The name intrigued me so I decided to investigate a little further and was surprised at the power this little guy punched.

In a nutshell it is a container with a grid, text field and button, but don’t be fooled, I found it to be fast, quick to configure and simple to implement. For me the steps were;

1. Add SearchLookUpEdit control to form
2. Bind to existing datasource (and specify field as return value)
3. Adjust column properties (keeping UI noise to a minimum)
4. Tweak a few specific appearance properties (finding the drop down width was a pain)
5. Hookup an event
6. Test

Because you can control all aspects of appearance you can pretty much make the style fit any WinForm design.

The power comes from the ‘out-of-the-box’ features on the control, users can filter, search, group, select columns etc and all without chewing up valuable screen real-estate. I know that from now on I’ll be looking to use the SearchLookUpEdit control in more places, and it taught me not to undervalue some of the ‘smaller’ common controls at my disposal.

(Picture taken from DevExpress website, my use of the control contain confidential data).

iPoints available for sale


November 2009, I had just purchased an iMac and decided it was time to write an iPhone utility. Samantha & I were both enrolled in Weight Watchers and one of the cool things before eating anything was to see how many “Points” things were. Using the trusty $50 calculator purchased at a meeting you could enter the Energy and Sat. Fat content from the nutritional information panel found on most foods and be told the damage.

So I spent the weekend writing a cool little app that allowed me to calculate the same information on the iPhone. It was my first experience in submitting an App to the AppStore and allowed me to learn a lot about Apple. At this point the benefit of writing the App was to help my wife and myself on our journey.

Original App:

The AppStore process should go…
– waiting for review
– in review
– processing for AppStore
– ready for sale

If there are problems such as bugs etc, then you have to repeat the first two steps a few times, but I was confident.

Ha! My App was rejected, for possibly breaching Weight Watchers patents or trademarks. So I did some research, contacted Weight Watchers in Australia, there was nothing available on the Australian AppStore doing what iPoints would do. So after some correspondence between myself and a legal representative in Cupertino, iPoints was permitted on the Australian AppStore. Total time in process 4 weeks.

December Sales : 90
January Sales : 380
February Sales : 401

It was incredible to watch. Now there was no way I was going to get rich from this just yet, but knowing nearly 900 people in Australia alone were running around with my weekend project was cool.

Then a letter from Apple, basically saying Weight Watchers International have issued a take down order, blah, legal threats, blah etc.

I attempted to contact WW both Internal and Australia. Stone walled at every turn. They had nothing on the AppStore at the time, and I was offering to develop this thing further and share the profits, minimal risk for them. Nothing, nada zip. Not even recognition of my correspondence, I phone WW Australia and introduced myself only to be told “Oh, we are well aware of who you are Mr Usher”. Still no amount of discussion was going to see a joint venture happen, so I complied with the request and Feb 2010 removed iPoints from the AppStore.

Anyone who had purchased iPoints was allowed to continue using it, and I was still receiving emails from people all around the world asking for it.

The problem as this point was the $700 revenue for the program would soon be eaten up seeking legal advise, so I decided to cut my losses, but it has been a sore point ever since.

March 2012 – Friday evening, I was looking through my code archive and came across the iPoints folder, “you know what” I thought to myself, let’s redevelop it. So that evening and into Saturday, I updated the user interface, put a custom keyboard in place, changed the measuring units and added retina display support. Done. Submit.

I submitted the product as an upgrade so that the previous 900 users would get a nice surprise (free upgrade), but since the previous App had been removed I also figured there may be some hoops to jump through.

Well, this morning, some 7 days after submitting, I awoke to the cool notification that iPoints status had changed from “waiting for review” to “in review” to “processing for AppStore” and finally “Ready for Sale”

It’s always nice to wakeup to an App approval

This time on the international market, so let’s see how those numbers stack up.

Note: Points is a registered trademark of Weight Watchers International.

Evi – update sent for review :)


A new version of Evi has been sent to Apple for review, it will be available as a free update for all existing users. I was amazed at how quickly people jumped on the band wagon, the feedback from our initial release was amazing.

So, what’s new ?

– added support for landscape viewing on all screens
– added ability to delete files directly from Evi File Browser
– added ability to stop the ‘Sample Job’ from being created automatically
– added support for full description to be shown (no more truncating)
– updated artwork
– full support for ‘new iPad’ (crisp retina artwork)
– added ‘Jump To’ function which allows quick access to all HEAD1 entries
– added Labour columns when viewing in portrait mode

Landscape support was the most widely requested feature:

Keep the emails coming, lets continue the momentum and make Evi a well used, practical tool for viewing those estimates.

Evi heads off for review


48 hours from start to finish. Evi Estimate Viewer is our new application that allows users of Buildsoft Estimating (Global and Offsider) to view their estimate on the iPad.

Support for Paradox databases is sparse so we needed a format that was more iOS friendly. This was achieved by writing a little utility (Evi Estimate Converter). Isn’t it funny when you start with a simple idea how it just keeps growing.

The estimate converter had to support local (or network) Buildsoft data, but then we decided that it should be usable by people without the estimating software available to them, so functionality was included to handle the.E0X file as well.

Next the UI for the Windows application, it has to be easy and clean.

It was noted that the file size of the data was starting to get a little on the large size (2-4mb per job), so a review of the methods used and some cool compression was put in place…. Now between 20kb-100kb (Yes KB)

Obfuscate the binary and build the setup program. Finally build in auto error reporting, I prefer the options provided by Red-Gate SmartAssembly

Off to the testing team for their tick of approval. ( SSW Do you conduct a “test please” )

Now, back to the iOS side of things. Support for the data file needs to be flexible, so iTunes File Sharing, Dropbox and in App support (email etc) had to be built. The most frustrating of these was the in App support. There is a quirk when using the iPad simulator where URL support just works, however, when tested on a real device it fails. It turns out that the simulator does some behinds the scenes magic and will match the case of a filename, yes, match the case! An afternoon of frustrations sealed with an early morning (3am) victory.

Finally, another round of testing, followed by a PASS, and it’s time to submit to Apple for approval and sale.

Here are some of the screen shots from the final products.

.
— UPDATE : 21, Feb

EVI Is Approved ! available in the AppStore

review: Dropbox – the bomb


I have been using Dropbox for a while now, just the cool little icon reminding me of service that keeps things ticking in the background, UNTIL today. During a coding session in xCode I found an unusual problem…

We *ALL* know that whilst using any application the most frequent button sequence is CTRL+S or COMMAND+S (mac), there is nothing more frustrating than a machine crash taking with it hours of work. However, this repetitive OCD did not save me today. I was working away in xCode. Midway through form design I inadvertently pressed the delete key to remove an erroneous label. I noticed sometimes I am required to press the fn+Delete key, other times just Delete would work. Well apparently if you press Delete, then Fn+Delete in on Interface Builder form there is no ‘Undo’ feature !!!

So, there I was, over one hours worth of design, frequent save, but the lot was gone !!!

Enter Dropbox…

It occurred to me that in the background Dropbox is backing up my files, so a couple of clicks….

Tray Access : see what's changed

Full History View

So after just a few clicks I was able to restore the version from 2 MINUTES PRIOR. Unbelievable.

I cannot rave enough about the power that Dropbox provides. It certainly saved me having to redo over an hours worth of design. Well done. I recommend it for every developers toolbox!

A worthy 10/10.