While testing a iOS app with TestFlight, we noticed that the app name was being truncated. The name was just under the length where iOS truncates it and adds the ellipses. When we compiled the app and deployed it a device, the name displayed normally. When we put a test build up for QA through TestFlight, the name was truncated.
One of our developers contacted Apple Support and they came through with a quick answer. When you install an app through TestFlight, Apple pre-pends an orange dot to the app name. This is to distinguish the app from one that had been downloaded from the iTunes App Store. This takes up space and reduces the amount of space available for the app name. It’s artifact of using TestFlight, when the app is installed from the App Store, the text will not be truncated. This is nothing new, it’s been this way since Apple launched TestFlight with iOS 8.
So this was a UX hack. Apple wanted to be able designate that the app had been installed from TestFlight (which is good), but did it in a way that would have unexpected consequences (which is bad). I’m kind of surprised that this was implemented that way. Apple controls the entire chain, from device, to OS, to the development tools. They could have found another way to indicate that app came from TestFlight.
Like draw an underline in orange underneath the app name. Place a new style of badge over the icon, in a different corner. Draw an orange box around the icon. Or, hold on to your seats, allow for a longer length for the app name when the orange dot is added.
Monkeying around with the app name seems a like a quick and dirty hack. Now we have to let our QA people know that the app name isn’t broken, it’s just a side affect of using TestFlight. Making sure that the app name is displayed correctly is one of the things that our QA people check for. TestFlight just made that a little harder.
As a long time Verizon customer and a Windows Phone fan, I’ve been waiting for the new Windows 10 for Mobile flagship phones from Microsoft. In a couple of days, Microsoft will be holding an event to announce some new hardware. It’s expected that Microsoft will announce and demo the Surface Pro 4, the Band 2, and a pair of Windows 10 for Mobile phones. It’s not exactly a state secret that the phones will be known as 950 and 950XL and will be the logical extensions of the higher end Lumia phones.
Being a Verizon customer, I got a sinking feeling that I’ll be sitting on the sidelines for those phones. Mind you, this is just conjecture, but past experience with Verizon Wireless has dimmed my expectations with Windows Phone on that carrier. While nothing has been said, I would be very surprised if 950 (I’m too lazy to type “the 950 and/or 950XL”, so I mean both) shows up on Verizon. And there have been rumors about exclusivity.
Verizon has been more or less indifferent to Windows Phone over the years. When Windows Phone 8 came out, we did not get the cool Lumia phones. It took a year for Verizon to get a great Windows Phone. And then they changed their mind and pulled it after a few months. I was lucky enough to get a Lumia Icon before they pulled the plug on it. And that phone has been my favorite phone on Verizon.
If you walk into a Verizon store right now, you have to hunt to find where they keep the Windows Phones. Verizon is basically an Android carrier that carries iPhones only because people would drop them for AT&T if they didn’t carry them. I don’t think that the Windows Phone platform or Microsoft are important to Verizon.
If we go on the assumption that Verizon doesn’t pick up the 950, what happens next? Verizon is the largest carrier and has about 1/3 of the US market.
If Verizon doesn’t carry the 950, that’s a big piece of the US market gone. That’s large deficit to overcome. I’m not switching carriers to get a phone. I have a family plan that would be difficult to untangle and it has the best reception where I live. When it comes time to replace my Icon, I’ll have a difficult choice to make.
In the US, I think that Windows Phone has become dead man walking. Outside North America, Windows Phone is comparable to the iOS market share in a few markets. It’s not going to beat the Android juggernaut, but it’s still in the game.
As an American. my views are biased to what is going on in the US market. It bugs me as a Windows Phone user, but that’s the reality in this market. When Microsoft released Office on iOS and Android, before their own phone, that’s when the handwriting on the wall went from spray paint to neon lighting. So what’s next?
If Microsoft tries the Motorola model and sell an unlocked 950 directly to the consumers, I have a shot at getting the 950 on Verizon. That will be dependent on Microsoft selling an unlocked 950 that supports the radio bands that Verizon uses. It’s also dependent on Verizon allowing the phone on their network. In the past, Verizon has been somewhat difficult about allowing devices that Verizon had not certified on to their network. People buying the Moto X Pure directly from Motorola have been able to use Verizon, so the precedent exists.
If Microsoft doesn’t sell an unlocked 950 that would work on Verizon, I’ll be facing the decision of Android vs iPhone. And that bugs me. I like the Windows Phone UI. Their home page makes sense to me. The iOS design of multiple pages of icons worked great when you only had 16 apps. But now, finding an infrequently used app is an exercise in scrolling and squinting.
Android is a little better with managing app icons, and it allows you to replace the default launcher with one of your choice. But Android is teeming cesspool of security vulnerabilities and their update story is a sad one. Between the vendors being less than quick with updating older models and the carriers taking ages to sign off on updates, with Android the updates are much less frequent than with iOS.
Apple does have two advantages: a much smaller pool of different devices to update and the iron clad control of issuing updates on Apple’s schedule. I just don’t want to have to use iTunes to manage the content on my phone. And what’s the deal with their mobile hotspot? It can take some serious voodoo to get it working sometimes.
If I go Android, I’ll want devices that get updated as needed. Motorola has the advantage of selling the devices, they can update the Moto X Pure when they want to (but will they?). The Google Nexus phones are supposed to work that way too, but I have a Nexus 7 tablet on Verizon and the Android Lollipop update came at least 6 months later for that tablet than the one for the Wi-Fi version. Since Google is selling the 5X and 6P directly, hopefully the updates will be timely.
That being said, the new Nexus 5X and 6P phones look like very nice devices. It’s odd that they left out wireless charging, but the rest of the hardware seems to be very good. If I can’t get a 950, they may be the closest devices to what I want. Take this all with a grain of salt, I’m just making a guess based on past experience with Verizon.
If you want to take part in the next NASA mission to Mars, there’s still time. NASA is inviting the public to submit their names to be encoded on a chip that will be sent to Mars. That chip will be on the InSight (Interior Exploration using Seismic Investigations, Geodesy and Heat Transport) mission to be to launched on March 4th 2016.
The InSight mission will be sending a lander to the Red Planet to conduct advanced geological tests to study the formation of the planet.
Because Mars has been less geologically active than the Earth (for example, it does not have plate tectonics), it actually retains a more complete record of its history in its own basic planetary building blocks: its core, mantle and crust.
By studying the size, thickness, density and overall structure of the Red Planet’s core, mantle and crust, as well as the rate at which heat escapes from the planet’s interior, the InSight mission will provide glimpses into the evolutionary processes of all of the rocky planets in the inner solar system.
In terms of fundamental processes that shape planetary formation, Mars is a veritable “Goldilocks” planet, because it is big enough to have undergone the earliest internal heating and differentiation (separation of the crust, mantle and core) processes that shaped the terrestrial planets (Earth, Venus, Mercury, Moon), but small enough to have retained the signature of those processes over the next four billion years. Within its own structural signature, Mars may contain the most in-depth and accurate record in the solar system of these processes.
The InSight mission will follow the legacy of NASA’s Mars Phoenix mission and send a lander to Mars, which will delve deeper into the surface than any other spacecraft – to investigate the planet’s structure and composition as well as its tectonic activity as it relates to all terrestrial planets, including Earth.
Follow this link to enter your name to be included on the InSight mission.
All the names will be printed on to pages, and the pages will be scanned in and printed on silicon chips. They will use an electron beam “E-beam” machine at JPL that specializes in etching very tiny features (less than 1 micron, or less than the width of a human hair!). This machine is used to to make high-precision microdevices in JPL’s Microdevices Laboratory.
After a successful launch in March of 2016, the InSight Lander is expected to land on Mars on September 28, 2016.
Someone recently asked why the Microsoft Band Virtual Keyboard only works with Windows Phone 8.1. I’ve been using mine with my Lumia Icon and didn’t realize that replying to a SMS message only partially works in Android and not at all for iOS. While there doesn’t appear to be any documentation explain why the functionality is missing from some platforms, I’ve made a semi-educated guess for the reasons.
With the Band, you have three basic ways of replying to an incoming SMS message . You can send a predefined text message called a “quick reply”. You can define up to four quick reply messages. Two are already set up for you: “I’ll call you back” and “I’m in a meeting”. You can change those two or add two additional through the Microsoft Health App. They are handy to use when you are in a meeting and need to send a quick response back without having to be that person who plays with his phone during a meeting.
The quick reply messages work with Android and Windows Phone. In addition to the quick reply messages, with Windows Phone 8.1 you can use a virtual keyboard or voice dictation on the Band. Both of which require Windows Phone 8.1.
Voice dictation uses Cortana on Windows Phone 8.1. You speak into the Band, the audio data is sent to the Phone and Cortana converts it to text and sends it back to the Band. You can preview the text and then send the reply to the message. Right now Cortana is Windows Phone 8.1 (and Windows 10) technology. Microsoft has announced that they are porting it to Android and iOS, but it’s not available yet. It’s also not known if the Cortana integration on Android and iOS will extend to working with the Band.
The Virtual Keyboard on the Band uses your phone to process your keypresses and swipes into text. It uses the Word Flow technology in Windows Phone 8.1 to match the swipes to the appropriate word. To support this on Android, Microsoft would need to port the Word Flow engine to Android. It’s doable, but probably low on their backlog.
With iOS, we have a different story. For an app, in this case the Microsoft Health app, to send an SMS message; it uses the SMS messaging API. This is exposed through the MFMessageComposeViewController class. The app composes the message using this class and then uses it to invoke the standard SMS composer view comes up. The user can view or edit the message and then finally tap the send button to actually send the message.
By design, Apple does not allow apps to send SMS messages without the user confirming the message. This is to prevent apps from spamming your contacts without your consent or knowledge. There is a way to send messages without tapping anything on the phone, the Apple Watch supports that now. At this time, that is handled by the Apple messaging app, I don’t think Apple has an API call for 3rd party devices to use.
It would be nice if Apple made a public API to allow wearable devices to send SMS messages, but I don’t see that happening any time soon. Apple places a higher priority of preventing spam from being sent than allowing 3rd party device access. Plus opening up directly sending a SMS would help a product that competes with the Apple Watch, and that’s not in Apple’s best interests.
An annoyance with Windows Phone 8 is the lack of any built in facility to export your text messages. It’s easy to have the messages backed up, but you can only access them from your phone.
While reading a message thread in the Windows Phone Community forum, I came across a mention of an app for Windows 8 called “Windows Phone Message Backup”. It’s from Tafidi, and it just works. You can get it from this link.
You will need to have previously enabled the text message backup on your phone. For more details on how to enable the message backup, go to the Back Up My Stuff page and scroll down to Text Messages section.
When you run the app, it asks you for the Microsoft account that you use your phone with. If you have enabled two factor authentication (and you really should do that), create a new app password and use that.
Once it has authenticated under your account, it will download your message history. This may take a few minutes. After the messages are downloaded, they will be grouped by the other party in the message.
To export the messages, you will need to select the other party from the list and then right-click on the message thread. That will open up a toolbar panel that will allow you to export the messages as text or as an image.
Right now for text, the only text format is supported is ASCII text, but since that format is listed as a choice, I’m assuming that other formats will be a later release.
For image exports, you get a long PNG formatted image of the entire message thread, but without the images. That’s kind of a big limitation. You could make screenshots from the app itself, but you would be limited to what fits on the screen. But that does allow you to capture the images.
So if you need to export SMS messages, this is pretty much the only game in town that works across the carriers. Different wireless carriers may offer their own tools for accessing the text messages. I use Verizon Wireless and they have a decent portal that allows you to access messages and also to send and receive them without going through the phone.
Two weeks ago I participated in the Microsoft Virtual Conference. I did a session on cross platform localization for native apps using .NET. It’s a continuation of the localization article that I did for CODE magazine 18 months ago.
The V-Conf was two days with 5 concurrent tracks running. The US MVPs had IT, Developer, and Consumer tracks. The Latin American MVPS had a combined track in Spanish. The Brazilian MVPs had a track in Portuguese. Each session had a presenter who was responsible for the content, plus a moderator who handled questions from the audience during the session. Anyone could attend from the comfort of their home or office. And it was free.
I had the great luck of having a Microsoft MVP and Xamarin Developer Evangelist, James Montemagno, as my moderator. He did a great job and did it with the presenter’s equivalent of having one hand tied behind his back. James was at the airport, waiting for a flight. He used his phone as a hotspot for his laptop in a busy terminal.
I talked about the why and the how of localization. I concentrated on how to use the Multilingual App Toolkit and Xamarin.Forms to quickly build and test multilingual apps. I was able to use the new Android emulator that comes with Visual Studio 2015 to show the same app running side by side in different languages. I thought about using Release Candidate of Visual Studio 2015, but I decided not to tempt the Demo Gods. But I did want the new Android emulators that come with VS2015.
To use the Visual Studio 2015 Android Emulator with Visual Studio 2013 (or any other Android development tool), you can run the following command line:
That will launch the Emulator manager and let you install different virtual Android device images and run them.
Like Genymotion and the Xamarin Android Player, the Microsoft Android Emulator runs as a virtual x86 image. This starts up and runs much faster the Android Emulator that comes with the Android SDK. The Android Emulator emulates the phone down to the native chipset, which is usually ARM based. It’s a high fidelity simulation, but it’s very slow. Running x86 device images provide a much better experience for coding and testing.
The cool thing about the Microsoft Android Emulator is that it runs under Hyper-V, which means you can run it with the Windows Phone emulator. Genymotion and the Xamarin Android Player run inside Virtual Box, which does not play well with Hyper-V.
For the V-Conf session, I wanted as many of the simulators running at the same time on the same screen. This way the audience could see the same app running in multiple languages. Unfortunately this precluded showing the iPhone simulator on the same screen that was being shared with the audience. Since the demo app was written with Xamarin.Forms, the iOS version would have behaved very much like the Android and Windows Phone versions of the app. The audience didn’t miss much without the iOS experience.
As a presenter, I would log into a Lync/Skype for Business session and when it was my turn, I would present my screen and do my presentation. To keep the screen size at sane size for bandwidth, we were recommended to use a 1280×720 screen resolution.
I run two identical monitors on my home machine, at 1920×1080. Knocking one of them down to 1280 was jarring. The nice thing about using the Microsoft emulators is that they have a “Fit to Screen” button on the floating taskbar that comes with the emulator
Clicking the Fit to Screen button would scale the emulator to fit the height of the current screen resolution. It also kept the emulators more or less equally sized on the screen. I had enough room to run three emulators side by size.
I ran one instance of a 5″ Android phone with Android 5 (aka Lollipop), another 5″ Android with Android 4.4 (Kitkat), and 4.7″ Windows 8.1 phone image. The Lollipop phone I left in English. During the presentation, I added a German translation to the app and switched the Kikkat phone to German. I forgot to reboot the phone after making the change, James reminded me about that step.
With Windows Phone, I left the phone in English, but showed how to use code to force a specific language at run-time. This is very handy because if you don’t read the language you are testing, it can be awkward to reset the phone (especially Windows Phone) back to your native tongue.
To avoid having to change the phone locale and rebooting, you can force a specific locale when the app starts up by setting the CurrentCulture and CurrentUICulture.
// Force the app to use a specific language
// In this case, French
= new CultureInfo("fr-FR");
Microsoft has posted the video from my session here. The slide deck from the presentation should be posted up there soon. In the meantime, I posted it up on Slideshare.net. Some of the slides use animations to place images over the text and you may want to download the deck instead of viewing it online.
The source code for the sample project is up on GitHub. It does require Xamarin.Forms. If you don’t have Xamarin and would like to try the code, they do have a 30 day free trial.
This presentation was geared around Xamarin.Forms, but this is also applicable for “Classic” Xamarin.Android and Xamarin.iOS. The Multilingual App Toolkit has support for Xamarin.Android and Xamarin.iOS and can create the platform native string resource files for Android and iOS.
In addition to my session, I was the moderator the Microsoft Band session presented by Christine Flora. She had first slot of the day and had to deal with bandwidth problems that prevented the audience from seeing most of her presentation. Christine showed how to connect to Project Online and display the current status to your Microsoft Band. That’s actually a lot cooler than the apps currently available for the band that allow you to add a custom logo to the Band.
She did a great job and Microsoft will be posting an updated version of her presentation shortly. If you follow Christine on the Twitters, she’ll let you know when the updated Band session will be available.
I had a lot of fun doing the session and I want to thank Microsoft for letting me be one of presenters. I also want to thank James Montemagno for being my moderator. If you are going to do a presentation that uses a lot of Xamarin technology, you can’t go wrong with having a Xamarin Developer Evangelist assisting you. Read James’s blog. Go right now, I’ll wait. I used his tips on how to bring some of the Material Design goodness to Android version of my demo Xamarin.Forms app.
A job rejection has gone viral over the last few days. A college senior has complained that she was turned down for a job because of her attire. Elizabeth Bentivegna is graduating from Oberlin College later this year with a degree in Computer Science. She had contacted by a recruiter to apply for a position at OnShift.
By Bentivegna’s account, the interview went well and she expected to receive a job offer from OnShift. Instead the recruiter told her that she was rejected because she didn’t look “put together and professional” enough. Bentivegna had worn a black t-shirt, red skirt, black tights, and a black cardigan.
Bentivegna then vented about not getting the job on her Facebook account. Her opinion is that OnShift had made a mistake and she was being held to a different standard because she is female. She has a friend that works for Buzzfeed, Alanna Bennett, who tweeted a picture of Bentivegna’s Facebook post with the text “So my friend got rejected from a programming job today because she was wearing too much makeup.”
First, the recruiter never said anything about the makeup, just a comment about not looking professional enough. There was probably more to this than just the clothing, but that was the information that the recruiter shared with Bentivegna. While the developers may wear t-shirts and jeans at work, I doubt that’s what they wore to to their interview.
Let’s take a look at prospective employer. OnShift offers workforce management software targeted for the health care industry. Their customers are retirement communities, nursing homes, assisted living facilities, home health agencies. They are doing line of business (LOB) apps for a conservative market. if Bentivegna had done a little research, she would have looked at the OnShift Management Team page.
A third of the management team is female. Each person on the team has a corporate head shot. And they all dressed in professional business attire. That should have been Bentivegna’s styling cue for her interview.
They say that you can’t judge a book by it’s cover. Wrong, you do judge a book by it’s cover. That’s why they have covers in the first place. For a job interview, you are selling your self. You want to use every tool at your disposal and that includes your attire.
If you are in the video game industry, then it’s appropriate or even expected to show up in jeans and t-shirt. Just about everywhere else, it’s professional business attire. It doesn’t matter if you like those rules or not, it’s how the game works.
Without knowing any of the details, but having been on both sides of the interview, I have a pretty good guess of what could of happened. Bentivegna may have had a good technical interview. But perhaps she didn’t click with the development or management teams on a personal level. That is actually much more important that the technical skills. A company can train a new developer on their tool stack, that’s easy. Bu they can’t fix a personality that doesn’t mesh with the team.
It’s also possible that that company had interviewed multiple candidates and found someone that was a better fit. Which is actually the official statement from OnShift.
Interviewing is a learned skill and Bentivegna was new at this. In all fairness to Elizabeth Bentivegna, the recruiter should have prepared her for the interview and that includes discussing her choice of clothing. When you make a mistake, you try to learn from that mistake and move on. She was lucky to get some feedback for not getting the job. Usually, you just hear that the employer went with another candidate. Afterwards, the recruiter did suggest that Bentivegna purchase clothes for future interviews.
“I don’t see how my outfit could have been judged unprofessional, but I also think it’s silly that someone who is perfectly qualified and skilled and wants the job still can’t do it based on some arbitrary criteria,” she said. “Everyone has a different definition of what it means to look professional. I don’t think a male person would have had the same problem getting a job as I would.”
Elizabeth Bentivegna completely missed the lesson. What a 21 year senior viewed as appropriate is not going to be the same as what the person with 30+ years of experience who interviewed her would viewed as appropriate.
You dress up for interviews. You want the employer to know that you are taking the interview seriously. It shows that you have attention to detail and that you are showing respect to people conducting the interview process. Once you are on-board, you can follow the accepted dress code for the office, but until then you dress for success.
Publicly slamming the prospective employer was a dumb move. There is an expression that I heard once from a HR manager, “Sour Grapes equals Bad Apples”. Her friend Bennett didn’t help her by sharing it with the world. Bentivegna has demonstrated that she does not yet have the skills to handle rejection. When she applies elsewhere, this incident is going to be the first thing that an employer is going to see. That’s unfortunate, on paper she seems like a bright and capable candidate for an entry level web developer position.
I used TestFlight 18 months ago when I finished our first iOS app. It worked great. It was a stand alone service that allowed you to beta test your apps before submitting them to the Apple App Store.
Then Apple bought the Testflight company and it works not so great.
The latest hitch is that it doesn’t generate update notices to testers when a new build is uploaded to iTunes Connect. As near as I can tell, you have edit the “What to Test” field in the app record in iTunes Connect and then save those changes.
Once you do that, the email invitations go right out. This is not documented by Apple. I did it mentioned on Stack Overflow, If this is a required field for the workflow, it should be documented as such. It’s just common sense.
Apple violated some basic rules when they acquired Testflight:
I’ll presenting at the 2015 Microsoft MVP Virtual Conference. The MVP V-Conf is a new 2-day event presented by MVPs from the Americas’ region. It’s a virtual conference and it’s free.
The theme of the inaugural conference is “The Power of Community” where we MVPs will share our technical skills with our technical community. Our sessions will be interactive, you will get to ask questions or offer comments via a moderated live chat.
There will IT Pro, Developer, and Consumer tracks, with sessions available in Spanish (Latin America MVPs) and Portuguese (Brazilian MVPs). The keynot address will be delivered by Steven Guggenheimer, Corporate Vice President of the Developer eXperience (DX) group at Microsoft.
Registration is open now and please visit the V-Conf site for more information and registration information.
Last week I attended the first US MVP Open Days. It was held at the Microsoft Technology Center in Malvern, PA. It was a 2+ day conference for US Microsoft MVPs. Other countries have been holding their own MVP Days, it was time for us to have one.
It was two days of networking and attending presentations. Some presentations were by MVPs, the other were by Microsoft staff. A few of the topics were NDA, but many of the topics were about improving the experience of being an MVP and how to best leverage Microsoft resources.
I came to this session knowing almost no one, I left with many new friends and colleagues. I’ve now attended two of the Microsoft MVP Summits, where you are with MVPs from all over the world. The Summit is great, but you end up spending most of your time with MVPs that are in your same group.
This is was nice and cozy and I was able to interact with other MVPs from different groups. People who I usually do not get to interact with. That was very nice, worth the trip down to PA just for that experience.
In addition to full group sessions, we broke up into smaller focus groups. I attended one on running user groups and code camps that was led by Bill Wolff. Bill runs the very successful Philly .NET user group and he shared his tips on how to run a user group and the growing pains his group went through with camp camps
I was in Windows Insiders session that was run by Jeremiah Marble (Windows Marketing) and Tyler Ahn, We talked about what could help the MVPs could participate in the Windows 10 experience.
We also had time to do some group photos…
We ended the conference with plans to continue the conversations and to make plans for future Open Days. I want to thank Rowina Branch, Esther Lee, and Fernanda Saraiva, their staff, and the MVPs that helped put this conference together.