Summer Hiatus

I just to give a quick update about this blog and the products we currently have on the App Store. Last month, I accepted an Internship at a wonderful company developing software. My summer is going to be spent working 40-60 hr weeks and working on exciting projects. During the summer, my applications will still be available on the App Store, but there likely won’t be any new updates. However, this September I’m planning on introducing big updates to our products and possibility introducing more applications into our product family. We hope to be back in September with more applications and more frequent development posts. Feel free to follow my personal account on Twitter for more frequent posts

Stay tuned!

-Sonny

Posted in Uncategorized | Leave a comment

TapTask 2.0 and Beyond

It has been a while since we last spoke. Even though it has been several months since I last posted, I wanted to take a few moments to speak about a product of mine that recently has been undergoing major changes.

I wanted to speak about the future of TapTask and the various changes that have been happening. The biggest change is the migration from open source to closed source. When I originally open sourced TapTask in 2011, I had hoped that it would allow the application to grow and allow others to build upon it. However, I realized last month that open sourcing wasn’t the answer. TapTask needed active development, which means it needs money. That is why with TapTask 2, I have changed the price to $0.99. This price helps support future development and allow me to continue releasing updates. Every sale allows me to dedicate more and more time into building great features.

Here is just a quick list of changes with TapTask 2.0

  • Cloud Syncing
  • Rewritten Notification Handling
  • New Sharing Features
  • Simpler Task Editing
  • Cloud Sharing for Lists
  • Improved List and Task Creation
  • Better List Security
  • New Touch Gestures
  • Tons of UI fixes
  • Bug Fixes

With TapTask 2, I made sure to rewrite and improve almost all the areas where TapTask wasn’t working right. I rewrote all the social networking components and build a new server-side script that allows users to easily upload their tasks and share it with friends. I added iCloud support for syncing tasks and lists to other devices.

However, TapTask 2.0 isn’t going to be around for long. We have just submitted version 2.1 to Apple, which adds back the Notes feature, includes a brand-new icon, and adds the ability to add tasks to your calendar. This release should be available early next week.

I am currently working hard on creating TapTask for iPad, which will be available as a Universal Binary through a free update. That means TapTask for iPhone users will be able to download TapTask for their iPad and sync tasks between the two devices. TapTask for iPad does not currently have a release date, as it still requires a bit more work to fine-tune the sync process.

TapTask on the App Store

Posted in Featured | Tagged | Leave a comment

Looking for Awesome Beta Testers

As I prepare to ship another amazing application I also prepare for the beta testing phase. The beta testing phase when you share your handwork, your child, with a small selection of the general public. I’m gearing up to seed my newest app, The Event, to beta testers for feedback, bug reporting, and more. I’m looking for iOS users running 4.0 or 5.0b7 (or higher). This new application takes advantage of a few iOS5 features while still supporting iOS4 users. See the details below…

 

Join the SonsterMedia Beta Testing Team and help test the latest and greatest software. We’re looking for several testers to help test, influence, and strengthen our application through several series of beta tests and beta tester feedback.

Join the Team

Posted in Posts | Tagged , , | Leave a comment

What Makes Apple Truly Magical

Today Steve Jobs announced that he will resign as CEO of Apple Inc. He recommended Tim Cook as his replacement for Apple. While the 7% stock drop in after-trading hours might show that investors are worried about the future of Apple, I have no doubt that nothing will change. What makes Apple magical isn’t Jobs or Cook or even Ive. The magic is every single employee who works the hardest and works endlessly to make things “magical”. Steve, we will all miss you as CEO, but things won’t change. Apple will continue making amazing things, keep pushing the limit of what’s possible. Apple keeps pushing because of every Engineer, every Designer, every Genius who works because they love to make a difference.

As Steve Jobs said in this 2005 speech at Stanford “The only way to do great work is to love what you do“.

Steve. Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.

Posted in Posts | Tagged , | Leave a comment

Freelancing Freedoms

So for the last few weeks there has been fewer posts than usual. I’m happy to announce that several weeks ago, I left my job as an Apple Technician and began working for myself as a freelance iOS Developer. For the last month I’ve been waking up, stepping several feet over to my office and coding all day. Sure, there have been lots of video watching and Minecraft playing. Sure, I have been relaxing. I’ve been having the time of my life developing and producing some really awesome applications. I’ve been getting real world experience submitting, developing, and debugging these application. I will post more once these application are available.

The one thing I learned from this experience is that sometimes you need to take risks. Sometimes you need to quit your job and throw caution into the window (Please don’t try this if you depend on a paycheck to make a living). For me, this experience has been amazing and is opening up new doors.

Posted in Posts | Tagged , , | Leave a comment

Alternative to SunGard’s Mobile Connection for Universities

This post is targeted to an extremely small audience of Software Developers for a University. More importantly, a developer that works for a university that is using SunGard’s Banner and SunGard’s Mobile Connection framework to run their facility.

SunGard has released a framework that they call their “Mobile Connection Framework”. The purpose of this framework is to make it easier for universities to launch university-specific applications that allow students to view grades, see their schedule, and access university developed programs. This framework consists of two components, server software and client software. The server software is installed on a public-facing server and provides JSON feeds of the Banner Data (grades, schedule, and more). The client software parses this information and utilizes a cross-platform called Rhodes. This means that with almost no configuration, a university could have a mobile app for almost every platform.

In my opinion (which in no way reflect the opinion of any universities I have worked with), SunGard’s client software is slow, buggy, and would never be something that I would ship to any user. For something that requires only a little configuration, it’s great. For something that deserves to be on the App Store, it’s horrible. However, their server component is extremely powerful. For my university, I decided that I could write a better native iOS application than the iOS version of their client software. For the last few weeks I’ve been planning, developing, and debugging my own version of their client software.

When I was developing my application, I had to figure out how SunGard’s server software generated these JSON files. They didn’t have any documentation  of these APIs because their client software is supposed to handle it all. When I did a Google search, I found only one blog about the downsides of their framework and it didn’t contain information about how to generate a JSON feed to parse.

Here are my findings for how to get a JSON feed for several of the functions. Each of these URLS require Basic Authentication where the username is the students username and the password is their banner password.

Authentication:

YOUR_URL:8041/mobileserver/rest/security/getUserInfo

Grades:

YOUR_URL:8041/mobilserver/rest/grade/student/”userID” (gets current Term)

YOUR_URL:8041/mobileserver/rest/grade/student/”userID”/term/”termID” (gets a specific Term, use previousTerm value for termID and iterate until the previousTerm value is nil)

Schedule

YOUR_URL:8041/mobileserver/rest/schedule/schedule/student/”userID”

I would recommend authenticating with the Authentication Module and parsing the userID. Save the userID with NSUserDefaults and use for any URL that requires userID.

If anyone has a question about writing native software that connects with SunGard’s Mobile Connection framework, send an @reply to @cocoacoding or @sonnyfazio on Twitter.

Although it requires more work to develop an application for each platform, the results are far better. You get application that look and feel as they should and applications that are super fast. SunGard’s client software took about 30 seconds to start up from being quit. My application takes about 3 seconds. Be proud of your university, create something that users will enjoy.

Posted in Posts | Tagged , , , , | Leave a comment

Developing iOS Apps with a Passion

Passion is a word that is thrown around far too often when wanting to describe how devoted we are to something. We belittle this word far too often. Passion should be used to describe the workers who wake up in the middle of the night to work on something they love; it should be used to describe the people who spend their life working on something because they simply want to make it better. To have a passion is to have an intense love or emotion for something; I have a passion for developing great software, and I truly mean passion. I live and breath my software. When I sleep, when I run, when I shower; I’m thinking about how to make software better, faster, more reliable. My room is filled with several large whiteboards, each covered in doodles, scribbles, and illegible writing about my software. My mind is the same, always working out how to make something work more efficiently. Fast is important; a user may get easily frustrated if something takes even a second too long. Even if you’re using the latest and greatest technologies to improve your speeds, you can always make something faster. When your app lets the user instantly tap, touch, scroll, flick, and swipe, your application melts away. You immerse the user in an environment where they don’t realize that they are running an app. They don’t realize that they are using an iPhone or an Android based phone. They become immersed in the utility, in the game, in the movie. Your application becomes this tool, an invaluable resource. That is what fast is all about. I work everyday to make this happen. That is what keeps me up at night.

I’m not just a software developer, I’m also a user. I use my applications on a daily basis. Many of my best feature additions have come from my want for a better way to do X or Y or Z. I depend on my software just as thousands of others do. That is why I work everyday to make that software better. I think that is what perspective every developer needs to have. They need to be the ones sitting in the user’s seat actually using the application. They need to believe in, rely on, and use the software they make. When their application crashes, they need to be the one who’s workflow is messed up. When their application has an update, they need to be the happiest user knowing that feature X, Y, and Z were added. They need to almost be evangelists for their own applications. I mean, they should be doing this automatically. Too many applications fail from lack of passion put into the development. Sometimes, it’s not our fault; there can only be so many hours in the day to work. However, sometimes people develop for the wrong reasons. When your main goal is to become rich, I feel like you’re already setting yourself up to fail. Customers can tell when a developer really cares and when they are just trying to become another startup with another hit product. I would rather create amazing software and give it away for free to thousands then sell a hundred and make a small amount of money. I mean that truthfully. I have done that.

Recently, I open sourced all my current iPhone applications to allow for more users to download them. I was really excited to gain over 9,000 users of my application in a few days. Sure, I might not be making anything from these applications (I’m actually losing money if you factor in my time spend developing) but I’m feeling the enjoyment of having more people being able to enjoy my software. I love hearing that my applications made something easier, better, or faster than before. I love that. I went from making a small amount of money developing to making absolutely nothing; but I’m still developing. I’m developing because I don’t care about the money. I don’t care about the fame. I care about the applications. I care about the making the user’s life easier.

I have nothing against developers who make money from their software. Hell, I know eventually some application that I’m working on now will be paid application when they hit the app store. I do have something against the developers who develop something without passion, creating something that they wouldn’t be 100% proud of, and trying to profit from their users. If you truly believe that you have made the most amazing RSS reader that will change the way we use RSS, sell it on the App Store. If you have been working months on this amazing application that has literally sucked thousands of hours of your life to create, sell it on the App Store. However, if you rush a product to launch and don’t put care or passion into it, your product will fail.

I’m a software developer and I care about my applications. I promise to never ship something that I’m not 100% proud of creating. I promise to always work my hardest to create the best. I promise to never settle for anything less than the best task manager on the App Store or the best sign displaying tool on the App Store. That is what I’m calling on every developer to shoot for. Shoot for the best first person multiplayer MMORPG app or whatever app you’re building. If I leave you with one thing, it’s that you must create something that you truly believe is the best. Something that you can proudly declare as #1 app for doing ______. I can’t promise that it will be successful or make you rich, but I can promise that the most important user of your application will be thankful. That user is you.

I’m Sonny and I develop TapTask, Sign+, and Hash+. I create amazing software that changing the workflow, changes the life, of thousands of users. What do you do?

Posted in Posts | Tagged , , | Leave a comment

iOS App Developing for Free (How to get more downloads)

Recently, during WWDC, I decided to make my application TapTask free. The result was over 9,000 downloads in a few days. This was an increase in from 2-4 downloads a pay (paid) to 400-2,000 downloads a day (free). I recently made the decision to make all my apps free and open source. While obviously this means I won’t profit from my applications, I feel that I’m building something more valuable than a few hundred dollars a year. I was building a user base. I now have thousands of users who are using, enjoying, and integrating my applications into their life. I now have users that depend on my application for managing their todo lists, creating signs, and generating mathematical hashes. The feeling that I’m getting from this user base is worth more to me than the little money I was getting.

iTunes Connect Sales Chart

iTunes Connect Sales Chart

Now Open Source

As a result of making it free and open source, I also get the ability to share my code with the world. New iOS Developer now have the ability to download a fully-featured task manager’s source on GitHub and start looking at how it actually works. Those new to Core Data now can look at how they would create a one-to-many relationship. I know when I have been completely lost on integrating a new technology, whether it be Game Center or MapKit, I’ve always looked to working Sample Code to find exactly how they did it. It is my hope that by providing my source code to all my applications, applications that I’ve worked hundreds of hours on, that I will be helping other developers build even more amazing applications.

Another benefit to making my applications free is being able to get my friends, coworkers, and family to download it. While I might have forced a few family members to purchase, there still is people I know who haven’t downloaded it. Making it free is just another reason that everyone should download it :)

GitHub Account

GitHub Account

Surprisingly, making my applications free also helps me get freelance work. My applications have a larger number of users which potential clients like to hear. They like to know that I’ve built something that can scale by the thousands. These potential clients are what is helping me afford to keep developer. I like to think of them as offsetting the hundreds of hours I worked on my current applications. I’ve even got a contract to develop an application for the college I’ll be attending. I’ll literally be building something that everyone around me will depend and know about.

You can find all my open source applications, including several iOS applications and a few Safari Extensions, available on GitHub. Feel free to fork my repository and improve my application. Almost all of my code is licensed under the Apache 2.0 Open Source License.

Posted in Posts | Tagged , , | 1 Comment

Developing for Open Source

Recently, I made the decision to open source all of my current iOS applications, making their source code available to anyone for free on GitHub. While these projects represented hundreds of hours of work, I feel it was right thing to do. I feel that other developers could learn from what I learned. I feel other developers can develop amazing application by looking at how I did X, Y, and Z.

In each of my applications, I struggled with implementing certain features. Whether it was hashing with MD5 or SHA-256, working with Core Data, or even using TenderApps’s API to submit a support ticket; I spent hours working on these features. I wanted to make it easier for another developer to implement these methods as well.

Another benefit of being Open source is a large boost in downloads (being that the application is free). I’m now proud to say that TapTask has over 10,000 users.

You can find, download, and contribute to my applications via my GitHub page. You can also download the compiled binaries on the app store.

Posted in Posts | Tagged , , | Leave a comment

Live Blogging WWDC 2011

Live Blogging WWDC 2011

Live Blogging WWDC 2011

With WWDC right around the corner, I thought I would annonce my plans for the WWDC Media event. I will be attending the World Wide Developer conferences starting June 6th. In accordance with Apple policy, I will only be allowed to photograph and share information about the Keynote address. This address, starting at 10:00am PST will include information about iOS5, Mac OS X 10.7 Lion, and Apple’s new iCloud service. I will be in the audience, live blogging the entire event as it happens. I will be posting about everything we see. Starting on June 5th, this site will go into temporary live blog mode. This means instead of the normal content, you will see a timeline of my latest tweets. I will be posting everything to my official cocoaCoding twitter account (@cocoacoding). Follow our twitter account to get your fix of live, near instant narrative about the new features. I will make sure to include pictures and as much detail about the services as possible.

Time: Starting June 5th

Location: @cocoacoding

Feel free to use the text and images posted on our twitter feed for your site. However, please provide a link back to either our twitter page or our website.

Posted in Site News | Tagged , , | Leave a comment

Business Card Printing for Developers

WWDC Business Card Printing

While it might be too late to get them printed in time for WWDC, you might need business cards for your latest development company. When it comes to business cards, nothing speaks louder than having a great and unique design. I recently ordered my business cards for WWDC and I used UPrinting. They offered cheap pricing, allowed me to upload my own design, and seemed to have great reviews. Total Shipping (Non-Rush + Printing Time) was about one week. They also offered a proofing feature where they would review your design and send you a preview of how it would look.

If you are looking for a great business card printer, I would highly recommend them. UPrinting also offers printing for brochures, calendars, and so much more.

UPrinting.com

UPrinting is NOT a sponsor of cocoaCoding. I’m just recommending a good company for great work.

Posted in Posts, Reviews | Tagged , | Leave a comment

Late Night Coding Session

Time for another late night coding session. These live blogs allow me to share great resources, code snippets, and other thoughts that occur while developing. Follow us on Twitter to get notified about these coding sessions as they happen.

Have a question or suggestion while this coding session is going on? Send a reply to @cocoacoding on Twitter

[liveblog]

Posted in Live from the Compiler | Tagged , | Leave a comment