Delivering POWERFUL Web, Mobile and Salesforce.com Solutions

Archive for the ‘JWayer Insights’ Category

Jun

Comic Series 003 Overtime – Home Based Developers versus Office Bound Developers


Posted by Jan Rae Carino | Blog, JWayer Insights | No Comments June 3rd, 2015

Contributed by Rachelle (Web Apps & Mobile Apps Developer)

Hi, I’m a Developer at JWay. One of my passions, aside from producing useful applications (both Web and mobile), is sketching. I have always found drawing pictures to communicate a story as fun and entertaining. In this Comic Series for our Blog, I will attempt to tell short stories through pictures with little or no words that you are all welcome interpret in your own world (and words!). If any of them catches your attention, please do write us back. Maybe we can start a productive and interesting dialogue about our lives as Developers – helping businesses solve their problems through applications that we work so hard to produce and deliver as best as we could.

Read on or should I say “Look on”?

Comic Series 003 Overtime - Home Based Developers versus Office Bound Developers

Apr

Comic Series 002: Client Meeting: Home Based Developers versus Office Bound Developers


Posted by Jan Rae Carino | Blog, JWayer Insights | No Comments April 16th, 2015

Contributed by Rachelle (Web Apps & Mobile Apps Developer)

Hi, I’m a Developer at JWay. One of my passions, aside from producing useful applications (both Web and mobile), is sketching. I have always found drawing pictures to communicate a story as fun and entertaining. In this Comic Series for our Blog, I will attempt to tell short stories through pictures with little or no words that you are all welcome interpret in your own world (and words!). If any of them catches your attention, please do write us back. Maybe we can start a productive and interesting dialogue about our lives as Developers – helping businesses solve their problems through applications that we work so hard to produce and deliver as best as we could.

Read on or should I say “Look on”?

Comic Series 002 Client Meeting - Home Based Developers versus Office Bound Developers

Mar

Comic Series 001: Home Based Developers versus Office Bound Developers


Posted by Jan Rae Carino | Blog, JWayer Insights | No Comments March 11th, 2015

Contributed by Rachelle (Web Apps & Mobile Apps Developer)

Hi, I’m a Developer at JWay. One of my passions, aside from producing useful applications (both Web and mobile), is sketching. I have always found drawing pictures to communicate a story as fun and entertaining. In this Comic Series for our Blog, I will attempt to tell short stories through pictures with little or no words that you are all welcome interpret in your own world (and words!). If any of them catches your attention, please do write us back. Maybe we can start a productive and interesting dialogue about our lives as Developers – helping businesses solve their problems through applications that we work so hard to produce and deliver as best as we could.

Read on or should I say “Look on”?

Comic Series 001: Home Based Developers versus Office Bound Developers

Comic Series 001 Home Based Developers versus Office Bound Developers

Mar

Debugging 101


Posted by Jan Rae Carino | Blog, JWayer Insights | No Comments March 4th, 2015

Contributed by Honey (Web Apps & Mobile Apps Developer)

Debugging 101

As a developer, more than coding, what I enjoy most doing is debugging. Yes, you read that right. It is pretty much of a headache in reality, but once you get it all fixed and running, the feeling is just totally rewarding. So for those who are currently stuck with a bug or you find one in the future, I want to share with you some practical tips on what I do whenever I encounter one. I know most of these are simple and obvious., But I’ve known people who sometimes forget or who don’t know where to begin. So you can have this list as a reminder too.

  1. Ask your bestfriend – Google.

    It is a known fact that you can find almost everything using Google. May it be a recipe, a location, how-to-do-anything-stuff, and, of course, an error code. Asking our friendly Google is a great shot in finding what it is and how you can fix it. All you got to do is search for the right terms. And voila! The answer to your week-long bug would just be right around those lines already. You can even just copy-paste the exact error message and about 90% of the time, there will be results that are related and helpful to your glitch.

    Note though that not all search results in Google are reliable. You should know which sites you should follow. From my experience, my first in the list would be stackoverflow.com, followed by library APIs, github wikis, Google group forums, and the like.

  2. Learn to read.

    Error messages are most of the time very descriptive of where the error occurred and the cause of it. Looking at the error stack may be intimidating at times, but it’s something every developer must learn to read. Understand what the error is saying, what file, what line, and what function the error is pointing to. Know which ones in the error stack is important to you and try to find which part of it was the real cause of the bug.

    You can find these error messages on the logs when you try to run your application. In development mode, these logs are usually in the console. But in production mode, you would need to look them up in the server where your application resides in. Make sure you know where to find these logs or you can ask your system administrator for them.

    Notes:

    1. For server-side errors, they are usually under the /var/log/<server>/error.log folder (for Unix-based servers).
    2. For JavaScript errors, you can find it in the JavaScript Console when you do a right-click on the browser and choose Inspect Element.
  3. Know your tools.

    There are a lot of debugger tools out there. Most of them are even free. You may not know it but the IDE (Integrated Development Environment) that you’re using might have a debugger built into it too (NetBeans, Eclipse, RubyMine, etc). If you haven’t tried it yet, here are some really cool features that I like in using a debugger:

    1. Change variable values on runtime
    2. Watch variables so you would know when their value change
    3. Conditional breakpointing where you could choose to have your breakpoint only when a condition is met
    4. Check the call stack anytime

    Personally, I don’t prefer using debugger tools. Yes, they are very dynamic but they are really tedious for me to use. But, it’s a matter of preference so give it a go.

  4. Practice the art of printing.

    This is my favorite technique in debugging. Don’t laugh just yet. Logging/printing messages in between lines or inside functions not only helps you debug your codes, but they can also tell you important things about your application even when outside the debugging context. For me, it helps a lot in knowing which part of my code caused the error and, when variable values are placed in the messages, it tells me a great information on what may be the cause of the bug.

    Here’s a word of caution though. Make sure you place print messages in key places and not, literally, everywhere. Using this technique can either make your codes better or just make it a mess.

  5. Check compatibilities.

    In building applications, we use all kinds of tools and libraries. We need to understand that they don’t always match up together. A new version of a library might not work with the old version of another library that you’re using. You would need to read release notes or wikis of these tools and libraries so you would know if they are backwards compatible or if there are other steps that you need to make for older versions to work with it.

  6. Ask your real bestfriend.

    When after going through 1 – 5, your error is still lingering in your application, remember that you’re not alone. Your friends, colleagues, co-workers, or anyone in your network might have experienced the same thing. Post your questions in stackoverflow or in other forums. When you’re using a 3rd party library, try to reach out to the developers and ask them about what’s causing your bug. When you’ve already done your best, it’s never wrong to ask, most especially when you’re in a really tight deadline. J

  7. Be patient, take some rest, and go back to 1.

If you need help in any of your applications development projects, Web, Mobile and/or Salesforce.com, do feel free to contact our team. We are always happy to help!

Nov

Top 10 Free iPhone Apps for Web Developers


Posted by Jan Rae Carino | Blog, JWayer Insights | 2 Comments November 13th, 2014

Contributed by Ian (Web Apps & Mobile Apps Developer, Certified Salesforce.com Developer)

As a Web Developer, I am constantly in the hunt for cool and useful tools to make my job more fun to do. Here are my top picks for free iPhone apps:

  1. Dropbox
    There are a lot of online storage services that exist, but Dropbox is the most reliable and has the most mature remote collaboration tool available to date. The best feature of Dropbox is the sync and file sharing.

    The sync feature allows you to mirror folders between computers and devices.
    File sharing is just like the sync feature. It allows you to have folders mirrored on other people’s computer. This is useful for collaboration with co-workers where multiple users need to make changes to the same file. Once a file is changed in the shared folder, everyone receives the changes.

    To share your files to those without Dropbox, you can put your file inside the public folder and share the public folder link.

    The Basic version is free with 2GB of space. If this is not enough, there is a Pro version for $9.99 per month with 1TB of space.

    dropbox

  2. WhatTheFont
    Ever wondered what that fancy-looking font you saw in a magazine, poster or on the web? Wonder no more, this app will identify that font. Just whip your iPhone, take a photo and the app will identify the font in a few seconds.

    whatthefont

  3. Domainr
    Domainr lets you to search for top-level domestic and international domain names. It will also provide you with links to registrars (209 accredited registrars as of this writing). Domainr will also let you share search results by email.

    domainr

  4. Web Developer Bible
    Web Developer Bible is a handy reference for all web developers. It includes references for HTML Entities, Regex and SQL. A RGB to Hex Color Converter is also included. It is a very simple app but useful at times.

    Web Developer Bible

  5. POP – Prototyping On Paper
    Have an app idea? POP will help bring your sketches on paper come to life and make it interactive! This can be done in 3 easy steps:
    1. Sketch your idea on paper
    2. Take a photo of it
    3. Link the screens to each other
    Once done, you can share your mock-up via email, Twitter, Facebook to get feedback. Simply awesome!

    POP - Prototyping on Paper

  6. Google Analytics
    After more than 2 years since Google released Google Analytics on Android, it is finally on iOS.
    You can check website analytics including real-time visitor reports. You can also view real-time and time-based reports, view behaviors, conversions and more.

    Google Analytics

  7. TeamViewer: Remote Control
    Fantastic VNC client that supports Windows, OS X, and Linux computers. It is easy to use, fast and secure. The app supports wake-on-LAN (to wake up your computer), file transfer capabilities and clipboard passthrough.

    teamviewer

  8. iOctocat
    Github is an online repository for codes and projects. It allows commenting and issue tracking and both features are supported by iOctocat. The app supports public, private, and enterprise accounts and repos. It also includes notifications for Github status warnings.

    iOctocat

  9. Evernote
    Web developers spend a lot of time thinking about stuff and coming up with ideas and solutions. Often, these ideas get lost if they are not recorded. Evernote is a wonderful tool to store those ideas and solutions as you go about your web development efforts. The app can collect, store and access all things such as web pages, photos, code snippets, screenshots and sounds.

    evernote

  10. SEO Automatic Lite
    This app will review your domain and will give you a comprehensive and very detailed report with SEO suggestions, tips and problem areas. The app hasn’t been updated for a couple of years and the UI is quite outdated but it still works like a charm.

    SEO Automatic Lite

If you have any Web Developer tools you are particularly fond of, please do leave us a comment (or question, if any). If you need help with your iPhone or Android app, learn about our Services, particularly our Mobile Apps program, and feel free to contact us.

Sources
Dropbox
WhatTheFont
Domainr
Web Developer Bible
POP – Prototyping on Paper
Google Analytics
TeamViewer: Remote Control
iOctocat
Evernote
SEO Automatic Lite

Nov

Starting Your Android Development Adventure


Posted by Jan Rae Carino | Blog, JWayer Insights | No Comments November 8th, 2014

Contributed by Brian (Web Apps & Mobile Apps Developer)

In the past few years, mobile technology has boomed very rapidly more than ever. Along with it, we gain the capability to innovate our daily lives with simple mobile applications,using them as handy tools.

Android is one of those technology advancements most mobile device users can’t live without nowadays. Android is affordable, extensible, flexible, and somewhat efficient. Being open-source makes this platform easily accessible to a lot of developers.These developers have evolved to be a great community. Hence, you can find a lot of help through online communities and tutorials.

My journey in developing on Android has been really exciting. I started imagining things that I’d like to create and all that but realized quickly there’s a process I need to go through to turn-around with a good application. I’ll share a few points here as I went through developing my first Android application.

Required Knowledge

Android development is based on a Java language. I started developing with a moderate knowledge of Java, thus, learning Android development was relatively easy. For individuals with no knowledge in Java, or no prior experience in development, it’s fairly easy to learn, as long as you are determined to learn and tackle unknown terms and ideas. The whole learning and development period I had with my first Android application took roughly about a month.

Steps in Building Your Android Application

Based on my experience, here are the basic steps you need to consider in creating your Android application:

  1. Plan your application
    Android applications are categorized according to their purposes. Before you start creating an app, you need to build your concepts for your application. What is the purpose of the app? What does it do? Currently, the different categories of apps are as follows: Games, Books & Reference, Business, Comics, Communication, Education, Entertainment, Finance, Health & Fitness, Libraries & Demo, Lifestyle, Live Wallpaper, Media & Video, Medical, Music & Audio, News & Magazines, Personalization, Photography, Productivity, Shopping, Social, Sports, Tools, Transportation, Travel & Local, Weather, and Widgets. New applications are made every day. You should make yours as unique as you can and avoid copying other apps.Planning your application also means considering some following steps:

    1. Screen Designs – User interface and/or user experience is extremely important. This will basically dictate the flow of the application and how the functions will be used. Almost all features and usage will be defined by the screen designs, so it’s good to have a designer in your team or look for great design principles and examples online.It is essential that you consider the different screen resolutions and devices that would be used by your target audience. This means different design for mobile, tablet, and even for landscape and portrait views.
    2. Architecture – Once you have your screen designs, you need to set everything in order. A structure or architecture can give you the bigger picture and can help you track your project better. You can use graphic flowcharts such as: Home->Settings->Language

      apollo flashcard architecture

    3. Content – You need to plan how you want your content to be saved. Is it static or dynamiccontent? If you are considering dynamic content, it is best to save certain content in a database like SQLite or as a file on the device. You may also consider offline features and content, which is quite important since not everyone can have access to Internet.
    4. Monetization – It’s good to plan about making money off your app early inthe conceptualization stage. Some methods like in-app purchases can affect your content and other app features.
  2. Prepare your machine
    To start creating your project, you need to download and install the proper tools needed for your development. All of which can be found online easily and might I add, free!

    1. Android Development Tools (ADT) – These are tools that convert your assets, xmls and other files to a complete android package (APK), which then can be installed on mobile phones or uploaded to the market.
    2. Integrated Development Environment (IDE) – This is the tool you use to create and edit android xml files, assets, and other resources. This is very useful as it provides an auto-fill to some functions, error notices, collaboration tools, and many more. You can edit files thru a normal text editor, but why would do that if you have a perfectly great IDE?
    3. Android Phone/Android Simulator – You will need to have a device to test your app. If you do not have an Android phone you can also use an Android simulator. However, in using the simulator, know that you will be limited to testing functions that do not require a mobile number.
  3. Develop your application
    Again if you are familiar with Java language, this part will be easy to learn. The basic format of an Android project contains resource xml files and the Java code files – basically, a UI xml layout which your IDE can preview easily and a functions Javacode files wherein the behavior of the elements in the xml layout will be defined. There are lots of tutorials online and an active community of developers where you can ask or learn from. A great way to start is to try the android official documentation and help website http://developer.android.com.In developing your Android application, you can specify the different screen sizes you support and which orientation. You can also set the version of Android you can support. The developer website has lots of information and statistics on user devices that are active in the market.

    apollo flashcard UI

  4. Test your application
    Flexibility is one of the strengths of Android, but is also part of its weakness. Android’s multiple devices and different screen resolutions means that you have a wide range of testing to do. This means that your design should be fluid on the different devices and that is why planning ahead your design could save you a lot of time in development and testing.You can conduct your testing by using the Android Device Simulator (ADS) which can be downloaded for free. You can also use your actual device on-hand by turning the developer option on your Android phone in the settings page -> developer options.Testing with an actual device can have a very different feel and result compared to testing on the simulator so it’s best to test on actual devices.Your application can also set the different versions of Android device it supports. The more the versions supported the more testing needs to be done.

    You can set your Application settings such that the user can only install on certain devices defined in a certain category – extra small, small, medium, large, and extra-large screen size.

  5. Publish your application
    After finishing your app, you can put it up on Google Play. Google Play is Android’s most popular Application Market. But you can also put it up on other market services such as Amazon, etc. For Google Play, you would need to have a Google Developer Account which would cost you a one-time payment of $25. This would enable you to publish your app on the Google Play market, which also has other great features such as analytics and application management.Google Play has minimal screening in publishing applications. Your app can have lots of bugs and non-working features and it would still be published. But you do need to be careful, once a package is uploaded and published, it can never be deleted, it can only be hidden. The disadvantage here is that, once a package name is taken, you would need to rename it. So upload only your well-tested final versions.Google Play can publish your app quickly in a span of a few days.

    Apollo's Flashcards


    Get it on Google Play

  6. Maintain your application
    Android apps are easy to maintain in Google Play. You essentially don’t have to change the app every new version of Android. You can have multiple versions of your app. You can leave your app without any adjustments and it would still be available in the market. Of course, if you are a serious app developer though, you have to be careful not to confuse your users with multiple versions of your app.Updating your application version is simple. Just upload your most current version and it would automatically update.

I hope you have learned a thing or two from my experience in developing on Android. Good luck on developing apps with your bright ideas. Keep them coming!

If you have any questions, or would like to share any of your own experiences in building an Android app, please be sure to send us your comments. Thank you!

Oct

10 Steps in Building Your First iOS Application


Posted by Jan Rae Carino | Blog, JWayer Insights | No Comments October 31st, 2014

Contributed by Kerwin (Web Apps & Mobile Apps Developer, Certified Salesforce.com Developer)

10 Steps in Building Your First iOS Application

As a seasoned web developer, I have had my share of different projects and experiences in developing web applications. However, in this day and age, I have become interested in development of mobile applications. I wanted to do it, but I didn’t know where to start. After a few months, though, I was able to come up with my own iOS Application.

Maybe you’d like to start building your first iOS App? Here’s a quick guide based on my experience:

  1. Start with an application idea.
    Of course, to build an app, you have to have an idea of what application you want to build. Do you want to build a game, a utility, or a location-based app? There are many options. I suggest you go with whatever is closest to your heart.Important Note: If you want to release this application on iTunes, you need to come up with a very good quality app idea. iOS apps go through a strict process of review – the app should be interesting, shows a degree of uniqueness, should not be buggy, etc.I decided to build a small “karaoke” app for nursery rhymes, as I was seeing how my 2-year old daughter loved to play those kiddie iOS Apps (and how I was willing to pay for them!).
  2. Plan the application design.
    Before building the application, you need to come up with a design. The design involves a lot of aspects – here’s what you may need to consider:

    1. Screen Designs
      Before making the app, it is important to have your screen designs first. Otherwise, if you start building the application, you’ll find yourself wandering aimlessly thinking how the screen would look like.I wanted to make this app fun for kids. I wanted to have some sort of cartoon character in the app. I am no expert on the creative side of things. So I asked our Creative Designer, to create a group of characters for the app. I gave him my ideas on what the characters would look like. He made them look nice! Look at them (initial sketches of “karaoke” app characters):draft character design
      Later, he helped me create the screen designs of the karaoke app (integrating these cute characters). I liked his designs so I used them. Here’s a sample of my app screen with the characters:

      Character Select Screen

    2. Flow
      You need to come up with the flow of the screens. I wanted to make it simple. I came up with this flow:
      Splash Screen -> Title Screen -> Song Selection -> Play Song -> Play Again or Choose Another Song.
    3. Content
      The content of the app is very important. This is what will make your users use and continue to use your application.For my content, I had to choose some songs for the karaoke app. To make it simple, I chose 2 fairly simple nursery rhymes –“Twinkle Twinkle Little Star” and “Row Row Row Your Boat”. Having some experience in recording music, I recorded the songs myself.
    4. Monetization
      I needed to decide on how the app will earn revenue. There are a few ways to do it. I would recommend you check out Google Admob to serve ads.
  3. Get a Mac.
    You need a Mac to build an iOS Application (unfortunate for those Windows loyalists). Thankfully, JWay provided me one.
  4. Get an iOS Developer Account.
    You need to get an iOS Developer Account to be able to publish an application or test it in an actual mobile device. You also need it to get a copy of XCode. You can find information on the iOS Developer Account at https://developer.apple.com/programs/ios/
  5. Download XCode.
    XCode is the IDE for Objective C/iOS development. It’s easy to figure it out.Plus, it’s cool because there’s a drag and drop interface for creating your screens. It also comes with the iOS Simulator, which allows you to test the application in different iOS devices.
  6. Develop the application.
    This is the hardest part for me since I needed to learn iOS development from scratch. I needed to look over a some tutorials on how to start. Lynda.com was a great reference. YouTube was also very helpful. Raywenderlich is a tutorial site I frequently visited and still do to this day.The hard part is that Objective C/iOS Development is a lot different than web application development. Sure, design patterns and programming concepts still apply, but the framework structure is different, testing is different, etc. Developing the app on my spare time, I needed a couple of months to get the hang of things.
  7. Test the application.
    Of course, it is important to test the application to make sure that it works properly.Testing was easy because of the iOS Simulator. I was able to test how the app looked like in different iOS devices.However, it is important to test the application in an actual iOS device. That’s the best way to get a feel of how the app/gameplay actually feels like in an actual device. Using my trusty iPad, I was able to launch the application there and experience how it works.
  8. Submit the application to iOS App Store for approval.
    When the app is finished and has been tested properly, it’s time to publish the app to the iOS App Store. This would allow your application to be downloaded by the public from iTunes.This step is a long discussion in itself. Here’s a good guide on how to do it: Publishing To The App Store. I have yet to decide the right time to submit my “karaoke” app. When I do, I will surely share it here in our blog so please stand by.
  9. Congratulations, your application has been published!
    Congratulations! Now all you need to do is sit back, relax, and wait for your application to earn revenue. Not so fast! Thought it’d be that easy?
  10. Maintain your application.
    It is important to always keep your app updated to support the latest iOS developments and updates. For example.if you built the app for a certain screen resolution, later you may need to modify your application if Apple decides to come up with a new screen resolution (hello iPhone 6 and iPhone 6 Plus!). Otherwise, Apple may decide to remove your app from iTunes if they see that your app does not conform to the guidelines anymore.

There you go. I hope this helps you be on your way to making your first iOS application!

If you have any questions, or would like to share any of your own experiences in building an iOS app, please be sure to send us your comments. Thank you!

Let our Smart People do something Powerful for You!