Thursday, September 27, 2018
Message Queues
Monday, April 9, 2018
More Integration Tests, Less Mocking, More Linting
Thursday, February 22, 2018
Dependency Injection
Tuesday, November 21, 2017
3 new entries in OWASP top 10
For more details check out https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
Sunday, November 5, 2017
'You Cast' Working Again
As the 1 star reviews started piling up I spent a lot of time trying to get around this issue. I tried two main main methods:
1. Analysing LAN traffic with wireshark created by android apps which use the official chromecast API.
2. Scouring the web for various open source projects which claim to allow users to cast using the latest chromecast protocol but without using the official API. Most of these were node.js projects on git hub which never seemed to actually cast anything. The closest I got was with this one which connected to my chomecast but then crashed when I actually tried to cast a video.
After quite a few roadblocks other priorities got in the way and I basically gave up. The little bit of advertising revenue we'd been making didn't exactly seem worth the hassle.
However recently I noticed my chromecast device received a firmware update. I tried 'you cast' out and sure enough it is now working again. Last week I made a minor fix to the app and published it to the store just so that users are aware its working again.
Oh well, glad its fixed, and at least I'm an expert in node.js now.
Saturday, December 3, 2016
Our new app 'You Cast' is out
Frustrated by the inability to cast videos from this device I set about creating an app that would fill this void.
This involved quite a bit of research, wire-shark network traffic analysis and trial and error but after few weeks of effort I was able to produce an app that allows you tube videos to be cast from windows phones.
So far the response has been pretty positive. It took a few weeks before it showed up in the store but as of last week the acquisitions grew from basically none to over 1000.
Anyway regardless of whether it makes any money this app has served its purpose by giving me another device to cast videos with. If you have any feedback or feature request leave a comment or send us an email/tweet.
Thursday, July 7, 2016
Microservices
Shared class libraries are frowned upon by many purists because it goes against the independence paradigm of microservices and will thus reduce some of the benefits of having services that are truly decoupled . However not having a shared class library is likely to result in significant refactoring of code when logic that should of been shared is moved from one service to another. This has the potential to be expensive and may result in many other interdependent services being affected. Obviously this kind of problem exists with non-microservice architectures however changing a class library, compiling and then fixing every compilation error as well as using built in refactoring functionality in IDE's such as Visual Studio is likely to be easier than refactoring services across a varied technology stack and having to rely on excellent unit test coverage to ensure everything is picked up.
As is often the cases with tight deadlines and limited budgets there will be cases where moving common code into a new service becomes too costly and/or risky and developers will end up redundantly replicating code which breaks the DRY design principle and will reduce the overall maintainability of the system.
Language Agnostic: One of the commonly spruiked advantages of microservices is that they are language agnostic. However without careful consideration this can lead to the creation of a very complex technology stack. This may make maintainability an issue because software currency upgrades and patches will become more complex and because finding experts who have experience with a varied technology stack become more difficult to find.
Thursday, May 5, 2016
Location services shortcut
We've recently released a new android app 'location services shortcut'.
It allows users to quickly navigate to the location services setting on their android device simply by opening the app. As location services is often a major battery drain, and because of privacy concerns many users may want to turn off this setting except when they specifically need it for navigation purposes.
This app is mostly targeting older android versions as well as certain ROMs and OEM versions where location services is not available as a shortcut in status/notification bar.
You can download 'location services shortcut' for free from the Google play store by clicking here.
Tuesday, August 4, 2015
Top 10 best timezone converter apps
Looks like our app got a mention as the token windows phone app. See number 10. Full article here.
Friday, June 26, 2015
Free Metro Icon Set
Saturday, April 4, 2015
New versions of 'Cricket Updates', 'TimeZone Converter' and 'Convert My Units' Released
Cricket Updates v1.1
I fixed a "loading screen of death bug" that was occurring sometimes when the live scores web service we use was having issues. From now on; if any of the web requests fail this is detected more quickly, the progress bar is hidden and a nice error message is shown in the appropriate section of the app.
TimeZone Converter v1.4
The 2 major complaints I see in the comments about this app are:
1. Why can't the app just remember the 'from' timezone that I inputted last? When I created and was alpha testing this app I was travelling a lot and found it annoying that the 'from' timezone always remembered my last choice. I instead thought it would be much nicer if the 'from' timezone was automatically selected based on the phones location. However judging by the comments and emails I've received; our users seem to disagree. Therefore I have just updated the app to always remember the 'From' and 'To' timezones. Note: In a future update I might make both options configurable.
2. Why do I have to look for cities with the timezone I want, I just want a list of generic timezones? As some windows phone and windows RT devs may know the full .net timezone functionality is not included in the cutdown API we have to work with for mobile devices. To get around this limitation we have downloaded the zoneinfo api and converted it for the compact framework. For more info about how we did that check out this post from 2012. Unfortunately all the generic timezones seemed to be wrong when I used this API. At the time instead of fixing the problem I decided to just remove them from the app as I was on a tight schedule. This decisions has led to so many complaints from users who complain that their city is not in the list and they just want to select a generic timezone. So finally yesterday I decided to start investigating the issue. I was able to find a pattern in the problem and managed to write an adapter class that identified erroneous records and overrode them. However on further inspection I discovered that the problem was not in the API but was related to some bad data in the etcetera.dat file that is included with the zoneinfo api. After seeing that I just fixed the data up and threw my adapter class away. So now we have a new section with the heading 'etc' which includes a list of generic timezones (see screenshot below).
I'm sure the Americans will still complain that I haven't included specific rows for Pacific Time, Central Time, and Mountain Time etc; but unfortunately those values are not 'out of the box' entries in the tz database. At least this should be a step in the right direction and I plan on adding that functionality in my next update.
Convert My Units v1.3
As this unit converter also converts timezone in the same way as TimeZone Converter I have applied the above fix ( detailed in issue 2) to this app as well.
Enjoy!
Sunday, October 20, 2013
Mayhem Software apps featured in windows phone store
Tuesday, May 28, 2013
Convert My Units V1.1 is out
Negative temperature input handled
Not sure how this issue got by us in v1.0, but when trying to input temperatures the user was only given a number-pad with no minus symbol. Fortunately the following comment alerted us to the issue:
Would give 4 stars if Temperature conversion fixed: NO negative temperature input. If not interface is pretty good, I mean intuitive.
This is an easy fix. Essentially we just needed to change the input scope on our input textbox for temperature from "CurrencyAmount" to "CurrencyAmountAndSymbol" as per below:
<TextBox Name="textBoxTemperature" Text="1" InputScope="CurrencyAmountAndSymbol" />
Selecting of results for copy/paste handled
This is one feature that is pretty useful in a unit converter, as user's may want to transfer results from our app into an email or document without having to transcribe. in v1.0 our results were displayed in a textblock which is a control that does not allow text selection. The best solution seems to be to replace the textblock with a textbox. However using a vanilla textbox looked a little "cheap" so we needed to override the style so that the textbox looked like a textblock.
To do this we just needed to add some custom style to our xaml page as per below:
<Grid.Resources><Style x:Key="ResultsTextBox" TargetType="TextBox">
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}" />
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<ContentPresenter x:Name="ContentElement" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
...and then reference the style "ResultsTextBox" in our textbox
<TextBox Height="71" Foreground="Red" Margin="10,-5,0,0" TextAlignment="Center" FontSize="40" FontWeight="Bold" Name="textblockVolumeResult" Text="" Style="{StaticResource ResultsTextBox}" />
Background color added to listboxes to improve readability
We have also received some feedback saying that sometime certain values were difficult to read because of the background image and the fact that the selection listboxes were transparent. The solution was to add some background style to the selection boxes. As all Windows Phone apps need to handle the phones default light and dark themes the best way to do this was just to leverage the phones static resource style which automatically adapts to the phones theme. So for each listox we just set the Border Brush and Background to the static resources used by the default text boxes. See below:
<ListBox BorderBrush="{StaticResource PhoneTextBoxEditBorderBrush}" Background="{StaticResource PhoneTextBoxBrush}" Foreground="{StaticResource PhoneTextBoxForegroundBrush}" Name="listVolumeFrom" BorderThickness="1" Margin="0,0,60,0" ItemContainerStyle="{StaticResource ListBoxItemStyle1}">
See the following screenshot of how this looks. These static resources have built in opacity which looks quite nice with our panorama background image.
Summary
So that's a majority of the changes. So far the response has been pretty good since the updates release about 5 days ago. Advertising revenue from this app is up significantly and it has reached the top 10 unit conversion apps in the following selection of countries:
Germany - 5th
Ireland - 8th
New Zealand - 9th
Great Britain - 10th
USA - 10th
Australia - 10th
We have just started planning the next round of improvement to this app and adding a currency conversion component seems to be at the top of the list. If you have any feature requests or suggestions leave us a comment.
Thursday, March 7, 2013
Cricket Updates
Our latest app cricket updates is now on the windows phone marketplace.
It combines results, lives scores and news into a simple, clean and intuitive interface. It also shows a live tile with the latest score.
Check it out here.
Wednesday, March 6, 2013
Trialling Nokia Ad Exchange (Inneractive)
As with most of our other apps we have chosen to make cricket updates free and ad-supported. However instead of using our usual ad network pubcenter, we decided to try out nokia ad exchange. So far the results have been interesting.
I't s still too early to tell as the app has only raised 731 ad requests, but the early indicators would suggest that we could expect fairly similar results to pub center. (See screenshot below).
One thing I like is that nokia ad exchange provides a lot more analytics than pub center. As you can see in the screenshot above the click thru rate has a huge impact on eCPM. Fill rate is also useful, especially if we want to target different ad networks based on geographical location.
So far the jury is still out on nokia ad exchange. But given the initial results I believe it will most likely become part of our future strategy. Particularly in markets where pubcenter's eCPM is almost non-existent.
Tuesday, January 22, 2013
2012 in review
Downloads
- Total Downloads: 115,721.
- Total paid: 40 ($0.99/unit)
Advertising
- Total Ad Impressions: 18,181,985
- Total Revenue: 4,967.55
- eCPM: 0.27
It was a roller coaster year with some very promising moments but it was ultimately financially disappointing. $5000 split between the two of us covered our costs and resulted in a nice bit of spending money but it certainly won't pay the rent.
We had a promising 3 months period whereby revenue was between $700 and $1200 / month. Unfortunately pubcenter eCPM has dropped significantly since then and we are now only making about $250-300 / month even though the number of ad impressions we're getting is roughly the same.
The most important lesson we learnt is to beware of relying purely on advertising for revenue as the returns are very volatile. It still hurts to see us consitently reaching about 2 million impression / month and yet seeing an eCPM below 0.10, when 6 months earlier it was averaging 5-10 times that. It is for this reason that we are currently moving away from pubcenter and experimenting with other advertising networks. The nokia ad exchange is looking particulalry promising and we're currently awaiting approval for an account so we can test it out.
So based on the above 2013 will be about diversifying our business as much as possible by attacking multiple revenue models, advertising networks and platforms. We've got some great app ideas and are looking forward to getting them out over the coming months.
Sunday, August 5, 2012
Our latest app view tube is out
The user just types in a search term and the app combines the results from youtube, vimeo and daily motion into a pivot control.
So far the results have been very promising. On it's first day in the marketplace it got about 1500 ad impressions which is not a bad start. Hopefully tomorrow is even better.
Check it out here.
Thursday, July 12, 2012
Timezone converter featured in Vodafone top apps
Check it out here.
Wednesday, June 27, 2012
Finally in top 50 in USA and Britain
Some of our latest marketplace rankings are:
Finland - 18th
Australia - 26th
USA - 45th
Italy - 47th
Great Britain - 48th
Germany - 48th
We were just accepted for bizspark
The introduction email says we get the following benefits.:
1. Get your free software
2. Profile your solutions
3. Market your stuff
4. Find funding
5. Find offers and connect with others
6. Build your team
7. Access Training and support
One thing we're going to find useful is 2 years / $60,000 worth of Windows Azure hosting.
| Resource | Monthly Benefit |
| Compute | 1,500 hours of a Small Instance |
| Storage | 30 GB |
| Storage Transactions | 2,000,000 |
| SQL Azure | 5 GB |
| Access Control Transactions* | 500K |
| Service Bus | 3,000 hours |
| Cache | 128 MB cache |
| Data transfers (WW) | 35GB Out Free In |
So with 2 years/$60,000 of Azure hosting expect to see some cloud based windows phone and windows 8 apps being developed by us in the near future.
