It can take a lot of time and effort to develop an application for Android, and it's even tougher when you're the only one doing it. Jeff Corcoran, the man responsible for two awesome XDA applications- Labs and FEED – is one talented developer.
Debuting into the Android scene with Hangar, an application he built on a $200 Chromebook, here's Jeff's answers to some of the community's questions.
Hey there, Jeff. Would you mind introducing yourself to the masses?
"Going by the alias "blk_jack," I'm an Android developer based in Toronto. I have a background in Web Development, Server Administration — the list goes on.
I love Linux, I've been a customROM developer and currently, I develop applications."
Could you please explain the applications you've developed – Hangar, Labs and FEED – to the users who might not be aware of them?
"Sure thing, here we go:
Hangar:
Hangar is a smart notification shortcuts app I created over 3 years ago. It intelligently creates a shortcut bar of your most used apps based on frequency, time spent in app and recency.
It is open-source and was featured a number of times on XDA and other popular Android sites.
You can actually now find Hangar's functionality (native) in a lot of vendor ROMs like OxygenOS & HTC Sense and even Nova Launcher.
XDA Labs:
I've been working at XDA for the past two years and Labs is the first app I did with them. It's an app/xposed store and a forum browser with some extras.
To be specific I did the app store section of the app with smaller additions and fixes to the Forum section of Labs (which was originally the app XDA One, which I didn't create.)
XDA FEED:
Feed is a new device-specific app that has all the best (hand-picked and curated) content for your device. It was something I came up with.
XDA (being the awesome group of dudes they are) were super supportive and we planned a platform around the idea. Fast-forward to a couple months later — it's live and initially supporting the OP3/3T and the Pixels.
Recently we launched a version for all devices, with user-submitted content and content voting. We're working on fleshing out the submission and voting process to make it easier to suggest to Feed, as well as create teams and processes around managing all those submissions and getting user content
approved and in the app.
We're learning as we go and listening to the feedback we're getting from the community."
How do you plan on maintaining the co-existence of FEED and Labs. Will both applications be merged into one or will both of them retain their singular, unique functionalities?
"The problem with merging Labs and Feed is that the forum code of XDA Labs is super deprecated, buggy and needs major refactoring and fixes. Due to this, having Feed as part of that code would make Feed buggier and Labs bloated.
I made Feed separate so that users could have a better experience — with a modern app targeting a modern version of Android, using progressive, superior libraries, etc.
The apps are actually entirely different. Different backends, APIs, etc.
The content is similar (Both Feed and Labs have forum links, ROMs and kernels), but Feed also supports content not hosted or found on the XDA forums, like icon packs, themes, videos, articles, etc.
To answer your question though,
Labs is entirely automatic based on forum content and devs updating apps and xposed. Feed is hand picked curated content that will eventually be populated automatically either by users, algorithms, machine learning, etc.
That said, if it was done right I would definitely entertain the idea of merging them into a single app, with the My Device section of Labs kind of populating a Feed style list.
The problem is it would take a ton of work to get right and I'm the only dev on both Feed and Labs, and simply don't have the time.
XDA is a reflection of the Android enthusiast community. I personally wouldn't want that entire community condensed into 1 app, especially if it made the experience slower and bloated.
That said, if it was done right I would definitely entertain the idea of merging them into a single app, with the My Device section of Labs kind of populating a Feed style list.
The problem is it would take a ton of work to get right and I'm the only dev on both Feed and Labs and simply don't have the time."
How has the journey of developing FEED single-handedly been? I'm sure a lot of developers out there could learn from the hardships you might have faced while working for FEED by yourself.
"It went really well actually.
I've done a few talks in Toronto at tech meetups about the tools I used for specing out, developing and implementing the API, as well as how I protoyped the app with mock data before I did the actual backend.
I learned a lot from the work I did on Labs and Feed is a much cleaner, streamlined app that had a much easier development cycle as well.
Also Feed is straight up the app I secretly always wanted to browse XDA with. I don't have as much time to hunt through the forums and I want to just see the best content for my device automagically.
Labs' My Device section was a step in the right direction but Feed creates such an easy streamlined process that gets even more types of content than what's on the forums."
How easy or different is writing apps compared to building a ROM from source?
"They're apples and oranges. Most of the ROM devs I know aren't writing original code, they're cherry picking old commits and resolving code conflicts.
The devs I know who are writing actual code are also mostly just tweaking existing views and functions in the framework. There's a big difference between writing an entire app that can have network calls, services, databases, etc and tweaking a few gestures, onclick events and views.
I think ROM dev is a great way to get into app dev though, because tweaking view visibility, alignment, font colors, etc is much easier than architecting something from scratch as you would an app."
What do you think the future of app development will be like?
"The future of app dev is tough to predict.
On one hand you have companies like Facebook really pushing things like React Native, and on the other you have Google pushing Progressive Web Apps, and both go against traditional native app development.
Google is also launching Instant Apps, arguably one of the best things for indie devs/sites to get their apps in the hands of new users.
It's never been easier to get into app dev, but it's a lot harder to market and expose new users to your app, considering how saturated the market is and how so many apps built into devices have a lot of the core functionality most people need."
How did you nail the UI of both applications? This seems to be a step most developers struggle with.
"With Labs much of the UI (again, only the store stuff) was done by the talented Faiz Malkani. He mocked up the pages and flow as we were specing out the backend.
He also designed the Labs and Feed icons, as well as the Labs banners you can use in forum signatures.
For Feed though, I just based it off a kind of typical "feed" interface. I don't really break new ground there. I tried to keep it simple and straight forward, a contrast to how a lot of new users see browsing for content on the XDA forums themselves.
I wanted fancy animations to keep users engaged, but the actual layout of the app is simple.
That said, I do like mock-ups and I always try to spec out my projects entirely before I begin. My mock-ups for Feed weren't the most artistic, but they were practically identical to what the UI would end up looking like.
From my experience I would say the majority of developers struggle with UI. It's a common problem so you're not alone if you find it difficult part of app dev.
My advice is to find a designer. If you can't find a designer, maybe contact someone in the scene with a good eye for style/colors/etc.
You could just have a chat with someone behind your favorite theme or icon pack and probably come away with a sense of style or at least a rough idea of what your UI could be."
How has your journey with XDA been through all these years?
"2009: Lurking and reading. Kept it stock holding out for a carrier update (!!!)
2010: Lost patience, rooted, flashed my first custom ROM, got hooked. (Hi pulser/VillainROM team)
2011: Created a web app for V6 Supercharger (if anyone remembers) to automate patching your framework file, joined the Andromadus team and started my first custom ROM builds/features (for the HTC Vision/Desire Z whattup)
2012: Joined SlimRoms
2013: Maintained the SGS3/SGS4 devices for Slim. Started Android app dev at my old day job
2014: Created the open source app Hangar, started working with XDA late 2014.
2015: Labs alpha launched
2016: Labs beta launched
2017: Feed launched"
What trends in development have you seen change drastically?
"I think with ROM dev we've definitely gotten to a point where users are pretty happy with existing features.
So many features started in other ROMs are now part of AOSP and I don't see a lot of innovation in that space anymore, maybe because we're too content.
There are obviously still some cool projects going on, but because of how locked down some devices are, things like SafetyNet, and how much more difficult it can be to root and flash custom ROMs (looking at you, Pixel), the userbase seems to have shrunken or at least become more apathetic/involved.
A lot of the scene's most prolific devs have gone from doing this as a hobby to working for other companies."
What has been the constant motivation for you when it comes to application development?
"Despite some people, I love XDA users. I've personally seen and maybe even helped new users go from being complete noobs to aspiring developers.
We still have that in this scene — we still have passionate people who love creating things and sharing their work. Google makes it harder for AOSP every year but I still (maybe foolishly) love Android.
XDA is an extremely small company, but the guys who work there, plus all the mods and contributors involved make it a real pleasure to work on Android enthusiast related projects.
One of the things that surprised me the most about XDA when I first visited the office was exactly how much the company cares about this community.
They sacrifice large amounts of time and money for projects like XDA Labs & Feed to create tools and platforms that the community can hopefully benefit from.
Between them, their support, and the users I've never been more motivated or fulfilled in my entire career."
What do you have planned for the future of FEED?
"In the immediate future, we're launching the user submission portal, which will let people submit links and content for other devices.
After that I'd love to add search, better sorting and filtering of content, and eventually Google Now-style recommended content, where based on what you're into it can recommend you more of the things you want to see.
I'd like to backport features, optimizations and fixes in Feed to Labs too.
Like I've said before, I just want Feed to "work" for people. I want both Labs and Feed to be platforms that indie devs can use to get their content out to more users.
I want the users to have an easier time finding that content. By making these things more accessible to more users, I think we'll ultimately benefit as a whole."
How would you describe your journey as an Application Developer initiating at the bare beginnings, throughout Hangar, XDA Labs and the recent FEED application?
"My bare beginnings weren't super bare. I'd already been developing for over a decade, but I had moved almost entirely to python and hadn't touched java since the 90s
That said, the company I worked for at the time put me on an Android project where I was able to work fulltime (~10hr days) on Android for an entire month. I bought a few books, cracked down and finished the app.
Hangar came very soon after and with Hangar I had started researching other 3rd party libraries and I was able to work with homescreen widgets, services, notifications, all that kind of fun stuff. Hangar was also completely a hobby, and I put some serious hours into it.
It's the kind of app I always recommend somebody starting out to do. Find something you need or want to have on your device, even if it's not going to be somer "killer" app, even if it's just an improvement over something you're already using.
That's the easiest way for somebody to find the motivation and drive to learn Android and dive into a first app. Hangar was also never meant to make money, it was an open source hobby project.
With Labs I went a step further and was able to really plan the platform from scratch. Scope ended up changing as development progressed, but all things considered it went smoothly. Labs put me in touch w/ the XDA mod community and brought me back to running a thread again, which I had missed and really enjoy doing.
Feed was my chance to really start over. I was able to architect the whole thing from scratch and I was given almost complete autonomy and creative control.
I used very progressive libraries and was able to better lay out the app using proper MVP. Like I said before it was also the exact kind of app I wanted to browse XDA with, so I was ultra motivated.
The important thing with all those apps though was being able to really touch on all the parts of the Android dev spectrum.
I've tackled all the major components which is super important as an app developer. That said, I learn something new almost every single day.
Android is changing so quickly and you really have to put in the hours to keep on top of things, it's more a young person's game."
from xda-developers http://ift.tt/2sqL29o
via IFTTT
No comments:
Post a Comment