Mobile Development Digest #58

Finally,¬†Samsung defined list of problems which lead to explosion problem with Note 7. It’s remarkable attitude to problem detection and I really glad to see this¬†way of presenting what and how was done. Especially in comparison to Apple who¬†do not want to do anything with¬†batteries behavior on cold. Literally, I cannot use ¬†my iPhone 6S Plus on the street now¬†more than 10 minutes.

Last week new Accidental ¬†Tech Podcast was released and it’s good to listen if you still curious about Chris Lattner transition from Apple to Tesla, he gave short interview there.


Get fresh digest by email

Any problems? Drop me a note mdd@alsedi.com

(more…)

STHLMTech Anniversary

I don’t go¬†to startup events usually. I think this is not for developers and maximum value is in mingle, but not every event attract enough people who can invest and looking for a company to invest. This time I decided to come because it was the anniversary (if you can say so about 4th birthday) of STHLMTech and I expected something interesting.

I got positive overall experience and do not regret that I came. I believe STHLMTech used regular format of the event: guests presentation, special guest, several startups with pitches and guests feedback; but I saw it only during online translations and in Silicon Valley series (will be back to this later).

Most valuable thing from the first part was fresh report about investments in Nordic countries. In 2016 Stockholm’s startups got $1.4B investments. The total investments to Nordic startups was $2.7B. This is great and it’s even better in comparison with previous years ($1.81B in 2015, $846.4M in 2014). Infographics available at InvestStockholm.com.

Three startups were presented

Base2. This is about “last meter” services and kind of database which connects services like Uber food, Mat.se with households. Problem with this startup that I cannot find a link to their webiste and I hadn’t got an idea from the pitch. It was looooong pitch and I missed the idea completely.

Dashl. “Book a stylist” startup. Topic is very¬†popular in Sweden and this company¬†well funded and have strong plan for 2017.

Bom’ler. An attempt to change the textile industry. One of the things is to bring full transparency to the supply chain. This allows to reduce costs and make absolutely clear to consumers what are they buying and how it was produced.

Two of three startups used mobile app to reach end users.

In formal battle guests and investors voted for Dashl, here is no surprises – clear monetization model, working service, growing number of clients, good team (actually, only they said about investments to the Dashl and about the team).

In conclusion

I liked to be there, but in the future I will make a decision to go or not based on amount of startups and clear list of them presented before the event. I found that it is interesting to look how people present their ideas and to feel how new or related ideas popup in yourown brain. Personally, I enjoyed the event and got motivational punch for a work.

Couple times I felt myself like in Silicon Valley series. Strange people just approached our group and tried to shake hands. Some tried to show that they know my company, but the reason was only to take one of our company spots. It was weird and in the beginning really uncomfortable, however funny in the end.

Mobile Development Digest #57

The week full of news!

First of all, this was a week of 10 years anniversary of iPhone. Spend some in nostalgia with original press release for the iPhone and take a look how iPhone changed the industry (and one more).

Most shocking news was that two guys left Apple and joined Tesla. First is Chris Lattner author of LLVM and Swift Core Team member. Despite the fact that Chris leaves Apple he stays in Swift core team. This makes him the first non-Apple member. Ted Kremenek author of Clang will take his place. I believe that these changes will not affect Swift seriously and it will keep fast evolution pace in the same direction. However, it might be better to lower this speed?

Second is Matt Casebolt original Air designer. He worked also on MacPro and Touch Bar MacBook. I am worried more about this leave. Apple is my favorite device provider during past 8 years and as many others I’m not happy with what is going on with MacBooks and iPhone. If designers are¬†leaving Apple then how it will¬†affect the company? Obviously, someone new will come and it’s good because of fresh blood and new ideas. However, guys like Matt has a weight and they (probably) have a voice when top managers make a decision.

Design and performance were¬†a key points of Apple devices. However, Windows PCs provide now much more variations and computational power than notebooks from Apple’s and Android phone aren’t far away from iPhone now; so my personal perception that device performance isn’t a key thing for Apple anymore. If Apple looses designers (I haven’t heard anything about Jonathan Ive while ago) then could it be a sign that focus moved to some point that¬†completely different from what we saw in Jobs era? I hope not and decreased salary of Tim Cook can save a situation and return Apple to the way of innovations and unique, frontline devices.


Get fresh digest by email

Any problems? Drop me a note mdd@alsedi.com

(more…)

iPhone 10 Years Anniversary

Ten years ago Steve Jobs presented iPhone. It wasn’t the first touch-screen-PDA-music-phone thing in the history and its abilities were far away from todays iPhones and iO, but it changed industry.

I remember that year, i had pretty modern Asus PDA with stylus. I was able to play games, browse web-pages, even type texts. The problem was in apps. It was so hard to find anything good and not infected by viruses. After a year of use I was able played one game and used one app that was IRC, and that’s all. Really powerful device and no way to apply it in my life.

I’d like to say that iPhone changed this in one moment, but no :) I have all possible modern Apple devices and only one thing that really changed my day routing is Watch, but iPhone, iPad, MacBook, TV and Watch became a part of my everyday environment. However, everything (expect MacBook, but… MacOS was seriously affected by iOS last years) has been started from the first iPhone.

It’s good day to remember. This day is important milestone in technologies history.

 

In my feed I find two videos that good to watch.

First, iPhone introduction.

Second, Steve Balmer¬†Laughs at iPhone. Balmer might looks wrong these days, but… to say truth he might be right. Seems like Apple looses its focus.

Thanks Apple, Steve Jobs and all talented unnamed engineers and designers who made it.

 

Mobile Development Digest #56

Winter vacation period is over and work life returns to normal. I finished reading of Swift Style book and will wait for next chapters.¬†It’s in beta state and not 100% ready. My opinion still the same – this book need to be on a bookshelf of every Swift developer. Next book in queue is Advanced Swift from objc.io team. I hope to finish it in two weeks and give a short review.

In the meantime, enjoy new digest!

In this issue:

  • Lesson learned about React Navive
  • How Prisma App has been A/B tested
  • Top Android games showcase
  • Top iOS conferences in 2017
  • New iOS and Android tutorials

Get fresh digest by email

Any problems? Drop me a note mdd@alsedi.com

(more…)

Simple way to draw radial progress indicator with animation in iOS and Swift

This is fairly simple thing in iOS and you do not need to use any external library. I’ll use two CALayer and CABasicAnimation, so this is “cheap” way from the system resources point of view.

Start with empty project and in ViewController add three properties:

Here is two CAShapeLayer properties which representing background (constant) shape of the indicator and progress shape. percent variable will be needed for animations.

Now add progress and background shapes to the main view layer. Add the following code to the end of viewDidLoad() method:

It’s important to create shape layers once.¬†This significantly simplifies code.

Now we need to draw background and progress shapes. Add new method updateIndicator():

strokeWidth substracted from size to keep shape inside layer bounds. Also, keep in mind that it is much easier to position, rotate and scale CALayer if its size and center are the same as for the shape.

Alternative way is to set CALayer size to it’s view size and manually calculate center inside bounds.

backgroundShape can be defined in the following way:

Now we can draw progressShape:

It’s the same shape but with different color. Only one difference is that it should indicate¬†progress. There are several ways to do that and simplest is to define strokeEnd variable that accept values from 0.0 to 1.0:

Final step is to make layer and shape responsible to view frame changes, because it would not happen automatically. In this example you need to override viewWillLayoutSubviews() and add updateIndicator() call. If you implement it as a separate UIView component then override layoutSubviews() or setNeedsLayout() and add this call:

If you made everything right then you will see the same image after app start:

Perfect!

What’s about animations?

It’s just six new lines of code that set values of CABasicAnimation. However, we need to modify updateIndicator().

You probably do¬†not want¬†to animate every progress change (for example, if you set initial value), so it’s good to have animation feature optional.

Now, add animation initialization to the beginning of updateIndicator(...) method :

Here is initialization of CABasicAnimation for strokeEnd property key. Start value for animation is current value of strokeEnd, end value is percent, so animation will work for all cases. Timing function deserve separate topic for discussion, you may read more about these functions here.

Now we ready to apply animation to progressShape layer. Add this code to the end of updateIndicator() method

Finally, change call in viewWillLayoutSubviews() method to

That’s all! If you run the app then you see this:

Full code available at GitHub.

Here is how it looks like in Wasa+ app (Swedish AppStore only):

Mobile Development Digest #55

I’m reading Swift Style book written by Erica Sadun. I think it’s a book that every Swift developer should read, because code style is very sensitive topic for many.

It’s good to read the book especially¬†if you¬†selects coding style randomly without strong understanding of why two, four spaces or tabulation is used, why¬†colon sign has gravity to the left, right or middle between arguments and many other small things that makes your code readable. Erica explains every case, every symbols and every code structure. It’s like a big cheat sheet that allows you to build your own¬†coding style with deep understanding of text patterns and that still readable by other developers.

Surely, it’s very easy to follow to something written by others¬†like RW Swift Style. However, if you will understand how code can be separated into detectable patterns then you will see how beautiful it could be.

Next weeks I’ll be concentrated on the books I listed couple weeks ago. Also, I thought to change a bit the format of this digest and involve you, my readers. Especially because it’s a lot of people are reading it on the blog and by subscription on Mailchimp now.

I’d like to invite you to send me interesting articles, frameworks and tutorials related to mobile development. You can RT me at Twitter (@ALSEDI)¬†or send me a mail (mdd@alsedi.com). If your link will be published¬†in the digest then I’ll add¬†contribution with your nickname and link to your profile on any public (and trusted) sites, e.g. Twitter, GitHub, LinkedIn or Facebook, like this: “Some link. (@yourname). My comments for article if any”.


Get fresh digest by email

Any problems? Drop me a note mdd@alsedi.com

(more…)

Mobile Development Digest #54

This is the last issue for year 2016, and its content is a combination of the most popular articles which were published during the year.

Also, It contains results of a survey about predictions for 2017 that I started last week. It was spontaneous idea and no surprise that I haven’t receive thousands of responses. However, I got 30. Not enough to make any global¬†statistics, but it’s a good to have summary to compare with the similar survey next year


Get fresh digest by email

Any problems? Drop me a note mdd@alsedi.com

(more…)