App Store Features

IMG_4144

Back in 2015 Apple announced Phil Schiller would be in charge of the App Store. This change saw lots of great improvements. One example on the developer side was drastically shorter app review wait times. The most prominent on the consumer side was with the introduction of a newly revamped App Store for iOS. It was clear Phil was going to move the App Store forward. Just this past WWDC in San Jose Apple announced its plans to give the Mac App Store this same attention and focus.

Khoi Vinh’s App Store illustration article from May highlighted how amazing and overlooked the App Stores features are. This is one of the many changes that has happened that needs more attention as Kohi points out in his article. It’s made the App Store something you want to check more often now that there is curated editorial content.

Just today for example I saw a feature on the amazing Florence. To save it sadly the only thing I could do is take screen shot. Looking at the bottom of the article I saw a share button that does let me save it to Pocket. But doing so lets me jump back to this page in the App Store which is nice but it doesn’t work as I would like it to.

Then I remembered an acquisition announced recently that I largely ignored. Texture it’s a magazine subscription service that would charge a monthly fee for access to a wide variety of magazines every month. You can view these magazines and articles on iPad or iPhone.

Apple should be highlighting these app features more and giving me better tools to save them but what if they didn’t have to? How about if they made them monthly magazines ? I don’t think this is something they should charge for but I do think the magazine format could work for them. This magazine can be shown in Apple News, Texture, and maybe even the newly renamed Books app.

They can take all of the past content and give it more attention as well. If users can subscribe to these in a magazine format they never have to worry about saving them for later. It’ll be in one place to look at they would just need to download the issue they want. It will be great for developers as well letting them get more exposure even after their content is featured for the day or week. Someone just subscribing might go back and discover new apps they otherwise would have missed. Since they pledged to have this type of content for the Mac App Store I hope they can come up with a better way to showcase and preserve it. A monthly iOS and Mac OS app feature magazine would be amazing!

So Apple here is a free idea please give your amazing App Store editorial team’s content a much longer life.

Going to WWDC

IMG_4301

It’s already been almost a month since WWDC happened in San Jose this year but I’m still thinking about it. I decided earlier in the year that I wanted to go to meet developers and new people who cared as much as I do about Apple and their services. I have been learning Swift so it was also a great chance to see from ground zero what new changes were coming in the new versions of Apple’s platforms.

Last year¬†Relay FM¬†was hosting a meet up and I was able to go so it was my second time in the city. ¬†The downtown area was really nice and had lots of different places to relax and grab some food. There was also motorized scooters everywhere in the city for people to zoom around on. Since the event is so huge there are lots of other conferences that also go on. ALT Conf was a free one I went to that was right next door to Apple’s main conference.

IMG_4335

This year Relay FM , ATP, and The Talk Show  were doing live shows. I was lucky enough to grab some tickets. Having been a fan of these podcasts for years it was surreal getting to see them recorded live with other fans.

IMG_4314
Accidental Tech Podcast (Marco, Casey, John)
IMG_4374
The Talk Show with John Gruber
IMG_4408
Connected (Stephen, Myke, Federico)

I also got to spend some time with hosts of The Menu Bar  one of my favorite new podcasts. They talk about the things in tech that no one else covers. Both Zach Cichy & Andrew J Clark were really nice and easy to talk to. Like many moments at WWDC it brings the best people together in one place. Meeting people IRL and getting a chance to build friendships is the highlight of WWDC.

IMG_4459
Apple Park Visitor Center

When I read that Apple Park will have a visitor center I was really excited to check it out. When I found out it also has a coffee shop inside there was no way I couldn’t go. I finally got my chance during WWDC and it was so much fun. Last year I got to visit One Infinite Loop and they have a small Apple store that sells cool gear that you can only get there and nowhere else.

Apple Park’s Visitor center was clearly designed to be a destination and had lots to do on your visit. It had all the hallmarks of what Apple has tried to put in their stores like a gigantic display for events. As well as other things exclusive to the visitor center like the coffee bar, AR demo area, and top balcony.¬†They also had some cool shirts and exclusive gear like One Infinite Loop.

I feel lucky to have gone to WWDC and can’t wait to go again next year. I was able to meet so many awesome people. Everyone was friendly and enthusiastic we all were sharing our excitement from the announcements. If you have the opportunity to go to WWDC or are on the fence I would highly recommend going. You never know who you will meet or run into.

IMG_4383

Xcode on iPad

600x600bf

Swift Playgrounds was a big step for Apple and the iPad. It let them use their new programing language Swift to help future developers learn to code for its platforms. They championed hour of code¬†setting up classes in Apple stores to teach kids how they can code. But as Paul Miller’s recent article points out there is a gap between learning and doing.

Xcode is what macOS and iOS developers use to write and develop software for Apple’s Platforms. While Swift Playgrounds is great for people who are learning Swift and programing fundamentals they will ultimately need to jump to the Mac and work with Xcode. This happened to myself, learning on my iPad with Swift Playgrounds only to abandon it for my Mac and more complicated iOS books to learn how to build an app from scratch.

I think this divide might be addressed soon by Apple based on some stories that have been published. When Swift Playgrounds came out I think many including myself thought that Xcode on iPad was inevitable. But we still haven’t seen it materialize yet, currently we have two different frameworks app developers use on Apples platforms. We have AppKit for macOS development and UIKit for iOS development. Xcode on iOS would need to address these two frameworks unless a new one is developed.

In December of last year Mark Gurman ¬†broke a news story about an internal Apple project named “Marzipan”. Numerous reactions have been published since, but in Apple’s developer community its read as a potential universal framework for macOS and iOS. More recently Gurman published another story on how the Mac will begin to ditch intel in favor of custom ARM processors.

With these stories and WWDC around the corner in June I’ve been thinking about Xcode and the iPad again. If this year we see project Marzipan debut as a new framework for developers I think we might finally see Xcode on the iPad. If the Mac adopts these custom ARM chips as Gurman says then Apple has to have macOS run on it. Apple would have to adapt their apps including Xcode to run on these new chipsets. Personally I think Apple has already tested this in their labs and we will finally get to see it sooner rather than later.

If these things come to pass it makes sense why Xcode hasn’t been on iOS yet. It’s simpler to wait for marzipan to ship and get Xcode running on ARM perfectly before its released to developers publicly. If the future of computing is the iPad and iOS like Apple says it is they need to address current app development. ¬†Having to develop iOS apps with the Mac must be a limitation of iOS that goes away. I think in the near future we are heading to you will be able to make an iOS app with the Mac and with iOS.

Once you have a universal framework and Macs that run on ARM just as iOS devices do then you start to get into new possibilities. Right now we have two main Apple OS’s with macOS and iOS. But these can all be the steps toward a unified operating system that runs on different form factors. ¬† This is the theme of this weeks Connected podcast episode, where Myke, Frederico, and Stephen ponder what the Gurman article means.

It’s an insightful conversation and got me thinking of Xcode because it’s the missing puzzle on iOS. The iOS App Store wouldn’t be where it is today with ought Xcode on the Mac having iOS development being possible. Xcode on iOS running Swift and using Marzipan in parallel with the Mac seems like a reality we might be coming to soon. I think it will happen in the next two years, but as this WWDC is approaching I really hope we finally see Xcode on iPad this year.

Programing feels

 

IMG_7776

Programing is what I’ve been starting to dedicate some serious time to in recent months and I wanted to share some feels about it. It’s been an ambition of mine to learn Swift and one day be an iOS developer. I’m currently teaching myself Swift on¬†Treehouse.com¬†working through the iOS beginner course. I’m also working on the 100 days of code challenge.

I wanted to write something based on my experiences so far. As well as for others just starting out coding. The first step in my opinion is to find out what kind of developer you want to be. It doesn’t make sense to learn Swift an iOS language if you want to be an Android developer or vice versa. After you have a good idea of what kind of developer you want to be see what programing language or languages they use. Once you have that determined look at what resources you will use to learn that language and it must be tailored to you. If you learn with textbooks buy programing books on that language. If you are like me and need something different try websites like Treehouse or Codecademy. Make sure you find a resource that appeals to you. And don’t be afraid to change what resources you use to learn if somethings not working.

Stop research. Start coding!

More research can actually stop you from coding. In my experience its very easy to get into the idea of learning programing and never get out of the research stage. Or start to look into developer interviews on podcasts, blogs, and other mediums. There is an endless number of these and its easy to get lost in doing nothing but research. There is plenty of amazing stories to be told but everyone’s experience is personal. Chances are you can’t become a developer the same exact way as someone else. For me its been the idea of focus and what kind of developer do I want to be that has helped me to get started. Instead of asking how did they do this, have a mental state of mind(im going to figure out how to do this).

Set topics and concepts you want to get familiar with, but put rough deadlines on them. Dont rush through something just to hit a deadline you set only to look back and feel like you only got half of the knowledge. I think putting deadlines on learning programing concepts is a bad idea. Often times I can work on something for hours but I always ask myself did I feel like I learned something today? If you realize you put in 3 hours of practice and still don’t get it that’s OKAY! The quickest way to stop learning is to get discouraged because you put in tons of effort and don’t get it the first time. If that happens try doing another activity and coming back to it or taking the rest of the day off.

Consistency is essential, for me what I’ve done to keep myself consistently coding is to take the 100 days of code challenge. Take a portion of your day and set aside time to coding and working on your projects. Try to work on them for at least an hour but consistently working on your code and learning is what matters. With 100 days of code you code everyday no exceptions. I am on the second round of trying this and previously I made it to a little over 50 days coding consistently. I didn’t stop coding though I had dedicated at least an hour and a half to coding for at least 5 days a week.

Coding is kind of like math(you don’t need to be a mathematician). Its something that you need to be actively doing to understand and learn it. Treehouse has lots of great videos and code challenges. But I wouldn’t learn anything if I just watched the videos and didn’t write the code at the same time. That is why finding time to practice is so essential.

Plan your coding sessions. Everyone has different circumstances and not everyone even has their own computer but that’s okay. So make sure you can have a schedule of when you will code. If you can fit multiple coding sessions into one day that’s great. If you have to wake up early before work to code then make sure to wake up early and get some coffee to help you out. You got to just find some time that works for your schedule. After every coding session ask yourself did I feel like I learned today?

If you do these things I think it will be easier for you to get into programing. Introspection on how you learn is very important when learning anything not just programing.