Blog

Key Points from Apple’s Latest Keynote

Thinking about creating an iPhone or iPad app? Or buying a new laptop computer? There’s a lot of hype this year about Android device sales. The media is spreading a lot of false propaganda regarding Android taking over the mobile device industry. Let’s cut through the lies.

One of the most important stats when it comes to monetizing apps: iOS has a 74% share of the app revenue industry.  Android only has a 20% share.
App Revenue

The adoption rate for the latest version of iOS (iOS 6) is at 93%.
Installed Base

Comparison of iOS adoption rates to Android adoption rates.  The largest adoption rate on the Android side is an operating system that was released in 2010.
Installed Base

The adoption rate for Apple’s latest mobile operating system is 93% as compared with the latest Android operating system at 33%.
Installed Base

The iPad has an 82% market share compared with all other tablets.
Total Web Market Share

Smartphone users are using the iPhone 50% more than the Android devices.
Smartphone Usage

Apple iOS users are more satisfied than Window Phone, Android, and Blackberry device users.
Satisfaction

iOS has a 60% market share for all mobile devices.
Mobile Market Share

2012 Black Friday mobile shopping users used the iPad the most at 10%.
Black Friday Mobile

Over the past 6 months the adoption rate for the latest OSX release is 35% compared with Windows latest release at 5%.
OSX Adoption Rate

Posted in App Development, iOS, iPad, iPhone, News, OSX, Tips | Comments Off

iOS 6 Rotation Solution

New operating systems offer many new features but with that we also receive depreciations that can cause developers to back track and fix new problems.  In iOS 6 Apple depreciated the method shouldAutorotateToInterfaceOrientation.  Apple also added some new functions and changed the way that you control view and window rotation.

Q: What problems does this cause?
A: Apps ran in iOS 6 will not autorotate.

I read Apple’s documentation on this issue (Depreciated UIViewController Methods, View Controller Guide for iOS) and read through dozens of partial solutions online but nowhere could I find a complete solution.

Here’s a complete solution that works.

1. Create a new view based application using the latest SDK (Xcode 4.5).

2. Create a navigation controller subclass.  I named the navigation controller subclass CustomNavigationController.

//  CustomNavigationController.h
//  autorotationfix

#import 

@interface CustomNavigationController : UINavigationController 

@end

 

//  CustomNavigationController.m
//  autorotationfix

#import "CustomNavigationController.h"

@interface CustomNavigationController ()

@end

@implementation CustomNavigationController

- (BOOL)shouldAutorotate
{
    return self.topViewController.shouldAutorotate;
}
- (NSUInteger)supportedInterfaceOrientations
{
    return self.topViewController.supportedInterfaceOrientations;
}

@end

 

3. Link the navigation controller to your app delegate.

#import "CustomNavigationController.h"

4. Customize the app delegate didFinishLaunchingWithOptions method to subclass your navigation controller.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // set initial view
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

    navigationController = [[CustomNavigationController alloc]
                            initWithRootViewController:viewController]; // iOS 6 autorotation fix
    [navigationController setNavigationBarHidden:YES animated:NO];

    self.window = [[UIWindow alloc]
                   initWithFrame:[[UIScreen mainScreen] bounds]];

    [self.window setRootViewController:navigationController]; // iOS 6 autorotation fix
    //[self.window addSubview:navigationController.view];

    [self.window makeKeyAndVisible];

    return YES;
}

5. Add the supportedInterfaceOrientationsForWindow method to the app delegate.

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window  // iOS 6 autorotation fix
{
    return UIInterfaceOrientationMaskAll;
}

6. Add new methods (shouldAutorotate, supportedInterfaceOrientations, preferredInterfaceOrientationForPresentation) to your individual view controllers to turn autorotation on and off and specify allowable rotations. Keep the shouldAutorotateToInterfaceOrientation method so the app rotation continues to work correctly on older iOS versions.

In this example I added some idiom logic for a Universal app so the iPhone will not rotate but the iPad will. By setting shouldAutorotate to YES if you push from this viewController to a second view controller, rotate the second view controller to landscape then pop the second view controller – the first view controller will auto rotate back to portrait. If shouldAutorotate is set to NO then the first view controller will not rotate back to portrait:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (BOOL)shouldAutorotate  // iOS 6 autorotation fix
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations // iOS 6 autorotation fix
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        return UIInterfaceOrientationMaskPortrait;
    } else {
        return UIInterfaceOrientationMaskAll;
    }
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation // iOS 6 autorotation fix
{
    return UIInterfaceOrientationPortrait;
}

 

In this example both the iPhone and iPad will rotate in all 4 directions:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
      return YES;
}

- (BOOL)shouldAutorotate  // iOS 6 autorotation fix
{
       return YES;
}

- (NSUInteger)supportedInterfaceOrientations // iOS 6 autorotation fix
{
    return UIInterfaceOrientationMaskAll;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation // iOS 6 autorotation fix
{
    return UIInterfaceOrientationPortrait;
}

 

As you can see, this new setup allows you to add custom rotation settings to every view controller. For Universal apps, it also allows you to control allowable rotation for both the iPhone and iPad.

Download a sample solution: autorotationfix.zip

In this solution the first view controller will stay in portrait for all 4 rotations. The second view controller will rotate automatically for all 4 rotations. If you push to the second view controller, rotate to landscape, then tap the back button – the first view controller will stay in portrait.

Rotating the first view controller:

Rotating the second view controller:

Regards,

John DiSalvo
Lead Developer
DiSalvo Technologies, LLC.

 

Posted in App Development, iPad, iPhone, Tips | Tagged , , , , , , | Leave a comment

iOS 5 Supports Rich Text Editing

iOS 5 has now added functionality so the TinyMCE javascript tools will work in Safari. Editing rich text in applications has been very limited up to this point. We tested the latest TinyMCE.com demo on the iPad running iOS5 and it works. This opens a whole new realm of possibilities for developers that want to offer html editor functionality within their apps. We have a bunch of new applications in the pipe that will be leveraging this technology.

Posted in App Development, iPad, iPhone, Tips | Tagged , , , , , | Leave a comment

FireFox for Mac OS Sqlite Plugin Extension Problem

We’ve been using the SQLite Manger plugin for FireFox for a while now with no problems.  The FireFox SQLite Manger is an awesome way to create, build, and edit sqlite databases for iPhone and iPad applications.

Current configuration:
MacBook Pro 2.26 GHz Intel Core 2 Duo
Mac OSX  10.6.8
FireFox 5.0.1
SQLite Manger Plugin 0.7.5

This week we had a problem opening sqlite files.  We browsed to open sqlite databases through SQLite Manager and the files were grayed out.

We looked through the SQLite Manager project page and we could see other Mac users having the same problem (http://code.google.com/p/sqlite-manager/).  So what changed?

Well, if you select the sqlite database files and look at the get info (Command i) we noticed that the file extensions were wrong.  Changing the visible extension name was only changing the file name, not the file extension. We created the files with .sql not .sqlite so the extensions were wrong.  Changing the visible file name to [filename].sqlite did not help.

The solution was to change the file name in the Get Info window Name and Extension field. When updating the extension correctly in the Get Info window you get an alert that confirms the correct extension is being selected.



Now we can once again open our sqlite database files with the FireFox SQLite Manger plugin.

Posted in App Development, Database Development | Tagged , , , , , | Leave a comment

iPhone SDK Programming Tip – Backticks

There’s a long list of reserved words when using SQLite:

http://www.sqlite.org/lang_keywords.html

A good rule of thumb is to always use backticks (“) around database table and column names to avoid reserved keyword errors when running SQLite queries.

Below is some example Objective-C code from the iPhone  SDK that shows SQLite queries being done through a wrapper class.

Posted in App Development, Tips | Tagged , , , , , , , | Leave a comment

Joomla Main Menu fix for version 1.5.32

We upgraded a few client Joomla sites to version 1.5.32 and the Main Menu entries disappeared from the admin area.  We looked through a bunch of web posts that detailed different ways of solving the problem.  Some recommended replacing the list.php page buried deep in the site with an older version.  Others recommended changing the entries in the menu and menu types database tables.

Here’s how we fixed it:

The menu and menu types database tables are linked through the Main Menu module.  The code in version 1.5.32 seems to automatically add a hyphen (-) for any menu type names that have a space.  Our main menu was called “Main Menu” and in the top of the Main Menu we could see it named “Menu-Name” before we made any changes.



In the database we opened the menu_types table (ours was named  jos_menu_types) and updated the menutype column for the main menu from “Main Menu” to Main-Menu”.



We opened the Main Menu module … Extensions->Module Manager then selected the module to show the module settings.  In the Module Parameters section we picked the Menu Name ”Main-Menu.”



In the database we opened the menu table (ours was named jos_menu) and replaced all values for “Menu Type” in the menutype column with “Menu-Type”.



Voila!  Now the Main Menu appears correctly on the live site and the menu items are listed in the admin area.

Posted in CMS, Troubleshoting | Tagged , , , , | Leave a comment

LED Source® Launches Mobile App To Highlight Savings From LED Lightling

LED SOURCE®
3101 Fairlane Farms Rd., Suite 4
Wellington, Florida 33414
Contact: Marcel Fairbairn
Phone: 866-900-4LED
Web site: www.LEDsource.com

For Immediate Release
June 1, 2011

Media Contact: Sanderson & Associates, Ltd.
Christine Picchietti
Phone: 312-829-4350
E-mail: christine@sandersonpr.com

LED SOURCE® LAUNCHES MOBILE APP TO HIGHLIGHT
SAVINGS FROM LED LIGHTING

(Wellington, Fla.)—A new lighting energy audit mobile application for iPhones and iPads has been launched by LED Source®, a national and international supplier of LED lighting. The Lampinator™ app sheds new light on the benefits and cost savings gained by switching to LED technology.

In the past, customers had to wait days for a sales person to create a lengthy, unsightly spreadsheet depicting their potential savings, but with the Lampinator™ they are presented with a polished, easy-to-understand report right on the spot. The report is a snapshot comparison that provides information on a location’s current lighting energy and maintenance costs, along with the savings an LED lighting retrofit could offer.

“We can quickly and easily do a preliminary energy audit with a prospective client and deliver a report that will clearly show them how much they’ll save on energy and maintenance costs if they were switch to LEDs,” said Marcel Fairbairn, president and CEO of LED Source®. “The customer can then walk into a board room meeting and present the savings to their boss without having to waste time deciphering what’s what. If they want a full energy audit, we can provide that too.”

LED Source® specializes in hands-on LED consultation through to delivery via its entertainment, architectural and retrofits LED divisions. At this time, the Lampinator™ is only available to LED Source® sales experts not the general public.

“We provide expertise in the design, selection and procurement of all things LED,” Fairbairn said. “A client can come to us with drawings or a simple idea and we can take it the rest of the way.”

LED lights are mercury and toxin-free, 300 percent more energy-efficient than compact fluorescent lighting (CFL) and about 1,000 percent more efficient than incandescent bulbs, while using up to 90 percent less energy to run, and lasting 50,000 to 100,000 hours. Fairbairn said, “LED is a unique ‘green product’ because over time, it is one of very few green solutions that don’t add to companies’ operating expenses.”

Increasing usage of LEDs is also being promoted through federal tax incentives and local utility rebates that can cover anywhere between 30 to 100 percent of the cost of LED lighting for retrofit projects and other programs.

LED Source® was launched in 2005, followed by the franchising program four years later. It gained the recognition of becoming North America’s first and only franchisor of LED lighting, leveraging its huge buying power to provide discount pricing and cost-saving retrofits to customers as it seeks to play a key role in a fast-growing marketplace with unlimited potential.

“Some people have no idea they need LED,” Fairbairn said. “Even if they want it, they have no idea where to get it. LED Source® is seeking to eliminate that problem.”

#########

About LED Source®
Founded in August 2005 by Marcel Fairbairn, a veteran of the automated lighting industry, and Gavin Cooper who relocated to the USA from a UK based LED Manufacturer, LED Source® is a national and international supplier of LED lighting that specializes in full-scale evaluations and retrofits through its Retrofit Division in addition to providing consultation all the way through to supply on new projects within their Architectural and Entertainment Divisions. Applications include commercial office space, schools, churches, theaters, art galleries, restaurants and nightclubs, special events, residential and landscape lighting and much more, including the world’s largest cruise ship and the stadium that played host to Super Bowl XLIII. The company recognized a fast-growing marketplace for LED lighting with boundless potential. As a result, LED Source® has consistently grown an average of 40 percent each year. Additionally, the company launched a franchise program in October 2009 and expects to have a network of 150 franchise offices throughout North America within three years. For more information, please visit www.LEDsource.com

Posted in App Development, iPhone | Tagged , , , , , , , , | Leave a comment

The New Signalman Publishing WordPress Website

SignalmanPublishing.com

SignalmanPublishing.com

Orlando area based web development company DiSalvo Technologies, LLC, announces the launch of the new Signalman Publishing WordPress Website at signalmanpublishing.com.

“We were looking for a way to easily add and edit books and page content on our website, ” says John McClure, founder of Signalman Publishing. For two years Signalman Publishing updated their basic website manually. The book and title content was all there but the site needed a modern template, a blog, and the administrative tools for a non-programmer to be able to easily update multiple parts of the site. The site also needed a way to publish news articles and press releases.

Wordpress Admin Tools

Wordpress Admin Tools

“WordPress offers blog software and top notch javascript admin tools for free,” says John DiSalvo, founder of DiSalvo Technologies, LLC. “Using PHP we link the WordPress blog and admin tools with the customer’s website,” added DiSalvo.

DiSalvo Technologies uses a 3 step process to design and build modern dynamic websites:

1. Pick out a Template. Websites like TemplateMonster.com and Themeforest.net provide modern website theme designs at a very inexpensive price. The themes include all the HTML, CSS, images, and blog elements needed to build a complete website. DiSalvo Technologies uses PHP along with a basic MVC structure to build dynamic websites. Page parts are separated into areas that include the header, footer, application top, content, and navigation. Parts are included on each page to avoid repetition of code. Parts are updated in one location and the changes take place across the whole site.

2. Install WordPress. WordPress.org brags that their install only takes 5 minutes. They’re not kidding. Simply create a new empty MySQL database on your webserver, download and unzip the WordPress files into your website blog directory, and run their quick install wizard.

Custom PHP WordPress Integration

Custom PHP Integration

3. Link WordPress to the Website. By including a WordPress header on website pages, it is easy to add widgets that display dynamic content. Dynamic widgets include recent news, tag cloud, categories and the archive. It’s also possible to write custom MySQL queries that search by specific categories in the WordPress database. Using PHP these custom queries allow for dynamic post and page content anywhere on the website. As a final touch, the CSS theme from the website is added to the WordPress site. WordPress makes it easy to duplicate the standard theme and modify all the standard pages so the CSS matches the rest of your site.

“Using this creative three step process we are able to provide inexpensive yet very complicated dynamic websites with premium administrative tools,” says DiSalvo. “Charging customers to build administrative tools is not always necessary when storing simple page and article content,” concluded DiSalvo.

About DiSalvo Technologies
DiSalvo Technologies, LLC is an Orlando area based information technology company specializing in iPhone/iPad App development, mobile website development, database development, website design, hosting, and a wide range of technical support.
Contact: John DiSalvo, 407-497-4075

About Signalman Publishing
A unit of Kissimmee, Florida-based Signalman Enterprises, LLC, Signalman Publishing is an electronic book publisher with a mission to bring classics of non-fiction literature to the Kindle reader through the Amazon.com portal.
Contact: Urmila McClure, 407-343-4853

Posted in HTML, Javascript, MySQL, PHP, Web Development, Wordpress | Tagged , , , , , , , | Leave a comment

The Distraction Timer

Protecting Time® LLC, America’s preeminent resource for productivity improvement, announces the availability of its first iPhone application:  The Distraction Timer.

Developed in partnership with Florida-based DiSalvo Technologies, the Distraction Timer is designed to help users track the amount of time wasted on daily distractions and interruptions.  Manhattan-based Protecting Time® has already introduced an Interruption Analyzer and High-Payoff Time Calculator for the iPad.

“Distractions and interruptions can wreck the best-planned day,” says Protecting Time’s Jim Moore.  “The average person loses more than three hours per day to random distractions – a ringing telephone, an e-mail chime, have-a-minute encounters with others, reading junk mail – and the Distraction Timer is a terrific, cost-effective way to track that wasted time and create awareness of the hours slipping away.”

Developer John DiSalvo notes that the Distraction Timer generates a pictographic representation of the day’s interruptions and distractions.  “At the end of the day,” DiSalvo says, “you can see what distracted you most … and more importantly, see where the time went.”

Moore believes the $.99 application will help users better appreciate the value of their time.  “Time is not an infinite resource,” Moore says, “although many people treat it that way.  All we’ve done is make it possible for someone to track the time they waste on specific distractions.  Focus is the key; we believe that it’s not how hard you work that counts, but what you get done.”

Protecting Time® markets innovative productivity-enhancement programs to professionals and staff in medical, chiropractic and dental practices, law offices, and to management teams and executives.  The company is represented nationally by a network of authorized Licensees.

DiSalvo Technologies is a Florida software development company based in Orlando.

Download the app now:

http://itunes.apple.com/app/distraction-timer/id395130967?mt=8

Contact:  http://www.protectingtime.com

Posted in App Development, iPhone | Tagged , , , , , , , | Leave a comment

The High Payoff Time Calculator Tracks How Effective You Really Are

Developed in partnership with Florida-based DiSalvo Technologies, the High Payoff Time Calculator is designed to help users spend more of their high-value time on high-payoff activities.  Manhattan-based Protecting Time® has already introduced an Interruption Analyzer application, and intends to release a Distraction Timer for iPhone users later this summer.

“Many people confuse hard work with results achieved,” says Jim Moore, founder of Protecting Time®.  The reality is that most of us spend very little time each day on the things that produce the greatest benefit to our enterprise.  Our High Payoff Time Calculator allows users to see just how much time they’re spending on the things that really matter.  When you focus on increasing your High Payoff time, you can often produce four or five times as much benefit to yourself and your organization.”

First made available in a Protecting Time® program called Protecting Professional Time, the High Payoff Time Calculator allows the user to create up to six High Payoff activities, then monitor the amount of time actually spent in those areas.

“If you work a ten-hour day,” Moore says, “you may be spending two hours or less on High Payoff items.  If you correctly plan your day and manage your time according to achievement priorities, you can become up to 500% as effective as you already are.”

Developer John DiSalvo notes that the High Payoff Time Calculator allows the user to create a pictographic representation of a full week of work activity.  “At the end of the week,” DiSalvo says, “you can see how every day was actually spent … and more importantly, see where the time went.”

Moore believes the $2.99 application will help users better appreciate the value of their time.  “Time is not an infinite resource,” Moore says, “although many people treat it that way.  All we’ve done is make it possible for someone to track the time spent to achieve specific results.  We believe that it’s not how hard you work that counts, but what you get done.”

Protecting Time® markets innovative productivity-enhancement programs to professionals and staff in medical, chiropractic and dental practices, law offices, and to management teams and executives.  The company is represented nationally by a network of authorized Licensees.

DiSalvo Technologies is a Florida software development company based in Orlando.

Download the app now:

http://itunes.apple.com/app/high-payoff-time-calculator/id383598431?mt=8

Contact:  http://www.protectingtime.com

Jim Moore

Protecting Time LLC

www.protectingtime.com

347 640 2323

Posted in App Development, iPad | Tagged , , , , , , , , | Leave a comment