Blog
Read Zwiffer’s blog to learn more about how we do business, status updates, as well as useful tips and tricks.
Read Zwiffer’s blog to learn more about how we do business, status updates, as well as useful tips and tricks.
With the announcement of the third-generation iPad, the need for iPad developers is at an all time high. Thousands of businesses in Chicago, IL are looking to have their company run on an iPad or iPhone, and Zwiffer is here to help.
Zwiffer is one of the leaders of Chicago iPad Development, and constantly working to improve our services to better help you. If you or your company is looking to build a mobile app, let us know! We will come up with a custom design and quote specific to your business.
To read more about what Zwiffer can do for your business, read more about our custom app development services, or browse through everything else that we have to offer. As always, if you have any questions, please do not hesitate to contact us.
At Zwiffer, we are always about learning and being the best at what we do. Our knowledge-base is always expanding, and we take the time to make sure we are trained right.
That’s why last week, Matthew traveled to Atlanta, GA for a week long training camp on Ruby On Rails with the Big Nerd Ranch, known for their legendary training skills in computer development. For those who don’t know, Ruby on Rails is an open-source web framework that’s optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.
How does this help Zwiffer Inc. in mobile development? Well many applications that are on the App Store have features which require a back-end or server-side piece. Armed with this new knowledge, we further help achieve our goal of being the one-stop, all-in-one solution for your company.
Check out the certificate of completion below, and if you have any questions as to how Zwiffer can help your organization please contact us.
Billions of emails are being sent everyday, almost all of which are insecure. To understand the potential problems of this, we must first understand how email works. When you send an e-mail, whether by your phone or computer, it is sent through dozens (and possibly hundreds) of other servers and computers before it gets to the person that you are sending it to. During this process, any potential hacker could intercept it and read it through any of these transfers., or even send emails on your behalf. One of my CS professors always told us, “Never put something in email that you would not want to see on the front cover of the New York Times.” To think of how much we use email everyday may find this as quite a bit of shock. Fortunately, there is a rather easily solution that was been around for quite sometime, but not been widely adopted called S/MIME encryption. One of the primary reasons that it has not caught popularity is due to its lack of support on primary devices, such as mobile devices. Now, with the launch of iOS5 for iPhone and iPad, this problem can easily be solved. It is a rather simple, 5 minute procedure that will allow you to have all of your email secured, so it can only be read by the person that is intended to read it. Heres how to do it:
To enable encryption, you need to have a certificate to allow you to sign your emails. Basically, the person needs to know that you are who you say you are. There are several places that allow you to obtain certificates. For this tutorial, we will be using the website http://www.comodo.com. Go to this website, hover over the “Home & Home Office” tab, and select “Free Email Certificate”, shown below.
Click the Free Download Button.
Fill in all fields, making sure to enter the email address that you want to secure. Uncheck the “Comodo Newsletter” box, and you will never receive a single e-mail from them, no need to worry about spam. Entering a password will allow you to retrieve your certificate in case it is ever lost or needs to be replaced.
After hitting the submit button at the bottom, you should soon receive an e-mail notifying you that your certificate is ready to download.
Clicking on the link will download the certificate to your computer.
To install the certificate on your Mac, simply double click the CollectCCC.p7s file that you downloaded in the prior step, and your certificate is now on your Mac. Note: This will open the “Keychain Access” program. Leave it open so you can use it in Step 3.
Restart Mail, and you should now see these new logos when you go to send an email on the right hand side of the compose window.
The lock is for sending a secure email, allowing for you to send the email so only the person receiving can send it. The right button enables sending your public certificate. You should always leave this with the checkbox. To find out more about this, see the “How Does it Work” section below. If you are just planning on using this security on your Mac, you are now done! To allow it on iOS devices, keep reading.
When you double-clicked the file in step 2, it probably opened the program “Keychain Access”. If not, (or if you closed it) you need to reopen it. The easiest way is to go up to Spotlight in the top right corner, and start typing in Keychain Access.
You may see quite a few entries in this program. This is where all of your secure items on your computer are stored. (Ever lost a password, but your computer has remembered it? It’s in here!) Click on “My Certificates on the left side.
Look on the right, and find the certificate that has the e-mail that you are trying to secure. Right click (or control-click) the certificate, and click Export.
Hit Save. (Note where it will be saved and the filename, probably the desktop.) You will then be prompted to enter a password, twice. You should definitely not leave this blank. Enter a secure password, and hit OK. You will then see another password dialog, type in your Mac password. (The one you use for logging into your computer, or system updates, installing software) and hit “Allow”.
This is the file that you will need for your iOS devices.
There are several ways of installing this, we will go through the simplest. If you are deploying this to hundreds of devices (for a company or some other reason) look into the iPhone Configuration Utility. This will save you plenty of time. Otherwise, we are going to send an email to ourselves. Send an email, addressed to yourself, and drag the Certificates.p12 file into the message.
Open it up on your iOS Device and click on the attachment.
Click Install, then Install Now. Enter the password that you typed in at the end of the step 3, during the export phase.
Once that is entered in, the certificate is now on your device. Now, we need to turn it on. Go into the Settings App, got to Mail, Contacts, Calendars and click on the account that you are adding the certificate too. Click on Account, and then scroll to the bottom and click Advanced.
At the bottom of the Advanced page, you should see a section labeled S/MIME. Flick the Switch to ON, as seen below.
Click on Sign and switch it to On, then choose the certificate that matches the name.
Repeat the process for Encrypt, and you can now send and receive emails with proper security on this device!
You will need to repeat this step for all of your iOS devices. Feel free to learn more about how this great technology works below.
An S/MIME certificate consists of two parts, a public certificate and a private key. The key and certificate is a pair, one relies on the other. After you have gone through these steps, every e-mail that you send will have your public certificate included with the e-mail. To send an encrypted (secure) email, you need to have the public certificate of whoever you are sending the email to. By sending your certificate, you are allowing other people to send you secure e-mail. (which is what you want) When someone sends you a public certificate, your Mac/iPhone/iPad automatically stores it away in your keychain in case you need it later. When you go to send an encrypted email, your computer combines your private key with the recipients public certificate. Now, the email is definitely from you, (because you are the only one with that private key) and can only be opened by the person that has the private key that is paired to the certificate. Anyone who tries to intercept the email in-between will not be able to read it, because the text will be unreadable to anyone without the key. Another way to look at it is a lock and key. When you send an email, you create a lock on the email, and only the person with the correct key will allow it to open. To anyone else trying to view this email, they will see random blobs of text, and be unable to properly read the email.
You can only send encrypted or “locked” emails to people who also have S/MIME encryption enabled, and have already sent you an email that was signed. (This is why you always want to have the sign button enabled on your Mac.)
Whenever you feel that your message needs to be secure. If it is something that you do not want everybody to read, hit the lock button.
Secure/Multipurpose Internet Mail Extensions.
Repeat the same process seen above. You may want to delete the old certificate from your devices.
Although no guide is available for this, S/MIME is available for Gmail (see next question) and Microsoft Outlook. To convert your certificate, use OpenSSL. Look at this page for more info. http://bit.ly/v0Q5wN
Webmail will still function correctly, but you will not be able to read emails that have been encrypted (locked). There are plugins that allow for this, such as the S/MIME plugin for Gmail and Firefox: http://bit.ly/sExQLF.
One of the main reasons for lack of use for S/MIME is the lack of its compatibility on devices. The iPhone did not support S/MIME until the release of iOS5. Also, many people do not realize how insecure everyday email can be. This article is hopefully a step in the right direction.
Zwiffer recently worked with Tropical Smoothie Café, a national chain where you “eat better, feel better”. The Tropical Smoothie Franchise team in the Chicagoland area is growing to include more locations in their area, and looking for new investors and franchisees to help grow their business. Prior to TropicalEntry, interested individuals would write their information down with pen and paper, which could lead to difficulties with handwriting. Recently at the Midwest Franchise Expo in Rosemont IL, the franchise team used an iPad with the TropicalEntry application to gather information! Click on the images below for high-quality images!
To find out more about how Zwiffer can help grow your business with iOS applications, read more here, or contact us today.
At Zwiffer, there are always new and upcoming projects in the works. CoINGlass was just released. It premiered at Magic LIVE, and we heard nothing but positive reviews. A new version will be created to add additional features. It is also being advertised in MAGIC Magazine, and will be being shown in many other places soon.
There are several other projects going on that cannot be talked about right now. I can specify a couple tools that I am working with, and let you make your own conclusions. Currently in development are apps with deep Facebook and LinkedIn integration, Twitter functionality, JSON, Core Data, iOS5 specific functionality, the Heroku platform with Ruby On Rails. There are apps involved with music, photos, careers, comedy, jeans, churches, hockey, life, donations, cowboys, point of sale, calendars, exclusive memberships and many other things.
One app that I can speak about is our new app called Starbus. Starbus is designed to help people discover new music from bands who haven’t been heard of before. It allows you to record music that you here at a bar or concert, and share it with your friends. Click on the Discover tab to see what other people and bands have uploaded, and star the songs you like to listen to them later. You can see what bands and songs your friends are ‘staring’ and uploading. You can find music around you. I am very excited to see this app grow and become a fantastic app that tons of people use.
Even though the blog has not been showing it, Zwiffer has been active, and it will continue to be thanks to your continued support. As always, feel free to contact me if you have any questions or ideas. I love hearing them!
Zwiffer recently attending MAGIC Live, one of the most established magic conventions in the world. The conference is run by Magic Magazine, and this year celebrated the 20th anniversary of the magazine. This was also the biggest MAGIC Live there was ever been.
With over 1700 Attendees, Zwiffer partnered with Schoolcraft Precision to design and develop an iOS app specifically for Magicians. Using custom coin gaffs and great technology, CoINglass was born.
I personally presented the app to dozens of magicians throughout the conference, and dozens of people had nothing but good things to say about it. We also received several suggestions, and ideas for future enhancements that will be built into the app soon. We were also very pleased to note that the app fooled several magicians, even knowing the fact that we had gaffed coins! We also got several good quotes about the app, including the one below.
“A skillful blend of technology and reality to create pure magic.” – Tom Dobrowolski
Look out for CoINglass at several different magic conventions in the near future and remember that you can download it on the App Store now!
One of the biggest announcements Steve Jobs told us about was their new service, iCloud. iCloud has some pretty neat features and will be used by virtually every iOS 5 user, but it does fall short on a couple things. If Apple added these simple few things to iCloud, the service would have been much better. (And maybe they will) While I cannot go into specifics of all aspects of iCloud yet, (they are still under NDA) I will discuss my thoughts based on what Steve said at the keynote.
With features like iTunes Match (a product where Apple takes your entire music library, upgrades it, and makes it available in the cloud) you can access any song that is not on your iPhone or iPad by downloading the song for free straight to your device. This makes it so you do not need to carry your library with you wherever you go to have all of your music. The downside is when you go to use it practically. Imagine you think of a song, and really want to listen to it driving in your car. Instead of just being able to click and listen, you have to wait for the entire song to load first. This would be like waiting for an entire YouTube video to load before watching it. iCloud is all about music, and with dozens of apps that support streaming audio (Starbus is soon to be one of them), it is strange that Apple did not include this feature. Streaming technology is nothing new, yet Apple did not put it in their new flagship product.
When rumors started appearing for iCloud, people started to really get excited to see how Apple was going to let us get to our entire iTunes library, from anywhere. When it comes to music and with iTunes Match, it definitely is not what I was expecting, and is a pretty neat feature. But music is not the only thing in my library! Also, video is really the problem when it comes to space issues on my iPad or iPhone, not audio. Now, knowing the fact that Apple may have not been able to work out a deal with the movie companies, there were definitely other solutions to do this. How about a method of home sharing that did not require me to be on the same network? This would allow me to reach my movies from my iMac onto my iPad when I was away. Having all of my movies in iTunes and a vacation home out of the state, this would be used a lot by me. I would also be willing to pay more for iTunes Match if they could do the same with my movies. With other apps like AirVideo and StreamToMe having been able to do this for a while now, it is a shame that Apple did not allow this.
Since iCloud, MobileMe no longer exists. It is being replaced with the free service that does much more than its predecessor. This makes sense, but Apple is discontinuing features that exists before Jobs walked on stage. Apple has announced which products will be discontinued on their transition guide found here. Three big features that will be missing our Gallery, iWeb Publishing, and iDisk. All three of these were great ways of sharing things you like most with other people. Apple did not replace this with a better solution.
Although people would agree that better products existed than iWeb Publishing and iDisk, (Standard Web Hosting and Dropbox for example) Gallery was one of my most used features of MobileMe. For me, this was the absolute best solution of sharing tons of photos. I take a lot of pictures, and with one click in iPhoto or Aperture, they were shared with the world, stored in full quality. Apple’s new feature Photostream allows you to take a picture on one device, and have it on all of your other devices. This feature is indeed fantastic, but there is still no way for me to share it with my friends. I guess I will have to downgrade all of them and use Facebook or Google +.
There is no doubt that just like any other product, iCloud is not and will never be finished. Just like how the iPod has evolved over the years, I am sure that iCloud will as well. I did not write this post to bash on Apple or iCloud in anyway, but rather to help speed up the process of its evolution. This is a post where I would definitely love to hear everyone’s comments, and what your thoughts are on iCloud or what else you would like to see in this great Apple product.
Zwiffer is attending WWDC 2011 and camping out to be in the front row watching the keynote LIVE. We will be tweeting via our company Twitter @ZwifferApps. The Keynote is starting at 10am PST. (Noon CST).
Check our Blog for updates on what we will see Steve Jobs present and read it live via Twitter. This page will also be updated so check back often!
Line at 3am:
In the keynote. 1 minute until go time.
Using PHP, Javascript, jQuery, HTML & CSS, Zwiffer created a custom Facebook app designed specifically for a campaign for Montréal invading New York City. This event was featured in the New York Times, and was part of a $6,000,000 advertising budget. The creatures that you see in this post are all over the most populated city in the US.
You can read more about the campaign in the New York Times article here, or take a look at the custom Facebook app here!
Every computer science major has to learn about pointers at some point. Once it clicks, pointers are rather simple, but until you get to that point, it can be very frustrating to students of the craft. In an attempt to make it easy for students to understand, I came up with a useful analogy I would like to share.
First of all, if this seems confusing, KEEP READING. My goal is to explain it in several different ways, and by the end, you will have it. A pointer is a rather descriptive name, it is a piece in memory that points to another object. It does not contain the data of the object, but it keeps track of where that object is in memory. A pointer is denoted with a *, and the address of the data is referred to as a &. Here is an example.
| int foo = 4; // foo is a standard int
int bar = 5; // this will be used below int *ptr; // an empty pointer. ptr = &foo; // attaches the ptr object to foo. foo = 6; // sets foo equal to 6, not the pointer printf(“%i”, *ptr); // this will display 6, because ptr is pointing to foo |
It is important to note that even though I did not change the ptr object after I changed foo, the value of the pointer did change. This is why it displays 6 and not four. If the ptr object was not a pointer, the value would equal 4.
Imagine you have 100 pictures in a folder stored on your computer. You need to write an excel file that contains the list of your favorite 5 pictures. You do not want to attach the pictures directly into the excel spreadsheet, but rather list the filenames in the spreadsheet, so it is compact.
| Favorite 1 | 14.jpg |
| Favorite 2 | |
| Favorite 3 | |
| Favorite 4 | |
| Favorite 5 |
By saying that 14.jpg is your favorite image, you are creating a pointer to that image. The spreadsheet does not contain the image, but instead tells you where the image data is. It is important to realize that you could change the value of Favorite 1 in two different ways. You can change the number to 15.jpg, and that will assign a new image. (This would be like setting ptr = bar in the example above.) The second option is by changing what image is 14.jpg. I could delete 14.jpg and put a new image in that folder and name it 14.jpg. (This is exactly what we did above. We changed foo, not the pointer)
Here is a way to try and understand the difference between * and &.
| Image img14 = data; // actual image data, (what is kept inside 14.jpg)
Image *fav1 = img14; // this is the excel spreadsheet. *fav1 is equal to “14.jpg” // NOT the image data, but the pointer &img14 = “14.jpg” // NOT the data, but where the data is kept fav1 = data; // This is what is inside of 14.jpg |
When you are thinking of the image on your computer, the & sign would be equal to the name of an image. The image itself does not have a *, but creating a * object would point to the data. Think of the symbols as opposites, where & points to the address and * points to what is at the address.
One more explanation using the NSString, used in Objective-C for iPhone and Mac Programming.
| NSString *myStr; // String pointer
mystr = [[NSString alloc] initWithString:@”Test String”]; // this takes myStr and points it to a new spot in memory = “Test String” NSLog(mystr); // Prints “Test String” [myStr release]; // Releases the object out of memory |
This is a standard everyday use of NSString in an iOS app. Now that you have learned about how pointers work, the * really means something, doesn’t it? It is also important to note that now that I released myStr, it cannot be used anymore, even though the pointer still points to it. It now points to a useless spot. You do not want to use myStr again, or you will get an error. (If you want to use it later, you would just release it later, but that is just another topic)
I hope that this is helpful to anyone confused about pointers. If you have questions, please feel free to comment about it below, or send me a tweet and get an answer via Zwiffer Answers. I have also provided some links with popular posts.