Quick Overview
Multiple independent projects of mine have been featured on international news websites.
​
Flow Desktop for Android was featured on a large array of international news websites.
​
This Google news search (forced to only show articles featuring my name and the word Android) shows a large array of websites reporting on my work
​
Also featured on Reddit with a large number of up votes currently reaching 927 up votes, 121 comments and near 100,000 YouTube views (at time of writing).
Reddit: https://tinyurl.com/yxl66suu
YouTube: https://tinyurl.com/y649k2fy
​
And my earlier more niche work 'Desktop Hub for Samsung DeX' also featured in the news:
​
Having continuously followed communities and read over 200 pages worth of comments on one XDA thread alone, clearly my passion for my work in Research & Development shines through as the application Desktop Hub, although niche has reached over 100,000 users despite the premium price for extensive in-app features.
​
Along every step of the way I always want to make the best product no matter the work I do.
​
My view as a developer is to treat the customers the way I expect developers to treat me as a customer.
Who is Daniel Blandford?
You would think that as someone that came from a city
where there is only an average of 1 job per 72.3 people
and the lucky few that could get those jobs
would only get minimum wage,
and for many, living off of the state seems like a career option.
And growing up with two brothers with family only on a low income,
with nobody in the family ever having an education
any higher than high school.
​
​
It would look like any ambitious dream would be titled 'Vision Impossible'.
​
For many, the idea of breaking that chain was laughable.
​
For things to change, you need to be different, think different and not allow yourself to fit in with that culture to drag you down.
​
Whilst in the United States of America, many questioned how I could be British but not like football/soccer or a cup of tea.
This was because I didn't fit in with most of the kids around me, so I never got influenced by the local common behavior/cultures.
​
As a child it always felt like a curse, but as an adult and seeing how I was able to break the chain in such a way that everybody always said was laughable, now feels like a massive blessing.
​
To reach the greatest of highs,
you first need to fall to the lowest of lows to reach the ramp at the bottom that can then give you the velocity that you need to send you so high that you might feel like you're in heaven yet you're still alive! 😀
​
At times, confidence may fall, but you need to see yourself as a rolling ball,
if the ground was a flat surface the ball would barely move,
so the ball needs to go down a little to give it momentum and then it can jump over the next hurdle and on to the next chapter!
​
Never give up due to the odd downfall, you are simply gaining momentum to jump to the next high! 😉
​
My Technical History - Index
* The Start (2002)
* First Steps Into Development (2006)
* Beginning Android Development (2010)
* SMS Scheduler (2010)
* System Configuration Profiles (2011)
* Game Development (2012)
* Data Connection Notifications (2013)
* Unified Computing - Android Desktop Part 1 (2014)
* Unified Computing - Android Desktop Part 2 (2016)
* DeX Hub for Samsung DeX (2017)
* DeX Pad for Samsung DeX (2017)
* Public Developer Support (2017)
* Samsung Developer Conference (2017)
* Samsung Research America (2018)
* Flow Desktop for Android (2019)
* University of Greenwich - Masters Degree in Computer Science (2017 - 2019)
*Note: not all of my projects are listed, just the ones that have relevance to what influenced future decisions*
The Start (2002):
At the age of 13 having got my first PC and internet access, the first thing
I wanted to do was play games on it.
Soon after playing my favorite games on there, I started to search the web
for additional info regarding the games and quickly discovered 'Modding'.
This is where you analyse the applications files and configurations and modify
them to something more to your liking which may happen to be very different to
what the original developers had designed.
First Steps Into Development (2006)
With time as I began to learn more about how the software worked,
I decided to try developing my own software for Microsoft Windows.
​
Having done a little research I discovered that Microsoft Visual Studio
was the most widely supported tool to use at the time.
​
Having experimented with several different languages I found that
C# WinForms were the best for me to get started.
​
Developing a few basic applications such as a simple shortcut solution
to quickly navigate to the hidden parts of Windows and a few frequently
accessed directories, I began to get my head around the basics of development.
​
Beginning Android Development (2010)
When I got my first Android phone the 'Samsung Galaxy S', I quickly downloaded
Eclipse IDE with the Android SDK tools.
​
I immediately started tinkering just to understand how it all worked.
Shortly after, I started to take a Product Manager like approach to things and
looked for common pain points in the Android ecosystem. I decided that I would
start with something not too complex so to not spend too much time on the
project should it not work out well.
SMS Scheduler (2010)
So I decided to create a simple SMS Scheduler
which I called 'Text Timer', the idea behind this
was simple, on several occasions I would be
awake a little past midnight and needed to send
a message to family, as they were often asleep
at this time and back then it wasn't so common
for people to use 'Silent mode' (or as it is now
often known 'Do not Disturb mode'), I thought
that this would be useful so that I could
schedule the message for the time that they
typically wake up so they can immediately check their phone and see the important information.
​
Once I had completed the basic functionality, I began to look at ways to monetize this product, note that back then it was common for Android users to avoid purchasing apps and to choose free ad funded alternatives instead, so I naturally decided to implement a simple banner ad at the top of the UI using Google's advertising libraries.
​
Once I published the application, I saw that it didn't quite do as well as I initially hoped, given that I was young and overly enthusiastic about what new possibilities this may bring for my career as a self employed software developer, I was disappointed, but I didn't give up.
​
System Configuration Profiles (2011)
Having seen that Text Timer didn't do so well, I went back to the drawing board, and
started to think about one of my biggest problems with phones back then, and I
concluded that I should develop an application which can change the
configuration of your device based on context, I called this 'Auto-Mate'
(not to be confused with another application which copied the name and
functionality a few years later), I decided to give the ad monetization
plan another try. This app had a larger audience, thanks in part to its ability
to help save battery life and increase security by turning off
Wi-Fi and Bluetooth when you leave the areas that you have assigned such as
your home or office, or other areas that you would like to setup as
designated areas and/or times for certain system configurations such as display brightness at night, as back then auto-brightness was often terrible on devices, so scheduled brightness was more effective.
​
But still the adverts weren't generating any revenue, in part because they relied on users clicking on the adverts and typically, most users would never click on the ads and just use the app functionality they needed and as most of the functionality of the application was run as a background service, generally there was barely any need to go into the app and see the adverts.
Game Development (2012)
With this project it was entirely built for me to
have fun whilst learning more about advanced UI
development on Android, Multiple physical
input device support and implementing support
for libraries and API's.
​
So I designed a simple gaming app that used the
same code format as any traditional Android app,
rather than using professional game engines as
they wouldn't enable me to learn how to
manipulate the view objects in ordinary apps.
​
Its concept was simple, as bombs fell from the sky you had to capture them in a
bucket filled with water, and the further you progressed the quicker they came,
and I named this 'Bomb-Barded'.
​
This project enabled me to learn amazing new ways to manipulate view objects, positioning, animations, transition effect and also how to integrate Google Play Games support to allow a public leader-board system to be implemented so that users could compete with one another globally.
​
I published this for free as it was simply a learning exercise and I wanted to receive user feedback to improve my skills further. It wasn't too big, but it did enable me to learn many of the skills that I would need going forward.
Data Connection Notifications (2013)
With this application, I saw that my mobile network was soon going to add
4G support in my local area, and me being a bit of a nerd,
I decided that I was going to develop an app that would send me an
alert as soon as my phone first connected to 4G so I could immediately
see the advantages.
​
I thought that, it may not just be me that is excited to give 4G a try,
so I would publish it on the Google Play Store.
​
With the lack of success with previous applications,
I decided that this time I'm going to charge an initial fee for the application
before it was installed.
This turned out to be a good option, as began to see money coming in from this application, it wasn't a significant amount, so I later decided to spice up the app a little by adding more features.
​
Adding the ability to receive alerts when connected to high speed 3G, 4G or Wi-Fi and also when there is no data connection so that the user was immediately aware of when the data speeds were fast enough to browse the web or to immediately let them know why their web browser wasn't loading the page.
This saw increased growth in sales, but still not enough to feel that I could quit my job to focus exclusively on software engineering, and eventually I discovered that some users were pirating the app from other websites.
Unified Computing - Android Desktop - Part 1 (2014)
Unified Computing was something that had interested
me for many years, soon after seeing the first
App Store on Apples iOS, I began to think that if
you can easily install software on your phone
just like on a PC, why not enable the phone to be a PC.
Of course I understood that the hardware performance
wasn't quite there for it yet, but having seen the
change in the performance from my first PC
to my then current PC, I knew that it wouldn't take long
before the phone has the performance capacity to handle this.
​
With time I began to feel tired of waiting for Google or the Android OEM's to introduce this, so I began experimenting with multiple ways to deliver this functionality to users, my first attempt consisted of a touch-pad like design on the phone, with a separate UI being sent to a Chromecast device, with this came many challenges, one being the locked down nature of Android.
So quickly I began to see that I couldn't programmatically send input events to other apps as it would be considered a security risk, there were ways around this such as rooting the device, but I always gave myself the goal to make it easy enough that a tech newbie could install it and immediately get started utilizing its capabilities.
But I could programmatically send input events to my own application, so i decided that I would build my own browser for the big screen which was powered by the phone and use a track-pad like design to move a mouse pointer on the big screen and scroll within the browser.
​
Even though this worked reasonably well I didn't feel that the overall experience was good enough to publish the software. So I decided to start again from scratch and so we move on to part 2.
Unified Computing - Android Desktop - Part 2 (2016)
With this attempt, I wanted a clean start and
look at where the flaws were with the
last version (mentioned in part 1).
Throughout the development of the first project
I felt that a lack of interaction with
other apps would make the desktop experience
useless and the user would be better off just
using an old fashioned PC.
​
So I decided that this version required interaction
with other apps, but Android at the time didn't
support mouse input on secondary screens,
and to implement this I would need to build an
entire custom ROM for people to flash on their
phones. So I had to spend an extensive amount
of time analyzing workarounds and hacks within
Android to enable me to achieve the goal of
providing a desktop experience.
Eventually I decided that I will build a scalable UI
which can be mirrored on external screens and
with a mouse you could interact with everything
that you see on the big screen, but for this to
work, the phone screen had to stay on, which
often could lead to screen burn-in on AMOLED
displays which always concerned me.
​
I made it possible for the app to detect when it
had both a mouse and external display connected and forced the application to scale itself to a smaller pixel density when shown on the big screen, but when disconnected it would scale the UI and resposition certain UI views to a more relevant position for a smaller screen in a portrait layout.
​
As I was aware of a project called Android-x86, I began to test using the desktop experience on a laptop, though it wasn't quite good enough to replace a desktop OS due to some of the system limitations within the Android Framework, I thought that it was a good start, but I still didn't feel that it was up to my standards for a desktop experience, so I held back from publishing it onto the Google Play Store.
​
Having developed this in three months thanks to my past experience, I thought that I would like to publish a video as a proof of concept and to show why the industry should begin to develop something like this. which you can find in the video embedded above.
​
Shortly after finishing this project, Samsung announced a product named 'Samsung DeX', which leads on to the next project.
DeX Hub for Samsung DeX (2017)
Once Samsung announced DeX, I thought 'FINALLY!!!'.
So I immediately decided to return to using
Samsung phones exclusively for this feature.
But quickly after getting my hands on Samsung DeX,
I saw many limitations in the experience.
So within a matter of days I started a new forum
discussion on XDA to enable people to discuss this
and at the same time I published the app
'DeX Hub for Samsung DeX'.
​
This was the app that changed everything
(later re-branded to Desktop Hub).
So this projects goal was to fix everything that
was wrong with Samsung DeX, and it rapidly
became popular, initially I made the app available
for free as it was my passion to make this technology
become successful.
​
But eventually it became so big with continuous
features being added to satisfy the people within the XDA community that I supported, as I wanted to removes any issues that people had with Samsung DeX, that I decided to implement an IAP (In App Purchase) business model, this supported my efforts and immediately within the first month the app generated so much profit that I could quit my job and focus solely on supporting the community and adding more features to this app.
​
This project later saw even Samsung's own B2B teams contacting me directly through LinkedIn to ask for additional features as they had more confidence in me fixing the issues than their own internal team of software engineers.
DeX Pad for Samsung DeX (2017)
DeX Pad was simply built to offer people a way
to take notes with multi-instancing support enabling
the user to have several different messages on screen
via several different instances of this one app.
​
Several months later, Samsung announced a product
named 'DeX Pad', so I removed this app from the
app store as I wanted to enable them to be innovative
and I didn't want to hinder it by suing Samsung for
taking the same name.
Public Developer Support (2017)
As many users of DeX were complaining about the lack of
support from other apps which I wasn't able to provide
workarounds for due to system security blocks.
I decided to publish multiple guides on how developers can
optimize their apps for this kind of experience, one of those
guides you can find in the video to the right.
​
Other guides were published on XDA in the DeX thread and
on Samsung own developer forums.
This lead to the next chapter:
Samsung Developer Conference 2017
This support later lead to a guy from
Samsung HQ in South Korea offering
me a free invite to the
'Samsung Developer Conference' (SDC) in 2017.
​
Upon arriving at SDC 2017 I immediately started
to speak to as many people as possible about
DeX and ways to improve it.
Eventually I meet some amazing people working
on the project 'Linux on DeX'
(Formerly 'Linux on Galaxy'), they weren't quite
Android developers so they didn't quite have
any input on the Android side of Samsung DeX,
but they shown real enthusiasm for the work
they did with Linux on DeX, and they had great
confidence in this product so I asked them if I
could install my app 'DeX Hub' on their device alongside because on earlier iterations of Android, there was the ability to monitor CPU and RAM usage, so I saw the app running with a low amount of CPU and RAM being used when Linux was running idle with a development IDE open in Ubuntu 16.04.
After clarifying if it was OK with the team manager I went online and immediately started to promote the software and tried to get the whole community and news websites talking about it as I really wanted to see this become a big thing.
​
Later in the day, I went to the Bixby booth to ask why Bixby wasn't supported on Samsung DeX as some DeX users wanted this feature. And quickly I got the response, "What is Samsung DeX?", so I tried to explain it to this guy from Samsung, but he still was a little unsure of what it was.
​
So the next morning, I was close to the building entrance before all staff started to arrive, I was using my own phone in a DeX station supporting the community and sharing what I saw at SDC, and I then saw this guy from the Bixby team show up and I quickly pulled him over to show him what DeX is. And whilst doing so I pressed the Windows (Meta) key on the keyboard, to pull up the start menu, but on my device I had my own app DeX Hub installed which had its own custom start menu integrated to override the standard Windows key (but it didn't override the system UI start menu button as the system would not allow this), so I quickly mentioned that wasn't the standard start menu that was one I developed and shown him the standard one.
He then told me that he much preferred my design and asked me the question "Why are you not working for Samsung?", As someone who had only ever worked independently on Android apps, I just mumbled "I don't know"...
​
He then took my contact details and said that he will try to bring me into Samsung, at this point I started university so I had to make it clear that I was working on that at the time, but I'd be happy to join Samsung.
​
Unfortunately, at the time my CV/Resume was near blank and so obviously, Samsung's HR team had their doubts and decided not to bring me in, but the guy from the Bixby team (Abraham) fought to bring me in as he saw that I had both a passion and talent. Eventually he got me to join the team as an intern working under his leadership. Which leads on to the next section.
Samsung Research America
Honestly, I had never imagined that a manager could be so
supportive and help to pull so much out of one like myself.
He was the best mentor that I could have ever asked for.
When ever I had a new innovative vision, I could speak to
him, and he would know exactly who to speak to thanks
to his amazing social skills, and before I knew it in a
matter of a few short weeks, I ended up knowing more
people within Samsung Research America than many of
the long-term employees knew.
And day after day he would speak to HR about bringing
me in full-time and find out if there were any ways that
I could continue the work I was doing.
​
Even though I was managed by Abraham who specialized in
Machine Learning, he enabled me to work across teams
to deliver as much as I could in the time I was there,
my favorite contribution was to the Linux on DeX team
as I meet with those amazing people again from SDC 2017 and helped them to fix a few of the small bugs on the Android app layer that caused them issues in the Linux layer of the software.
With support from great friends and colleagues on the LoD team who helped me to get started with the git tools for the project, and would enjoy nerding out with me as we discussed new innovative ways to utilize the technologies that we were involved in or could collaborate with other teams on.
​
But it wasn't all plain sailing as Samsung is very secretive in many areas and that lead to me not being able to contribute to developing the DeX framework which was my main passion at the time. And with my manager trying to speak with everybody to find a way to contribute to this project, we later concluded that I would completely rebuild from scratch the Samsung DeX experience to deliver a next gen experience that took into consideration the 200 pages of user feedback that I read every day from the XDA community.
In a matter of two weeks I had a working prototype and in five weeks I had something comparable to the official product.
​
Later down the line I had help from other none DeX teams to develop additional features on top of the work that they had done, I can't talk publicly about these things, but the overall experience was way beyond anything available today.
And obviously a comment like that might seem biased, but as those comments were from several staff including Samsung's Executive Vice President 'Mr Chung', I feel that I am able to say that without a shadow of doubt.
​
Thanks to this work Mr Chung offered to pay to extend my internship at SRA by three additional months.
​
As I continued to work on Next Gen DeX 'DeX Gen' as I called it, I got interest from other senior staff including the SVP 'Dr Peng Ning' who offered to sponsor me for another 6 months. But unfortunately I had to leave the USA to head back home to the UK and finish my university masters degree in computer science.
This invalidated my J1 student visa so I couldn't return without a full-time work visa.
And before I finished my degree, I discovered that both the SVP and the EVP had both left SRA to move on to other things, this meant that I no longer had anybody to support my return to SRA.
​
And so I moved on to my next project.
Flow Desktop for Android (2019)
As I never had the opportunity to work on
Samsung DeX itself to fix all of those issues
that bugged me every day, I decided that I
was going to take everything that I had
previously learned and build a whole new
desktop from scratch that tried to utilize
recent improvements in the beta version of
Android Q and enable the community to
get the experience that I always felt that
they deserved, and as they supported me
financially over the years, I wanted to return
the favor by giving them everything that
they wanted from other Android Desktop
platforms such as Samsung DeX and
Huawei's Easy Projection.
​
As Flow Desktop has no ties to any device manufacturer, right from the beginning I decided that I was going to develop it to support as wide a variety of devices that I could.
​
I later decided that once it looked close to what I expected it to look like in its final state, I would publish a video to demonstrate its capabilities on YouTube.
But never did I expect that it would reach as wide an audience as it did, with popular Android news websites from all over the world reporting on my work including countries like China.
​
As the popularity of this project grew, I began to see multiple investors looking to work with me, but each time I turned them down as I felt that they didn't have enough to add to the project, as money was never my first priority with regards to investors, I always wanted to work with talented people and have an organisation that produces their own phones to help this project to reach its peak.
​
Someone shared my work on Reddit and even with no real marketing it has reached 927 up votes and reached 121 comments. I hope that the industry sees this as a pointer as to why passion in the work that you do is so important.
https://www.reddit.com/r/Android/comments/c3lyw6/flow_desktop_for_android_progress_update_x_post/
​
Without those investors though, income began to dry up as Desktop Hub typically only sees massive income around the early few months of each major device release from Samsung and so the project had to be put on hold.
​
I joined a team of volunteers who develop an open source version of Android that people can flash onto their handsets or boot from a common PC so that I could make the required changes within the framework for Flow Desktop and even competing desktop launchers to thrive in the hope that other large vendors would look to adopt these new standards to enable users to get the experience that they have been asking for over the last few years.
But as income had dried up I didn't have the time to output changes at the rate that I did with previous projects.
University of Greenwich - Masters Degree in Computer Science (2017 - 2019)
When I attended an open day at the university that I was interested
in going to, one chap was speaking to me extensively and as we were
discussing all things technology, he said, you shouldn't be applying
for a bachelors degree, you're too advanced for that.
Being the first person in my family for generations to even apply
to start a university degree, I just laughed and applied for a
bachelors degree, and on the first day of starting the bachelors,
I went to speak to the guy in charge of the bachelors programme
as he finished giving a speech to all new comers like myself.
And as I wanted to understand the degree of how intense
the coursework would be, I began to ask questions about the
technologies that we would be working on throughout the bachelors,
and he quickly asked for me to come with him as he went to meet
another university staff member and said,
"This guy is too advanced for the bachelors degree
he should be doing a masters degree", having heard this a few
months before from another lecturer, I started to realize that
the first guy that told me this wasn't joking, so I agreed to switch to the masters degree and it was there that I meet some great friends and found myself teaching many of them the basics of 'Mobile Application development' for Android to these masters students and I ended up with a score of 90% on my Mobile Application Development coursework only to be told that the remaining 10% that I didn't get was due to a little bit of the report on my work not being perfect.
​
For my final project at university, I decided that I wanted to work on modifying parts of the development IDE Android Studio and later open source the modifications once I had completed my course as I wanted to provide other Android developers with tools to improve their apps in the Android Desktop world, as I often saw even some of the highest paid Android developers in the world struggling with the basic optimizations for this experience where as because I had years worth of experience developing my own Android Desktop experiences and understood the framework deeply in many areas related to multi-window mode and other desktop factors, I wanted to help other developers to understand how to achieve this too.
Unfortunately, as I was near completion of my project, Google made substantial changes to the Android Studio IDE which meant that to continue working on this I would need to completely rebuild the entire project from scratch, so I couldn't open source those tools by that point, but fortunately, by this point my final project was completed and submitted.
​
So I eventually completed university with a Masters Degree in Computer Science in 2019 proving those people who's instinct told them that I was good enough for a masters degree right all along and that I should have never doubted myself :)