Showing posts with label Android Mobile App Development. Show all posts
Showing posts with label Android Mobile App Development. Show all posts

Tuesday, 3 March 2015

What are the features of the latest Android OS that Android App Developers Must Know?


Google has been really quick in terms of launching Android versions – one after the other, leaner, fitter and better than the previous. In the month of October, 2014 Google has launched the latest Android version 5.0 - codenamed the Lollipop! While every version of Android has come with interesting features, specific to itself. Lollipop too has own set of specific features and functionalities – and being the latest of all that Google has to offer, these features of the ‘new’ Lollipop need to be seen and understood by everyone having a stake at an Android app development endeavour.
Following offers a brief about all those important facts. Let’s explore them:
  • Style redefined: Lollipop comes with a very eye catchy style. By using finger touch, the user can view menu items in an animated way across. When the menu items slides over, the user can see the realistic 3D style, backdrop shadow which makes this very intuitive. An Android App developer can work towards a more engaging graphical/multimedia-content.
  • Easy to access navigation: The navigating nature of the device had been changed. For example, an app of Android application development company like gmail, when the home screen will open then left panel would be of new mails and right panel will be of content of the mail clicked.
  • Usability tracking: The OS keeps track of the user’s engagement. Based on this, notifications will come automatically in the home screen of the device containing the frequent used items. Suppose the user is doing any activity – say, playing a game – on the same time, if the user gets a call from someone then without having to stop the game, there will appear a notification (as a pop up) as an overlay from there the user can accept or reject the call. Similarly, in case of a new message too, the notification will be on the top of the screen – without hindering a session.
  • Lock-screen becomes smarter: The lock screen had been made very smart. It will notify the user of incoming messages, so he/she can view the messages without unlocking the screen. If a particular location is set or the user is using the Android Watch then the lock screen can be opened without any password or pattern or the user can use voice also to simply unlock the screen.
  • Smarter intra-device/app communication: Lollipop enables smarter intercommunications between apps. Now any app, approved in the Android app store (read, Google Play store) - no matter developed by which Android app development company - can use the feature of other apps developed by other Android app companies - across the genres. For example, if the user searches for car rent, then it will directly open a car rental app rather than a website.
  • Extended Battery Life: The usage of the battery in Android is much more as compared to other mobile OS – so there more energy usage! Lollipop attends this problem by coming up with a built-in battery saving mode, with which the battery life of the Android device can be extended more than 90 minutes as compared to other OS versions of Android .
Generally great appearance brings performance issues in an Android device. But this latest version of Android had been developed by concentrating on performance as well as appearance.
Reference: https://www.apsense.com/article/what-are-the-features-of-the-latest-android-os-that-android-app-developers-must-know.html

Friday, 27 February 2015

3 Points that You Must Prioritize While Developing an Android App


For a developer it is very important to know what the points he/she needs to follow while developing an android app. Based on the understanding gathered around the expectations of the business/individual commissioning the game development a developer can decide on the structure of an app, it’s development timeline and other important aspects corresponding to the QA/testing as well future management.
Here, in this article, details around such points that may help a developer offering the Android app development solution (as well as the business/brand requiring the app) to have a clear idea of the app. In going across the points essayed below, one may want to be flexible and assemble the information in drawing conclusion for the next.
  • What would be the version of the android on which the app to run?
The app which the developer is going to develop which version of the android is it going to target. Is it 4.0 or 4.1 or other version? Every version comes with a features list, so the app should function properly with targeted version based on the features list.
  • What would be the device used by the user?
An app developed by an android app company should focus on a particular target device. Like will it be used by the user in mobile or in a tab? This should be determined before developing the app. Though an android app should be device independent, but a specified device should be targeted. Based on this the developer will determine the responsiveness and usability of the app. For example, an car racing game, it is better to be played in a tab rather than in a mobile, with tab the structure of the cars and the roads will response very smoothly, which will result to a more usability of the game app.
  • Will it be running in online mode or offline mode?
Android app development solution company should determine will the app will run internet or without internet. This also depends upon the type of the app. For example, if the app is a simple calculator, which calculates numbers which are input by the user, then no internet connection is required. Whereas, if the app is weather updates app, which will display the current weather condition to the user, then definitely internet connection will be required. So if internet connection is required, then the developer will have to define the coding in a way that if required the app can enable the internet connectivity of the user’s device and gather information from cloud.
Whatever the features the app going to provide, it has to be lightweight but still very effective, the app should take minimum resource of the device like network, battery, display etc.
Hope the points detailed above help a developer/an android company to ideate and take complete control over the fate of developing an android app. And despite the growing expanse of points to be paid heed to and while there are many points need to be followed, these points primarily will help developers to understand the primary requirements and proceed further – and businesses to have a clear estimation of the expenses and the value of the development.


Reference: https://www.apsense.com/article/3-points-that-you-must-prioritize-while-developing-an-android-app.html

Thursday, 26 February 2015

Pros and Cons that You Must Know before Undertaking an Android App Development Project


Nowadays people like to use app to gather information rather than a website. And if the results of a study conducted by Flurry Analytics, ComScore and NetMarketShare is to be seen, it can be easily concluded how use of apps have dominated th marketplace since April 2014.
Be it an information-sharing app or a game, android is leading the market – and is rapidly gaining more grounds ahead of the others. Here are some of the advantages and disadvantage of an android app can be look at.
  • Advantages
    • Big advantage of an android app is that the release of an app faster compared to other types of app. The main reason behind this is that an Android Application Development company is not required to get its app registered through a particular panel.
    • Many app development company ends up being an Android App Development Company as because they don’t require any specific hardware components to setup the development environment.
    • Unrestricted development idea is the main key behind the success of android app companies.
    • The two markets into which the android apps are submitted are Google and Amazon, which are huge markets with respect to the viewership and monthly unique visitor footfalls - as a result, increases the view ratings and download ratings of an android app.
    • Android apps are very lightweight and ease of access in nature in compared to other types of app. As a result users tend to install the android app much.
  • Disadvantages
    • Due to many version releases of an android app, the support behind the product becomes less.
    • Android apps are very much exposed to the global market, so there are maximum chances of attack of virus.
    • Android apps use the system resource like battery of the device, network of the device etc. very much.
    • Generally an Android App Development Company develops an app for a particular version of android. As a result, the use of the apps in multiple environments becomes less or limited.
    • The user security system of an android app is less reliable. Because an android app can be used by any user from any location.
Above are some of the pros and cons of an android app. And it’s ultimately the businesses commissioning the app development project that needs to see the distant goals – with respect to the advantages/disadvantages – in making a decision.
Even if finally it’s the user who makes the final call on which app he/she will be using – and which he/she won’t – the success of an app largely upon the ‘need’ (primarily, desire) and the possibility of a solution to a problem that can be solved by the app in concern. In the count of increasing use of apps versus the websites – while competition is surging high – it’s the keen study of the above pointers that can surely help stakeholders (app developers/publishers/project commissioners) to draw a conclusion in their favour.

Thursday, 19 February 2015

Group apps: The Latest in Trend among Mobile Apps


Mobile app development is not a new avenue anymore. It, in fact, may be counted as an aberration if you have a business/product/service to offer and don’t have an app to call attention of Target users and engage them with you. While the domain of mobile app development has seen much advancements in the last few years – especially thanks to the way smartphones have added to their capacities, in the form of better graphical and processing capabilities – the domain of mobile app development refers to an exciting future ahead!

Google’s Android: The Leader So Far!
While iOS has always been setting newer standards, it’s been Android apps that have been scaling newer heights to challenge iOS in setting better trends. So Android app companies have thrived and businesses that primarily had interests in web design and development – alongside a sally across PHP and other frameworks, now have joined in horde to compete for a place of a trusted Android app company among the counterparts.

Leader with the leading trend

But, a leader can stay so only it continues to innovate and keep a vigil over the norm. No matter if you come across a business that wants to stamp its authority as an expert offering Android Apps Development Services from India or likes to present itself as a shining star in iOS apps, the need is to know if so called expert has experience in delivering as per the changing trend. As a business, you would want to participate where the crowd and money is, and the expert app developer, from India or any country of the world, must be able to serve to your needs.

What’s the Trend?

The problem with the trend is that it changes! So with failing concepts, changing trend has been the norm that highlighted this epic journey of app development so far. While the recent most of all the possibilities has been, the evolution of wearable gadgets – with Mirosoft’s HoloLens being the latest – the combination of wearable lens features with Smartphone apps holds a significant promise for the future.

What excites now (and has been so far, if you would follow the graph of a 2013 study shared below) is the role of Group apps for Android environment.

While app development has been far more than a technical joyride; instead, more than ever, an app development endeavor now comprises of efficient calculative risk-taking steps comprising of the right marketing tools towards generation of revenue. Thus, it’s prerogative f the developers and the business to ensure that from the very development phase the idea has to be to have an app which can fetch more peoples’ attention at a single point of time. If you are targeting groups instead of individuals at a single time you get several users. This multiplies the user base of any app in no time. The following part of this write-up highlights this revolution and its effect on enterprise level companies – especially intending to engage an Android App Development Company.

What the number says

There has been an unprecedented growth in the number of mobile app users. Flurry in its study on app usage stated that since 2013, there has been a 115% growth in the count of app users. This resultant abundance of users has prompted marketers to think intently about the widened scopes around group and social apps. While it’s always easier to target a group having the same taste and habit, the resultant ease have led to resurgence of many apps which are meant only for a certain kind of group. A host of already popular apps also began to include group-centric features.

Some of such popular features are Group chat, group check-ins, etc.

The scope of making it big with more number of groups being targeted at a single time made enterprise level companies adore the concept – and make a move in horde. You have the case of Watsapp to cite, which Facebook recently overtook. WhapsApp surfaced as an individual messaging app but transformed onto one of the biggest group app. It has the flexibility to be used both ways and it actually worked in ts favour.

Thursday, 12 February 2015

10 Important Apps For Your Android Smartphone

Seeking so that grips with all the sheer volume of software about the world’s most widely used system – Google android – isn’t uncomplicated task. The good news is I’ve also been setting up books that will stop working the fundamental as well as most current software on both iOS as well as Google android. You possibly can read my every week app app round-up in this article as well as my basics checklist in this article. It’s also possible to read my round-up associated with iOS software by the other day in this article.
Ladies coordinator associated with not-so-essential-but-still-awesome software floating around that will immediately improve the Google android expertise. The following, I’ve rounded way up an index of my favorites.
Handle
Handle is definitely an amazing locking mechanism monitor app giving you quick access for your favorite software. It’s basic but quite efficient. They have a number of crucial features; an example may be to change the common Google android locking mechanism monitor with a ‘cover’ that will presents the favorite software. Subsequent is usually so it instantly can determine what exactly software to help checklist about the lock screen dependent upon the method that you employ the cellular phone as well as where you stand. Therefore when you’re at work, the e-mail app is going to be about the lock screen. While when you’re in the home, Netflix NFLX -0. 94% could possibly be about the lock screen. It’s also possible to rapidly check software (like the calendar) while not having to unlock the phone.
Quality Time
Quality Time will be the ultimate touch screen phone addict’s files investigation application. This procedures the touch screen phone application and provide you in depth malfunctions associated with how you’ve used the cellular phone on the 1 week. What’s more, it permits you to locking mechanism the cellular phone regarding durations -called ‘taking a break’- any time you’ve surpass self-set application limits. This extends inside the backdrop as well as displays all of your exercise. Be informed, if you buy your initial number of effects, you’ll become amazed with how typically you’re eyes are preset on your smartphone’s exhibit.

Reference: https://androidappsdevelopersusa.wordpress.com/2015/02/09/10-important-apps-for-your-android-smartphone/


Wednesday, 11 February 2015

4 Unknown Android Features You Must Know


Have you ever notice that your Android device has some hidden features? There are many things you don’t know about Android but there are some you can enable to get advantage of it. For those people, who have android device and wants to know some of its hidden features, can go through this post and find some of the best one.


Dig into developer mode
Are you feeling sad to loss Developer Mode on your KitKat-enabled device? Developer options that provide access to USB debugging, fine-grained tools like displaying a CPU usage overlay, etc. are still available by just hidden.

If you want to enable them, you have to visit Settings >> About Device/Phone. After that, you have to scroll down to the Build number at the bottom of the screen and have to tap that number seven times. You will see the alert that Developer Options have been re-added to the Settings menu.

See what’s eating up memory
After turning on Developer Options, one can able to delve into your device’s memory that used on an app-by-app basis. Users have to visit Settings >> Developer options >> Process Stats for enjoying a handy visual display of your device’s memory consumption. It is best when Android device seems slow.

Get an instant speed boost
A new runtime named ART will be featured by Android “L” 5.0. ART replaces the older Dalvik runtime that all existing Android devices use. Those users, who have Android 4.4 KitKat, can get started with ART today; however, you have to remember that it is still experimental.

In order to turn on, you have to access the Developer Options and choose Select Runtime.

'Power saving' location mode
GPS is a well-known power consumer; however, Android 4.4 KitKat allows users to sacrifice location accuracy instead of additional battery life. Users don’t lose location information instead your device will find Wi-Fi networks to estimate your position and reduce battery drainage.

To use real GPS satellite information, you have to activate 'High accuracy' mode to decide where you are. Along, it also views your battery life quickly drain. One can have to find options under Settings > Location.

These are some hidden android features that you might not aware of. Looking for some more interesting features for android? Keep visiting our blog for regular update.

Additionally, if you are searching for experienced Android app Development Company, then contact us now at :- http://www.claritusconsulting.com/

Tuesday, 10 February 2015

Android App Development in Scheme


The Speech App using XML Layout

In our previous example we created a Text to Speech app in which we created an instance of the view object and passed it to the on-create-view macro. In this example we will use the android XML layout facility. You will see how simple our apps become.

First edit the "res/layout/main.xml" file to read as follows.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="fill_parent"
  android:layout_width="fill_parent"
  android:orientation="vertical"
  android:name="main">
  <TextView android:text="@string/label_text"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"/>
  <EditText android:id="@+id/edit_text"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"/>
  <Button android:text="@string/button_text"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:onClick="onSpeakButtonClick"/>
</LinearLayout>

Notice the second to last line. We are setting the onClickListener of the button to a public method in the activity class called "onSpeakButtonClick". Next edit the "res/values/strings.xml" file to read as follows.


<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="app_name">hello</string>
  <string name="label_text">Enter the text to speak here</string>
  <string name="button_text">Speak!</string>
</resources>

Now let us look at the source code. Edit your "src/kawa/android/hello.scm" file to read as follows.


(require 'android-defs)

(activity hello
(mTts ::android.speech.tts.TextToSpeech)
(on-create
((this):setContentView kawa.android.R$layout:main)
(set! mTts
      (android.speech.tts.TextToSpeech
        (this)
        (lambda (i) ()))))
  ((onSpeechButtonClick (v ::android.view.View)) ::void
    (mTts:speak
      ((as <android.widget.EditText>
        ((this):findViewById
          kawa.android.R$id:edit_text)):getText)
      android.speech.tts.TextToSpeech:QUEUE_FLUSH
      #!null)))

First we create the android.app.Activity class using the 'activity' macro, with the name 'hello'.  Inside the hello class we define an instance variable and two methods. First we define the instance variable mTTs. Next we use the 'create-view' macro to create the classes 'onCreate' method. Here, we did not use the 'on-create-view' macro as we did in the previous examples. Thats because we want to call the 'setContentView' method ourselves.
 ((this):setContentView kawa.android.R$layout:main)
In the line above we 'setContentView' to 'kawa.speaker.R$layout:main'. We have to use the full qualified package name. We use the '$' in 'R$layout' because that is how inner classes are generated by the compiler.

If you noticed we did not call the super class onCreate method ourselves. This is called behind the scenes by the 'on-create' macro. This is one of the advantages in developing with scheme. We can simplify coding using macros. We then set! the mTts instance variable to a new instance of the android.speech.tts.TextToSpeech class.

We don't have a macro to create the onSpeakButtonClick method for us. So we define the method itself here. The rest of the code is the same as the one we saw in the previous example.
Now build your app and run it.

Reference: http://androidscheme.blogspot.in/2010/10/speech-app-using-xml-layout.html

Wednesday, 4 February 2015

Google Cloud Tools for Android Studio V1.0: Android App Developers Now Can Create, Innovate, Explore, Easily!


Android app developers have every reason to feel excited about the latest Google Cloud Tools. The one-stop multi-utility platform will render the regular Android Application development the unforeseen ease to take care of the both, client-side and server-side operations, side-by-side, via the same Java tools.
You can build a mobile apps client and server code together in one platform with Android Studio version 1.0-Google Cloud Tools – it’s that simple!
What’s in a name?
These cloud tools, which are meant for Android Studio v1.0 enable developers to build the ‘service’ as well as ‘client’ side of the mobile app at the same time – on the same platform. Android Studio 1.0 - built on the popular IntelliJ IDEA (Community Edition) Java IDE - was released in early December last year. Since it lacked a bit in offering refined functionality to the Android app developers, the release of Cloud Tools will open a window of possibility.
Also, while it has also become imperative to create mobile apps, having more than one web services to accommodate, why Google Cloud Tools have been modified for Android Studio seems evident.
What’s in Stake
With the help of Cloud Tools, a developer can make the most of Google App Engine by using its same IDE for app and mobile client. Thus, on both sides of the app, developers can use the same Java language tools, which would make it easier for the users to keep them in sync, as per the changes every now and then and it would further boost up the Android Application Development on a huge scale. To begin with these Cloud Tools, developers need to add a new Module in their Android Studio Project, which would give them three choices or module types in the form of
  • App Engine Java Servlet Module,
  • App Engine Java Endpoints Module and
  • App Engine Backend with Google Cloud Messaging
The first one, which is Java Servlet Module, allows a developer to implement a plain servlet class, as per the requirement. To build REST endpoints with HTTP verbs and declarative routing and automatic Java Object serialization, developers can opt for Java Endpoints Module. If developers want to make the most of the power of endpoints, which also allow them to send notifications from their server to their clients, then they can choose Backend which is also complimented by Google Cloud Messaging. At the end of this process, developers will get their service code, placed next to client code.
A promising start
It’s certainly a very good start that Android Studio 1.0 made with Google Cloud Tools at its helm! Now, any Android App Development Company in India or anywhere else in the World will be able help Android app publishers and marketers with the added advantage of Android Studio 1.0.
The speed and accuracy of a delivery resulting out of Android Studio 1.0 and Google Cloud Tools will help businesses and users alike.
It’s Easy: Try it Out!
Whether you are a world-beating Android app company or a humble team of programming aficionados who like to dabble in Android OS, no matter what is your skill or capacity, to test the power of Android Studio v1.0, developers or users just need to sign up for a free Google Cloud Platform trial, which would give them time and space to scrutinize every important aspect of this platform. While this would surely further enable developers to create outstanding apps – from front to back-end - there is a lot to build and explore!

Monday, 2 February 2015

Awesome Android Apps That You Would Really Like it –MADS


Android has become ubiquitous by taking centre position in today’s dominant world of smartphones & tablets. Android apps are excellent combination of quality, utility and approachability. It’s really a challenging task to select top 10 applications from more than 700,000 applications but here are the shortlisted ones that include the latest and most valuable apps at work, home and on the road.
Evernote: Evernote is a splendid app which can efficiently organize your personal and professional environment. Users can take notes, snapshots, record memos, or attachment along with many other amazing features. Evernote can organize, search and collect clumps of information across multiple platforms.
Swiftkey 3: Swiftkey 3 is one of the unique apps developed by TouchType Ltd. It can interpret each and every pattern in our typing. Swiftkey 3 continuously upgrades itself through SMS, your email and also from enabled social media and gives us accurate predictions as we type.
Expedia hotels and flights: Expedia is an excellent bar of all global travel tools with copious and detailed information. Tracking user’s location, it provides with the best deals in hotels & air travel. Expedia is very well designed and extensively used app.
Pocket: Pocket is a fully-featured offline reader which can save any article, content or any other information on the web. So if user comes across any important article or content and don’t have time to read at that moment, he can save it through this app and can refer it whenever time permits.
FourSquare: Foursquare is an excellent app which helps user to explore new venues, locations, tips and tags. Foursquare is totally redesigned in 2012 so it is very flexible to use and user can speedily get the knowledge of unknown place.
PixLR Express: This photography app offers over 600 different photo-editing effects and tweaks for both phones and tablets. It is very simple to use and provides amazing results.
Grimm’s Snow White: Grimm’s snow White is the most entertaining app for kids. This app is deceivingly simple and has got well–executed storybook which gives perfect introduction to the world of fairy tales.
TED Conferences: TED app permits you to select and enjoy talks and lectures of world’s most captivating legends & gurus located at any place in the world.
Pinterest: pinterest allows user to share and enjoy. It helps user to set pins from anywhere using the built-in sharing system and thus allow them to share and take full advantage of android system.
ANCESTRY: It is an exclusive full-featured genealogy app that can deliver dazzling designs.
Would you like discuss your Android App Development related requirements! Contact us now at http://www.claritusconsulting.com/android-apps-development.html
Reference: https://mobileappdevelopblog.wordpress.com/2013/06/11/awesome-android-apps-that-you-would-really-like-it-mads/

Tuesday, 6 January 2015

5 Best Android Mobile App Development Tools


Are you an Android app developer? Have you worked with many companies to develop different apps? Are you suck in getting better UI while developing your app? Then i think you did not try out any of the tools we're going to reveal you right now. 

Google developer tools many of the them are extremely poor in providing better UI and almost tedious. But still there are some companies who provide better android application development tools and almost you might be getting some of them are quite free as their TOC. Genymotion, Fluid UI, Acorn, and Ubertesters are most popular from them. They all provide different services but very much effective while you will develop an app you will seriously feel the necessary.

Let's meet the services of these different companies and learn what others feel about them around the industry.

The faster Android emulator: Genymotion



Are you familiar with default Android Emulator while developing an app, what do you  see while performing it just it's extremely slow and tedious or nothing beauty with UI. But thanks to Genymotion they have fixed this bad issue of android development and provided a free service(for personal uses). Genymotion is an emulator using x86 architecture virtualization, making it much more efficient! Taking advantage of OpenGL hardware acceleration, it allows you to test your applications with amazing 3D performance.

Fluid UI to Prototype Their Mobile Apps


When you can design your own app then why you're reading? Just install Fluid UI and design your first app for your favorite android mobile. Having 163k designers from 189 countries trust Fluid UI and amongst them world class designers suggest using this tool as the best alternative of android development. This is a clear web-based mobile storyboarding and prototyping tool which allows you to fastest arrange native-looking mock-ups.

They allow two different services paid and free where paid version starts at around $10/month and unlocks the ability to share clickable prototypes and PDFs of your creations with others.

You can choose from over 2000 Android iOS and Windows Phone widgets or upload your own images to get that pixel perfect look. Then preview your mockup directly in your browser or install the Android or iOS apps to test directly on your device. Join Fluid UI and develop your app right now

iOS and Android App Icon size generator


While developing an app you feel necessary to use icon, splash screens and other default Android graphics. AppIconSize.com will be your helper right then by auto-magically generating all of your needed files (including landscape and portrait versions) from a single image. They can generate sizes for iPhone, Android, IOS, Facebook, web touch icons, Blackberry, Windows Phone, Bada and WebOS app icons. This is beautiful tool to app development of android.

Acorn 4 from Flying Meat Software


You don't need this tool if you don't use Mac to develop android app.

In android development we need stars, arrows, bezier curves, boolean operations, and text tools which are all powered by one vector tool of Acorn. Acorn 4 is the best and most affordable image editors comparing to others who will cost you $ hundreds but you will get Acorn only by $50 and no extra service charge you own it forever.

Ubertesters.com: Complete mobile beta testing solution


The one team which comes with minimalism, smart, flexibility, universal and real time to serve users utmost around the industry.  See while you're developing an app for android you probably may face following issues
  • Mobile application has usability bugs
  • It uses location based services
  • You work on a team that has many developers where you need to manage app versions
Now you will need some kind of app testing and distribution service where....Ubertesters.com can help you out. The features that Ubertesters provide are awesome and hence have stood out from the crowd and become the industry competitor very soon.

They have a feature like TestFlight which is their handy in-app "feedback widget." Once you integrate the app a pair of floating buttons appear inside the app which then tapped on and reveal controls for performing a variety of tasks including: Annotating screen shots, writing bug reports and running tests from INSIDE your running mobile app.
If you like this article don't forget to share with your favorite social media network, also you can leave comments while you have extra more suggestions about Android app development.