My First Android App: Stash-It!

After a couple of months of busy early morning and late night programming, my first Android app has finally been released. Please meet Stash-It!

Stash-It! responds to an odd side-effect of the difference between the iOS and Android security models. On the iPad, there are a large number of applications which offer an “all in one” approach to managing a group of related content. These are a bit frustrating if you want to share files transparently and seamlessly between applications, but there are times when you want to manage a group of files securely, and then the iOS approach is great.

Android is the original way around. The more open file system and component model encourages the use of specialist applications which do one job well, but it can be a challenge to keep related files of different types together, and hide them if you don’t want private client files or the like turning up un-announced in your gallery of family photos!

Stash-It! tries to plug this gap, by providing an “all in one” private file manager, tabbed browser and downloader for Android. You can get all these functions independently in other apps, but Stash-It! is the only one which brings them together in one place. It’s the ideal place to keep content you want safe from prying eyes: financial and banking records, health research, client documents. I suspect a few will even use it for a porn stash, but that’s not its only use! 🙂

There are built in viewers for most common image and movie formats, plus PDF and web files, so you don’t have to move these outside the application to view them. However when you do need to use an external application Stash-It! has a full suite of import and export functions to move your files or open them with other applications.

It took a while to design the security model. Stash-It! encrypts the names of files so that they can’t be read, and won’t be visible to the tablet’s gallery and similar applications, but the content of your files is untouched, so there’s little risk of losing data. Hopefully this strikes a sensible balance between privacy and risk.

Even if you’re not too worried about privacy Stash-It! is a great place to collect material related to as particular project, with all your different file types and web research in one place. You can bookmark web links, but also positions in video files or PDF documents. Web pages can be saved intact for reference or offline reading. Again you can do a lot of these things in separate apps, but I believe Stash-It! is the first one to bring all these functions together where you might want them.

I’ve got a lot of ideas in the pipeline to improve it further, but its now time to test the market and see whether I’ve spotted a gap which needed plugging or not.

Take a look and let me know what you think!

 

Here’s the Google Play Page. You can also read the helpfile.

Posted in Agile & Architecture, Android, Apps, Code & Development, My Publications, Thoughts on the World | Leave a comment

The Concert for Jon Lord

Deep Purple Mark 3.5 + orchestra giving "Burn" some wellie!
Camera: Canon PowerShot S120 | Date: 04-04-2013 20:41 | Resolution: 3785 x 2524 | ISO: 800 | Exp. bias: 0 EV | Exp. Time: 1/25s | Aperture: 5.7 | Focal Length: 26.0mm

Last Friday we attended a wonderful concert celebrating the life and music of the late Jon Lord, “musician and gentleman”. This unique event filled the Royal Albert Hall, both in front of and the stage, which as befits the man who dedicated himself to merging orchestral and rock music, was largely filled by an impressive 80 piece orchestra, with only a small space at the front for the soloists and rock musicians.

After a few emotional introductions, the concert started with the first movement of the Concerto For Group And Orchestra, which led into a first half entirely devoted to Jon’s orchestral music. The highlight was undoubtedly a stunning rendering of Sarabande. The last time we saw Jon Lord was at the Sunflower Jam 2011, when he did a spine-chilling version with a solo violinist. This was quite different, as conductor and musical arranger Paul Mann used the full power of the group and orchestra at his disposal, and re-cast Sarabande as a rolling battle between the strings, and everyone else.

The second half followed a very different vein, with a focus on Jon’s rock music. Things got off to an excellent start with Paul Weller re-creating The Artwoods and running through a couple of their rocking 60s numbers – which I have on 8-track cartridge! Next up was the music of Paice Ashton Lord. Ian Paice and original bassist Bernie Marsden were supplemented by Don Airey, and a young Irish singer, Phil Campbell, who did great justice to the lyrics and vocals of the late Tony Ashton.

The focus then moved on to Deep Purple Mark 3/4, firstly with an orchestral version of Soldier of Fortune, then with the arrival of original bassist and backing vocalist Glenn Hughes, Bruce Dickinson joining on vocals, and a second keyboards slot filled by Rick Wakeman. This set included the ballads This Time Around and You Keep On Moving from the under-appreciated post-Blackmore album Come Taste The Band, for which Hughes and Lord obviously shared writing duties, but the crescendo was Burn. This was a great choice – a true Purple anthem which we will never hear from the current Glover/Gillan line-up, it showcases Hughes’ falsetto vocals which are undiminished from the 70s, and it has two organ solos, one each for Wakeman and Airey… Add an enthusiastic full orchestra and, I swear, the Albert Hall’s enormous pipe organ, and the sound was felt as much as heard.

Finally, the stage re-filled with the current Deep Purple line-up. They started their set with a couple of more recent tracks, including their own tribute to Jon Lord, Above and Beyond. They then got stuck into a selection of more classic tracks. Some, like Black Night, were played straight by the band, but appropriately most were re-cast to exploit the orchestral musicians. The two which particularly stick in my memory are Perfect Strangers, with the haunting riff perfectly suited to a large string section, and a unusual but very effective version of Lazy, with the lead guitar part played largely by a violin!

The culmination of the evening was an “all hands” version of Hush, featuring the full orchestra and for which many of the other solo musicians were invited back on stage. With more than 10 rock musicians and almost 80 orchestral ones this threatened to lift the Albert Hall’s famous roof, and clearly great fun was being had by all. Those who have criticised Jon Lord’s attempts to merge rock and orchestral music could not have been proven more wrong.

All in all, a fitting tribute to the great man.

View featured image in Album
Posted in Thoughts on the World | Leave a comment

Getting Ahead of the Curve – Final Update?

Picadilly by the light of the video wall, Canon S120 wide open with both aperture and zoom
Camera: Canon PowerShot S120 | Date: 08-02-2013 17:07 | Resolution: 4824 x 3015 | ISO: 250 | Exp. bias: 0 EV | Exp. Time: 1/100s | Aperture: 1.8 | Focal Length: 5.2mm

When I purchased my Panasonic GX7 on the day of release, I did expect there to be a slight delay in getting software support (see here), but I got frustrated when no fewer than three versions of Capture One came and went without it.

However my patience has finally been rewarded with V7.2.1. This not only delivers full support for the GX7, but has also dramatically upgraded the support for my equally new Canon S120. This produces RAW files which at the wide end of the zoom have very dramatic geometric distortion, so strong it was impossible to correct manually, but in the new version the built-in C1 support corrects them perfectly, with neither geometric nor chromatic aberration evident even at pixel peeping levels.

While I’m still slightly peeved about the time it took (a grand total of 6 months!), I’m very impressed with the results.

View featured image in Album
Posted in Micro Four Thirds, Photography | Leave a comment

Scarily Bad

Reversing the scarily effective performance of Google Now, I just had a dangerous experience with Google Voice Typing. I attempted to make a note in a busy café with a lot of background noise. After I stopped talking it sat and tried to take in some of the other sounds as well, and then tried to parse what it had heard.

The result: one four letter word, a colloquial term for excrement! That’s not what I said…

Posted in Thoughts on the World | Leave a comment

RIP Google Currents

Regular readers may be aware that I became very fond of a Google app called Currents. This took RSS-enabled news feeds, and presented them as attractive “magazines”. For feeds with significant image content (like most of the photography blogs I follow) Currents did a remarkable job.

Beyond making news reading sexy, Currents delivered two other pieces of distinct value: an easy to read default two-column layout on larger tablets, and a “stack” widget which allowed you to quickly swipe through the day’s news, aggregated chronologically, and click through to read the items of most interest.

However, I am writing this in the past tense. Currents is no more. An “update” a couple of weeks ago quietly moved my feed list over to the execrable “Google Play Newsstand” and uninstalled Currents. The replacement is clumsy, with none of Currents’ visual flair. An uninspiring reading experience is exacerbated by a useless widget which removes the brilliant former “flip through” capability.

Unfortunately this is not the first such aberration by Google. It’s less than six months since they killed off both the Reader app (maybe not such a great loss) and the sadly-missed iGoogle (which ironically was killed off allegedly because most users prefer Google’s tablet apps!) Now they are forcing us towards a dreadful replacement for the best of those apps, and I’m not happy…

This also comes on the back of various screw-ups regarding Chrome: the ready plain-text disclosure of stored passwords, the broken scrollbars, menus spaced ridiculously widely on normal PC displays. I could go on, and on, and on…

The arrogance of Google’s developers appears to be exceeded only by their stupidity or blindness to the faults in their “improvements”. When they deign to respond to a torrent of public displeasure, they do so by claiming that it’s our fault for not understanding the brilliance of their ideas, not by listening and responding to customer feedback.

I really don’t understand why Google are behaving this way, but it does seem that having emulated Microsoft’s successes of the 90s, Google are now determined to repeat their mistakes of the noughties, breaking compatibility, destroying things which worked well, and systematically driving customers into the arms of competitors. Apple might get away with treating customers with disdain, but Google have neither their shiny hardware nor the fans’ love for the blessed St. Jobs.

For now I’m sticking with Android and probably Chrome, but I’m genuinely interested in making sure the market starts to develop high quality alternatives, before Google rip their remaining carpets out from under us. If you know of a proper non-Google replacement for Currents please let me know.

Posted in Thoughts on the World | Leave a comment

What Do I Mean by "Agile Architecture"?

A little while back I was approached by EITA Global, a global provider of on-line training, and we have now agreed that I should present for them a webinar entitled "Agile Architects, and Agile Architecture". The current plan is for this run on 8th April. I’ll keep you all posted with any changes.

As part of my preparation, I decided to do a literature scan to see how this topic may have moved on since the last time I did some significant work on it, a couple of years ago. I have to say that based on my initial research I’m not that impressed… I don’t know whether to be flattered or slightly perturbed that AgileArchitect.org comes up squarely at the top of a Google search. There are a few decent web articles around, although most are several years old and I’d seen them before. The Google search also turns up several dead links.

Amazon turned up a couple of loosely-related books, and the most obvious candidate appeared to be "Lean Architecture: for Agile Software Development" by James O. Coplien and Gertrud Bj�rnvig. I’ve now read a couple of chapters, but my first impression is not very favourable. I may be rushing to judgement, in which case I’ll apologise later, but the book seems to somehow equate "architecture" with "code structure" with "project structure", which isn’t right at all, missing a number of the most important dimensions of any true architecture.

This led me to ask myself a very basic question. "What do I mean by ‘Agile Architecture’?". In Coplien and Bj�rnvig’s book they seem to answer "an architecture which facilitates agile development". That may be one definition, but it isn’t mine.

I think the confusion arises from the difference between "agile" applied to a process (e.g. software development), and applied to a product. In the former case, the Agile Manifesto undoubtedly applies. In the latter, I’m not so sure. I think that for a product, and especially its architecture, the primary meaning of "agile" must be "able to respond to change". The larger the change which can be handled quickly and cheaply, the more agile the architecture. An architecture which has been built in a beautifully run agile project but which needs new code the first time a business rule changes is fragile, not agile. The system which can absorb major changes in the business rules without a single line of code is genuinely agile. The integration architecture which allows multi-million pound system A to be upgraded with no impact on adjacent multi-million pound system B, or which allows the company to be restructured just by re-configuring its services, is the most agile of all.

I’m slightly worried that "agile" may have become a "reserved word", and this "architecture in the large" definition may run counter to accepted practice. Is that right, or am I reading too much into a few examples?

Posted in Agile & Architecture, Thoughts on the World | 4 Comments

That Was Quick…

The Beech Avenue near Kingston Lacy - Mono version
Camera: Canon EOS 7D | Lens: EF70-300mm f/4-5.6 IS USM | Date: 28-02-2014 14:55 | Resolution: 5184 x 3456 | ISO: 400 | Exp. bias: 0 EV | Exp. Time: 1/30s | Aperture: 10.0 | Focal Length: 180.0mm (~291.6mm) | See map | Lens: Canon EF 70-300mm f/4-5.6 IS USM

OK, here’s the black and white version. A couple of interesting challenges here. To get enough contrast I had to take the yellow component in the mix right down to zero, and also go for a much “darker” look overall (as otherwise the white patches of lichen on the trees were overwhelming). What do you think?

View featured image in Album
Posted in Photography | Leave a comment

Remember When There Was Something Called Dark and You Couldn’t Make Photographs?

Detail from the side of Salisbury Cathedral
Camera: Panasonic DMC-GX7 | Date: 28-02-2014 18:28 | Resolution: 3214 x 4286 | ISO: 3200 | Exp. bias: -33/100 EV | Exp. Time: 1/13s | Aperture: 4.5 | Focal Length: 25.0mm | See map | Lens: LUMIX G VARIO 12-35/F2.8

Sadly, this isn’t my own quote, but it is very apposite. I decided to break my journey back from Kingston Lacy in Salisbury, and took a quick walk before dinner down from my hotel (apparently the longest continuously operating hostelry in the world!) to the cathedral. I popped the Panasonic GX7 with its new 12-35mm lens over my shoulder, and I’m glad I did. The cathedral is floodlit, although not to excess, and I caught it when there was just a hint of blue left in the rapidly darkening night sky.

In the past a photo like the above could only have been created with a tripod and patience. No more. The GX7 produces fine quality at ISO 3200,and the stabilisation of the lens allows it to be hand-held down to about 1/10. I didn’t even have to exploit the f/2.8 aperture, which would have given me another stop. Essentially we have now reached the point where if I can see something, my newer cameras can photograph it.

Next time, photography through the lens cap! 🙂

View featured image in Album
Posted in Photography | Leave a comment

Ansel Would Be Proud?

The Beech Avenue near Kingston Lacy
Camera: Canon EOS 7D | Lens: EF70-300mm f/4-5.6 IS USM | Date: 28-02-2014 14:55 | Resolution: 5184 x 3456 | ISO: 400 | Exp. bias: 0 EV | Exp. Time: 1/30s | Aperture: 10.0 | Focal Length: 180.0mm (~291.6mm) | See map | Lens: Canon EF 70-300mm f/4-5.6 IS USM

I had a day off today from work, chasing contracts and Android development, to focus on photography and writing. The core was a workshop with the famous and venerable landscape photographer Charlie Waite, at the even more famous and venerable Beech Avenue near Kingston Lacy.

It was a good group, and we had an excellent day of discussion about photography, how we do it, why we do it, and what we need to improve. Unfortunately as for so many others this Winter the weather let us down, and we managed a grand total of about one hour on location, getting buffeted by strong winds, pelted by rain and battling a combination of ambient temperature and wind chill which together netted out the wrong side of freezing. I ended up using the same gear and clothing as I was using at the top of Kerlingfjotll (“Bitch Mountain”) in Iceland – not what I was expecting from the Dorset Beech Avenue.

I went prepared for intensive activity, with a total of about 48GB storage across two cameras, or enough for well over 1500 shots. I took…  34, including about half a dozen “technical test shots”. Ansel Adams used to complain that 35mm film photography was in danger of leading to an excess of quantity over quality of photography. Had he survived to see digital, while he would undoubtedly have mastered the technology quickly and effectively himself, his concerns about quality vs quantity would have multiplied manifold! At least today I kept the quantity down.

Quality did suffer a bit. I had hoped after Charlie’s pep talk to go out with camera tripod mounted and take a slow, considered approach to photographing the avenue. Instead i took a series of fairly hurried “grap shots” mopping everything down between shots. Inevitably the rain has also reduced contrast and clarity of the trees in the distance.

However I’m not unhappy with this shot. The composition is exactly what I wanted, I like the tonal range (although ironically I’ve actually toned down the saturation!), and clarity is OK, if not perfect. I might try a black and white version as well…

View featured image in Album
Posted in Photography, Thoughts on the World | Leave a comment

Developing for Android

Regular readers will realise that I’ve been rather quiet recently. The reason is that over the last couple of weeks I’ve bitten the bullet and started seriously developing an “app” for Android. As always when I have a programming project in progress other uses of my “project” time tend to take very much a back seat, so apologies if you’ve been watching for photos or words of wisdom… 🙂

I don’t want to say too much about the application itself until I have something ready to put on the market place. Suffice to say I think I’ve spotted an odd gap in the market where the weaknesses of iOS force a number of good solutions to one problem of information management, whereas Android’s more flexible architecture ironically mean the problem goes unsolved. Watch this space.

I was initially a bit worried that the learning curve for Android development might be very steep, especially when I started working through the standard Java-based examples in the official Google development toolkit. Like all Java development that approach seems to require a vast amount of “scaffolding” code, which must be constructed with very little environmental help, to achieve very simple results. This didn’t look good.

Then, thankfully, I discovered Basic4android. This is a remarkable toolkit developed by a small group in Israel which allows the development of Android software using a powerful but very accessible language and IDE based on Visual Basic. Behind the scenes, this is compiled into standard Android Java code, so ongoing delivery of applications is standard, but the coding and design process is close to “pure VB”.

The development environment has all the features you could reasonably ask for, including code completion, syntax highlighting, background compilation and the like. Remote debugging extends to devices connected over the Internet as well as via cable or local networks, and has a cunning feature where you can “hot swap” the code behind a running application allowing a range of changes to a running test application without restarting it. These are very impressive abilities for a product from a relatively small company.

Just as with the original VB, Basic4android has a model which allows developers to supplement the platform capabilities with shareable components, libraries and code snippets, and a very active community has rapidly built a library of “donationware” which provides easy access to the majority of Android features. I’ve had to be a bit ingenious in a few cases, but even as a newbie on my first project I haven’t yet found a requirement which can’t be met with a few lines of code.

On a slightly more negative note, Basic4android doesn’t seem to provide a good solution to the problem of supporting multiple screen sizes and orientations, except by writing multiple hard-coded scripts for the various options. This problem has been solved for websites with the concept of the “responsive grid”, and it ought to be possible to arrange the UI of an Android app with similar logic (e.g. “arrange these two controls side by side with the label taking 75% of the width, unless the screen is narrower than X, in which case arrange them vertically”). If this can be done in Basic4android I haven’t yet worked out how.

Debugging on a physical device connected directly to the PC is very straightforward, but of course limited to the devices you own, and a bit clumsy if you fancy doing a spot of work when travelling. While the Android development kit includes an emulator for the PC, it runs so slowly as to be completely unusable, even on a high-spec machine like my AlienWare M17x. I may have discovered a better compromise, in Android-x86, a port of Android which runs happily in a VMWare virtual machine. Installation was easy, but there are a few foibles I haven’t yet conquered. Again, watch this space.

Overall my adventure into Android development is shaping up well. More news later.

Posted in Android, Code & Development, Galaxy Note, VMWare | Leave a comment

Scarily Good

My new phone (I upgraded to a Galaxy Note 2 as I was running up against memory limitations on the Note 1) has a potentially useful but also quite scary feature. There’s a service running on it called “Google Now”. This has no direct user interface, but just pops occasional reminders into the notification bar.

This afternoon I had an appointment, which I had recorded in Outlook simply as “Sally” with the location “Strada Cobham”. At about 2.40 a reminder popped up which said not just “you have an appointment at 3”, but “leave by 2.54 to be on time” , quite an accurate estimate of the required driving and parking time!

I’m impressed, but also slightly concerned. What other information is Google mining from tiny bits of data of mine?

Posted in Thoughts on the World | Leave a comment

Getting Ahead of the Curve – Update

Birmingham Bull Ring and St. Martin's Church - ISO 3200
Camera: Panasonic DMC-GX7 | Date: 10-12-2013 21:25 | Resolution: 4523 x 3016 | ISO: 3200 | Exp. bias: -1 EV | Exp. Time: 1/20s | Aperture: 5.0 | Focal Length: 14.0mm | Lens: LUMIX G VARIO PZ 14-42/F3.5-5.6

When I bought the Panasonic GX7 on the day of release I realised there might be a short delay before it was fully supported by third party software. A few weeks on and there was support from Adobe and some unexpected sources, but no sign from Phase One. Fortunately the in-camera JPEGs are absolutely excellent and I cheerfully blazed away in Morocco while waiting patiently.

Come December my patience was wearing thinner, with three months’ RAW files ready and others stacking up. I took to checking daily for new Capture One updates, and was finally rewarded on Monday by the release of v7.1.6. That was the first good news.

To my frustration, the release notes stated that the GX7 support was “provisional”, although Phase One had managed to deliver full support for pretty much every other recent new camera. The primary limitation seems to be the lack of any lens correction, even manual, which is a rather substantial issue for a micro four thirds camera. Any shots taken with the wide ends of my zooms will have to wait… That’s the bad news.

</moan>

There is, however, some really good news. The image quality is simply superb, much better than I have been able to achieve with Adobe Camera Raw, and a dramatic improvement on all my other cameras at high ISO. Images are essentially noise-free at ISO 1600, and not much worse at ISO 3200, suggesting I was unnecessarily pessimistic limiting myself to 1600 in Morocco. At ISO 6400 there’s a bit of noise, but essentially correctable. I would probably choose to use a lower sensitivity for something critical, but for general use it’s absolutely fine, as long as I don’t try to pull the shadow exposure too far. I might even be brave enough to use 12800 in a pinch.

So my Christmas present from Phase One may be arriving in instalments, but it’s looking really good for the latest compact system cameras.

The above shot gives you an idea of what can be achieved, and is also suitably seasonal. My very best wishes to all my readers, and hope that we all have a successful and satisfying 2014.

View featured image in Album
Posted in Photography, Thoughts on the World | Leave a comment